论文翻译—VGGNet

在这里插入图片描述

ABSTRACT

在这项工作中,研究了卷积网络深度对其精度的影响。主要贡献是使用非常小(3×3)卷积核结构增加网络的深度,并进行了全面的评估。这表明通过将深度增加到16-19个层,可以实现对现有网络性能的显著改进。这些发现是我们2014年ImageNet挑战提交的基础,我们的团队分别在图像定位和分类的比赛中分别获得了第一名和第二名。还表明,我们的网络结构可以很好地推广到其他数据集,也实现了SOTA的结果。我们已经公开了我们的两个性能最好的ConvNet模型,以促进在计算机视觉中使用深度视觉的进一步研究。

INTRODUCTION

卷积网络(ConvNets)最近在大规模图像和视频识别方面取得了巨大成功(AlexNet,2012,ZFNet,2013;Ovefeat,2014;作者 2014年的论文),由于大型公开图像数据集(2009年)和高性能计算系统,如GPU或大规模分布式集群而成为可能(Dean等,2012年)。特别是,ImageNet——大规模视觉识别挑战赛(ILSVRC,2014)在深度视觉识别体系结构的发展中发挥了重要作用,从高维浅特征编码(Perronnin等人,2010年)(ILSVRC-2011的获胜者)到深度转换(Krizhevsky等人,2012年)(ILSVRC-2012的获胜者),它是几代大型图像分类系统的试验台。

随着卷积网络在计算机视觉领域逐步体现了它的价值,为了获得更好的准确性人们已经多次尝试改进(AlexNet, 2012 )原始架构。例如,在ILSVRC-2013中表现最好的网络(ZFNet,2013;Sermanet等人,2014)在卷积层的第一层使用了更小的receptive window和更小的stride。另一项改进是在整个图像和多个尺度上密集地训练和测试网络(Sermanetetal.,2014; Howard, 2014)。在本文中,我们讨论了ConvNet架构设计的另一个重要方面——它的深度。为此,我们固定了体系结构的其他参数,并通过添加更多的卷积层来稳步增加网络的深度,这是可行的,因为在所有层中都使用了非常小的(3×3)卷积滤波器。

因此,我们想出了更准确的网络架构,不仅在ILSVRC分类和定位任务实现最先进的精度 ,也适用于其他图像识别数据集,他们实现优秀的性能即使作为一个相对简单的管道的一部分(例如深度特性分类的线性SVM没有微调)。我们已经发布了我们的两个表现最好的模型,以促进进一步的研究。

本文的其余部分组织如下。在第2节,我们描述了我们网络的具体配置。图像分类训练和评估的细节在第3节介绍,并在第4节中,在ILSVRC分类任务上对配置进行了比较。第5节总结了论文。为了完整起见,我们还将在附录A中描述和评估我们的ILSVRC-2014目标定位系统,并在附录B中讨论了非常深的特征在其它数据集上的泛化。最后,附录C包含了主要的论文修订列表。

2 CONVNET CONFIGURATIONS

为了在公平的环境下衡量深度的增强所带来的改进,我们所有的网络层配置都采用相同的原则设计,设计的灵感来自Dan CiresanNet(2011),AlexNet(2012)。在本节中,我们首先描述卷积网络的配置的通用布局。2.1 然后详细说明在评估中使用的具体配置(第二节。2.2).然后讨论了我们的设计选择,并与本节中的现有技术进行了比较 2.3.

2.1 ARCHITECTURE

在训练期间,我们网络的输入是一个固定大小的224×224的RGB图像。我们所做的唯一预处理是从每个像素中减去在训练集上计算的平均RGB值。图像通过一堆卷积(conv)传递。在图层中,我们使用一个非常小的接受域的过滤器:3×3(这是捕获左/右,上/下,中心概念的最小大小)。在其中一种配置中,我们还使用了1×1卷积滤波器,这可以看作是输入通道的线性变换(然后是非线性,应该指的是激活函数吧)。卷积步幅固定为1个像素;Padding,为了保证输入在卷积后保持分辨率不变,即 3×3 卷积的padding = 1. 空间池化,网络结构中包含5个最大池化层,位于某些卷积层之后,如下结构图。最大池化的kernel size = 2×2,步幅为2。
在堆叠的卷积层(不同架构的深度不同)之后是三个全连接(FC)层:前两个层每个有4096个通道,第三个层1000个通道对应 ILSVRC 1000分类。最后一层是soft-max.。在所有的网络中,全连接层的配置都是相同的

