Very Deep Convolutional Networks For Large-Scale Image Recogniton(VGG)

Very Deep Convolutional Networks For Large-Scale Image Recogniton

1. 摘要

​ 作者调查了卷积网络深度对其在大规模图像识别的准确率上的影响。

​ 主要贡献是对网络深度增加进行彻底的评估,用一个具有非常小卷积核的网络结构,展示了一个在现有技术配置上的重大提升,可以通过将深度加至16-19层来达到。

​ 这些发现是2014年 I m a g e t N e t ImagetNet ImagetNet挑战的基础,作者的团队分别在定位和分类追踪赢得了第一和第二名。

​ 作者也展示了其网络结构对于其他数据集泛化能力良好,达到了业界先进水准。

2. 介绍

​ 卷积神经网络近期在大规模图像和视频识别上取得了巨大的成功,能够成功的原因是大型 公开数据库,如 I m a g e N e t ImageNet ImageNet,以及高性能计算系统,例如GPU或者大规模分布式集群。

​ 特别地,在深度数据饿识别前进中的扮演着一个重要角色是 ImageNet Large-Scale Visual Recognition Challenge(ILSVRC),充当着几代大规模图像分类系统的试验平台,从高维度浅特征编码到深层卷积网络。

​ 随着卷积网络在计算机视觉领域成为越来越有用的东西,为了达到更高的准确率,人们做出一些尝试来改进原始的网络结构。

  • 例如, I L S V R C 2013 ILSVRC2013 ILSVRC2013性能最好的任务利用更小的感受野窗口尺寸以及第一个卷积层更小的stride。

  • 另一条改进路线涉及在整个图像和多个尺度上密集地训练和测试网络

在本文中,我们解决了卷积网络结构设计的另一个重要方面——深度。

​ 为了这个目的,作者固定了结构的其他参数,稳定的通过增加更多的卷积层来增加网络的深度。由于在所有层中都使用了非常小的卷积核(3 $\times$3),所以是可行的。

​ 结果表明,作者提出了更加精确的卷积网络结构,不仅达到了 I L S V R C ILSVRC ILSVRC分类和定位任务先进的结果,而且可应用于其他图像识别数据集,这些网络结构达到了优秀的表现,甚至用流水线中相对简单的一部分(例如未经过微调被线性 S V M SVM SVM分类的深度特征)。作者开放了两个性能最好的模型来为以后的研究提供便利。

​ 论文剩余部分的结构如下:

​ 第二部分:描述卷积网络的配置

​ 第三部分:图像分类训练和评估的细节

​ 第四部分:在ILSVRC分类任务上的比较

​ 第五部分:总结论文

​ 附录A:描述和评估 ILSVRC-2014目标叫测系统

​ 附录B:讨论非常深的特征对于其他数据集的泛化性

第二部分:卷积网络配置

​ 为了在一个公平的环境下测量增加的卷积网络深度所带来的提升,我们所有的卷积网络层的配置使用相同的配置来设计,受 **Ciresan et al(2011) Krizhevsky et al(2012)**启发。

​ 在这个部分,我们首先描述了我们卷积网络的通用布局(2.1)

​ 然后,湘西苗是了用于评估的确切配置(2.2)

​ 在(3.3)中讨论了我们的设计选择并与之前的作品比较。

2.1 结构

​ 训练中,输入是大小固定的 224 × 224 224\times224 224×224的RGB图像,仅做的预处理是减去了RGB的均值,这个均值是从训练集的每一张图像的每一个像素计算得出的。

​ 图像通过一堆卷积层,这些卷积层使用具有非常小感受野( 3 × 3 3\times3 3×3)的卷积核,(为了捕捉左/右、上/下、中心概念最小的尺寸)。在其中一个配置中,作者也使用了 1 × 1 1\times1 1×1的卷积核,可以被看成是输入通道的线性转换(紧跟着的是非线性变换)。卷积的步长固定为1个像素,使用“same”padding,即卷积前后的图像尺寸一致。空间池化通过 5 5 5个最大池化执行,跟在某些卷积层之后(不是所有卷积后都会进行最大池化),最大池化是通过 2 × 2 2\times2 2×2像素窗口,步长为 2 2 2来进行的。

