Warning: Use of undefined constant php - assumed 'php' (this will throw an Error in a future version of PHP) in /data/htdocs/405817461.host.smartgslb.com/wp-content/themes/twentytwelve/content.php on line 1

Very Deep Convolutional Networks for Large-Scale Image Recognition笔记

本文是20140919的周报,没写完,后补全。

Abstract

本文研究了CNNs的深度对于其准确率的影响,最后通过评估发现,当权值层达到16-19层的时候,能够在传统框架的基础上得到有效提高。

Introduction

ILSVRC-2013的冠军利用了更小的接收窗口和在第一个卷积层更小的步长。本文关注了CNNs的另一方面——深度。为了这个目的,作者修改了一些参数,添加了一些卷积层。

ConvNet Configuration

共同的结构

预处理:每个像素减去平均的RGB值。在卷积时,感受野为3*3,卷积步幅为1。有5个亚采样层(max-pooling layer),只有部分卷积层后面有亚采样层,其采样窗口大小为2*2,步幅为2。

卷积层后面跟着三层全连接层(FC Layers),前两层有4096个通道,最后一层有1000个通道,输出1000个输出。最后一层是soft-max transform层。全连接层的配置在所有网络一样。

除了最后一个全连接层的所有层都利用ReLU方法进行非线性修正。除了1,本网络没有使用局部相应标准化(Local Response Normalization),因为这种标准化会增加内存消耗和计算时间,但并没有提高表现。在使用LRN的地方,参数配置也与12年Hinton那边论文一样。

分别的配置

ConvNet的配置如表1。每列为一种配置方式,从11个权值层到19个权值层(即不包含max-pooling层)不等。表2表示每种配置所需要参数(E种与更加浅层但层范围更大的网络[10]的参数规模相当)。

QQ截图20140917104851表1 ConvNet配置表

QQ截图20140917110908表2 不同配置所需要的参数(单位:M)

讨论

本文所用的ConvNet配置跟12年和13年第一名相当不同。他们在第一个卷积层都使用了相当大的感受野(11*11,步幅为4和7*7,步幅为2),本文在整个网络都只使用了3*3的感受野,步幅为1。所以使用两层3*3就相当于一层的5*5感受野,三层3*3相当于7*7。而使用了三层,1.可以让决策函数(decision function)更加好的表现特征;2.减少学习参数。三层3*3网络卷积7*7只需要27个参数,而如果一层卷积7*7需要49个参数,多了81%。可以看做利用3*3的感受野进行7*7的卷积。

1*1卷积层的加入可以不用增大感受野来增强决策函数的非线性特征。虽然1*1卷积本质上是空间上同一维度的线型投影,额外的非线性特征是修正函数带来的。1*1卷积层最近被文章用作网络中的网络(Network in Network)。

小尺寸的卷积过滤也有文章已经用过[2],但深度很浅,也没有应用到ILSVRC数据集。另一篇论文[5]在识别街景数字的,应用了大数据集,但仍然只有11权重层,没有本论文深,而且感受野是5*5,比本论文的3*3少。

Classification Framework

训练

训练过程和12年Hinton的类似,训练用mini-batch的动量梯度下降。Batch-size是256,动量是0.9,利用权重衰减进行训练的调整,给前两个全连接层dropout,几率1/2,学习率初始化为0.01,然后准确率快要停止增长的时候下降了十倍。总共,学习率下降了3次,超过370K次迭代(74个周期)之后停止。除了更多的参数,更深的深度之外,推测本文章达到收敛所需周期更少的原因更小的卷积层大小和确定层的预初始化

网络权值的初始化很重要,因为要是初始化不好就需要大量的学习来进行修正非线性特征。为了避免这个问题,文章使用了表1中A的配置,对参数进行了随机的初始化。然后在训练更深的过程中,前四层卷积层和后三层全连接层跟A配置一样,其他的随机初始化我们没有为预初始化层减少学习率,允许其在学习过程中变化。

为了随机初始化,我们尝试了以均值为0,方差为0.01的正态分布来进行赋权值,初始偏置为0。我们注意到在不进行预训练的情况下进行适当的初始化学习是可能的,譬如调整随机初始化的步骤。这个计划也许在将来的工作会被实施。

为了得到224*224,还是将最小的边S缩放到S>=224。为了训练集的数据增大,还要进行水平翻转和RGB的随机漂移。

虽然多层的卷积忘了可以进行多尺度统计,但我们还是以下面的步骤进行实验。给一个配置,用S=256,从中取224*224进行训练,再取S=384,在另一个相同的网络用S=256时训练好的配置进行初始化,学习率初始化为0.001。

测试

测试时也要把图片缩放到最短边为Q>=224,但不需要等于S(下文中会讲到,在相同配置中使用几个不同的Q会提高准确率)。

然后将全连接层换成卷积层,第一个全连接层换成7*7卷积层,后面两个换成两个1*1卷积层。不要在测试的时候对一个图片的多个部分进行分割采样,如[10]那样,本文最后也只需要进行普通的翻转即可。

实现细节

4GPU,利用2-3周训练了一个网络,已经可以提升到3.8倍的速度。