所有隐层都配备了非线性激活函数(ReLU、Krizhevestetal.,2012)非线性。我们注意到,我们的网络(除了一个)都没有一个包含 Local Response Normalisation(LRN)规范化(Krizhevest等人,2012):如Sect 4 所示,这种规范化并没有提高网络在 ILSVRC数据集的性能,而是导致了更多的内存消耗和计算时间的增加。
Where applicable, the parameters for the LRN layer are those of (Krizhevsky et al., 2012).

2.2 CONFIGURATIONS

本文中评估的ConvNet配置 见表1,每列一个。在下面,我们将提到这些网的名字(A-E)。所有的配置都遵循章节2.1中提出的通用设计,仅深度不同;从网络A的11层(8conv。和3个FC层)到网络E中的19层(16个conv。和3个FC层)。卷积层的宽度(通道的数量)相当小,从第一层的64层开始,然后在每个最大池化层后增加2倍,直到达到512个通道。
在表2中,我们报告了每个配置的参数的数量。尽管深度很大,但我们的网中的权重参数并不大于一个较浅的网中的权重参数,宽度和感受野 (144M的权重(Sermanetetal.,2014))

2.3 DISCUSSION

在这里插入图片描述
在这里插入图片描述

我们的ConvNet配置与ILSVRC-2012(AlexNet,2012)ILSVRC-2013比赛(ZFNet,2013)的顶级参赛作品中使用的配置非常不同。相比于其他网络在第一层使用较大的卷积核7×7 with stride 2,我们在整个网络中使用非常小的3×3的卷积核,它们与每个像素的输入进行卷积(步幅1),两个3×3的卷积核和一个5×5的卷积核感受野相同
在这里插入图片描述
这些层有一个7×7的有效接受野。那么,我们通过使用三个3×3的卷积堆叠也可以获得,而不是单一的7×7卷积,那么这样可以得到什么,有什么作用呢?

  • 首先,我们加入了三个非线性激活函数,而不是单一的一个,增加了非线性,分类能力更强。
  • 其次,我们减少了参数的数量:
    https://www.paddlepaddle.org.cn/tutorials/projectdetail/3106208#anchor-3(计算参考)
    假设 三层 3x3 卷积的输入和输出都是C个通道,那么参数量是 3 ∗ ( 3 2 ∗ C 2 ) = 27 C 2 3*(3^2 *C^2) =27C^2 3(32C2)=27C2
    单一 7x 7 卷积的参数量 ( 7 2 ∗ C 2 ) = 49 C 2 (7^2 *C^2) =49C^2 (72C2)=49C2 多了81% .
    而且三个卷积层之间都有非线性激活函数,迫使增加了非线性。

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分类任务的最佳条目,它是独立于我们的工作开发的,但相似的是,它基于非常深的网络(22个层)和小的卷积滤波器(除了3×3,他们也使用1×1和5×5卷积)。然而,它们的网络拓扑结构比我们的更复杂,并且特征图的空间分辨率在第一层被降低,以此减少计算量。章节4.5所示。,我们的模型在单网络分类精度方面优于GoogLeNet(2014)

3 CLASSIFICATION FRAMEWORK

在上一节中,我们详细介绍了我们的网络配置。在这一部分中,我们将详细描述VGG在分类时的的训练和评估。

3.1 TRAINING

