V e r y D e e p C o n v o l u t i o n a l N e t w o r k s f o r L a r g e − S c a l e I m a g e R e c o g n i t i o n Very\ _{}Deep\ _{}Convolutional\ _{}Networks\ _{}for\ _{}Large-Scale\ _{}Image\ _{}Recognition Very Deep Convolutional Networks for Large−Scale Image Recognition
K a r e n S i m o n y a n , A n d r e w Z i s s e r m a n Karen Simonyan,Andrew Zisserman KarenSimonyan,AndrewZisserman
用 于 大 规 模 图 像 识 别 的 深 度 卷 积 网 络 用于大规模图像识别的深度卷积网络 用于大规模图像识别的深度卷积网络
摘要:在这项工作中,我们研究了卷积网络深度在大规模图像识别环境中对其准确性的影响。我们的主要贡献是使用具有非常小的(3×3)卷积滤波器的结构对增加深度的网络进行了全面的评估,这表明通过将深度增加到16-19权重层可以实现对现有技术配置的重大改进。这些发现是我们提交2014年ImageNet挑战赛的基础,我们的团队分别在定位和分类轨道上获得了第一名和第二名。我们还表明,我们的表述可以很好地推广到其他数据集上,在这些数据集中它们可以达到最好的结果。我们已经公开提供了两个性能最佳的ConvNet模型,以促进对在计算机视觉中使用深度视觉表示的进一步研究。
1 引言
卷积网络(ConvNets)最近在大规模图像和视频识别方面取得了巨大成功(Krizhevsky等人,2012; Zeiler&Fergus,2013; Sermanet等人,2014; Simonyan&Zisserman,2014),由于大型公共图像存储库(例如ImageNet(Deng等,2009)和高性能计算系统,例如GPU或大规模分布式集群(Dean等,2012),这已经成为可能。特别是,ImageNet大规模视觉识别挑战赛(ILSVRC)(Russakovsky等人,2014)在深度视觉识别架构的发展中发挥了重要作用,它已成为几代大规模图像分类系统的测试平台,从高维浅特征编码(Perronnin等人,2010)(ILSVRC-2011的获奖者)到深层ConvNets(Krizhevsky等,2012)(ILSVRC-2012的获奖者)。
随着ConvNets在计算机视觉领域中越来越成为一种商品,人们进行了许多尝试来改进Krizhevsky等人(2012)的原始架构,以达到更好的准确性。例如,向ILSVRC2013提交的最佳表现(Zeiler&Fergus,2013; Sermanet等人,2014)利用较小的接收窗口尺寸和较小的第一卷积层步长。另一项改进涉及在整个图像上和多个尺度上密集地训练和测试网络(Sermanet等人,2014; Howard,2014)。在本文中,我们讨论了ConvNet架构设计的另一个重要方面——深度。为此,我们固定了架构的其他参数,并通过添加更多的卷积层来稳步增加网络的深度,这是可行的,因为在所有层中都使用了非常小的(3×3)卷积滤波器。
因此,我们提出了更为精确的ConvNet架构,该架构不仅可以实现ILSVRC分类和定位任务的最佳准确度,而且还可以应用于其他图像识别数据集,它们可以获得优异的性能,即使使用相对简单流程的一部分(例如,通过线性SVM分类深度特征进行分类而无需进行微调)。我们发布了两款性能最佳的模型,以便进一步研究。
本文的其余部分安排如下。在第2节,我们描述了ConvNet配置。图像分类训练和评估的细节随后在第3节中介绍,并在第4节中的ILSVRC分类任务上比较了配置。 第5节总结了论文。为了完整起见,我们还在附录A中描述和评估了我们的ILSVRC-2014目标定位系统,并在附录B中讨论了将很深的特征推广到其他数据集的情况。最后,附录C包含主要论文修订列表。
2 ConvNet配置
为了在公平的环境中衡量不断增加的ConvNet深度带来的改进,我们的所有ConvNet层配置均采用相同的原理设计,并受到Ciresan等人 (2011);Krizhevsky等人(2012)的启发。在本节中,我们首先描述ConvNet配置的通用设计(第2.1节),然后详细介绍评估中使用的具体配置(第2.2节)。最后,我们的设计选择将在2.3节进行讨论并与现有技术进行比较。
2.1 架构
在训练过程中,ConvNets的输入是224×224 固定尺寸的RGB图像。我们唯一要做的预处理就是从每个像素中减去在训练集上计算出的RGB平均值。图像通过一堆卷积(conv.)层传递,在这里我们使用具有很小感受野的过滤器:3×3(这是捕捉左/右,上/下,中心的概念的最小尺寸) 。在一种配置中,我们还利用了1×1卷积滤波器,这可以看作是输入通道的线性变换(其次是非线性)。卷积步幅固定为1个像素;卷积层输入的空间填充是在卷积后保留空间分辨率,即对于3×3的卷积层而言填充为1个像素。空间池化由五个最大池化层执行,这五个层都在一堆卷积层之后(并非所有卷积层都跟着最大池)。最大池化在步长为2的2×2像素窗口上执行。
一堆卷积层(在不同的架构中具有不同的深度)之后是三个全连接(FC)层:前两层各具有4096个通道,第三层进行1000维ILSVRC分类,因此包含1000个通道(一个通道对应一个类)。最后一层是soft-max层。在所有网络中,全连接层的配置都是相同的。
所有隐藏层都具有非线性修正(ReLU(Krizhevsky等人 ,2012))。我们注意到,我们的网络(除了一个)均不包含局部响应归一化(LRN)(Krizhevsky等人,2012年):这将在第4节看到,这种归一化不能改善ILSVRC数据集的性能,但是会导致内存消耗和计算时间增加。 LRN层的参数在应用时为(Krizhevsky等人,2012)的参数。
2.2 配置
表1概述了本文评估的ConvNet配置,每列一个。在下文中,我们将通过名称(A–E)来提及网络。所有配置均遵循2.1节中提出的通用设计,并且仅在深度上有所不同:从网络A的11个加权层(8个卷积层和3个FC层)到网络E的19个加权层(16个卷积层和3个FC层)。卷积层宽度(通道数)很小,从第一层的64开始,然后在每个最大池化层之后增加2倍,直到达到512个为止。
在表2中,我们报告了每种配置的参数数量。尽管深度很大,但我们的网络中权重的数量不大于在具有较大卷积层宽度和感受野的更浅网络中的权重数量(Sermanet等人,2014中的144M权重)。
2.3 讨论
我们的ConvNet配置与ILSVRC-2012(Krizhevsky等人,2012)和ILSVRC-2013竞赛(Zeiler&Fergus,2013; Sermanet等人,2014)表现最佳的参赛提交中使用的配置完全不同。我们在整个网络中使用非常小的3×3感受野,与每个像素的输入进行卷积(步幅为1),而不是在第一个卷积层中使用相对较大的感受野(例如,Krizhevsky等人,2012年步幅为4的11×11,或(Zeiler&Fergus,2013; Sermanet等人,2014年)步幅为2的7×7。不难看出,两个3×3卷积层堆叠(中间没有空间池化)有5×5的感受野;三个这样的层具有7×7的有效感受野。因此,我们通过使用三个3×3卷积层的堆叠获得了什么?首先,我们结合了三个非线性修正层,而不是单个,这使得决策函数更具判别性。其次,我们减少参数的数量:假设一个三层3×3卷积堆叠的输入和输出都具有C个通道,则该堆叠卷积层的参数为
3
(
3
2
⋅
C
2
)
=
27
⋅
C
2
3(3^2\cdot C^2)= 27\cdot C^2
3(32⋅C2)=27⋅C2个权重;同时,单个7×7卷积层将需要
72
⋅
C
2
=
49
⋅
C
2
72\cdot C^2 = 49\cdot C^2
72⋅C2=49⋅C2个参数,即参数多了81%。这可以看作是对7×7卷积滤波器进行了正则化,迫使它们通过3×3滤波器(在它们中间加入非线性)进行分解。
结合1×1卷积层(配置C,表1)是一种在不影响卷积层感受野的情况下增加判决函数非线性的方法。即使在我们的例子中,1×1卷积本质上是在相同维度(输入和输出通道的数量相同)的空间上的线性投影,但是修正函数引入了额外的非线性。需要注意的是,1×1的卷积层最近在Lin等人(2014)的“Network in Network”架构中得到了应用。
Ciresan等人(2011)以前曾使用过小尺寸卷积滤波器,但他们的网络深度远远低于我们,而且他们没有在ILSVRC的大规模数据集上进行评估。Goodfellow等人(2014)将深度ConvNets(11个权重层)应用于街道号码识别任务,结果表明深度越大,性能越好。GoogLeNet(Szegedy等人,2014)是ILSVRC-2014分类任务中表现最好的项目,它是独立于我们的工作开发的,但相似之处在于它基于非常深的ConvNet(22个权重层)和小的卷积滤波器(除了3×3,它们还使用1×1和5×5卷积)。然而,他们的网络拓扑结构比我们的复杂得多,而且在第一层中更大幅度地降低了特征图的空间分辨率,以减少计算量。如第4.5节所示,我们的模型表现 在单网络分类准确率方面优于Szegedy等人(2014)。
3 分类框架
在上一节中,我们详细介绍了我们的网络配置。在这一部分中,我们将详细介绍分类ConvNet的训练和评估。
3.1 训练
3.2 测试
3.3 实现细节
4 分类实验
数据集。在本节中,我们将介绍所描述的ConvNet架构在ILSVRC-2012数据集(用于ILSVRC 2012-2014挑战)上实现的图像分类结果。该数据集包括1000个类别的图像,被分成三组:训练(130万张图像)、验证(5万张图像)和测试(100万张留有类标签的图像)。使用两个度量来评估分类性能:TOP-1和TOP-5错误率。前者是一个多类分类误差,即错误分类图像的比例;后者是ILSVRC中使用的主要评估标准,计算为图像真实类别在前5个预测类别之外的图像比例。
对于大多数实验,我们使用验证集作为测试集。在测试集上也进行了某些实验,并将其作为ILSVRC-2014比赛的“VGG”团队参赛作品提交给ILSVRC官方服务器(Russakovsky等人,2014年)。
4.1 单尺度评估
4.2 多尺度评估
4.3 多裁剪图像评估
4.4 卷积网络融合
4.5 与最新技术比较
5 结论
在这项工作中,我们评估了非常深的卷积网络(多达19个权重层)用于大规模图像分类。已经证明,表示深度有利于分类精度,并且可以使用大大增加深度的传统卷积网络架构(LeCun等人,1989;Krizhevsky等人,2012)来实现ImageNet挑战数据集上的最佳性能。在附录中,我们还展示了我们的模型可以很好地泛化到各种任务和数据集上,匹敌或优于围绕深度较低的图像表示构建的更复杂的识别流程。我们的结果再次证实了深度在视觉表现中的重要性。