Classification Experiments

分类实验是在ILSVRC-2012的数据集,1.3M训练集,50K校验,100K测试集进行测试。除此之外,作为VGG团队的参赛模型,还提交上ILSVRC-2014比赛。

配置比较

结果见表3。

QQ截图20140918172145表3

  • A与A-LRN比较加上LRN不会增加准确率
  • A(11层)到D(16层)深度越深,准确率越高。但增加到19层(E)不会提高;
  • C与D比较,相同深度,C包括1*1的卷积层而D全是3*3,C比D准确率要低。C与B比较,虽然深度更深,但是增加的是用于增加非线性特征的1*1层。说明额外增加的非线性特征确实增加了准确率,但是选取适当数量有意义的卷积层也很重要,所以D强于C;
  • 384*N的最后效果比256*N的略好。可能是其训练数据更多一些。

大规模计算

如果测试与训练的图片大小差别太大,会导致表现上的下降。所以我们用三个测试的图片大小,Q={S-32,S,S+32}。结果如表4,表跳动的测试图片大小最终会导致更好的表现

QQ截图20140918193257表4

证明最深的表现最好(D、E),最优值是25.9%和8.0%。

ConvNet融合

QQ截图20140918194838表5

融合了三个不同配置的D,最后结果为25.3%和7.8%,再加上两个不同C和不同E,结果为24.7%和7.5%,这些都是几个网络输出进行平均得到输出,而如果输出进行权值平均,最终结果没有任何改进,还是7.5%,最终的在比赛的测试结果为7.3%。

与当前水平的对比

QQ截图20140918195950表6

在ILSVRC-2014中,Top-5排第二,与第一名的6.7%相当,但比本届其他的和之前的效果都要好。而且我们并没有背离传统ConvNet的结构,只是加深了深度。

Localisation

定位ConvNet

把之前的网络改成最后一层预测边界框。边界框是一个四维向量,分别是中心坐标和宽、高。不同类别如果公用边界预测(SCR)则是4维,如果不共用(PCR)就是4000维(两种都会在后面讨论)。网络就用D的参数,只是把最后一个预测层改了。这可以通过预训练来初始化加快我们的训练。

训练:训练和分类的不同在于,将逻辑回归替换成欧几里地损失(Euclidean Loss)来惩罚预测值与真值的差值。我们训练了两个定位模型,一个scale是256,一个是384(因为时间关系,没有将图像大小的抖动应用于比赛中Localisation结果的提交)。初始化的时候使用了对应的分类模型,初始学习率为0.001。我们尝试了精调全部层和只是前两个全连接层,最后一个全连接层随机初始化和训练。

测试:用两种方法。第一种是在校验数据集中比较不同的网络修正(modifications),只考虑标准类边界框的预测来找错分类错误。在图像的中间来网络得到边界框。

第二种成熟的测试程序是跟分类差不多。不同的是最后一层的输出是边界框的预测。先合并空间上相似的预测[16],然后根据分类时的概率给他们赋予权重。不同的分类网络的结果用合并程序进行合并。但没有用[16]的多重合并抵消技术,来弥补pooling之后损失的解析度。

定位实验

如果边界框和正确的重合率达到1/2就视作正确。在表7中,与[16]结果相反,PCR要胜过SCR。而全部层的精调会好过只有两个全连接层的精调。在实验中,最小图像边S=384。S=256的得出了同样的结果。

QQ截图20140918221655表7

全面评估:用最好的分类加上最好的定位策略,定位ConvNet用表7中间结果最好的配置,用Top5结果而不用标准分类。与分类一样,在多种大小上测试燃和合并结果会提高最终的表现。

QQ截图20140918222225表8

与当前水平对比:VGG以25.3%在ILSVRC-2014中的Localisation获得第一。即使我们用了更小的scale,没有用他们的预测增强技术,但我们仍然比13年的冠军[16]要好。我们猜想如果这个技术应用到了我们的方法,则结果能够达到更优。为了对比,我们还提交了在ILSVRC-2013中的结果,用了更小的模型,弱监督,没用标准的边界框。

QQ截图20140918222343表9

Conclusion

本文评估了一个19层深的卷及神经网络。被证明有利于分类的准确性,当今先进的表现可以通过大量增加训练深度获得。我们得结果在Localisation中得第一,Classification得第二,证明了视觉表示中深度的重要性。

 

[2] D. C. Ciresan, U. Meier, and J. Schmidhuber. Multi-column deep neural networks for image classification. In Proc. CVPR, pages 3642–3649, 2012.

[5] I. J. Goodfellow, Y. Bulatov, J. Ibarz, S. Arnoud, and V. Shet. Multi-digit number recognition from street view imagery using deep convolutional neural networks. In Proc. ICLR, 2014.

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

[16] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. OverFeat: Integrated Recogni-tion, Localization and Detection using Convolutional Networks. In Proc. ICLR, 2014.

arXiv编号:1409.1556v1

paper of the team who get Classification 2nd,Localisation 1st in ILSVRC-2014

最后由刘 冠君编辑于2014年9月19日下午4:14

PrintEvernoteQQFacebookTwitterGoogle+分享