网络训练通常遵循AlexNet(2012)的做法。(除了从多尺度训练图像中对输入进行crops采样之外,后面解释)。即,通过使用带动量的 mini-batch梯度下降(基于反向传播)优化多项式Logistic回归损失函数来执行训练。batch size设置为256,动量设置为0.9。训练通过权重衰减(L2惩罚乘数设置为 5 ∗ 1 0 − 4 5*10^{−4} 5104),前两个全连接层加入 dropout regularisationdropout ratio设置为0.5)进行正则化。学习速率最初设置为 1 0 − 2 10^{−2} 102,然后当验证集的准确性停止提高时,降低10倍。.学习速率共下降3次,经过370K次迭代(74个epoch)后停止学习。我们推测,尽管与(AlexNet,2012)相比,我们的网的参数数量更大,但是网络需要更少的epoch来收敛,原因如下:(a)更大深度和更小的卷积核带来了隐式的正则化;(b)预初始化的某些层。

网络权值的初始化是很重要的,因为由于深度网络中梯度的不稳定,糟糕的初始化可能会阻碍学习。为了解决这个问题,我们开始训练配置(表1)中的A网络,它比较浅,可以进行随机初始化训练。然后,当训练更深层次的架构时,我们用训练好的A的参数初始化了前四个卷积层和最后三个卷积层的完全连接层(中间层被随机初始化)。我们没有降低预初始化层的学习率,而是允许它们在学习过程中发生变化。对于随机初始化(如适用的话),我们从一个具有零均值和 1 0 − 2 10^{−2} 102方差的正态分布中抽样权重。这些偏差被初始化为零。值得注意的是,在将论文提交后,我们发现,通过使用Glorot&Bengio(2010)的随机初始化程序,可以在没有预先训练的情况下初始化权重。

为了获得固定大小的224×224ConvNet输入图像,对重新缩放的训练图像进行随机裁剪(每次SGD迭代每个图像裁剪一次)。为了进一步增加训练集,进行了随机水平翻转和随机RGB颜色变化。训练图像的重新调整将被解释如下:
训练图像大小。设S是训练图像等比例重新缩放最小的边,从其中裁剪ConvNet输入(我们也将S称为training scale))。当 crop size固定为224×224时,原则上S可以接受任何不小于224的值:对于S=224,将获得整个图像统计数据,因为最小的边被恰好包含;对于S≫224,对图像crop后将对应于图像的一小部分,包含一个小部分。

我们考虑两种方法来设置训练尺寸S。第一种方式时固定S,对应于单一尺寸训练(注意采样裁剪中的图片内容仍然代表多尺寸图像统计)。在我们的实验中,我们在两种尺度上评估模型训练:S=256 和S=384。给出一个卷积网络配置时,我们首先使用S=256训练网络。为了加速训练S=384的网络,使用S=256的网络进行权重初始化,并且使用一个更小的初始学习率:0.001。

第二个设置S的方式是多尺寸训练,每次训练图片相对独立重放缩通过随机采样S从范围[Smin, Smax](我们使用Smin=256,S max=512)。因为图片中的目标尺寸不同,将这考虑进去对训练有好处。这也可以被看作训练数据增强,训练出的单模型可以应用到大范围的目标识别中。为了加速的多尺寸的模型训练,我们通过fine-tuning相同的网络配置的单尺寸模型的所有层,预训练固定为S=384进行训练。

3.2 TESTING

在测试时,给定一个训练好得的卷积网络和一个输入图像,它按照以下方法进行分类。首先,按照图像最小边等比例缩放到预定义的尺寸,表示为Q(我们也称它称为测试尺度)。我们强调,Q不一定要等于S,对每一个Q使用几个Q的值会有性能提升)。之后,网络被以类似于(Sermanet et al., 2014)的方式密集的应用到测试图片中。值的说明的是,全连接层首先被理解为卷积网络(第一个全连接层被转化为77卷积层,剩下的两个全连接层为11),然后所有的卷积网络被应用到整张图片中。结果是一个类别得分映射,其中的通道数等于类别数,是变量空间的一种转化,独立于输入图片尺寸。.最后,为了获得图像的一个固定大小的类别分数向量,对类别分数图进行空间平均(和合并)。我们还通过图像的水平翻转来增加测试集;将原始图像和翻转图像的软最大类后端进行平均,以获得图像的最终分数。

