VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

来源:互联网 发布:韩国聊天软件talk 编辑:程序博客网 时间:2024/06/05 07:40

创新点:对增加深度、用一个非常小的3*3卷积滤波器的架构的网络进行了彻底的评估,在现有技术的配置上,当深度达到16-19层时,得到了显著地提升。


架构:

 输入大小:224*224*3

卷积核大小:3*3

stride:1

padding:1

5个max-pooling layers,连在某些conv.layers后面,不是所有conv.layers后面都有max-pooling layers。

max-pooling:[2 2],stride=2

随着深度的不同,conv.layers的个数不同,但是后面都连着3个FC layers,1个softmax layer。

所有隐藏层都配有ReLU.

网络中不含有LRN,因为LRN没有改善性能,却增加了内存消耗和计算时间。



配置:

一共5个网络(A \B\C\D\E)。

A网络:8conv.layers+3FC layers

B网络:在A网络的基础上,增加了2个3*3conv.layers。一共是10conv.layers+3FC layers

C网络:在B网络的基础上,增加了3个1*1conv.layers。一共是13conv.layers+3FC layers

D网络:在B网络的基础上,增加了3个3*3conv.layers。一共是13conv.layers+3FC layers

E网络:在D网络的基础上,增加了3个3*3conv.layers。一共是16conv.layers+3FC layers

卷积层的宽度从64开始,每经过一个max-pooling layer,数目翻倍,直到512.



讨论:与Krizhevsky的11*11、Zeiler&Fergus的7*7相比,本文用的是相对较小的3*3。

2个3*3conv.layers有一个更有效的5*5的接受域,3个3*3conv.layers有一个更有效的7*7的接受域。

3个non-linear rectification layers代替一个single layer的原因:

(1)决策函数更有识别力

(2)减少参数个数

在不影响接受域的情况下,使用1*1conv.layers能增强决策函数的非线性。



训练:

训练过程大体上与Krizhevsky一样:用带动量的mini-batch 梯度下降法优化多逻辑回归的目标。

batch size:256

momentum:0.9

weight decay:0.0005

前两个FC layers的dropout ratio:0.5

learning rate:初始值为0.01,当验证集的准确率停止上升时,除以10,一共3次。

Krizhevsky相比,尽管本文的网络需要更大的参数和深度,但是更少的次数就达到收敛,原因:

(1)由更大的深度和更小的卷积核实现了implicit regularisation。

(2)某些层的预初始化

网络的权重初始化很重要,由于在深度网络中梯度的不稳定性,坏的初始化会使学习停止。论文中,先随机初始化A网络,然后用得到的参数初始化更深的网络前4个conv.layers和后3个FC layers,其它层随机初始化,预初始化的层学习率不下降,允许在学习过程中改变。

值得注意的是,用Glorot&Bengio的随机初始化步骤去初始没有预训练权重是可行的。

训练图像大小:让S为等比例缩放训练图像的最短边,按原则S的值不小于224,提取图片的大小为224*224。

两种方法设置S:(1)固定S,实验中固定为S=256和S=384,我们先用S=256训练网络,为了加快训练速度,用得到的参数训练S=384.(2)多尺度训练,在[256,512]之间随机取样。因为图片中的目标大小不同,所以在训练过程中考虑这个方法还是有益的。



测试:

首次等比例缩放图像,让Q等于最短边,Q不必等于S,对于一个S用多个Q去测试可以提高性能,然后采用近似Sermanet 的方法在rescaled 的测试图像应用网络。也就是第一个FC layer改为7*7的conv.layer,后两个FC layer改为1*1conv.layer,得到的fully-convolutional网络被应用到完整图像上。结果是一个通道数等于类数类分数图,空间分辨率的大小依赖输入图像大小。最后,为了获得固定大小的类分数向量,类分数图被空间平均化。



分类实验:

数据集:1000个类,训练图像1.3M,验证图像50K,测试图像100K。

单一尺度评估:(1)A-LRN的实验结果没有A好,说明LRN作用不大,所以B-E没有加LRN。

(2)深度越深,性能越好。

(3)网络C比网络B表现好,说明额外的非线性确实有帮助。

(4)网络D比网络C表现好,说明使用较大的卷积核能够捕捉更大的空间特征。

scale jittering比固定scale结果好,说明用scale jittering来增强测试集确实对捕捉multi-scale图像统计有帮助。

多尺度评估:

(1)与单一尺度相比,B\C\D\E错误率都有降低。

(2)scale jittering导致了更好的性能。

多裁剪评估:multiple crop比denseevaluation略好,但是两者结合比其中任意一个都好,推测这个可能是由于卷积边界条件的不同处理导致的。

网络融合:对几个模型的soft-max输出求平均,有助于提高性能。


结论:增加深度对分类准确率有益处。


2 0
原创粉丝点击