1 Backbone、Head、Neck

以一个图像分类的卷积神经网络为例,网络分成两部分,前部分是由卷积层、归一化层、激活层、池化层堆叠的,输入图像在经过若干层卷积、归一化层、激活层和池化层的堆叠后进入全连接层,经过几次全连接后输出每个类别的概率值。

在这里,前面卷积层、归一化层、激活层和池化层的堆叠部分属于backbone。意思是神经网络的躯干部分,这部分也称为特征提取网络。

后面的全连接层的堆叠属于head。意思是神经网络的头部,实现模型任务的预测,称为predictor head,这部分网络也称为分类网络。

深度学习 – 深度学习中的术语/专有名词归纳-StubbornHuang Blog

以目标检测中的YOLO_V4中的图为例。

如上图所示,在backbone后,常构建特征金字塔,在特征金字塔部分做一些处理,如多尺度融合,再将特征金字塔的输出进行预测。因此,特征金字塔这部分放在backbone和head之间,称为neck(脖子),这里的Dense Prediction即为head。

关于backbone即常见的经典网络,如VGG,ResNet,MobileNet,ShuffleNet,DenseNet等,当某个模型提到backbone使用的是VGG,即表示使用的是VGG的backbone部分,而不包括VGG的head。

这里解释一下为何是这样。神经网络有多种解释,其中一种解释如下,神经网络被认为是在提取特征,计算机视觉的传统方法就是人为地设定某些特征,再进行分类。如HOG特征,LBP特征,在提取完特征后,使用分类器对这些特征进行分类,如SVM分类器。

这里的backbone部分则认为是一个特征提取网络,而head部分则被认为是分类网络,因此特征提取的部分可以共享,它们的本质都是在提取图片的特征,而分类网络则对应到具体的任务,如分类猫狗,分类网络需要从提取的特征中分成猫狗两类。

这段话同时也解释了fine-tune的原理,使用一个预训练好的backbone,针对你自己的任务,自己搭建相应的分类网络,在训练时冻结backbone的参数,只训练分类网络的参数。这是因为预训练好的backbone已经具备很好的特征提取能力,因此对于你自己的图像,网络只需要学习如何将提取后的特征按你定义的类别进行分类。

1.1 Backbone

主干网络。

既然说是主干网络,就代表其是网络的一部分,那么是哪部分呢?这个主干网络大多时候指的是提取特征的网络,其作用就是提取图片中的信息,供后面的网络使用。这些网络经常使用的是resnet、VGG等,而不是我们自己设计的网络,因为这些网络已经证明了在分类等问题上的特征提取能力是很强的。在用这些网络作为backbone的时候,都是直接加载官方已经训练好的模型参数,后面接着我们自己的网络。让网络的这两个部分同时进行训练,因为加载的backbone模型已经具有提取特征的能力了,在我们的训练过程中,会对他进行微调,使得其更适合于我们自己的任务。

常用的backbone有:

  1. VGG
  2. ResNet(ResNet18,50,100)
  3. ResNeXt
  4. DenseNet
  5. SqueezeNet
  6. Darknet(Darknet19,53)
  7. MobileNet
  8. ShuffleNet
  9. DetNet
  10. DetNAS
  11. SpineNet
  12. EfficientNet(EfficientNet-B0/B7)
  13. CSPResNeXt50
  14. CSPDarknet53

1.2 Head

head是获取网络输出内容的网络,利用之前提取的特征,head利用这些特征,做出预测。

常用的head的有:

Dense Prediction (one-stage)

  1. RPN
  2. SSD
  3. YOLO
  4. RetinaNet
  5. (anchor based)
  6. CornerNet
  7. CenterNet
  8. MatrixNet
  9. FCOS(anchor free)

Sparse Prediction (two-stage)

  1. Faster R-CNN
  2. R-FCN
  3. Mask RCNN (anchor based)
  4. RepPoints(anchor free)

1.3 Neck

放在backbone和head之间的,是为了更好的利用backbone提取的特征.

常用的neck

Additional blocks

  1. SPP
  2. ASPP
  3. RFB
  4. SAM

Path-aggregation blocks

  1. FPN
  2. PAN
  3. NAS-FPN
  4. Fully-connected FPN
  5. BiFPN
  6. ASFF
  7. SFAM
  8. NAS-FPN