​ 一堆卷积层后紧跟着FC层(卷积层在不同的结构中具有不同的深度),前两个FC层每个是 4096 4096 4096个通道,第三层有 1000 1000 1000个通道,最后的最后是一个 s o f t m a x softmax softmax层,卷积层的配置在下面所有的网络结构中是相同的。

​ 所有隐藏层都配有 R e L U ReLU ReLU非线性变换。作者提到其所有网络都不包含 L R N LRN LRN正则,这种正则不会提升在 I L S V R C ILSVRC ILSVRC数据集上的性能,而且会增加内存消耗和计算时间。

2.2 配置

​ 本论文所评估的卷积网络的配置,列在 表 1 表1 表1当中,接下来作者会通过他们的名字来命名这些网络( A − E A-E A−E),所有的配置均遵循 2.1 2.1 2.1部分所展示的统一设计,仅在深度上有区别。

Very Deep Convolutional Networks For Large-Scale Image Recogniton(VGG)

​ 卷积层的宽度非常小,从第一层的64,然后在每个池化层后以因子2增长,直到达到512.

​ 表 2 表2 表2报告了每个配置的参数数量。尽管很深,作者所提出的网络的参数数量不比如今虽浅但具有较宽宽度和较大感受野的网络的参数多。

2.3 讨论

​ 我们的卷积网络配置和 I L S V R C − 2012 和 I L S V R C − 2013 ILSVRC-2012和ILSVRC-2013 ILSVRC−2012和ILSVRC−2013表现名列前茅的网络的配置十分不同。我们在整个网络中使用非常小的 3 × 3 3\times3 3×3感受野,而不是在第一层使用相对大的感受野(例如 7 × 7 7\times7 7×7, s t r i d e = 2 stride=2 stride=2,或者 11 × 11 11\times11 11×11, s t r i d e = 4 stride=4 stride=4),作者所使用的感受野和输入的每一个像素进行卷积。很容易看出,两个 3 × 3 3\times3 3×3卷积等同于一个有效的 5 × 5 5\times5 5×5的感受野(其间没有空间池化),三个这样的 3 × 3 3\times3 3×3卷积层会等同于一个有效的 7 × 7 7\times7 7×7感受野。

​ 那么这种使用方法(比如用3个 3 × 3 3\times3 3×3卷积核来代替单个的 7 × 7 7\times7 7×7的卷积核),能从中得到什么呢?

  • 首先,包含了三个非线性修正层(ReLU),而不是之前的单个,使得决策函数更有分辨力
  • 第二,减少了参数的数量, 3 × 3 : 3 × 3 2 C 2 = 27 C 2 3\times3:3\times 3^2C^2=27C^2 3×3:3×32C2=27C2 7 × 7 : 7 2 × C 2 7\times7: 7^2 \times C^2 7×7:72×C2。这可以看成是在 7 × 7 7\times7 7×7的卷积核上施加了正则,强迫他们分解为 3 × 3 3\times3 3×3的卷积核,(并向其中加入了非线性变换)

​ 1 × 1 1\times1 1×1卷积层的加入( 表 1 配 置 C 表1配置C 表1配置C)是一种增加决策函数的非线性的方法,而不会影响卷积层的感受野。即使就作者提出的方案而言, 1 × 1 1\times1 1×1卷积层本质上是一个向相同维度空间的线性投影,又通过 R e L U ReLU ReLU额外引入了非线性变换。应当指出的是, 1 × 1 1\times1 1×1卷积层最近被用于“[网中网](/Users/liushanlin/Desktop/论文/卷积神经网络/Network In Network.pdf)”结构。

