VGG 论文学习

 题目:   VERY DEEP CONVOLUTIONAL NETWORKS 

               FOR LARGE-SCALE IMAGE RECOGNITION

题目译: 大规模图像识别的的深度卷积神经网络


作者: Karen Simonyan∗ & Andrew Zisserman+Visual Geometry Group, Department of Engineering Science, University of Oxford


研究背景:

ILSVRC-2014挑战赛,并在AlexNet、ZFNet、OverFeat、NIN(Network in Network)的研究基础上进行创新发展了VGG

研究成果:

ILSVRC定位冠军,分类亚军,开源VGG16,VGG19

研究意义:

开启小卷积核,3*3卷积核成为主流模型;深度卷积模型时代,作为各类图像任务的骨干网络结构:分类、定位、检测、分割一系列图像任务大都有VGG为骨干网络的尝试


学习目标


摘要核心

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

2、主要工作:研究3*3卷积核增加网络模型深度的卷积网络的识别性能,同时将模型加深到16-19层

3、本文成绩:VGG在ILSVRC-2014获得了定位任务冠军和分类任务亚军

4、泛化能力:VGG不仅在ILSVRC获得好成绩,在别的数据集中表现依旧优异

5、开源贡献:开源两个最优模型,以加速计算机视觉中深度特征表示的进一步研究


