深度学习术语Neck,Head,Embedding,One&&Two stages Detector等等

1.backbone

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

2.head:

head是接在特征提取网络之后的网络,大多数时候特征提取网络都是backbone网络,但是有时候backbone和head网络之间还有neck部分,利用之前提取的特征,head利用这些特征,做出预测。

3.neck:

脖子的意思,是放在backbone和head之间的,是为了更好的利用backbone提取的特征,不是每个检测器都有Neck,Yolov1就没有。

3.1 One && Two stages Detector 两种检测器

目标检测任务总体结构如下,下面是二阶段检测器示意图
深度学习术语Neck,Head,Embedding,One&&Two stages Detector等等_第1张图片
二阶段检测器相当于一阶段检测器,多了一个region proposal获取的过程,可以理解为预筛选一部分候选区域,而第二阶段才是对这些候选区域的分类和回归。
这里我们用dense predictions 和 sparse predictions 来区分一阶段检测器和二阶段检测器。
一阶段的检测器属于Dense Prediction,二阶段的检测器既有Dense Prediction,又有Sparse Prediction。

4.bottleneck:

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

5.GAP:

在设计的网络中经常能够看到gap【global average pooling】这个层,全局平均池化,就是将某个通道的特征取平均值,经常使用AdaptativeAvgpoold(1),在pytorch中,这个代表自适应性全局平均池化。

6.Embedding:

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

7.热身Warm up:

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

8.end to end

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

你可能感兴趣的:(Deep,Learning,深度学习,人工智能,神经网络)