论文阅读

文章地址

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

  • 论文阅读
  • 摘要
  • 一、Introduction
  • 二、CONVNET CONFIGURATIONS
    • 2.1 整体架构
    • 2.2 配置
  • 三、分类框架
    • 3.1 TRAINING
    • 3.2 测试
  • 四、分类实验
    • 4.1 SINGLE SCALE EVALUATION
    • 4.2 MULTI-SCALE EVALUATION
    • 4.3 MULTI-CROP EVALUATION
    • 4.4 CONVNET FUSION
    • 4.5 COMPARISON WITH THE STATE OF THE ART
  • 五、CONCLUSION
  • 总结

大规模图像识别的非常深度卷积网络


摘要

  本文研究了卷积网络深度对其在大规模图像识别设置中的精度的影响。
主要贡献:
  1)使用非常小(3×3)卷积核对增加深度的网络进行深入的彻底评估,
  2)我们将将深度推到16-19重量层,可以实现对现有技术的显著改进。
  3)如何设计网络结构,给这些网络结构一些参考。

一、Introduction

  卷积网络最近在大规模图像和视频识别方面取得了巨大的成功,由于大型公共图像存储库,Denge等人,2009年),以及GPU或大规模分布式集群等高性能计算系统(Dean等人,2012年)。特别是图像网大规模视觉识别挑战(ILSVRC)(鲁萨科夫斯基等人,2014)在几代大型图像识别架构的推进中发挥了重要作用,从高维浅特征编码(佩罗宁等人,2010)(ILSVRC-2011的赢家)到深网络(2012年克里日夫斯基等人,2012)(ILSVRC-2012的赢家)。

Krizhevsky, A., Sutskever, I., and Hinton, G. E. ImageNet classification with deep convolutional neural networks. In NIPS, pp. 1106–1114, 2012.

Zeiler, M. D. and Fergus, R. Visualizing and understanding convolutional networks. CoRR, abs/1311.2901,
2013.Published in Proc. ECCV, 2014.

Sermanet, P., Eigen, D., Zhang, X., Mathieu, M., Fergus, R., and LeCun, Y. OverFeat: Integrated Recognition,
Localization and Detection using Convolutional Networks. In Proc. ICLR, 2014.

Simonyan, K. and Zisserman, A. Two-stream convolutional networks for action recognition in videos. CoRR, 
abs/1406.2199, 2014. Published in Proc. NIPS, 2014.

二、CONVNET CONFIGURATIONS

2.1 整体架构

  在训练期间,我们的网络网络输入是一个固定大小的224×224RGB图像。我们所做的唯一预处理是从每个像素减去训练集计算的平均RGB值。图像通过卷积(曲线)。使用非常小的过滤器:3×3(这是捕捉左、上下、中概念的最小大小)。在其中一种配置中,我们还使用了1个×1卷积滤波器,它可以看作是输入通道的线性变换(其次是非线性)。卷积步幅固定为1像素;曲线的空间填充。层输入可以在卷积后保持空间分辨率。3×3配置的像素为1像素。层数。空间池由五个最大池层执行,它们遵循一些转换。并不是所有的曲线。层之后是最大池化)。最大池在2×2像素窗口上执行,步长为2。
  一堆卷积层(在不同的结构中有不同的深度)之后是三个全连接(FC)层:前两个层各有4096个通道,第三个执行1000路ILSVRC分类,因此包含1000个通道(每个类一个)。最后一层是软最大一层。所有网络中全连接层的配置相同。
  所有隐藏层均配备了整流装置非线性。我们注意到,我们的网络(除了一个)都不包含本地响应规范(LRN)规范,因为这种规范化并没有提高在ILSVRC数据集上的性能,但会导致内存消耗和计算时间的增加

2.2 配置