网络结构(模型演变(VGG11至VGG19演变过程)

共性:1、5个maxpool(采用2*2窗口,滑动步长为2)2、maxpool后,特征图通道数翻倍直至5123、3个FC层进行分类输出4、maxpool之间采用多个卷积层堆叠,对特征进行提取和抽象

演变过程:

A:11层卷积

A-LRN:基于A增加一个LRN

B:第1,2个block中层架1个卷积3*3卷积

C:第3,4,5个block分别增加1个1*1卷积,表明增加非线性有益于指标提升

D:第3,4,5个block的1*1卷积替换为3*3

E:第3,4,5个block再分别增加1个3*3卷积


参数计算

VGG-16参数计算



VGG-16 结构

VGG 特点:

2个3*3 堆叠的感受野等价于1个5*5

3个 3*3 堆叠的感受野等价于1个7*7

尝试1*1卷积,借鉴NIN,引入利用1*1卷积,增加非线性激活函数,提升模型效果

两个3*3的卷积核视野相当于一个5*5的卷积核

那么怎么来理解2个3*3堆叠的感受野与1个5*5相同?

如下图所示:对于1个5*5的特征图,如果用一个5*5的卷积核与之卷积就会得到一个1*1的特征图;若用两个3*3卷积核也可得到1个1*1的特征图,即第一个3*3与5*5的特征图卷积会得到一个3*3的特征图,该特征图再与另一个3*3的卷积核卷积就也会得到一个1*1的特征图。它们最后都得到了一个1*1的特征图,并且卷积核是对每个像素值都进行了卷积提取,并没有漏掉一个像素,虽然处理的过程不一样,卷积的结果不一样,但2个3*3卷积核也跟1个5*5卷积核一样看到了最初的那个5*5特征图的全貌,所以说他们的感受野等价。

感受野的图解

堆叠3*3卷积核的好处:

1、增加非线性激活函数,增加特征抽象表达能力 

利用2个3*3卷积代替1个5*5卷积,使用了2个非线性激活函数,3个3*3卷积代替1个7*7卷积使用了3个非线性激活函数,还加入了1*1卷积。这增加了非线性表达能力,有助于模型的训练。

2、减少训练参数

假设现在有3个3*3卷积层,每层都有c个通道,那么它的参数总量为:3*(3*3*c)*c=27c^2。而1个7*7卷积层,c个通道,就会产生7*7*c*c=49c^2个参数。参数减少比:(49-27)/49约等于44%

1*1卷积

最初应用 1x1 卷积核的神经网络是 Network In Network。使用1x1卷积核的主要好处:

1、增加网络的深度,使用多个1x1卷积核,在保持feature map 尺寸不变(即不损失分辨率)的前提下,可以大幅增加非线性表达能力,把网络做得很deep。

2、进行卷积核通道数的降维和升维。

3、实现跨通道的交互和信息整合。

总结就是:1x1 卷积核的好处是不改变感受野的情况下,进行升维和降维,同时也加深了网络的深度。


训练技巧:(尺度扰动和预训练模型)

数据增强:方法一:针对位置/或尺寸

训练阶段:1、按比例缩放图片至最小边为S(S为resize 后最小边)   2、随机位置裁剪出224*224区域      3、随机水平翻转

方法二:针对颜色

修改RGB通道的像素值,实现颜色扰动

S设置方法:

1、固定值:固定为256或384

2、随机值:每个batch的S在【256,512】,实现尺度扰动

预训练模型初始化

深度神经网络对初始化敏感  1、深度加深时,用浅层网络初始化B,C,D,E用A模型初始化  2、Multi-scale训练时,用小尺度初始化S=384时,用S=256模型初始化;S=【256,512】时,用S=384模型初始化。

测试技巧:多尺度(Multi crop)测试和稠密 (Dense) 测试

多尺度测试(Multi crop test): 图片等比例缩放至最短边为Q,设置3个Q,对图片进行预测取平均

方法1 当S为固定值时:Q=【S-32,S,S+32】

方法2 当S为随机值时: Q=(S_min,0.5*(S_min+S_max),S_max)


借鉴AlexNet与GoogLeNet,对图片进行Multi-crop,裁剪大小为224*224,并水平翻转图片,缩放至3种尺寸,然后每种尺寸裁剪出50张图片;50=5*5*2

 1、移动的步长为x/4,即(Q−224)/4,所以Q的取值减去224以后,一定可以被4整除;

2、5*5=25,裁剪原图片得到的这25张图片;

3、25*2=50,经过翻转得到50张图片;

 4、50*3=150,因为Q有3种尺寸取值;

稠密测试(Dense test):将FC层转换为卷积操作,变为全卷积网络,实现任意尺寸图片输入

1、经过全卷积网络得到N*N*1000特征图

2、在通道维度上求和(sum pool)计算平均值,得到1*1000输入向量


FC层转换为卷积示意图

测试技巧总结:

Step1:等比例缩放图像至三种尺寸:Q1, Q2, Q3    

Step2:方法1 Dense:全卷积,sum pool,得到1*1000

             方法2 Multi-crop:多个位置裁剪224*224区域

             方法3 Multi-crop & Dense:综合取平均


实验结果及分析

1. Single scale evaluation 

S为固定值时:Q = S, S为随机值时:Q = 0.5(S_min + S_max)

结论: 

1. 误差随深度加深而降低,当模型到 达19层时,误差饱和,不再下降 

2. 增加1*1有助于性能提升

 3. 训练时加入尺度扰动,有助于性能 提升 

4. B模型中,3*3替换为5*5卷积,top1 下降7% 

2. Multi scale evaluation

方法1 :

Q = [S-32, S, S+32]

方法2:

Q = (S_min, 0.5*(S_min + S_max),S_max)

结论 :

测试时采用Scale jittering 有助于性能提升

3. Multi crop evaluation

方法:   等步长的滑动224*224的窗口进行裁剪,在尺

度为Q的图像上裁剪5*5=25张图片,然后再进

行水平翻转,得到50张图片,结合三个Q值,

一张图片得到150张图片输入到模型中

结论 :

1 . multi-crop 优于dense

2 . multi-crop 结合dense,可形成互补,达到最优结果

4. Convnet fusion

方法 : ILSVRC中,多模型融合已经是常规操作

ILSVRC中提 交 的 模 型 为 7 个 模 型 融 合

采用 最 优 的 两 个 模 型

D / [ 2 5 6 , 5 1 2 ] / 2 5 6 , 3 8 4 , 5 1 2

E / [ 2 5 6 , 5 1 2 ] / 2 5 6 , 3 8 4 , 5 1 2

结合 m u l t i - c r o p 和 d e n s e , 得 到 最 优 结 果

5. Comparison with the state of the art

结论 :

单模 型 时 , V G G 优 于 冠 军 G o o g L e N e t


论文总结:

关键点:

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

2、训练阶段,尺度扰动 

3、训练阶段,多尺度扰动及Dense+Multi crop

启发点:

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

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

3、1*1卷积可认为是线性变换,同时增加非线性层

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

5、LRN(局部响应归一化)对精度无提升

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

7、若S(resize 后最小边)远大于224,物体可能进展图片的一小部分

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

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

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

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

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

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

你可能感兴趣的:(VGG 论文学习)