本文围绕一代传奇模型overfeat展开论述,探究在,overfeat是怎样横空出世、独占鳌头的,并介绍它的那跨时代的思想和惊为天人的设计。
论文地址/abs/1312.6229
目录
背景
概述
沿袭
革新
结果
补充
总结
背景
该模型是由科学家Pierre Sermanet、David Eigen等人在ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)大赛上提出的,他们选用了与Krizhevsky等人在ILSVRC12上使用的AlexNet类似的模型,并加入了很多创新元素来对模型进行拓展。最终他们不仅在定位比赛中夺得冠军,在其他方面如分类和检测项目上也取得了不错的成绩,更是极大地推动了计算机视觉领域相关技术的发展。
概述
OverFeat的网络层次如图所示
这里提供了两幅图,分别是速度最快和精度最高的两个版本,其中的参数都进行了一些细微的调整,这里我们选用精度最高的版本进行讲解。
沿袭
该模型在ImageNet的训练集上进行训练,将原图像进行随机裁剪得到输入图像,输入图像的尺寸是221X221,初步的训练思路与AlexNet一致,但是第一层卷积核大小是7X7,而在另一版本的模型中卷积核与AlexNet尺寸一致为11x11,两个模型卷积核数量都是96个,而第一层卷积步长为2,池化尺寸为3,池化步长为3,无padding,这里修改了步长,略微削减了速度从而提升了精度。第二层与第一层架构思路相同,也是卷积+最大池化,在原模型的基础上进行微调,从第三层起至第五层都是卷积层,需要注意这里用到的激活函数都是ReLU而非在那时常用的Sigmoid,而且这里使用了0填充,改变了数据尺寸。
革新
第六层这里用到了本文的第一个创新点——offset max-pooling,正常情况下池化层所接收到的数据是不会被步长整除的,最后的数据要么舍弃要么填充补齐,但是这里给池化层的maps做了平移,不从第一个像素开始,而是从可以整除步长的像素开始,这一点比起填充增强了鲁棒性,比起舍弃又增加了数据量。之后就到了模型的第二个创新点,用于借鉴的AlexNet模型最后是全连接层,但是这里全连接层却是化用了FCN,即全卷积网络的思想。全连接层在日常的模型使用中充当着一个输出特征值的功能,比如在分类问题中,最后每张图片会输出一个对所属类别的预测值,值越大表明属于该类别的可能性越高,但是在定位问题中,如图所示,除了单纯地获取类别信息以外还要获取主体图像的位置。全连接层详情见/17CUd
所以这里就采用了FCN对每一个像素都产生一个预测,同时保留了原始输入图像中的空间信息,最后在上采样的特征图进行像素的分类的思想,输出的是一张已经标记好的图,如下图所示
图片出处/p/163376841
第七层依据FCN视为5X5的卷积层,第八层则是1X1的卷积层,原文是这样表述的——(6、7、8层)的分类器含有固定输入大小5×5,在每个池化特征图的每个位置产生C维输出向量,这里提到的是速度最快的模型,需要注意精度最高的模型比速度最快的模型多一个卷积层,对应层数的时候要加一,这一块的具体操作可以参考以下文章的FCN + offset max-pooling部分。/km88g
同时FCN还能支持各种尺寸的图片,而全连接层因为其数据尺寸在构建网络时就以固定,无法接收设定以外的数据。FCN的相关解析可以参考如下链接/ClmeA
结果
模型最后不仅会产生分类的分布,还产生了预测框bouding box,这里OverFeat同样别出心裁地放弃了传统的非极大值抑制,而是使用了累积预测的方法。相应操作可以参照如下文章/v5N2O
补充
这里补充一些框架的参数设置
min-batchs=128
lr=0.05
权重初始化为正态分布 ( μ , σ ) = (0,1e-2)
momentum = 0.6
weight decay =1e-51
第七层和第八层dropout = 0.5。
总结
总的来说,OverFeat在AlexNet上进行了较大尺度的革新,并且明确了CNN在定位任务上的使用方法,即使现在来看这个模型有很多缺陷和不足,但它确实为CV的发展奠定了基础。