由于全卷积网络应用于整个图像,因此不需要在测试时对多个crop 尺寸进行采样(Krizhevestetal.,2012),因此效率较低,因为它需要对每个crop 尺寸网络重新计算。同时,正如Szegedyetal.等人(2014)所做的那样,使用大量crop可以提高精度,因为与全卷积网络相比,它对输入图像的采样更精细。此外, multi-crop评估补充密集评估由于不同的卷积边界条件:当应用卷积特征地图填充零,而在密集评估的情况下填充相同的crop自然来自图像的邻近部分(由于卷积和空间池),这大大增加了整个网络接受域,所以更多的上下文。虽然我们相信在实践中增加的计算时间 multi-crop不证明潜在的收益,参考我们也评估我们的网络使用50 crops规模(5×5常规网格2翻转),总共150crops 3尺度,与144crops4尺度 Szegedyetal.(2014)

3.3 IMPLEMENTATION DETAILS

我们使用caffe 实现,但包含一些重要的修改,例如把训练和评估运行在多GPU平台,同时对全尺寸得图像在多个尺度训练和评估。多GPU并行训练数据,将每批训练图像分成几个batch,在每个GPU上并行处理。计算GPU batch的梯度后,取平均值,得到整个batch的梯度。梯度计算在各个GPU上都是同步的,所以结果与在单个GPU上进行训练时完全相同。

虽然更复杂的加速网络训练方法最近提出(Krizhevsky, 2014),采用模型和数据并行性不同层的网络,我们的方法概念上更简单,在4-GPU系统上相比使用一个GPU提高了3.75倍的速度。在一个配备了四个NVIDIA Titan Black GPUs系统上,根据架构,训练一个网络需要2-3周的时间。

4 CLASSIFICATION EXPERIMENTS

数据集。在本节中,将展示我们提出的卷积网络架构在ILSVRC-2012数据集(用于ILSVRC2012-2014挑战)上获得的图像分类结果。数据集包括1000个类的图像,并分为三组:训练(130万张图像)、验证(50K张图像)和测试(100K个保留类标签的图像)。分类性能通过两个指标进行评估: the top-1 and top-5 error。前者是一种多类分类误差,即错误分类图像的比例;后者是ILSVRC中使用的主要评价标准,并且计算图像gt 不在top-5 predicted categories的比例。

对于大多数实验,我们使用验证集作为测试集。某些实验也在测试集上进行,并作为ILSVRC-2014竞赛的“VGG”团队参赛作品提交给官方。

4.1 SINGLE SCALE EVALUATION