在这里插入图片描述
表1:ConvNet配置(按列显示)。随着添加更多的层(添加的层以粗体显示),配置的深度从左(A)到右(E)增加。卷积层参数记为“convconvacceptfield sizei- number of channelsi”。为了简洁,没有显示ReLU激活函数。
在这里插入图片描述
加入1 × 1个卷积层(构型C,表1)是一种在不影响卷积层接受场的情况下增加决策函数非线性的方法。即使在我们的例子中1×1卷积本质上是在相同维度空间上的线性投影(输入和输出通道的数量是相同的),一个额外的非线性是由整流函数引入的。
Ciresan等人(2011)曾使用过小型卷积滤波器,但他们的网深度明显低于我们的,而且他们没有对大规模的ILSVRC数据集进行评估。Goodfellow等(2014)将深度卷积神经网络(deep ConvNets, 11个权重层)应用于街道号码识别任务中,结果表明,深度越深,识别效果越好。GoogLeNet (Szegedy et al., 2014)是ILSVRC-2014分类任务中表现最好的条目,它独立于我们的工作开发,但与之相似的是,它基于非常深的卷积神经网络(22个权重层)和小型卷积滤波器(除了3 × 3,它们还使用1 × 1和5 × 5卷积)。然而,他们的网络拓扑结构比我们的复杂,而且特征图的空间分辨率在第一层被更大幅度地降低,以减少计算量。如第4.5节所示,我们的模型在单网络分类精度方面优于Szegedy et al.(2014)。

三、分类框架

3.1 TRAINING

  卷积神经网络的训练过程通常遵循Krizhevsky等人(2012)(除了从多尺度训练图像中取样输入作物,稍后解释)。即,训练是通过使用小批量梯度下降(基于反向传播(LeCun et al., 1989))的动量优化多项logistic回归目标来进行的。批大小设置为256,动量设置为0.9。训练通过重量衰减(L2penalty multiplier设置为5·10−4)和前两个全连接层的dropout正则化(drop ratio设置为0.5)进行规范化。学习速率最初设置为10−2,然后当验证集的准确性停止提高时,学习率降低了10倍。总的来说,学习速率下降了3次,370K次(74 epoch)后停止学习.

  我们从训练配置A(表1)开始,它足够浅,可以用随机初始化进行训练。然后,在训练更深层次的架构时,我们初始化了前4个卷积层和最后3个完全连接的层,使用网络A层(中间层随机初始化)。我们没有降低预初始化层的学习速率,允许它们在学习过程中进行更改。对于随机初始化(如适用),我们从均值为0、方差为10−2的正态分布中取样权值。偏差初始化为零。值得注意的是,在论文提交后,我们发现,使用gloria & Bengio(2010)的随机初始化程序,在没有预先训练的情况下初始化权重是可能的。
  为了获得fixed-size224×224ConvNet输入图像,从重新缩放的训练图像中随机裁剪它们(每SGD迭代一次裁剪每张图像)。为了进一步增加训练集,作物经历了随机水平翻转和随机rgb颜色变换(Krizhevsky et al., 2012)。训练图像缩放解释如下。

  训练图像大小。设S是各向同性重新缩放的训练图像的最小边,从这张图像裁剪卷积神经网络的输入(我们也称S为训练尺度)。当裁剪大小固定为224 × 224时,原则上S可以取不小于224的任何值:对于S = 224,裁剪将捕获全图像统计数据,完全覆盖训练图像的最小边;对于S≫224,裁剪将对应于图像的一小部分,包含一个小对象或对象部分。我们考虑两种方法来设置训练尺度S。第一种是固定S,它对应于单尺度训练(注意,采样作物内的图像内容仍然可以表示多尺度图像统计)。在我们的实验中,我们评估了在两个固定尺度下训练的模型:S = 256(这在现有技术中已被广泛使用(Krizhevsky et al., 2012;Zeiler & Fergus, 2013;Sermanet等,2014)),S = 384。给定一个ConvNet配置,我们首先使用S = 256对网络进行训练。为了加快S = 384网络的训练速度,我们使用S = 256预先训练的权值初始化网络,并使用较小的初始学习率0.003。

  第二种设置S的方法是多尺度训练,每幅训练图像通过从一定范围(Smin, Smax)(我们使用Smin= 256和Smax= 512)随机采样S来单独缩放。因为图像中的物体可以有不同的大小,所以在训练时考虑到这一点是有益的。这也可以看作是训练集的规模抖动,其中一个单一模型经过训练,可以在很大范围内识别物体。由于速度方面的原因,我们通过对具有相同配置的单尺度模型的所有层进行微调来训练多尺度模型,预先用固定的S = 384进行训练。

