10组_Very Deep Convolutional Networks for Large-Scale Image Recognition

                                1 介绍

本文研究了卷积神经网络的深度在大规模图像数据集上对分类准确性的影响。2012年AlexNet的横空出世,使得CNN重新获得学界关注,从而产生了许多基于该结构的改进,如对第一层使用更小的卷积尺寸和步长,以及融合多尺度输入训练网络等等。而本文专注于探讨网络深度对网络性能的影响,通过使用多个小尺寸卷积层增进网络深度同时达到大幅提升网络性能的效果。

本文设计了著名的VGG模型,该模型在大规模图像识别中效果良好,并在ImageNet2014中取得亚军。该模型与GoogLeNet各有所长,但基本都是AlexNet框架的拓展,二者在15年ResNet出现之前各占半壁江山,常被用于目标检测等任务中作为骨架网络结构,直到现在也因其相对于ResNet更小的计算量而在对网络运行速度要求高、可以适当牺牲精度的情况下用于网络结构中。

                              2 模型概述

2.1 数据预处理

1. 归一化:图片的每个像素值减去整个训练集上计算的平均RGB值。

2. 数据增广:为了获得更多有效的训练图片,同时避免模型“死记硬背”、只学到对应位置应该是某一个值这种情况的出现,采用以下几种随机化方式对图片进行处理。

(1) 随机裁剪:设图片大小为S×S,模型的输入为224×224的图片,所以S应不小于224。当S=224时,输入就是整个图片即不进行裁剪操作。当S>224时,采用随机裁剪,在每一次随机梯度下降迭代中都在归一化后的图片上随机裁剪一个224×224的方块作为训练的输入。

(2) 随机水平翻转。

(3) 随机打乱RGB颜色。

此外,由于数据集中的图像大小是不一致的,所以需要通过缩放将其变为想要的尺寸S×S。对于尺寸,文中有两种处理方式,固定尺寸和多尺度方法。固定尺度训练中,文中设置了两种尺度,分别是S=256和S=384,当S=384时,训练集太大导致训练时间大大增加,为了减少训练时间,加快训练过程,作者直接使用S=256的训练的结果来初始化S=384的参数,并设置较小的学习率10e×-3。在多尺度训练中,对于每一个图像,作者随机从[Smin,Smax](作者的模型中Smin=256,Smax=512)中取一个值为缩放后S的大小。训练图像的大小都是不固定的,这也可以看成通过尺寸抖动增加训练集。同样,为了增加速度作者使用S=384的训练结果作为多尺度训练的初始化。

2.2 模型结构


Table 1卷积神经网络结构

文中给出了六种网络结构,如Table 1所示,每一个卷积层和全连接层之后都使用ReLU函数作为激活函数。本文希望只使用小尺寸即3x3和1x1的卷积核,而尽可能加深网络深度,而且与其他网络不同的是,网络越深,每一层中卷积核的个数越多,可能作者希望借此使网络学习到更多不同的信息。其中在模型C中引入了1×1的卷积核是为了增加整个模型的非线性表达能力(GoogLeNet中1x1卷积核的作用则是进一步特征融合、减少输出通道数,从而减少该层之后的网络的计算量)。


图一 模型D的微体系结构

图一为Table1中模型D的结构,展示了输入图片经每一层变换后的输出图片大小与数量,其中卷积层有十六层,全部是用ReLU函数作为激活函数,使用增加padding的方式使得卷积层的输入和输出尺寸保持一致,这个网络结构的padding大小为1。max-pooling层有五个,每一次经过max-pooling尺寸都减半。最后经过三个全连接层和一个softmax层得到输出。

此外文中通过使用带有momentum的mini-batch梯度下降法来优化神经网络。批量(batch)的大小设置为256,momentum设置为0.9。训练通过权重衰减(L2惩罚系数设置为5×10-4)和对前两个全连接进行dropout正则化(随机失活率为0.5)来防止过拟合。学习率最初设置为10-2,然后当在验证集上的精度停止提高时学习率以10倍的速率下降。总的来说,学习率下降了3次,并且在370K次迭代之后停止。

网络的初始化也尤为重要,由于深度神经网络通常采用随机梯度下降法,不好的初始化可能导致模型困于局部最优点、无法学习到更好的解。为了规避这个问题,文中首先训练了模型A(Table 1),因为模型A比较浅,所以可以通过随机初始化参数的方法进行训练。之后训练其他更深的网络时,使用网络A的结果来初始化其他网络前四个卷积层和后三个全连接层。但是文中指出可以通过使用Glorot&Bengio(2010)的随机初始化过程来初始化权重,而不用进行预训练。

2.3模型测试

在测试过程中,文中也将图像进行缩放,缩放后的尺寸为Q×Q大小的图像,Q与S基本无关,文中指出在测试过程中使用了多个Q进行测试,结果取平均。测试方法首先将网络转化为全卷积网络,第一个全连接层转为7×7的卷积层,后两个全连接层转化为1×1的卷积层。结果得到的是一个N×N×M的结果,称其为类别分数图,其中M等于类别个数,N的大小取决于输入图像尺寸Q,计算每个类别的最终得分时,将N×N上的值求平均,此时得到1×1×M的结果,此结果即为最终类别分数,这种方法文中称为密集评估。