2 Embedding

深度学习方法都是利用使用线性和非线性转换对复杂的数据进行自动特征抽取,并将特征表示为“向量”(vector),这一过程一般也称为“嵌入”(embedding)

3 pretext taskdownstream task

用于预训练的任务被称为前置/代理任务(pretext task),用于微调的任务被称为下游任务(downstream task)

4 Warm up

warm up指的是用一个小的学习率先训练几个epoch,这是因为网络的参数是随机初始化的,一开始就采用较大的学习率容易数值不稳定。

5 End to end

end to end,端到端。在论文中经常能遇到end to end这样的描述,那么到底什么是端到端呢?其实就是给了一个输入,我们就给出一个输出,不管其中的过程多么复杂,但只要给了一个输入,机会对应一个输出。比如分类问题,你输入了一张图片,网络有特征提取,全连接分类,概率计算什么的,但是跳出算法问题,单从结果来看,就是给了一张输入,输出了一个预测结果。End-To-End的方案,即输入一张图,输出最终想要的结果,算法细节和学习过程全部丢给了神经网络。

6 Bottleneck

瓶颈的意思,通常指的是网网络输入的数据维度和输出的维度不同,输出的维度比输入的小了许多,就像脖子一样,变细了。经常设置的参数 bottle_num=256,指的是网络输出的数据的维度是256 ,可是输入进来的可能是1024维度的。

7 Ablation Study

消融实验。实际上是一种对比实验,控制变量法。研究哪些部分对网络性能产生,选择一些可能的因素,分别对比去除和加上的网络性能。

An ablation study typically refers to removing some “feature” of the model or algorithm, and seeing how that affects performance.

8 Baseline

基线,是研究的一个参照物。你以baseline为基础,在上面加了一些东西构成新模型,就要看看你的模型比baseline的性能提高了多少,你的改进有没有效果。(在 baseline 的基础上纵向比较)

9 Benchmark

翻译为基准,在测试中可以比较计算机或程序的性能、可靠性的既定参考点,是评价算法好坏的一种规则和标准。(与比较牛的模型 benchmark 横向比较)

an established point of reference against which computers or programs can be measured in tests comparing their performance, reliability, etc.

10 Batch

一个数据批次,模型训练时一次迭代即一次梯度更新中使用的样本数据集,一个batch中数据的样本数为batch size。

11 Epoch

使用完整的训练数据集进行一次网络训练为一个epoch。

12 Fine tune

模型微调。

to make very small changes to something in order to make it work as well as possible.

13 Ground truth

对应的真实标签。比如一张图片对应的真实标签的分类为猫。

In machine learning, the term "ground truth" refers to the accuracy of the training set's classification for supervised learning techniques.

14 State-of-the-art (SOTA)

最先进、最高的水平

the latest and most sophisticated or advanced stage of a technology, art, or science.

15 Region of interest(ROI)

感兴趣区域,从图像中选择的一片图像区域,里面包含感兴趣的目标。比如一个数据集类别只有人和动物,用这个数据集作目标检测,如果一片区域有这些类别的物体,它才是 ROI,并不是有物体就是 ROI。

16 Receptive field(RF)

感受野(感受域),指的是神经网络中神经元“看到的”输入区域。CNN 的 feature map上某个元素的计算受输入图像上某个区域的影响,这个区域即该元素的感受野。

17 Without bells and whistles

没有花里胡哨的方法(不添加不必要,冗余的东西)

It refers to non-essential but often engaging features added to a piece of technical equipment or a computer program to make it seem more superficially attractive without enhancing its main function

18 AP(Average Percision)

平均精度,指的是所有图片内的具体某一类的PR曲线下的面积

19 mAP(Mean Average Precision)

均值平均精度,指的是所有图片内的所有类别的AP的平均值,目前,在目标检测类里用的最多的是 mAP。

20 IOU(Intersection over Union)

交并比,指的是 ground truth bbox与 predict bbox 的交集面积占两者并集面积的一个比率,IoU值越大说明预测检测框的模型算法性能越好。

21 Top-1 error

预测输出的概率最高的类别,是否和人工标注的类别一致,如果不一致,此时的概率。

22 Top-5 error

预测输出的概率最高的前5个类别当中,有没有和人工标注的类别不一致,当5个都不一致时错误次数占总次数的概率。

参考链接