Very Deep Convolutional Networks For Large-Scale Image Recognition

03 December 2018

Authors: Karen Simonyan & Andrew Zisserman, Visual Geometry Group, Department of Engineering Science, University of Oxford.

Accepted: ICLR 2015

Abstract: In this work we investigate the effect of the convolutional network depth on its accuracy in the large-scale image recognition setting. Our main contribution is a thorough evaluation of networks of increasing depth using an architecture with very small(3 x 3) convolution filters, which shows that a significant improvement on the prior-art configurations can be achieved by pushing the depth to 16-19 weight layers. These findings were the basis of out ImageNet Challenge 2014 submission, where our team secured the first and the second places in the localization and classification tracks respectively. We also show that our representations generalize well to other datasets, where they achieve state-of-the-art results. We have made further research on the use of deep visual representations in computer vision.

摘要:本文研究了在大规模图像识别中,卷积网络深度对识别精度的影响。我们的主要贡献是对使用具有非常小(3 x 3)卷积滤波器的架构来增加深度的网络的全面评估,这表明通过将深度增加到16-19个卷积层可以显著地改进现有技术配置。这些发现是ImageNet Challenge 2014提交的基础,我们的团队在定位和分类跟踪上分别获得了第一和第二名。我们还表明,我们的表示法可以很好地推广到其他数据集上,在这些数据集中实现了最好的结果。我们对深度视觉表示在计算机视觉中的应用做了进一步的研究。

这篇论文之前还没有很深的网络,这篇论文主要解决的是卷积网络架构设计的深度问题。为此,论文中提出通过增加更多的带有非常小(3 x 3)的滤波器地卷积层来稳步增加网络的深度。

网络的架构如Table 1,A、B、C、D、E所在列分别表示一种网络设计。

上面这五种配置都是由以下设计组成:

  • conv: 3 x 3, sride = 1, padding = ‘SAME’, Relu
  • conv: 1 x 1, Relu
  • max-pooling: 2 x 2, stride = 2
  • FC layers: 4096, 4096, 1000, Relu
  • softmax layer
  • LRN(Local Response Normalisation)

每一种设计都是5个pooling层和三个FC层,只是在深度上不一样:从11层到19层。网络的channels从64增加到512.

论文中使用堆叠的较小的感受野的滤波器代替了较大了滤波器(两个堆叠的3 x 3滤波器有5 x 5的感受野,三个堆叠的3x3滤波器有7 x 7的滤波器),有什么好处呢?

  • 多个非线性(conv + relu)代替一个,使得决策函数更具判别性
  • 减少了参数的数量

怎么做到减少参数数量的呢?假设用3个 3 x 3的卷积层代替 1 个 7*7的卷积层,并假设它们的channels是C,feature maps的元素个数是Z,则前者需要 3ZC^232 = 27ZC2</sub>,后者需要CZC72 = 49ZC2.

1 x 1的卷积层是为了增加决策函数的非线性性

GoogLeNet是独立于这份工作提出的,但是都是基于非常深的网络来设计的,不过GoogLeNet更过复杂。

VGGNet在网络训练的时候的数据增强策略和测试时的数据增强策略可以学习一下,在这里就不介绍了。