图像分类算法VGGNet论文解读

论文名称:Very Deep Convolutional Networks For Large-Scale Image Recognition

论文地址:https://arxiv.org/pdf/1409.1556.pdf

 

 

VGGNet的主要贡献是,研究了卷积网络深度对大规模图像识别中卷积网络精度的影响,使用3×3卷积滤波器,将网络深度推至16-19层,显著地提高了分类性能。

 

一、论文理解

1、ImageNet大型视觉识别挑战(ILSVRC)

ImageNet大型视觉识别挑战(ILSVRC)在推进深度视觉识别体系结构方面发挥了重要作用,该挑战已作为几代大型图像分类系统的试验台。很多人尝试改善网络结构,如使用更小的感受野、第一个卷积层使用更小的stride、在整个图像多个尺度上进行训练和测试。本文通过增加卷积层来稳定地增加网络深度,在所有层中都使用了非常小的(3×3)卷积滤波器,它不仅在ILSVRC分类和定位任务上达到了最先进的精度,而且还适用于其他图像识别数据集,一共发布了两个表现最好的网络模型。

 

2、结构

在训练期间,输入一个224×224大小的RGB图像,唯一的预处理是从每个像素中减去图像均值。图像通过使用3×3过滤器的卷积层传递,在其中一种配置中,使用1×1卷积滤波器,这可以看作是输入通道的线性变换(后面接上非线性变换),卷积stride为1,padding填充使得卷积后保持原来的空间分辨率,即3×3卷积层的padding为1。有5个最大池化层,最大池化层的滤波器大小为2*2,stride为2。卷积层后面是3个全连接层:前两层各有4096个通道,第三层包含1000个通道(共1000类),最后一层是softmax。所有层均有非线性修正单元relu,网络不包含局部响应归一化(LRN),因为这种归一化并不能提高ILSVRC数据集的性能,但会增加内存消耗和计算时间。

 

3、A-E各网络配置

每列一个网络,从A到E只有深度不同,从网络A中的11层(8个卷积层和3个fc层)到网络E中的19层(16个卷积层和3个fc层)。卷积层的通道数很小,从第一层的64开始,然后在每个最大池层之后增加2倍,直到达到512。配置表如图所示:

图像分类算法VGGNet论文解读_第1张图片

虽然网络深度更大,但参数量不会很大,下图是各网络的参数个数表:

 

4、用3*3卷积滤波器代替更大的卷积滤波器

不使用相对较大的7*7卷积滤波器,而是使用非常小的3×3的卷积滤波器,这样做的好处是:

(1)用3个非线性卷积层代替1个单一的卷积层,网络表达性能更好。

(2)由两个3×3卷积层组成的网络,具有5×5的有效感受野,但是参数数量更少。假设,3*3卷积层有C个通道,3个这样的卷积层共有个参数,而一个7*7卷积层有个参数。

图像分类算法VGGNet论文解读_第2张图片

 

5、使用1*1卷积滤波器

使用1×1卷积层(配置C,表1)是在不影响卷积层感受野的情况下,增加决策函数非线性的一种方法。尽管在我们的例子中,1×1卷积本质上是一个线性投影到相同维度的空间上(输入和输出通道的数量相同),但整流函数引入了一个额外的非线性。

使用1*1滤波器的好处有:https://blog.csdn.net/qq_32172681/article/details/95968332

 

6、训练过程

使用小批量梯度下降和动量优化目标函数,批大小为256,动量为0.9。训练通过权重衰减(L2惩罚因子设置为5*0.0001)和前2个全连接层的dropout(dropout率为0.5)进行调整。学习率最初设置为0.01,在验证集精度停止提高时降低10倍。总的来说,学习率下降了3次,在370K次迭代(74个周期)后停止学习。

网络权重的初始化很重要,错误的初始化会由于深层网络中梯度的不稳定性而使训练停滞。训练浅层网络A时,通过随机初始化进行训练,但训练更深层的网络时,将前4个卷积层和后3个全连接层初始化为Net A,中间层随机初始化。没有降低预初始化层的学习率,允许它们在训练过程中发生变化。使用平均值为零且方差为10-2的正态分布随机初始化权重,偏置用零初始化。

为了获得固定大小的224×224输入图像,从重新缩放的训练图像(每个SGD迭代一次图像裁剪)中随机裁剪这些图像。为了进一步增强训练集,进行了随机水平翻转和随机RGB颜色变化。

 

 

你可能感兴趣的:(图像处理,paper阅读)