​ 小尺寸的卷积核之前也有人用过,但他们的网络比作者所提出的浅的多,并且没有在大规模的 I L S V R C ILSVRC ILSVRC数据集上评估。 G o o d f e l l o w Goodfellow Goodfellow等人在街道数量识别任务上应用了深度卷积网络(11层),并展示了增加的深度会带来更好的表现。 [GoogleNet](/Users/liushanlin/Desktop/论文/卷积神经网络/Going Deeper with Convolutions.pdf), I L S V R C − 2014 ILSVRC-2014 ILSVRC−2014分类任务中表现顶尖的选手,与本文的工作关系不大,但是相同的是其也是基于非常深的卷积神经网络(22层),并且也使用小的卷积核(除了 3 × 3 3\times3 3×3,他们还用了 1 × 1 1\times1 1×1 和 5 × 5 5\times5 5×5。其网络拓扑图比本文提出的复杂,并且为了减少计算量,其网络中第一层空间分辨率急剧减少。

​ 4.5将会展示,作者提出的模型的性能超过了 G o o g l e N e t GoogleNet GoogleNet就单网络分类精确度而言。

3 分类框架

3.1训练

​ 训练的执行通过用带有mometum的小批次梯度下降(基于反向传播算法)。批次大小为 256 256 256,mometum的值为 0.9 0.9 0.9。训练通过权重衰退(weight decay)来正则,并且在前两个 F C FC FC层加上了 D r o p o u t Dropout Dropout(dropout率为 0.5 0.5 0.5)。

​ l e a r n i n g   r a t e learning\space rate learning rate初始设置为 1 0 − 2 10^{-2} 10−2,然后当验证集准确率停止提升时以因子 10 10 10下降。学习率共计下降了 3 3 3次,学习过程在37万次迭代后停止(74个epoch),作者推测尽管有着较大的参数数量和更深的深度(与之前某个网络相比),网络之所以需要更少的epoch就收敛的原因是:

​ a) 通过极深的深度和较小的卷积核尺寸而施加的内在的正则

​ b) 某些层预先的初始化

​ 网络权重的初始化非常重要,因为不好的初始化可能会拖延学习,因为在深度网络中梯度的不稳定性。

​ 为了设法规避这一问题,作者以配置A开始训练,足够浅所以能够随意初始化。然后,当训练更深的结构时,我们用网络 A A A的层参数来初始化最前面4层卷积网络和最后三层 F C FC FC层(中间层的参数时随机初始化的),作者并没有减少之前训练好的层的学习率,让他们能够在 学习中发生改变。

​ 对于随机初始化,作者从 均 值 为 0 方 差 为 1 0 − 2 均值为0方差为10^{-2} 均值为0方差为10−2的正态分布中进行权重采样,截距项被初始化为 0 0 0,值得注意的是在论文提交后我们发现可以不用预先初始化权重,而通过使用的随机初始化过程进行初始化。

​ 为了获得尺寸固定的 224 × 224 224\times224 224×224的卷积网络的输入图像,这些图像被从重缩放的训练图像中随机的剪裁,(每个SGD迭代剪裁一次)。为了更进一步的扩充训练集,裁剪下来的图片经过了随机水平翻转和随机 R G B RGB RGB色彩位移,训练图像重缩放将在下面解释。

**训练图像的尺寸**

​ S S S是保持高宽比进行缩放缩放训练图像的最小边,从中裁剪ConvNet输入(我们也称为训练尺度)。当剪裁结果尺寸固定为 224 × 224 224×224 224×224时,原则上可以采用不小于224的任何值:当 S = 224 S=224 S=224时剪裁结果将捕获整个图像统计信息,完全覆盖训练图像的最小边;当 S ≫ 224 S≫224 S≫224裁剪结果将对应于图像的一小部分,包含一个小对象或一个对象部分。

