深度学习中的backbone、head、neck释义

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/qq_33287871/article/details/119488663
今日推荐