摘要
在这个工作中作者调查了卷积网络的深度在大型图片识别集合中的影响。作者的主要贡献是使用非常小的3*3卷积核进行详尽的网络深度增加实验,实验展示了先前的最优配置可以通过增加深度到16-19个权重层来获得。这些发现是基于作者在ImageNet 2014挑战上的提交,这里作者的团队分别保持了定位任务的第一名以及分类任务的第二名。作者同时展示了他们的模型在其它数据集上的通用性并获得了最佳的结果。作者将两个最好的卷积网络公开出来以推进计算机视觉中深度视觉表达的进一步研究。
1.介绍
卷积网络最近在大型图片以及视频识别中取得了可喜的成功,这是由于大型公开图片集使之变成了可能,例如ImageNet,以及高表现计算系统例如GPU或者是大型分布式计算集群。特别的是, ImageNet Large-Scale Visual Recognition Challenge (ILSVRC)在深度视觉识别结构的发展中扮演了重要的角色,它已经成为几代大型图片分类系统的试验台,从高维浅特征编码到深度卷积网络。
伴随着卷积网络在计算机视觉领域变得越发重要,一些尝试被作出以提升原始结构来获得更好的准确率。比如ILSVRC2013中最优效果的提交利用了小感受野窗口尺寸以及在第一卷积层更小的步长。另一条提升路线是密集的训练与测试网络,使用全部图片以及多尺度。在这篇paper中,作者陈述了卷积网络设计的另一个重要方面:深度。最终作者固定其他的结构参数并且通过增加更多的卷积层稳定增加网络深度,这是可行的,由于在所有层使用了非常小的(3*3)卷积核。
最终,作者得到了准确率显著提升的卷积网络结构,它不止在ILSVRC分类以及定位任务中获得了SOTA准确率,并且在其他图片识别数据集上也同样适用,即使是作为相关简单管线的一部分也取得了卓越表现(在没有微调的前提下使用线性SVM进行深度特征分类)。作者公开了最好地两个模型来推进进一步研究。
paper剩余部分如下组织。第二节,作者描述了卷积网络配置。详细的图像分类训练以及评估在第三节。在ILSVRC分类任务上的配置对比在第四节,第五节总结了论文。为了进一步完善,作者也在附录A中描述并评估了作者地ILSVRC-2014物体定位系统,并在附录B中讨论了超深度特征到其他数据集的泛化。附录C包含了paper主要版本列表
2.卷积网络配置
为了公平地衡量增加卷积网络深度所带来的提升,作者所有的卷积网络层配置都设计为使用同样的原则。在这一节,作者首先描述了卷积网络的通用配置(2.1节)之后详细介绍了测试中使用的特定配置(2.2节)。作者的设计选择之后会讨论并且与先前工作对比(2.3节)。
2.1 结构
在训练时,作者的卷积网络的输入固定为224224RGB图片,前处理只采用一种,减去训练集中计算的每个像素的RGB值的均值。图片经过一连串的卷积层,其中作者使用了非常小感受野(33)的卷积核(这是捕获左右、上下、中心信息的最小尺寸)。其中的一个配置作者也使用了11卷积核,他可以被看做是输入通道的一个线性变换。卷积步长固定为1像素;卷积层输入的空间padding是这样的,通过位33卷积层使用1像素的padding,空间分辨率在卷积之后保持不变。空间池化层被使用,通过五个最大池化层,他们跟在一些卷积层之后(不是所有的卷积层后面都有最大池化层)。最大池化层执行在2*2像素窗口上,步长为2.
一系列卷积层(他们在不同的结构中有着不同的深度)后面跟着三个全连接层:前两个每个有4096个通道,第三个执行1000路ILSVRC分类因此包含1000个通道(一个对应一个类别)。最终层是soft-max层。连接层的配置在所有网络中都是相同的。
所有的隐藏层都使用了修正(ReLU)非线性。值得注意的是作者的网络(除了一个)都没有使用局部响应归一化LRN:在第四节中展示的这种方法不能够在ILSVRC数据集上提升效果,但是会导致内存消耗以及计算时间增加。
2.2 配置
卷积网络配置,在这篇论文中使用的,列在了表1中的每一列。之后作者将会通过名字A-E来表示网络。所有的配置配置遵循通用设计,2.1节提出。他们的区别只有深度:从11权重层的网络A(8卷积3全连接)到19权重层的网络E(16卷积3全连接)卷积层的宽度(通道数量)相对小,从第一层的64之后每个最大池化层增长2倍,直到达到512.
在表2中,作者报告了每个配置的参数量。为了更大的深度,作者网络中权重的数量并不会比那些使用更大卷积层宽度以及感受野的相对浅的网络的权重数量更多。
2.3 讨论
作者的卷积网络配置与ILSVRC-2012和ILSVRC-2013比赛使用的前列模型有着相当的不同。并没有在第一层卷积使用相对大的感受野(1111步长4或者77步长2),作者使用了非常小的33感受野贯穿整个网络,它与输入在每一个像素上面卷积(步长1)。很容易看到堆叠的两个33卷积层(之间没有空间池化层)有着55大小的有效感受野;三个这种的层有着77的有效感受野。所以通过使用这些作者获得了什么,比如一个堆叠的33卷积层而不是单个77卷积?首先,作者合并了三个非线性修正层而不是单独的一个,这使得决策函数更具有判别性。第二,作者降低了但数量:假设输入和输出的三层33堆叠卷积有着C通道数,堆叠的但数量为3(33CC) = 27CC权重。同时,一个77卷积层需要77CC = 49CC参数量。这可以被看做是对77卷积核的强制正则化,强迫他们通过33卷积进行轻量化(在其间注入非线性)。
11卷积层(表1中配置C)是一种不影响卷积层感受野的增加目标函数非线性的的方法。尽管在作者的例子中11卷积本质上是一个同纬度空间(输入与输出的通道数相同)上的线性映射,额外的非线性是通过休整函数提供的。值得注意的是11卷积最近别是用在了“Network in Network”结构中。
小尺寸卷积滤波器之前被使用过,但是他们的网络明显浅于作者的网络并且没有在大型数据集上面进行测试。在街道数字识别任务中应用深度卷积(11权重层)并且展示了深度的增加带来更好的效果。GoogLeNet ILSVRC2014分类任务的最优方法,是独立于作者的网络开发的,但是都有着基于超深度卷积网络(22权重层)以及小卷积核(除了33,热门还用了11和5*5卷积)的共同点。他们的网络拓扑是,相比于作者的更加复杂的,并且在第一层特征映射的空间分辨率下降地更加激进来降低计算数量。正如4.5节将要展示的,作者的模型在单网络分类准确率上面表现突出。
3.分类框架
前面章节作者展示了作者网络的详细配置。在这一节,作者讲述分类卷积网络的训练以及评估细节。
3.1训练
卷积网络训练步骤基本遵循之前的一个工作(除了采样输入剪裁进行多尺度训练,后面会讲)训练通过使用带动量的mini-batch梯度回归来优化逻辑回归多项式目标函数。batch size设置为256.动量0.9.训练通过权重降权进行归一化(L2惩罚乘子设置为5e-4)并且对前两个全连接层使用dropout正则(丢弃率0.5)学习率初始化为1e-2,之后每次评估集准确率停止提升时下降10倍。总的来说,学习率下降三次,并且学习过程在370K个迭代之后停止(74epochs)。作者推尽管他们的网络相比别人的网络参数更多、网络更深。网络需要更少的epochs来收敛是由于(a)网络足够的深度以及更小的卷积尺寸所带来的隐式正则化(b)特定层的权重预初始化
网络权重的初始化是重要的,因为不好的初始化由于深度网络中的梯度不稳定而终止训练。为了规避这个问题,作者开始训练配置A(表1),足够浅能够使用随机初始化训练。之后,当训练更深的结构时,作者使用网络A来初始化前四层卷积层以及最后三层全连接层(中间层使用随机初始化)。作者没有对预初始化的层使用学习率下降,让他们在训练时改变。对于随机初始化,作者从一个均值为0方差为0.01的正态分布中随机采样。偏置初始化为0.值得注意的是在提交paper之后作者发现有一种不需要预训练的随机初始化方法。
为了获得224224固定大小的卷积网络输入图片,他们从经过缩放的训练图片中随机剪裁(每次随机梯度下降迭代就对每张图片剪裁一次)。为了对训练集进一步增强,剪裁之前需要随机水平翻转以及随机RGB颜色偏移。训练图片缩放解释如下。
训练图像尺寸
设置S为最小的各向同性缩放训练图片的变长,从卷积网络输入剪裁(作者也将S看做训练尺寸)另一方面剪裁尺寸固定到224*224,原则上S可以取不小于224的任何:对于S=224剪裁将会捕获整张图片的统计,完全跨越训练图片的最小边;对于S>>224,剪裁将会对应图片的一小部分,包含一个小物体或者物体的一部分。
坐这儿考虑了两种方法设置训练尺寸S。第一种是设置固定S,这对应着但尺度训练(值得注意的是图像包含剪裁采样仍可以表示多尺度)。在作者的实验中,作者测试模型在两种固定尺寸:S=256(广泛应用于先前工作中)以及S=384.给定一个卷积网络配置,作者首先训练网络使用S=256,并且使用一个更小的初始化学习率1e-3.
第二种设置S方法是多尺度训练,这对于每个训练图片是通过随机从特定范围(作者选取范围256~512)中选取S进行独立缩放的。所以图片中的物体可以是不同大小的,在训练时考虑这一点是有益的。这也可以通过 scale jittering缩放抖动来看做是训练集的增强,模型被训练来识别宽范围尺寸的物体。出于速度的原因,作者通过微调同样配置的单尺度模型地所有层来训练多尺度模型,预训练S=384。
3.2 测试
在测试时,给定一个训练过的卷积网络以及一张输入图片,后面的方法是分类。首先,各向同性缩放到预定义的最小图片边长,设定为Q(作者也将其看做是测试尺寸)。作者注意到Q并不一定要相等于训练尺寸S(后面第四节会展示,使用几种Q值来对应S值能够获得效果提升)。之后网络被稠密的应用在重缩放的测试图片上。FC层是第一个转换成卷积层的(第一个FC层变成一个77卷积层,后面两个FC层变成11卷积层)。全卷积网络最终会应用到整个(未剪裁的)图片。最终结果是一个类别分数,它的通道数对应类别数,以及一个可变的空间分辨率,取决于输入图片的尺寸。最终,为了获得一个固定尺寸的类别分数向量,类别分数映射是空间上平均的(和池化)。作者也在测试集上面使用水平翻转图像来增强数据;对原始图像和翻转图像的softmax类别后验去平均后获得图片的最终得分。
因为全卷积网络被用于整个图片,所以这里不需要在测试时采样多个子区域,对于要求网络重新计算每个剪裁子区域是低效的。同时使用更大的剪裁区域可以提升准确性,正如相比全卷及网络它可以对输入图像更好的采样。同时,由于不同的卷积边界状况,mutil-crop测试完善了稠密测试:为crop使用卷积网络时,卷积地特征映射使用0进行补充,然而在稠密评估情况下对于同样crop的补充就可以使用图片中邻近的部分(因为卷积与空间池化),这显著增加了所有网络的感受野,更多的上下文被捕捉到。然而作者认为在实际中用于多尺度crop索增加的计时间并不能够证明在准确性的潜在收益是合理的,出于对比参考作者也在每个尺度使用50crops(5*5 regular格子伴随2翻折),总计3个尺度150个crops,与之前工作中144crops4尺度做对比。
3.3 应用细节
作者的应用源自于公开C++Caffe工具盒子,但包含几个重要的修订,使得作者能够在单系统的多个GPU上面执行训练以及评估,以及在多尺度(如上述)的全尺寸(无crop)图片上面训练以及评估。多GPU训练利用数据并行,并且通过分离每批训练图片到几个GPU中并行地处理数据。在GPU batch梯度计算完毕后,取平均来获得整个整个batch的梯度。梯度计算同步穿插在GPU中,所以运算结果与单GPU相同。
然而,最近更多巧妙的加速卷积网络训练的方法被提出,利用模型以及数据的并行来为网络的不同层,作者发现作者概念上的更加简单的方案也就是现有的4GPU系统,相比但GPU快了3.75倍。系统使用了NVIDIA 泰坦黑GPUs,训练但网络大概花费2-3周。
4.分类实验
数据集
在这一节,作者讨论描述的卷积网络架构在ILSVRC2012(使用了2012-2014)数据集上面获得的分类结果。数据集包含1000类图片,并且被分为三部分:训练(1.3M),评估(50K),测试(100K)。分类表现使用两个参数衡量:top-1和top-5错误率。前者是一个多类别分类错误率,错误分类图片的占比后者是ILSVRC中使用的主要评估指标,计算了真实类别在前五个预测类别之外的图片比例。
对于主要的实验,作者使用了评估及作为测试集。特定实验也被运行在测试集上面并且提交到ILSVRC官方上,作为“VGG”队伍在ILSVRC-2014比赛的参赛作品。
4.1 单尺度评估
作者开始评估独立卷积网络使用单尺度输入的效果,模型配置描述在2.2节,测试图片尺寸Q=S来固定S,Q=0.5(Smin+Smax)为了抖动的S∈[Smin,Smax]。结果展示在表3中
首先,作者注意到使用LRN局部响应正则化(A-LRN 网络)并不会提升没有任何正则化层的网络A。作者因此在深度结构(B-E)中不再使用正则化。
其次,作者观测到分类错误率随着网络深度增加而下降:从11层的网络A到19层的网络E,值得注意的是,尽管有着同样的深度,配置C(使用了三个11卷积层)效果差于配置D(整个网络都使用33卷积)。这表明尽管额外的非线性有帮助(C好于B),但通过卷积滤波器非碎片化的感受野捕捉到空间上下文信息是同样重要的(D好于C)。错误率在作者的结构深度达到19层时饱和,但是对于更大的数据集,更深的网络或许更加有效。作者也对比了网络B与另一个使用55卷积的更浅网络,该网络由B网络得出,通过一个55卷积替换成对的3*3卷积层(2.3节中解释了他们有着同样的感受野)。浅层网络的top-1错误率相比B高出7%(在中心crop),这确认了深度网络使用小卷积核要优于浅层网络使用大卷积核。
最终,在训练时缩放抖动(S∈[256;512])带来显著的结果提升,相比那些使用固定最小变长(S=256或者S=384),即使单尺度在测试时被使用。这证明了训练集使用尺度抖动进行增强是确实对于捕获多尺度图像统计是有帮助的。
4.2 多尺度评估
在使用单尺度评估卷积网络之后,作者现在探讨测试时使用尺寸抖动的影响。这是由网络在几个重新缩放版测试图片上运行组成的(对应着不同的Q值),后面跟着取均值的结果类别后验。考虑到训练以及测试的巨大尺寸差异导致精度下降,模型使用固定S训练就会在三个近似图片尺寸上面评估。近似训练的:Q={S-32, S, S+32}.同时,训练时尺寸抖动使得网络测试时能够用于更加广泛的尺寸,所以模型训练使用变量S∈[Smin;Smax]评估使用Q的范围{Smin, 0.5(Smin+Smax), Smax}
结果展示在表4中,表明了在测试时使用尺度抖动能够带来更好的表现(正如使用单尺度在同样的模型上评估那样,表3)。在之前,最深的配置(D和E)表现最佳,并且尺度抖动优于使用固定最小变长S训练。作者的做好的单网络表现,在评估集上获得了top-1:24.8%,top-5:7.5%错误率(表4中粗体高亮)。在测试集,配置E获得了7.3%的top-5错误率。
4.3 多剪裁采样评估
在表5中,作者对比了使用多剪裁采样评估(细节见章节3.2)的稠密卷积网络评估。作者使用输出softmax取平均来评价两种评估方法的互补性。正如见到的那样,使用多剪裁采样表现明显好于稠密评估,并且两种方法确实是互补的,正如他们的结合效果优于他们自身。如上述提到的,作者假设这是由于不同的卷积边界处理方式导致的。
4.4 卷积网络融合
到此,作者评估了独立的卷积网络模型的表现。在这部分的实验,作者结合了几个模型的输出,通过将他们softmax类别概率取均值。这由于模型的互补性而提升效果,并且被用于ILSVRC2012与2013的最优提交当中。
结果展示在表6中,在ILSVRC提交的时候作者只训练了单尺度网络,以及一个多尺度网络D(通过微调全卷积网络而不是整个网络)结果组合了7个网络,在ILSVRC上测试错误率为7.3%。在提交之后,作者考虑只结合两个最佳多尺度模型(配置D和E),他们使用稠密评估降低错误率到7.0%,结合稠密以及多剪裁采样评估后达到了6.8%。用于参考,作者的最优单模型达到了7.1%的错误率(表5中E模型)
4.5 与SOTA对比
最终,作者在表7中对比了自己与ILSVRC2014挑战分类任务中的最优模型,作者的“VGG”组合7个模型,以7.3%测试错误率保持在第二名。在提交之后,作者通过使用两个模型的组合将错误率降低到6.8%。
正如可以在表7中看到的,作者的超深度卷积网络相比前代获得了ILSVRC-2012以及ILSVRC-2013最佳表现的模型具有明显的提升。作者的结果与分类任务获胜模型(GoogLeNet,6.7%错误率)相比也有竞争力,并且极大超越了ILSVRC-2013获胜网络Clarifai(使用额外的徐历年数据达到11.2%,没有使用则是11.7%)。这是值得注意的,考虑到作者的最优结果仅通过结合两个模型——这远小于ILSVRC中的大多数提交。在但网络表现方面,作者的结构获得了最好的结果(7%测试错误率),超过GoogLeNet 0.9%。值得注意的是作者没有背离分类网络结构,只是增加深度来提升效果。
5 总结
在这个工作中作者为大型图像分类评估超深卷积网络(增长至19权重层)。它证明了深度表达是有益于分了准确率的,并且ImageNet挑战数据集的SOTA效果可以通过使用明显增加深度的传统卷积网络结构获得。在附录中,作者也展示了作者的模型在广泛任务以及数据集中也有着不错的泛化性,能够比得上或者超过那些浅图像表达所构建的识别管线。作者的结果再次证明了深度对于视觉表达的重要性。
附录
A 定位
论文主体探讨ILSVRC挑战分类任务,并且在卷积网络结构的不同深度进行了详尽的实验。在这一节,作者转向挑战的定位任务,并获得了25.3%的错误率。它可以被看做是一个特殊场景下的物体检测,为每一个前五类别预测一个单独的物体边界框,不管类别物体的实际数量。为此作者采用了ILSVRC-2013定位挑战的获胜方案,并进行了一些改进。作者的方法在A.1节中讲述,在A.2节中评估
A.1 卷积网络定位
为了执行物体定位,作者使用了超深度卷积网络,网络最后一个全连接层预测边界框位置而不是类别分数。一个边界框通过4-D向量来表示,其中存储了它的中心坐标、宽度以及高度。这里有一个选择:预测的边界框是否是是所有类别共享的(single-class regression单类回归)或者是指定类别的(per-class regression)。前一种情况下,最后一层是4-D,而后一种则是4000-D(因为数据集中有着1000类)。除去最后边界框预测层,作者使用了表1中D结构卷积网络,包含16个权重层并且在分类任务中取得了最佳表现。
训练
训练定位卷积网络与分类卷积网络是相似的。主要的区别是使用欧几里得损失替换了目标逻辑回归,它惩罚了预测边界框参数与真实值的差距。作者两个单尺度上训练了定位模型:S=256以及S=384(由于时间限制,作者没有使用尺寸抖动)。训练使用了对应分类网络(同样尺寸训练的的)来初始化,并且初始化学习率为1e-3.作者尝试了微调所有的层以及只微调前两个全连接层。最后一个全连接层使用随机初始化并且从头训练。
测试
作者考虑了两种测试方案。第一种被用于在评估集上对比不同的网络修改,并且只考虑真实类别的边界框预测(来找出分类错误)。边界框是通过使用网仅在图像中心的剪裁(预测出的)