​ 作者考虑了设置训练比例 S S S的两种方法:

  • 首先是固定的 S S S,对应单一比例训练(注意采样剪裁区内的图像仍然可以表示多比例图像统计),在作者的实验中,用两个固定比例评估模型: S = 256 和 S = 384 S=256和S=384 S=256和S=384。

  • 第二种方法是可变的 S S S,每个训练图像分别以随机的采样从一个确定范围 [ S m i n , S m a x ] [S_{min},S_{max}] [Smin​,Smax​] 内的 S S S进行重缩放,由于图像中的物体是不同尺寸的,训练中考虑到这点是有益的。可以看成是通过抖动来扩充训练集。

    出于速度考虑,我们用微调有相同配置的单一比例模型的所有层来训练多比例模型,固定以 S = 384 S=384 S=384进行预训练。

3.2 测试

​ 图像处理方式:

  • dense evaluation
  1. 首先,以相同的高宽比缩放到一个事先定义好的最小图像边长,用 Q Q Q来表示(我们也称之为测试比例),作者提到, Q Q Q不必等于 S S S

  2. 然后在重新缩放的测试图像上应用网络。首先 F C FC FC层被换成卷积层(第一个换成 7 × 7 7\times7 7×7卷积,后面两个换成 1 × 1 1\times1 1×1卷积),产生的全卷积网络用于整幅图像(未剪裁),结果是一个类别分数图,带有和类别数量相等的通道数,以及可变的空间分辨率,取决于输入图像的尺寸。

  3. 最终,为了获得固定尺寸的图像类别分数向量,类别分数图被空间平均。

    作者同样通过水平翻转T图像来扩充测试集

  • multi-crop

    用剪裁区域的集合,能够提升精确率。结果是与全卷积相比对输入图像的采样更好。

    同时,由于不同的卷积边界条件,这也是 d e n s e   e v a l u a t i o n dense \space evaluation dense evaluation的一种补充。当将卷积网络用于一个剪裁区域是,被卷积的特征图用 0 0 0来填充,而 d e n s e   e v a l u a t i o n dense \space evaluation dense evaluation使用图像相邻部分的来填充剪裁区域,大大增加了整体网络的感受野,所以会捕捉到更多的上下文信息。

    作者认为实际上,增加的多个剪裁区域的计算时间不能证明潜在的精确度的提升。

4 分类实验

数据集: I L S V R C − 2012 ILSVRC-2012 ILSVRC−2012数据集,用于 I L S V R C 2012 − 2014 ILSVRC2012-2014 ILSVRC2012−2014挑战。

​ 该数据集包含 1000 1000 1000类图像,分成了三个集合:训练集(130万)、验证集(5万)、测试集(10万)。

​ 评估标准: t o p − 1 和 t o p − 5 top-1和top-5 top−1和top−5误差,前者是多类别分类误差,也就是说,未正确分类的图像的比例;后者是 I L S V R C ILSVRC ILSVRC中常用的评估标准,计算为实际种类在前五个预测的种类之外的图像比例。

4.1 用固定缩放比例的评估

​ 测试的图像尺寸设置:

  • Q = S , S 固 定 Q=S,S固定 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\in[S_{min},S{max}] Q=0.5(Smin​+Smax),S∈[Smin​,Smax]

​ 结果如 表 3 表3 表3所示:

Very Deep Convolutional Networks For Large-Scale Image Recogniton(VGG)

​ 通过观察可以得到:

  1. A − L R N A-LRN A−LRN不能提升模型的性能,所以后来没有再使用
  2. 深度增加,误差减小。深度相同使用了 1 × 1 1\times1 1×1卷积核的C效果比只用 3 × 3 3\times3 3×3卷积核的D差。这表明虽然额外的非线性变换的确有助于提升网络性能,但用不过于小的卷积核来捕获空间上下文信息也很重要。
  3. 当深度达到 19 19 19的时候,误差率饱和了,但更深的模型也许会受益于更大的数据集。
  4. 将 B B B中的每两个 3 × 3 3\times3 3×3的卷积核换成一个 5 × 5 5\times5 5×5卷积核,证明了更深的小卷积核网络比浅的大卷积核网络效果好。
