VGG论文翻译

本文为VGG论文的翻译,VGG英文论文地址:http://www.robots.ox.ac.uk/~vgg/research/very_deep/

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

牛津大学

Absract

在这篇文章中我们探讨了在大规模图像识别中卷积网络深度设置对准确率的影响。文章主要的思想是通过 增加3*3的卷积核结构来增加网络深度,增加网络层数到16或19层,网络表现出了一个显著的效果提升。这些理论结果是我们在ImageNet2014挑战中的应用基础,我们的团队在检测和分类任务中各自取得了第一和第二的成绩。我们也展示出了我们的网络结构对其他数据集也具有较好的效果,达到了state-of-the-art水平。我们已经将最优的两个卷积网络模型开源以此来促进未来深度卷积网络在计算机视觉中的研究。

1.Introduction

近来卷积网络已经在大规模图片和视频识别方向上取得了很大的成功,一系列的相关的研究工作使得大规模开源图像数据,如ImageNet等的识别成为可能。与此同时,高性能的计算体系,如GPU或大规模分布式的使用等。特别的是,基于ImageNet的大规模视觉识别竞赛已经在在深度视觉识别领域中成为了一个重要的角色,它为使用深度网络提取高维隐藏特征进行大规模图像分类的模型提供了一个可靠的测试集。

在卷积网络在计算机视觉领域成为一种通用结构时,大量的研究致力于微调AlexNet的结构来提升准确率。例如,ILSVRC-2013中最优性能者在第一层中使用了更小的接受窗尺寸和更小的滑动。另一个在训练和测试中有提升的举措是使用整个数据集多次训练、并且使用多种尺寸来训练网络。在本文中,我们着重于另一个卷积网络架构设计中的要点—深度。为了达到这个目标,我们固定了网络架构中的其他参数,通过增加卷积层来平稳的增加网络深度。由于小卷积核(3*3)的使用,这种方法(不断增加网络深度)得以实现。

结果,我们得出了一种更加精准的卷积网络结构,不仅在ILSVRC分类和检测任务中达到了业界先进水平,也在其他的图像分类数据集中有比较好的表现(即使是使用更简单的pipeline:不带finetuning的深度特征的先行分类SVM )。我们已经将两个最优模型开源以促进未来更好的相关研究。

这篇文章剩余的部分组织如下:在第二节中,我们描述了我们这个卷积网络的配置;图像分类训练和评估的细节描述在第三部分;在ILSVRC分类任务中的配置对比在第四节;第五节是文章的结论。为了文章的完整性,我们也在附录A描述和评估了ILSVRC-2014目标检测任务;附录B讨论了深度特征在其他数据集的通用性;最后附录C包含了本文的主要引用。

2.CONVNET CONFIGURATIONS

为了确定出卷积网络深度对精度提升的影响,我们所有的网络都是使用相同的基准配置(基于AlexNet)。这一节我们首先描述卷积网络配置的整体设计;然后对网络结构设计细节展开描述;最后讨论了我们的网络与先前网络的比较。

2.1ARCHITECTURE

训练时,我们的卷积网络的输入层固定为224*224的RGB图像。我们仅有的一个预处理是下采样RGB图像的均值,从训练集中计算而来。图片被传递给堆叠的卷积层,这些卷积层使用了非常小的感受野(3*3)。在其中一种配置中我们也利用了1*1的卷积核,可以被看作是输入通道的(非)线性转换。卷积步长为1;使用spatial padding。每层的输入如此,以此保持空间分辨率在卷积后保持不变。最大池化层使用2*2的窗口 ,滑动步长为2。

堆叠的卷积层(在不同的架构中具有不同的深度)后面接上三个全连接层:前两层使用4096个通道,第三层使用1000个通道,以适应ILSVRC的分类任务。最后一层是soft-max层。全连接层的配置在所有结构中相同。

所有的隐藏层均使用Relu作为非线性激活函数。值得强调的是,我们的所有网络中没有任何一个包含LRN层:在第四小节中我们对使用LRN的结果进行了展示:LRN层没有对精度有提升,但却导致了内存消耗和时间消耗。

2.2CONFIGURATIONS

在本文中的卷积网络的配置评估被列举在Table1中的每一列。接下来我们使用网络的名称(A-E)来代替各种配置结构的网络。所有的配置都遵循2.1中的网络设计准则,唯一的不同就是网络深度:从11层(A)到19层(E)不等。卷积层的宽度从64每次max-pooling以2的倍数增大,直到512个通道。

在Table2中我们列出了每个配置的网络的参数数量。即使是深层的网络,参数数量也不会较浅的大卷积层(层宽度和感受野)的网络多。

2.3DISCUSSION

不同于其他在ILSVRC竞赛中取得顶级成绩的网络架构,我们在整个网络中都使用了非常小的3*3感受野,并且在输入的每个像素进行卷积(步长为1)。很容易发现两个3*3卷积的堆叠层具有5*5的感受野;三个这样结构层感受野是7*7。那么,我们不使用7*7的卷积核,而是使用3个堆叠的3*3卷积核的原因是什么?这样做的目的有几个:首先,整合三个非线性映射层而不是一个,这将会使决策函数更加具有判别性;其次,减少了参数数量:假设一个3个堆叠的3*3卷积层的输入输出都具有C个通道,堆叠结构的参数数量为3*(3*3*C*C)=27*C*C个权重;然而,一个单独的7*7的卷积层的参数数量为7*7C*C=49*C*C个权重。堆叠结构可以看作是增加正则的7*7卷积核,迫使网络改变,增加非线性。