3.2 测试

  给定一个训练好的卷积神经网络和一个输入的图像,按照如下方法对其进行分类。首先,它是各向同性重新缩放到一个预定义的最小图像边,记为Q(我们也称它为测试尺度)。我们注意到Q并不一定等于培训量表S(正如我们将在第4节中展示的那样,对每个S使用几个Q值会导致性能的提高)。然后,将网络以类似于(Sermanet et al., 2014)的方式在重新缩放的测试图像上密集应用。即,将全连接层首先转换为卷积层(第一个FC层转换为7 × 7卷积层,最后两个FC层转换为1 × 1卷积层)。得到的完全卷积网络然后应用于整个(未裁剪)图像。结果是一个类分数图,其中通道数等于类数,空间分辨率随输入图像大小而变化。最后,为获得图像的固定大小的类分数向量,对类分数地图进行空间平均(求和池)。我们还通过水平翻转图像来增加测试集;原始和flippedimagesareaverage以获得图像的最终分数。由于全卷积网络适用于整个图像,因此不需要在测试时对多个作物进行采样(Krizhevsky et al., 2012),这是效率较低的,因为它需要对每一种作物进行网络重新计算。与此同时,如Szegedy等人(2014)所做的那样,使用大量的作物可以提高精度,因为与完全卷积的网络相比,它可以对输入图像进行更精细的采样。此外,由于不同的卷积边界条件,多作物估值与密集估值是互补的:当应用一个事先作物,卷积功能地图用0填充,在密集的情况下评估填充为同一作物自然来自邻近的部分图像(由于玲珑和空间池),这大大增加了整体网络接受域,所以更多的上下文被捕捉。

四、分类实验

数据集
  使用ILSVRC-2012数据集(用于ILSVRC 2012 - 2014挑战)展示所描述的ConvNet架构获得的图像分类结果。该数据集包括1000个类的图像,并分为三个集:训练(1.3M图像),验证(50K图像),和测试(100K图像持有类标签)。分类性能使用两个指标进行评估:top-1和top-5错误。

4.1 SINGLE SCALE EVALUATION

  我们首先用第2.2节中描述的层配置在单个尺度上评估单个ConvNet模型的性能。测试图像大小设置为:固定的S为Q = S,抖动的S∈【Smin, Smax】为Q = 0.5(Smin+ Smax)。结果如表3所示。首先,我们注意到使用局部响应归一化(A- lrn网络)并不能改进没有任何归一化层的模型A。因此,我们没有在更深层次的架构(B-E)中采用规范化。第二,我们观察到的分类误差随深度增加事先:从11层至19层e .值得注意的是,尽管同样的深度,配置C(包含三个1×1 conv.层),执行比配置D,采用3×3 conv.层在整个网络。这表明,虽然额外的非线性确实有帮助(C比B更好),但通过使用具有非微不足道接受域的对流滤波器捕获空间环境也很重要(D比C更好)。当深度达到19层时,我们的建筑错误率饱和,但更深入的模型可能有利于更大的数据集。我们还比较了B网和5个5×5 conv. layers的浅层网,这是B通过将每对3×3 conv. layers替换为单个5×5 conv. layer(其接受场与2.3节中解释的相同)得到的。浅层网的最大误差比B(在中心作物上)高7%,这证实了带有小过滤器的深层网优于带有大过滤器的浅层网。最后,训练时间尺度抖动(S∈[256;512])的结果明显优于对固定最小边(S = 256或S = 384)的图像进行训练,即使在测试时使用单一尺度。这证实了尺度抖动训练集的扩大确实有助于捕获多尺度图像统计。
