网站个人中心设计,怎么检查网站有没有被挂马,天津工程招标信息网官网,长沙住房与城乡建设部网站1.backbone
翻译为主干网络的意思#xff0c;既然说是主干网络#xff0c;就代表其是网络的一部分。这个主干网络大多时候指的是提取特征的网络#xff0c;其作用就是提取图片中的信息#xff0c;供后面的网络使用。这些网络经常使用的是ResNet VGG等#xff0c;而不是我…1.backbone
翻译为主干网络的意思既然说是主干网络就代表其是网络的一部分。这个主干网络大多时候指的是提取特征的网络其作用就是提取图片中的信息供后面的网络使用。这些网络经常使用的是ResNet VGG等而不是我们自己设计的网络因为这些网络已经证明了在分类等问题上的特征提取能力是很强的。在用这些网络作为backbone的时候都是直接加载官方已经训练好的模型参数后面接着我们自己的网络。让网络的这两个部分同时进行训练因为加载的backbone模型已经具有提取特征的能力了在我们的训练过程中会对他进行微调使得其更适合于我们自己的任务。
在神经网络中尤其是CV领域一般先对图像进行特征提取常见的有vggresnet这一部分是整个CV任务的根基因为后续的下游任务都是基于提取出来的图像特征去做文章比如分类、生成等。
主干网络用来做特征提取的网络代表网络的一部分一般用于前端提取图片信息生成特征图feature map供后面的网络使用。通常用VGG或者Resnet因为这些backbone的特征提取能力是很强并且可以加载官方在大型数据集Pascal、Imagenet上训练好的模型参数然后接自己的网络进行微调就可以。
主干网络一般不是我们自己设计的网络因为这些网络已经证明了在分类问题上的特征提取能力是很强的在用这些网络作为backbone的时候都是直接加载官方已经训练好的模型参数后面接着我们自己的网络让网络的这两个部分同时训练加载的backbone模型已经具有特征提取能力了在我们的训练过程中会对他进行微调使得其更适合于我们自己的任务。
2.head
head是获取网络输出内容的网络利用之前提取的特征head利用这些特征做出预测。
3.neck
neck是放在backbone和head之间的是为了更好的利用backbone提取的特征
4.bottleneck
bottleneck是瓶颈的意思通常指的是网网络输入的数据维度和输出的维度不同输出的维度比输入的小了许多就像脖子一样变细了。经常设置的参数 bottle_num256指的是网络输出的数据的维度是256 可是输入进来的可能是1024维度的。
5.GAP
在设计的网络中经常能够看到gap这个层我之前不知道是干啥的后了解了就是Global Average Pool全局平均池化就是将某个通道的特征取平均值经常使用AdaptativeAvgpoold,在pytorch中这个代表自适应性全局平均池化说人话就是将某个通道的特征取平均值。
6.Embedding
深度学习方法都是利用使用线性和非线性转换对复杂的数据进行自动特征抽取并将特征表示为“向量”vector这一过程一般也称为“嵌入”embedding
7.downstream task
用于预训练的任务被称为前置/代理任务(pretext task)用于微调的任务被称为下游任务
8.temperature parameters
在论文中经常能看到这个温度参数的身影他可以起到平滑softmax输出结果的作用举例子如下
import torch
x torch.tensor([1.0,2.0,3.0])
y torch.softmax(x,0)
print(y)x1 x / 2 # beta 为2
y torch.softmax(x1,0)
print(y)x2 x/0.5 # beta 为0.5
y torch.softmax(x2,0)
print(y)#输出结果如下tensor([0.0900, 0.2447, 0.6652])
tensor([0.1863, 0.3072, 0.5065])
tensor([0.0159, 0.1173, 0.8668])当beta1的时候可以将输出结果变得平滑当beta1的时候可以让输出结果变得差异更大一下更尖锐一些。如果beta比较大则分类的crossentropy损失会很大可以在不同的迭代次数里使用不同的beta数值有点类似于学习率的效果。
9.Warm up
Warm up热身指的是用一个小的学习率先训练几个epoch这是因为网络的参数是随机初始化的一开始就采用较大的学习率容易数值不稳定。