1*1卷积核(Table1中的配置C)的加入是一种增加卷积层非线性又不改变感受野的方式。虽然在我们的例子中,1*1的卷积核仅仅增加了相同维度空间的线性映射,但激活函数的加入会增加非线性。值得注意的是1*1卷积核最近被利用在了Network in Network结构中(Inception)。

小尺寸的卷积核在先前被提出过,但他们的网络远远没有我们的深。并且他们没有在大规模数据集上进行过测试。Goodfellow et al.应用深度卷积网络(11层)到街道数字识别任务中,并展示出增加网络深度往往具有较好的性能。GooleLeNet,在ILSVRC-2014分类任务中的顶级性能网络,独立于我们的研究,但却十分相似,因为它基于很深的网络层(22层)和很小的卷积核(2*2、5*5、1*1)。他们的网络拓扑比我们的网络更加复杂,他们在第一层的特征映射的空间转化减少更多以此来减少计算量。在4.5节中将会展示:就单网络的分类性能来说,我们的模型比GooleNet(InceptionV1)更加优秀。

3.CLASSIFICATION FRAMEWORK

在先前的章节中描述了我们的网络配置细节。在这一节中,我们描述关于模型训练评估的具体细节。

3.1TRAINING

卷积网络的通用训练步骤遵循AlexNet的方式。通过使用SGD优化多项逻辑回归目标。batch_size被设置为256,moment设置为0.9,训练的weight_decay设置为5*10e-4,前两个全连接层的droup设置为0.5,learning-rate初始化为0.01,当验证机准确率不在提升时以0.1递减。学习率总共递减三次,之后,训练在地370K(74个epoch)次迭代停止了。我们认为,相比AlexNet,尽管我们的网络有更多的参数和更深的网络深度,但是网络需要更少的epoch就可以收敛,原因有二:1) 由深度和更小的卷积核提供的大量潜在正则化;2) 一些层的预训练。

网络权重的初始化非常重要,由于深度网络中的提督的不稳定性,不好的初始化会使训练发散。为了解决这个问题,我们开始训练配置A,这个网络比较浅,可使用随机初始化。然后,在训练一个更深的网络结构时,在前四个卷积层和后面三个全连接层使用A的权重来初始化,让他们在学习中调整。对于随机初始化,我们从0军制和0.01标准差的正态分布进行权重初始化,偏执初始化为0。值得注意的是,在文章提交以后我们才发现不带预训练的权重而使用随机初始化是可能的,参考Glorot & Bengio (2010)。

为了得到固定的224*224的卷积输入图片,对重新放缩后的图片进行随机裁剪(每次SGD迭代中每幅图像裁剪一次)。为了更好的数据增强,裁剪进行了随机的横向反转和随机RGB色彩漂移。下面解释训练图片的重放缩。

Traing image size. 假设S代表各向同性重新调整的训练图像的最小边(what?),卷积网络的输入裁减的就是S(我们也称S为训练尺寸)。当裁剪尺寸固定为224*224,基准S可以去任何不小于224的尺寸:如果S=224,裁剪将会捕获全图像数据的统计,完全监控训练图片的最小边;如果S>>224,裁剪将会使用图片的一个表部分,包含一个小目标或目标的一部分。

我们考虑两种方法来设置训练尺寸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.2TESTING

在测试时,给出一个训练过的卷积网络和一个输入图片,那么它将会被按照下面的方式分类。首先,它被同等放缩到一个预定义的最小图片边尺寸,标记为Q(我们也称之为测试尺寸。我们强调,Q不一定要等于S,对每一个Q使用几个Q的值会有性能提升)。之后,网络被以类似于(Sermanet et al., 2014)的方式密集的应用到测试图片中。值的说明的是,全连接层首先被理解为卷积网络(第一个全连接层被转化为7*7卷积层,剩下的两个全连接层为1*1),然后所有的卷积网络被应用到整张图片中。结果是一个类别得分映射,其中的通道数等于类别数,是变量空间的一种转化,独立于输入图片尺寸。最后,为了让图片获得一个固定尺寸的响亮,类别分数图被全局平均。我们也对测试数据使用了水平翻转等数据增强手段;soft-max的类别滞后于原生,同时翻转图片输入能够获得同样的效果。

自从券链接网络被应用到整张图片以后,测试时就不需要多裁剪来采样图片了,因为效果甚微,但却需要对每次裁剪都进行一次计算。同时,使用一个大的裁剪集合,就像 Szegedy et al.(2014)做的,可能带来性能提升,因为它带来了更适合网络的输入图片。同时,由于网络的不同卷积边界条件,多裁剪评估也为卷积网络带来了补充:当将一种裁剪尺寸应用到一种网络中,卷积特征被padding了0,这时padding的特征来自于它的图片的临近部分,实际上是增加了网路的感受野,因此更过的内容被提取到了。因此我们相信在实际中增加多尺寸裁剪的计算时间毫无疑问的会增加准确率,在引用中,我们也使用了多种裁剪方式,并与Szegedy et al. (2014)进行了对比。

3.2IMPLEMENTATION DETAILS

4 CLASSIFICATION EXPERIMENTS

5 CONCLUSION

在这篇文章中我们评估了一深度卷积网络在大规模图像分类中的应用。结论是深度对分类性能有提升。通过扩展经典卷积网络的深度来达到ImageNet挑战的业界领先水平。在附录中,我们也展示了我们的模型在很多任务和数据集上性能良好,超出了更复杂的分类器结构的分类精度。我们的结果证实了深度在计算机视觉中的重要性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章