在这里插入图片描述

4.2 MULTI-SCALE EVALUATION

  在单个尺度上评估了卷积神经网络模型后,我们现在评估了测试时尺度抖动的影响。它包括在测试图像的几个缩放版本上运行一个模型(对应于不同的Q值),然后对产生的类后验进行平均。考虑到训练尺度和测试尺度之间的差异较大,会导致性能下降,我们对固定S训练后的模型进行三种测试图像大小的评估,接近训练图像的大小:Q = {S−32,S, S + 32}。同时,由于训练时的尺度抖动,使得网络在测试时适用于更大范围的尺度,所以变量S∈[Smin;Smax]训练的模型在更大的尺度范围内进行评估Q = {Smin,0.5(Smin+ Smax), Smax}
  结果如表4所示,表明在测试时间尺度抖动导致了更好的性能(相比于在单个尺度下评价相同的模型,如表3所示)。与之前一样,最深配置(D和E)表现最好,在验证集上,我们最好的单网络性能是24.8%/7.5% top-1/top-5 error(在表4中用粗体突出显示)。在测试集上,configurationE达到7.3%的top-5 error。
在这里插入图片描述

4.3 MULTI-CROP EVALUATION

  在表5中,我们比较了密集ConvNet评价和多作物评价(详见3.2节)。我们也评估了两种评估技术的互补性,平均他们的softmax输出。可以看出,使用多种作物比密集评估的性能稍好,而且这两种方法确实是互补的,因为它们的组合优于各自的性能。如上所述,我们假设这是由于对卷积边界条件的不同处理。
在这里插入图片描述

4.4 CONVNET FUSION

  到目前为止,我们评估了单个ConvNet模型的性能。在这部分的实验中,我们通过平均它们的软最大类后验来组合几个模型的输出。由于模型的互补性,这提高了性能,并在2012年(Krizhevsky et al., 2012)和2013年(Zeiler & Fergus, 2013;Sermanet等人,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挑战赛(Russakovsky et al., 2014)的分类任务中,我们的“VGG”团队使用7个模型集成的测试误差为7.3%。提交后,我们使用两个模型的集成将错误率降低到6.8%。
  从表7可以看出,我们的非常深的ConvNets明显优于上一代模型,在ILSVRC-2012和ILSVRC-2013比赛中取得了最好的成绩。我们的结果与分类任务获胜者(GoogLeNet有6.7%的错误)相比也具有竞争力,并且显著优于ILSVRC-2013获奖作品Clarifai,后者在使用外部训练数据时达到11.2%,而在没有外部训练数据时达到11.7%。这是值得注意的,考虑到我们的最佳结果是通过结合两个模型实现的——显著少于在大多数ILSVRC提交中使用的。在单网性能方面,我们的体系结构达到了最好的结果(7.0%的测试错误),比单个GoogLeNet的性能高出0.9%。值得注意的是,我们并没有背离LeCun等人(1989)的经典ConvNet架构,而是通过大幅增加深度对其进行了改进。
在这里插入图片描述

五、CONCLUSION

  在这项工作中,我们评估了非常深的卷积网络(多达19个权重层)用于大规模图像分类。研究表明,表示深度有利于分类精度,并且可以使用常规的convnetarchitecture (LeCun et al., 1989;Krizhevsky等人,2012),深度大幅增加。在附录中,我们还展示了我们的模型可以很好地适用于广泛的任务和数据集,匹配或优于围绕较少深度图像表示构建的更复杂的识别管道。我们的研究结果再次证实了深度在视觉表现中的重要性。

总结

期待大家和我交流,留言或者私信,一起学习,一起进步!