摘要:
论文研究了卷积网络的深度对大型图像识别精度的影响。使用3*3卷积核增加网络深度,在深度为16-19层时达到了对现有结构性能的显著提升。在2014图像挑战赛上取得了第一名的成绩。
引言:
卷积网络的成功归功于大型公开图片库、高性能计算系统(多GPU、大规模分布式集群),ILSVRC作为多代大规模图像分类系统的实验平台。
提高原始卷积网络结构性能的许多尝试方法:
(1)在第一个卷积层使用更小的接收窗口大小和更小的stride
(2)在整个图像和多个尺度上密集地训练和测试网络
本文研究卷积网络的深度,在所有层上都使用3*3卷积核。
卷积网络结构:
一般结构:
输入:固定大小的224*224RGB图像
预处理:每个像素点减去训练集的平均RGB值
卷积核:3*3卷积核(能捕捉上下左右以及中心点特征的最小卷积)、1*1卷积核(线性转换)
步长:固定为1像素
填充:padding为1,恒等填充
池化:五个2*2最大池化,stride为2
全连接层:在卷积层后有三个全连接层,前两个有4096个通道,最后一个有1000个
soft-mac层
不同网络的全连接层是一致的
所有隐藏层都使用ReLU非线性激活函数
评估的不同卷积网络:
每个评估的卷积网络只有深度不同
每次经过最大池化,卷积核数量增大一倍,直到512个卷积核
虽然卷积网络的深度很大,但是参数的数量并没有具有很宽的浅层卷积网络的参数多
讨论:
- 整个卷积网络使用3*3卷积,两次串联的3*3卷积的视野域相当于一个5*5卷积,三次串联的3*3卷积相当于一个7*7卷积。
多个3*3卷积相比于同视野域大卷积核的优点:
(1)包含更多的ReLu非线性激活函数,函数更有判别性(2)参数更少
-
1*1卷积是在相同维度上的线性转换,但是引入了额外的非线性修正函数。
分类卷积网路的训练:
训练:
使用基于反向传播的具有动量的小批量梯度下降进行训练
batch size大小为256
momentum为0.9
L2正则化权重衰减,
前两个全连接层dropout正则化,丢弃率为0.5
学习率最初为,验证集准确率停止提高时,学习率降低10倍
学习率降低3次,训练经过370K次迭代(74次epoch)后停止
虽然参数较多,但是网络收敛的更快(与AlexNet卷积网络比较),由于
(a)网络更深的深度与更小的卷积核具有正则化效果
(b)某些层预初始化
首先利用随机初始化训练浅的A网络,然后在训练其他深层网络时,预初始化前四个卷积层和后三个全连接层,中间层随机初始化。预初始化层的学习率可变,而不是衰减。随机初始化遵循期望为0,方差为0.01的正态分布,偏差bias为0。
图像处理:
为了获得固定大小的224×224ConvNet输入图像,从重新缩放的训练图像中随机裁剪(每次SGD迭代,每个图像裁剪一次)。为了进一步增加训练集,剪裁图片进行随机水平翻转和随机RGB颜色变换。
令S为训练图片放缩后的最小边(training scale),S224
(1)固定S,单尺度训练。实验中,我们评估了在两个固定尺度下训练的模型:S=256(已被广泛使用)和S = 384。训练一个卷积网络结构,我们首先使用S = 256训练网络。为了加快S = 384网络的训练,我们使用S = 256预训练的权值初始化,并使用较小的初始学习率为。
(2)不固定S,多尺度训练。每个训练图像通过从一定范围内随机采样S[Smin,Smax](我们使用Smin = 256和Smax = 512)。我们通过微调具有相同结构的单尺度模型的所有层来训练多尺度模型,使用固定的S = 384进行预训练。
分类实验:
单尺度评估:(test scale Q是固定的)
- 使用局部响应归一化(A-LRN网络)与没有任何归一化层的模型A网络相比性能没有提升。
- 分类误差随着ConvNet深度的增加而减小:从A的11层到E的19层。值得注意的是,尽管C与D深度相同,结构C(其中包含3个1×1 卷积层)性能比配置D差(使用3×3 卷积层贯穿整个网络)。当深度达到19层时,我们的体系结构的错误率达到饱和,更深的模型可能有利于更大的数据集。另外,还证明了带有小卷积核的深层卷积网络优于带有较大卷积核的浅层卷积网络。
- 通过尺度抖动来增强训练集确实有助于捕获多尺度图像的统计数据。
多尺度评估: (test scale Q是不固定的)
用固定S训练的模型在测试图像的三个不同大小上进行评估, Q = {S−32,S,S + 32}。训练时使用变量S∈[Smin;Smax]训练的模型在更大的大小Q = {Smin,0.5(Smin + Smax),Smax}范围内进行评估。取不同尺寸测试结果平均。
- 测试时的尺度抖动可以产生更好的性能(与在单一尺度上测试相同的模型相比)。
- 最深的结构(D和E)表现最好,训练尺度抖动比使用固定的训练S更好。