4.2 用多个缩放比例评估

​ 上面的评估中测试图像的尺寸是固定的。下面坐着又测试了一下测试时比例都懂的影响。

​ 在测试图像的若干个重缩放版本上运行模型(对应于值不同的 Q Q Q),然后将这些得出的类后验概率进行平均。

​ 考虑到如果训练和测试的比例如果存在很大差异的话,可能会导致性能下降,所以如果模型是以固定的 S S S进行训练的,那么就以以三个图像尺寸进行评估,接近于训练的尺寸: { S − 32 , S , S + 32 } \{S-32,S,S+32\} {S−32,S,S+32}。

​ 如果在训练时进行了比例都懂,那么测试的时候就能用一个广泛的比例: Q = { S m i n ,   0.5 ( S m i n + S m a x ) ,   S m a x } Q=\{S_{min},\space 0.5{(S_{min}+S_{max}),\space S_{max}}\} Q={Smin​, 0.5(Smin​+Smax​), Smax​}.

Very Deep Convolutional Networks For Large-Scale Image Recogniton(VGG)

​ 表 4 表4 表4展现的结果说明:

  1. 测试的时候进行比例的抖动有助于取得更好的性能(相比于 表 3 表3 表3中固定尺寸的评估结果)
  2. 最深的网络性能最好,比例抖动比一固定的最小边进行训练效果好
4.3 多个剪裁区域进行评估

Very Deep Convolutional Networks For Large-Scale Image Recogniton(VGG)

​ 在 表 5 表5 表5中我们比较了用多剪裁区域训练的和dense(直接用整幅图像输入网络得到结果)卷积网络的评估结果。

​ 也通过将她们的分类结果进行平均评估了这两种评估技术的互补性,可以看出:

​ 使用多个剪裁区域比 d e n s e dense dense评估稍微好一点,但他们的组合好于他们每个单体。

4.4 网络集成

​ 到目前位置,评估的都是个体卷积网络模型的性能。这一部分作者通过将多个模型的类后验概率平均起来来组合模型的输出。这样提升了模型 的性能,并用于 I L S V R C − 2012 和 2013 ILSVRC-2012和2013 ILSVRC−2012和2013提交的论文中。

​ 表 6 表6 表6中展示了结果,作者在提交 I L S V R C ILSVRC ILSVRC的时候已经训练了固定比例输入的网络,和不同比例输入的模型 D D D,(通过仅微调 F C FC FC层,而不是所有层),因而产生的 7 7 7个网络的集成有 7.3 7.3% 7.3的 I L S V R C ILSVRC ILSVRC测试误差。

​ 提交了之后,我们考虑了一个仅有两个表现最好的网络模型的集成(D和E),他们以多种比例为输入,这样的集成,使用 d e n s e   e v a l u a t i o n dense\space evaluation dense evaluation将测试误差减少到了 7.0 7.0% 7.0,使用 d e n s e   e v a l u a t i o n dense\space evaluation dense evaluation和多剪裁区域互补的方法,将误差较少到 6.8 6.8% 6.8。

4.5 和先进的工作对比

Very Deep Convolutional Networks For Large-Scale Image Recogniton(VGG)

总结

​ 本文的工作评估了用于图像分类的非常深的卷积网络(到19层),证明了表示深度对于分类准确率是有帮助的, I m a g e N e t ImageNet ImageNet挑战中先进的模型性能能使用卷积网络结构达到。

​ 随着深度的急剧增加,模型对于广泛的任务和数据集泛化良好,能够达到或者超越更加复杂的网络模型。

上一篇:小笨霖英语口语1 好棒


下一篇:Accurate Image Super-Resolution Using Very Deep Convolutional Networks(VDSR)