二、VGG网络论文总结

二、VGG网络

论文导读

1、相关研究

ZFNet:借鉴其中采用小卷积核的思想;

OverFeat:借鉴其中的全卷积思想,使网络达到稠密(Dense)预测;

2、研究意义

开启了小卷积核的时代:3x3卷积核成为主流模型;

作为各类图像任务的骨干网络结构:分类、定位、检测、分割一系列任务;

论文概要

  • 核心摘要

1、文章主题:在大规模图像识别任务中,探究卷积网络深度对分类准确率的影响;

2、主要工作:研究3x3卷积核对加深模型的性能,同时将网络加深到16-19层;

  • 模型结构

二、VGG网络论文总结_第1张图片

共性:

1、5个maxpool层,maxpool层后特征图通道数翻倍至512;

2、3个FC层进行分类输出;

3、maxpool层之间采用多个卷积层堆叠,对特征图进行提取和抽象;

特点:

1、堆叠3x3卷积核:增大感受野、2个3x3相当于1个5x5,减少了参数;

2、 尝试1x1卷积核,这个在VGG-C中尝试;

  • 训练技巧

数据增强:

针对位置信息:按比例缩放图片至最小边为S,随机裁剪出224x224区域,进行水平翻转;采用多尺度的方法,S取在区间[256,512]中,该方式叫做训练阶段尺度扰动;

  • 测试技巧

1、多尺度测试

图片等比例缩放至最短边为Q,设置三个Q对图片进行预测,取平均值;

当S为固定时,Q=[S-32,S,S+32]、当S为随机时,Q=(S_min,0.5*(S_min+S_max),S_max)

二、VGG网络论文总结_第2张图片

2、稠密测试

将FC层转换为卷积操作,变为全卷积网络,实现任意尺寸图片输入;

二、VGG网络论文总结_第3张图片

论文总结

关键点:

1、堆叠小卷积核,加深网络;

2、训练阶段,多尺度扰动 [256,,512];

3、测试阶段,多尺度、Dense(稠密测试)+ Multi crop(多尺度裁剪)

启发点:

1、采用小卷积核,获得高精度;

2、采用多尺度及稠密预测,获得高精度;

3、1x1卷积可以认为是线性变换,同时增加非线性层(ReLU);

4、填充大小准则:保持卷积后特征图分辨率不变;

5、LRN对精度无提升;

6、Xavier初始化可达到较好效果;

7、S远大于224,图片可能仅包含物体的一部分;

8、大尺度模型采用小尺度模型初始化,可以加快收敛;

9、物体尺寸不一,因此采用多尺度训练,可以提高精度;

10、multi crop存在重复计算,因而低效;

11、multi crop可看作dense的补充,因为它们边界处理有所不同;

12、小而深的卷积网络优于大而浅的卷积网络;

13、尺寸扰动对训练和测试阶段都有帮助;

代码部分

训练步骤:

加载数据——加载模型——损失函数——优化器——训练

注意点:

1、由于网络层结构较多,用一个容器(可保存多个网络)来存储我们需要的网络层参数,再使用make_layer来构建网络层;

2、需要更改最后一层全连接层输出个数,适应自身的任务;

num_ftrs = vgg16_model.classifier._modules["6"].in_features
vgg16_model.classifier._modules["6"] = nn.Linear(num_ftrs, num_classes)

说明,实现步骤同AlexNet,不作具体讲解;

总结

该网络需要重点关注3x3卷积核的使用,以及训练和测试中所用到的技巧;训练阶段采主要关注多尺度扰动,测试阶段关注稠密测试和多尺度裁剪;

你可能感兴趣的:(计算机视觉,深度学习)