VGGNet 论文笔记

标题:Very Deep Convolutional Networks for Large-Scale Image Recognition

作者:Karen Simonyan &Andrew Zisserman

摘要:

        1、研究目的是大型图像识别的场景中,模型深度对模型准确率的影响。

        2、主要贡献是使用具有非常小的(3×3)卷积滤波器的架构,对增加深度的网络进行全面评估,最终表明通过将深度推进到16-19层具有超越性的明显改进。

        3、我们的团队分别获得了2014年ImageNet挑战赛定位和分类跟踪的第一和第二名的成绩。继承借鉴AlecNet和OverFeat

        4、模型对其他数据集有良好的泛化能力。

        5、已经公开了两个最佳性能的Convnet模型,以便进一步研究在计算机视觉中深度视觉模型的使用。

一、介绍

        1、卷积神经网络在大型图像识别任务中有出色的表现

        2、许多人对Alex的模型做了优化研究。我们着力研究卷积网络的又一问题——深度

        3、我们的模型在ImageNet和其他数据集都有优秀的表现。我们最终公布了两个表现最优的模型以推进未来的研究。训练出的卷积网络是一个天然的且十分优秀的特征提取器(在不对卷积网络进行 fine-tuning 而直接在其后接一个 SVM 分类器并训练该 SVM,最终结果也很好)

        4、在第二节讲述卷积网络的配置;图像分类和模型评价在第三节;不同配置的比较分析在第四节

二、卷积网络的配置

        1、结构:预处理仅仅把每个像素减去一个RGB均值;卷积层全用的3*3滤波器(为什么最小是3*3?3*3才能表示左右上下中);有一种配置方案我们用了1*1的滤波器,用于对通道进行线性运算;padding和stride都是1;不是所有卷积层后面都pooling;max-pooling的步长为2,window为2*2;一堆卷积层之后是三个全连接层;所有隐藏层后都有ReLU;我们在BCDE组没有用LRN(局部响应归一化),因为效果不好

        2、配置:表1列出了本论文中评估的卷积网络配置方案,每列一个,如图。所有的配置都遵循上面介绍的通用设计,并且仅在深度上有所不同。


        3、讨论:为什么用三个3*3的filter比一个7*7的filter要好呢?首先,每个3*3的卷积层后都有一个非线性整流层,总共三个,而不是一个,可以让决策函数更有区分性,其次,使用小的filter最终使得参数数量变小;为什么在有的方案使用了1*1卷积?首先作者认为 1×1 卷积可以增加决策函数(softmax)的非线性能力,非线性是由激活函数 ReLU 决定的,本身 1×1 卷积则是线性映射,即将输入的 feature map 映射到同样维度的 feature map;GoogLeNet也用了小卷积,不过它们的结构更复杂,我们的模型在单网络分类的精确度上比它表现好。

三、分类框架           

        1、训练:MBGD梯度下降,学习率0.01,正则化手段有权值衰减(就是设置正则系数)和Dropout,尽管我们的参数和深度都比AlexNet大,但是我们收敛速度还是快一些。原因推测为两个:一是更小的卷积结构和更深的网络也隐含着更多次的正则化操作,二是有对权值预初始化;关于预初始化: 先训练浅层网络, 如图中的 A 网络, 得到权重参数,然后当训练更深的网络(BCDE)时, 使用 A 中得到的参数初始化前四个卷积层和最后三个全连接层, 中间的其他层仍使用随机初始化。训练图像的大小:设置一个S,代表图像最短边,必须大于等于224,通过随机裁剪得到标准224*224的输入.两种设置S的方式,一种是固定S,我们固定在256和384两种图像尺寸,另一种方法是直接训练一个分类器, 每次数据输入时, 每张图片被重新缩放, 缩放的短边 S 随机从 [min, max] 中选择, 本文中使用区间 [256,384], 网络参数初始化时使用 S=384 时的参数(尺寸抖动技术 scale jittering 

        2、测试:设置Q,意义和S一样,但是是用于测试集。将全连接层转换为卷积层,第一个全连接转换为 7×7 的卷积,第二个第三个转换为 1×1 的卷积(这样的好处是不用像全连接层那样固定输入大小)。如果输入图片大小为 224*224,则输出为 1*1*num_classes,否则,因为图片大小可以不一致,可以看作某张图片多个切片的预测结果,最终经过 sum-pool,每个通道求和,得到 1*1*num_classes 的结果,作为最终输出,即取所有平均数作为最终输出。

四、分类实验

        1、数据集来源ILSRC-2012,分成训练集,验证集和测试集,其中一部分实验作为VGG团队作品参加了ILSVRC-2014的比赛

        2、单尺寸评价:我们测试集都是单尺寸,有Q=S,和Q=0.5(Smin+Smax)两种,评估结果如图。首先发现LRN没什么用,其次发现深度增大错误减少,最后我们发现训练时用到尺寸抖动技术 scale jittering比固定尺寸的训练效果好。


        3、多尺寸评价:说的是测试机用了多尺寸数据集。效果如图。关于深度结论和上面没什么区别,另外发现模型对多尺寸的测试效果较好


        3、多剪裁评价:如图。

五、结论

        1、 2 个相连 3×3 大小的 filters 相当于一个 5×5 大小的 filters. 同样的 3 个相连 3×3 大小的 filters 相当于一个 7×7 大小的 filters.那么为什么不直接用一个 5×5 大小的或 7×7 大小的呢?以 7×7 的为例:首先, 三层比一层更具有判别性。其次, 大大减少了参数数目.使用 1×1 的卷积核可以在不影响感知域的情况下增加判别函数的非线性。该核已被用于文献 Network in Network[5] 网络结构。

猜你喜欢

转载自blog.csdn.net/liusiyang_641/article/details/79762902
今日推荐