此外,还有另外一种测试方法,和训练过程类似,不用将网络转化为全卷积网络,是从Q×Q大小的图中随机裁剪224×224的图作为输入,文中裁剪了50个图像,而每个图像之前缩放为三个尺寸,所以每个图像的测试图像数目变为150个,最终结果就是在150个结果中取平均。但是作者指出,该方法效率低下,并且不能证明比第一种方法效果好。

除此之外,本文还采取了全卷机网络和随机裁剪相结合的方法,即两者结果取平均。其能大大增加网络的感受野,因此捕获更多的上下文信息,实验中也发现这种方法表现最好。

                              3实验结果

3.1 单尺度评估


Table 3  单一尺度评估结果

单一尺度即为测试时,将测试集图像全部缩放都Q×Q的单一尺度,表中前四个Q=256,第五六个Q=384。由Table3得出以下三个结论:

第一,比较模型A和A-LRN,作者发现使用局部响应归一化与未使用局部响应归一化相比,效果更差,所以作者在之后的B,C,D,E模型中均未使用局部响应归一化了(之后的经典模型如GoogLeNet等也都没有使用过LRN方法)。

第二,作者观察到从A的11层至E的19层,随着卷积神经网络深度的增加,效果越来越好。值得注意的是,配置C(包含三个1×1的卷积核的卷积层)在深度不增加的情况下,仅仅将1×1的卷积核换成3×3的卷积核,效果就提高较多,这说明虽然附加1×1的卷积核来增加非线性的表达能力确实比较有帮助(C优于B),但是通过增加更大感受野的卷积过滤器来捕获空间上下文也是非常重要的(D优于C)。当深度达到19层时,此架构达到饱和,但是可能更深的模型对更大的数据集更有益。作者还将网络B和具有五个5×5的卷积层的浅层卷积网络进行比较,其通过单个5×5的卷积层来代替B中的每对3×3的卷积层得到。浅层网络的top-1误差高于B网络7%。作者表明这证实了具有小过滤器的深度网络优于具有较大过滤器的浅层网络。

第三,即使在测试的时候使用单一尺度,训练时采用尺度抖动(S∈[256,512])比在固定最小边(S=256,或S=384)的图像上训练产生更好的效果。作者表明这证实了通过尺寸抖动的训练集增加确实能够有助于捕获多尺度的图像统计数据。

3.2 多尺度评估


Table 4 多尺度评估结果

多尺度评估的尺度是有公式的(作者采用三个尺度进行评估),当训练尺度S固定时,多尺度评估的尺度Q={S-32,S,S+32}。当训练尺度S是在[Smin,Smax]采用抖动随机获取方式时,Q={Smin,0.5(Smin+Smax),Smax}。表中test(Q)一栏中的数据可以通过这种方式计算得到。

从Table 3和Table 4中看出使用多尺度评估比单尺度评估结果要好得多。而且采用尺寸抖动比固定尺寸S的结果要好。

3.3 密集评估和裁剪评估

Table 5 采用密集评估和多裁剪评估结果

在Table 5表中,作者比较了密集评估、多裁剪评估和两者结合的方式得到错误率并进行比较。其中可以看出多裁剪方式比密集方式的效果好,而两者结合方式比两者都要好,说明两种评估方法是互补的。作者表示这可能因为卷积边界条件的不同处理造成的。

3.4 多模型融合


Table 6 多个卷积网络模型融合结果

到ILSVRC提交的时间,作者只训练了一个单一尺度的网络,和一个多尺度的模型D(仅仅是通过微调了全连接层而不是所有层)。所得到的7个网络的融合具有6.8%的ILSVRC的错误率。在提交之后,作者考虑融合两个表现最好的多尺度模型D和E,在这种方法上使用密集评估的时候将错误率降低到7.0%,并且在使用密集和多尺度评估组合的时候将错误率减少到6.8%。作为参考,作者最好的单个模型准确率为7.1%(模型E,Table5)。

3.5 与其他模型对比


Table 7 与现有模型的比较

表中显示作者的最好结果6.8%的错误率仅仅与冠军模型GoogleNet差0.1%的错误率。并且在单个模型错误率(作者模型最好的单个模型错误率为7.0%)上比GoogleNet高0.9%。值得注意的是,该网络结果没有偏离LeCun et al. (1989)的经典结构,而且大大提高了其深度。但实际上,由于执着于仅仅使用3x3和1x1的卷积,卷积核个数太多,网络计算量着实不少,这也是该网络的一个不足之处。

                              4 总结

VGG模型虽然只是ImageNet的亚军,但是其使用很小的卷积核,并通过增加卷积神经网络深度的方式来证明卷积神经网络深度在视觉领域的重要性。其网络结构简单易懂,并在其他数据集上也有很好的效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容