我们首先用章节2.2中描述的网络配置在单一尺度上评估单个ConvNet模型的性能。.测试图像大小设置如下:Q=S,固定的S, Q = 0.5 ( S m i n + S m a x ) , S ∈ [ S m i n , S m a x ] Q=0.5(S_{min}+S_{max}),S∈[S_{min},S_{max}] Q=0.5(Smin+Smax)S[SminSmax]。结果如表3所示。首先,我们注意到使用局部响应归一化(A-LRN网络)在没有任何归一化层的改进模型A。因此,我们不在更深层次的架构中使用标准化(B-E)。
在这里插入图片描述
其次,我们观察到分类误差随着ConvNet深度的增加而减小:从A的11层减少到E的19层。值得注意的是,尽管有相同的深度,配置C(它包含三个1×1conv层),性能比配置D差,后者使用3×3conv。贯穿整个网络的图层。这表明,虽然额外的非线性确实有帮助(C比B好),但是通过使用大的卷积核的来捕获空间上下文也很重要。(D优于C)。当深度达到19层时,我们的体系结构的错误率达到饱和,但更深的模型可能有利于更大的数据集。我们还比较了B结构,在浅层把每对3×3conv换成 1个5×5conv层(它有相同的感受野。).浅层网的前1误差比B((on a center crop)高7%,这证实了具有小滤波器的深网优于大滤波器的浅层网。
最后,在训练时的尺度变化(S∈[256;512])明显比训练固定最小边的图像(S=256或S=384),即使在测试时使用单一的尺度。这证实了通过尺度变化增强训练集确实有助于捕获多尺度图像统计数据。

4.2 MULTI-SCALE EVALUATION

在单一尺度上评估了ConvNet模型之后,我们现在评估了测试时尺度抖动的影响。它包括在一个测试图像的几个重新缩放的版本(对应于不同的Q值)上运行一个模型,然后平均得到的类后验。考虑到训练量表和测试量表之间的很大差异会导致性能下降,用固定S训练的模型在三个测试图像大小上进行评估,接近训练一个:Q={S−32,S,S+32}。同时,训练时的尺度抖动允许网络在测试时应用于更广泛的尺度范围,因此使用变量S∈[Smin;Smax]训练的模型在更大的尺寸 Q = S m i n , 0.5 ( S m i n + S m a x ) , S m a x Q={S_{min},0.5(S_{min}+S_{max}),S_{max}} Q=Smin0.5(Smin+Smax)Smax范围内进行评估.

结果如表4所示,表明测试时的尺度抖动导致更好的性能(与在单一尺度上评价相同的模型相比,如表3所示)。与之前一样,最深的配置(D和E)表现最好,规模抖动比固定最小边训练更好。我们在验证集上的最佳单网络性能是24.8%/7.5%top1/top5错误(在表4中以粗体突出显示)。在测试集上,配置E达到了7.3%的前5名错误。
在这里插入图片描述

4.3 MULTI-CROP EVALUATION

在表5中,我们比较了密集的ConvNet评价和 mult-crop评价(见第二节。3.2的细节)。我们还通过平均它们的 softmax outputs输出来评估这两种评估技术的互补性。可以看出,使用 mult-crop的性能略优于密集评估,而且这两种方法确实是互补的,因为它们的组合性能优于每一种方法。如上所述,我们假设这是由于对卷积边界条件的不同处理。
在这里插入图片描述

4.4 CONVNET FUSION

到目前为止,我们评估了各个ConvNet模型的性能。在这部分的实验中,我们通过平均它们的soft-max类后验来组合几个模型的输出。由于模型的互补性,这提高了性能,并在2012年 (Krizhevsky et al., 2012) and 2013 (Zeiler & Fergus, 2013; Sermanet et al., 2014).
结果如表6所示。到ILSVRC提交时,我们只训练了单尺度网络,以及多尺度模型D(通过只微调全连接的层,而不是所有的层)。7个网络的集成有7.3%的ILSVRC测试误差。提交后,我们只考虑了两个表现最好的多尺度模型(配置D和E)的集合,使用密集评估将测试误差降低到7.0%,使用密集和多作物联合评估将测试误差降低到6.8%。作为参考,我们表现最好的单个模型达到了7.1%的误差(模型E,表5)
在这里插入图片描述

4.5 COMPARISON WITH THE STATE OF THE ART

最后,我们将我们的结果与表7中的最新技术水平进行了比较。在ILSVRC-2014挑战的分类任务中,我们的“VGG”团队使用7个模型的集合,以7.3%的测试误差获得了第二名。提交后,我们将使用2个模型的集合错误率降低到 6.8%。
在这里插入图片描述

从表7可以看出,我们非常深的ConvNets的表现明显优于上一代的模型,在ILSVRC-2012和ILSVRC-2013的比赛中取得了最好的效果。我们的结果也与分类任务获胜者(GoogLeNet with 6.7% error))具有竞争力,大大优于ILSVRC-2013获奖提交的clarfai,在使用外部训练数据达到11.2%,在没有训练数据的情况下达到11.7%。这是值得注意的,因为我们的最佳结果是通过结合两个模型——明显少于在大多数ILSVRC提交中使用的模型。在单网性能方面,我们的架构获得了最佳的结果(7.0%的测试错误),比单个GoogLeNet高出0.9%。值得注意的是,我们并没有背离LeCun等人(1989)的经典ConvNet架构,而是通过大幅增加深度而改进了它。

5 CONCLUSION

在这项工作中,我们评估了非常深的卷积网络(多达19个层)的大尺度图像分类。结果表明,表示深度有利于分类精度,并且可以使用传统的ConvNet大幅增加深度 挑战数据集上实现最先进的性能,。在附录中,我们还展示了我们的模型可以很好地推广到广泛的任务和数据集,匹配或优于围绕较不深的图像表示构建的更复杂的识别管道。我们的研究结果再次证实了深度在视觉表征中的重要性。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值