VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGG网络)-论文阅读笔记

Posted wyypersist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGG网络)-论文阅读笔记相关的知识,希望对你有一定的参考价值。

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

VGG网络

论文阅读笔记

//2022.4.11上午9:53开始阅读

论文地址

1409.1556.pdf (arxiv.org)

论文目的

论文研究了CNN的深度对图像识别的影响,并搭建了一种具有较深层网络结构的vgg网络。这种网络在ImageNet 2014中获得了不错的成绩。同时,作者介绍,将vgg网络推广到其他数据集中也可以获得最先进的效果。最后,作者公开了两个表现比较好的模型以促进计算机视觉的发展。

论文主要内容

1.Introduction

作者在对当前高性能计算和其他卷积网络在ImageNet识别挑战赛中的效果对比之后,表示不同于其他改进网络架构的措施,如:改变网络接受域大小、设置更小的第一层conv的大小等。本文从网络的深度入手,探索了卷积神经网络深度对视觉识别精度的影响。但是,作者为了使得增加网咯深度可行,采用了固定的卷积层大小3x3。

作者又进一步指出,本文提出来的网络,在只是使用了SVM等简单分类器的pipeline中,也可以有很好的效果。

2.VGG卷积网络结构

作者为了更加有说服力地描述网络深度对于网络精度的影响,在保证了网络中其他结构的不变之后,主要改变了网络的深度。

2.1 VGG网络架构

作者所做的对图像处理只有归一化操作。网络的输入大小为224x224。

在其中一种网络架构中,作者使用了3x3的conv层,设置stride=1,在每次conv之后,进行padding=1的零填充,保持了featuremap的分辨率固定。使用5个max pooling进行空间池化操作,池化层跟在一些conv层后边,但不是所有的conv层后边都有池化层。Max pooling层选择2x2的窗口,stride=2。

网络的整体结构:一系列的卷积层conv堆栈,然后紧跟着三个FC层,前两个FC层维度为4096,最后一层FC的维度为1000(对应的ImageNet数据集中1000个类),最后一层是一个softmax层(为了实现分类)。

所有的隐藏层都包含了ReLu激活函数,但是都不包含LRN,因为LRN不会增加该网络在ImageNet数据集上的精度,反而会导致内存消耗和计算时间的增加。

2.2 配置详情

在本文中,评估的ConvNet构型在表1中概述,每列一个,所有的这些网络只是在深度上有所不同:从网络A中的11个权重层(8转换和3 FC层)到网络E中的19个权重层(16转换和3 FC层),使用的配置和上述2.1中描述的保持一致。卷积层的宽度(通道数)是相当小的,从第一层的64开始,然后在每个最大池化层之后增加2倍,直到512。

 

同时,作者说明了虽然vgg网络比较深层,但是其中包含的参数不高于其他较浅层的网络。

在表2中,作者报告了每个配置的参数数量。尽管深度很大,但作者的网中的权重数并不大于较浅的网中的权重数,较浅的网具有较大的转换层宽度和接收域((Sermanet et al., 2014),权重为144M。

 

2.3 讨论

作者接着讨论了接受域的问题:很容易看到,两个3 × 3conv层的堆栈(中间没有空间池)有一个5 × 5的有效接收域;三个这些层具有7 × 7的有效接收域。例如,使用三个3×3 conv.层而不是单个7×7层的堆栈。首先,作者引入了三个非线性整流层,而不是一个非线性整流层,这使得决策函数更有区别。其次,作者减少了参数的数量:假设三层3 × 3卷积堆栈的输入和输出都有C通道,堆栈参数为权重;同时,一个7 × 7conv层需要的参数,即81%以上。这可以被看作是在7 × 7转换滤波器上强加一种正则化,迫使它们通过3 × 3滤波器进行分解(中间注入非线性)。

 

引入1 × 1转换层(配置C,表1)是增加决策函数的非线性而不影响转换层的接受域的一种方法。尽管在作者的例子中,1 × 1卷积本质上是在相同维数的空间上的线性投影(输入和输出通道的数量相同),但整流函数引入了额外的非线性。值得注意的是,最近Lin等人(2014)的“网络中的网络”架构中已经使用了1 × 1转换层。

3. 分类框架

作者在本节将详细描述vgg网络用于分类任务的训练和评估过程。

3.1 训练

  1. vgg网络和其他网络相比,由于使用了更小的conv层和更深的深度且作者在训练的时候预先初始化了网络的权重,所以使得网络收敛的速度更快。卷积神经网络的训练过程一般遵循Krizhevsky等人(2012)的方法(除了从多尺度训练图像中采样输入作物,后面会解释)。即采用带动量的小批量梯度下降(基于反向传播(LeCun et al., 1989))优化多项logistic回归目标进行训练。批量大小设置为256,动量设置为0.9。通过权重衰减(L2惩罚乘数设置为5·10−4)和前两个全连接层的dropout正则化(dropout ratio设置为0.5)对训练进行正则化。学习速率最初被设置为10−2,当验证集的准确性停止提高时,学习速率下降了10倍。总而言之,学习速率降低了3倍,在370K次迭代(74 epoch)后停止学习。我们推测,尽管与(Krizhevsky等人,2012)相比,作者的网有更大的参数数量和更大的深度,但由于(a)更大的深度和更小的卷积滤波器尺寸所施加的隐式正则化,网需要更少的epoch来收敛;(b)预先初始化若干层。
  2. 作者介绍了vgg网络权重初始化的重要性和方法。作者介绍更好的网络权重初始化会使得网络更加优化,相反,不好的网络权重初始化,会使得阻碍网络学习。网络权值的初始化是很重要的,因为糟糕的初始化会由于深网中梯度的不稳定性而阻碍学习。为了解决这个问题,我们开始训练配置A(表1),足够浅,可以用随机初始化进行训练。然后,在训练更深层架构时,作者将前4个卷积层和后3个全连接层用网A层初始化(中间层随机初始化)。作者没有降低预先初始化的层的学习率,允许它们在学习过程中改变。对于随机初始化(如适用),作者从均值为零、方差为10 - 2的正态分布中采样权重。偏差以零初始化。值得注意的是,在论文提交后,作者发现可以使用gloot & Bengio(2010)的随机初始化过程来初始化权值,而无需进行预训练。
  3. 作者介绍了对图像的crop操作和平移旋转等。为了获得固定大小的224×224 ConvNet输入图像,它们从重新缩放的训练图像中随机裁剪(每次SGD迭代,每一幅图像都裁剪一段)。为了进一步扩大训练集,对作物进行了随机水平翻转和随机RGB颜色变换(Krizhevsky et al., 2012)。训练图像缩放的解释如下。
  4. 训练图像大小的选择设S是各向同性缩放的训练图像的最小边,卷积神经网络的输入将从该图像中裁剪出来(作者称S为训练尺度)。当作物大小固定为224 × 224时,原则上S可以取不小于224的任何值:当S = 224时,作物将捕获全图像统计,完全跨越训练图像的最小边;对于S≫224,裁剪将对应于图像的一小部分,包含一个小物体或物体部分。
  5. 两种方法来设置训练尺度S。第一种是固定S,它对应于单尺度的训练(注意,采样的作物内的图像内容仍然可以表示多尺度的图像统计)。在作者的实验中,评估了在两个固定尺度下训练的模型:S = 256(这在现有技术中被广泛使用(Krizhevsky et al., 2012;Zeiler & Fergus, 2013年;Sermanet et al., 2014))和S = 384。给定一个ConvNet构型,作者首先使用S = 256来训练网络。为了加快S = 384网络的训练速度,作者使用S = 256预训练的权值对其进行初始化,使用较小的初始学习率10−3。
  6. 使用多尺度进行训练。第二种设置S的方法是多尺度训练,每个训练图像从一定范围[Smin, Smax]随机采样S,分别缩放(我们使用Smin = 256和Smax = 512)。由于图像中的物体可以有不同的大小,在训练时考虑到这一点是有益的。这也可以看作是训练集的扩充被规模抖动,其中一个单一模型被训练去识别不同尺度的物体。由于速度的原因,作者通过对同一配置的单尺度模型的所有层进行微调来训练多尺度模型,用固定的S = 384进行预训练。

3.2 测试评估

作者详细阐述了使用的测试步骤

在测试时,给定一个经过训练的卷积神经网络和一个输入图像,按以下方式进行分类。首先,它是各向同性缩放到预定义的最小图像边,记为Q(也称为测试尺度)。作者注意到Q并不一定等于训练量表S(正如作者将在第4节中展示的那样,对每个S使用几个Q值会导致性能的提高)。然后,以类似于(Sermanet et al., 2014)的方式,将网络密集地应用于缩放后的测试图像。即全连接层首先转换为卷积层(第一FC层为7 × 7转换层,最后两个FC层为1 × 1转换层)。得到的全卷积网络然后应用于整个(未裁剪的)图像。结果是一个类分数图,其中通道的数量等于类的数量,以及一个可变的空间分辨率,取决于输入图像的大小。最后,为了获得图像的等级分数的固定大小的向量,对等级分数地图进行空间平均(求和池)。作者还通过水平翻转图像来扩充测试集;对原始图像和翻转图像的soft-max类后验进行平均,得到图像的最终得分。

作者解释了vgg网络评估中是否采用crop以及采用crop的方式

由于全卷积网络应用于整个图像,所以在测试时不需要对多个作物进行采样(Krizhevsky et al., 2012),因为每一种作物都需要重新计算网络,所以效率较低。同时,像Szegedy等人(2014)所做的那样,使用大量的农作物可以提高精度,因为与全卷积网络相比,它可以对输入图像进行更精细的采样。此外,由于不同的卷积边界条件,多作物评价与密集评价是互补的:当应用一个事先作物,卷积功能地图用0填充,在密集的情况下评估填充为同一作物自然来自邻近的部分图像(由于玲珑和空间池),这大大增加了整体网络接受域,这样就捕获了更多的上下文。虽然作者认为在实践中,多作物计算时间的增加并不能证明在准确性方面的潜在收益,但作为参考,作者也使用每个尺度50个作物(5 × 5正则网格,2次翻转)来评估vgg网络,对于3个尺度共150个作物,这与Szegedy等人(2014)使用的4种规模的144种作物相当。

​​​​​​​3.3 实现细节

作者使用了多GPU训练方法

作者的实现来自于公开可用的c++ Caffe工具箱(Jia, 2013)(在2013年12月推出),但包含了许多重大的修改,可以实现在单个系统中安装的多个gpu上执行培训和评估,以及训练和评估全尺寸(未裁剪)图像在多个尺度(如上所述)。多GPU训练利用了数据的并行性,将每一批训练图像分割成多个GPU批次,并在每个GPU上并行处理。计算完GPU批处理梯度后,求其平均值,得到全批处理的梯度。梯度计算是跨GPU同步的,所以结果与在单个GPU上训练时完全相同。

4.分类实验

数据集的选择

选择ImageNet 2012数据集进行训练。

​​​​​​​4.1 单一尺度评价

作者从使用第2.2节中描述的层配置在单一尺度上评估单个卷积神经网络模型的性能开始。对于固定的S, Q = S;对于抖动的S∈[Smin, Smax], Q = 0.5(Smin + Smax)。结果如表3所示。在没有任何归一化层的情况下,使用局部响应归一化(A- lrn网络)不会改善模型A。因此,作者也在更深层次的架构(B-E)中不使用标准化。

 

下面是对表3中采用不同网络结构 + 不同训练尺度 + 不同测试尺度(但是对每个训练尺度来说测试尺度使用是单一的)的测试结果的总结描述

作者观察到的分类误差随深度增加事先:从11层至19层e .值得注意的是,尽管同样的深度,配置C(包含三个1×1 conv.层),执行比配置D,采用3×3 conv.层在整个网络。这表明,虽然额外的非线性确实有帮助(C比B好),但通过使用具有非平凡接收域的conv. filters来捕获空间上下文也很重要(D比C好)。当深度达到19层时,vgg架构的错误率饱和,但更深入的模型可能对更大的数据集有益。作者还比较了B与浅净净五5×5 conv.层,由取代每一对来自B 3×3 conv.层用一个5×5 conv.层(相同的接受域解释。2.3)。浅网的第一误差被测量到比B网(在中心作物上)高7%,这证实了带小过滤器的深网比带大过滤器的浅网性能好。最后,训练时间尺度抖动(S∈[256;512])比固定最小边(S = 256或S = 384)的图像训练效果明显更好,即使在测试时使用单一尺度。这证实了通过尺度抖动增强训练集确实有助于捕获多尺度图像统计信息。

​​​​​​​4.2 多尺度训练评价

下面是作者对于不同训练尺度下使用不同测试尺度进行评估的方法概述

在单一尺度上评估了卷积神经网络模型之后,作者还评估了尺度抖动在测试时的影响。它包括在测试图像的几个缩放版本上运行一个模型(对应于不同的Q值),然后对得到的类后验进行平均。考虑到训练尺度与测试尺度的差异较大,导致性能下降,作者对固定S训练的模型在3种测试图像尺寸下进行评估,接近于训练图像尺寸:Q = S−32,S, S + 32。同时,由于训练时间尺度的抖动,使得网络在测试时间可以应用到更大范围的尺度上,因此变量S∈[Smin;对更大范围的尺寸Q = Smin, 0.5(Smin + Smax), Smax进行评估。

下面是作者使用多尺度测试集评估的结果

表4所示的结果表明,测试时间的尺度抖动导致了更好的性能(与单尺度评估相同模型相比,如表3所示)。与之前一样,深度配置(D和E)的性能最好,在验证集上,单网络的最佳性能为24.8%/7.5%的top-1/top-5错误(表4中粗体部分突出显示)。在测试集上,配置E的top-5错误为7.3%。

 

​​​​​​​4.3 多个crop评估

作者比较了多crop评估和密集网络评估结果

在表5中,作者比较了密集卷积网络评估和多作物评估(详见第3.2节)。作者还通过平均它们的softmax输出来评估两种评估技术的互补性。可以看出,使用多种作物的效果略好于密集评估,而且两种方法确实是互补的,因为它们的组合比它们各自的效果更好。如上所述,作者假设这是由于对卷积边界条件的不同处理。

 

​​​​​​​4.4 网络融合

到目前为止,作者评估了单个ConvNet模型的性能。在这一部分的实验中,作者通过平均几个模型的软最大类后验来组合它们的输出。由于模型的互补性,这提高了性能,并在2012年(Krizhevsky et al., 2012)和2013年(Zeiler & Fergus, 2013;Sermanet et al., 2014)。

结果如表6所示。在ILSVRC提交时,作者只训练了单尺度网络,以及多尺度模型D(通过仅微调完全连接的层而不是所有层)。结果显示,7个网络的集成具有7.3%的ILSVRC测试误差。提交后,作者考虑了两个性能最好的多尺度模型(配置D和E)的集合,使用密集评估将测试误差降低到7.0%,使用联合密集和多作物评估将测试误差降低到6.8%。下面是表现最好的单个模型误差为7.1%(模型E,表5)。

 

​​​​​​​4.5 与目前的先进技术水平进行比较

最后,作者将结果与表7中的技术状态进行比较。在ILSVRC-2014挑战赛(Russakovsky et al., 2014)的分类任务中,作者的“VGG”团队以使用7个模型集成,测试误差为7.3%。在提交后,作者使用2个模型的集成将错误率降低到6.8%。

从表7可以看出,本文提出的very deep ConvNets明显优于前一代模型,在ILSVRC-2012和ILSVRC-2013比赛中取得了最好的结果。作者的结果与分类任务优胜者(GoogLeNet,误差6.7%)相比也很有竞争力,并显著优于ILSVRC-2013获奖作品Clarifai,在有外部训练数据的情况下达到了11.2%,在没有外部训练数据的情况下达到了11.7%。这是值得注意的,作者实验的最佳结果是通过组合两个模型实现的——比大多数ILSVRC提交的报告中使用的要少得多。在单网性能方面,作者提出来的vgg的架构达到了最好的结果(7.0%的测试错误),比单个GoogLeNet的性能高出0.9%。值得注意的是,作者并没有背离LeCun等人(1989)的经典卷积神经网络架构,而是通过大幅增加深度对其进行了改进。

 

5.总结

在这项工作中,作者评估了用于大规模图像分类的非常深的卷积网络(多达19个权重层)。结果表明,卷积神经网络深度对提高分类精度有好处,使用传统的ConvNet架构可以实现ImageNet挑战数据集的最先进的性能(LeCun等人,1989;Krizhevsky等人,2012年)大幅增加深度。在附录中,作者还展示了提出来的vgg模型可以很好地推广到广泛的任务和数据集,匹配或优于围绕较少深度图像表示构建的更复杂的识别管道。作者的研究结果再次证实了深度在视觉表现中的重要性。

论文后边又添加了作者在其他任务中使用vgg网络架构的实验结果

1.定位任务

在本文的主体部分,作者考虑了ILSVRC的分类任务,并对不同深度的ConvNet架构进行了全面的评估。在本节中,作者将转向挑战的本地化任务,这是作者在2014年以25.3%的错误赢得的。它可以被看作是对象检测的一个特殊情况,在这种情况下,前5个类中的每一个都应该预测一个单一的对象包围框,而不考虑类中的实际对象数量。为此,作者采用了Sermanet等人(2014)的方法,他们是ILSVRC-2013本地化挑战的获胜者,并进行了一些修改。我们的方法在1.1节中描述,在1.2节中评估。

​​​​​​​1.1 定位网络架构

作者描述了进行目标定位的网络架构

为了执行对象定位,作者使用了一个非常深的ConvNet,其中最后一个完全连接的层预测了边界盒的位置,而不是类分数。边界框由存储其中心坐标、宽度和高度的4-D向量表示。作者介绍可以选择边界盒预测是在所有类中共享(单类回归,SCR (Sermanet et al., 2014))还是在类中特定(每类回归,PCR)。在前一种情况下,最后一层是4-D,而在后者中是4000-D(因为数据集中有1000个类)。除了最后的包围盒预测层,作者使用ConvNet架构D(表1),它包含16个权重层,被发现在分类任务中表现最好(Sect. 4)。

训练细节

定位卷积神经网络的训练类似于分类卷积神经网络的训练(章节3.1)。主要的区别是,作者用欧氏损失代替逻辑回归目标,这惩罚了预测的边界盒参数与地面真相的偏差。作者训练了两个定位任务模型,每个都是在单一的尺度上:S = 256和S = 384(由于时间限制,作者在ILSVRC-2014提交中没有使用训练尺度抖动)。使用相应的分类模型初始化训练(在相同的尺度上进行训练),初始学习率设置为10−3。作者探索了对所有层的微调和对前两个完全连接的层的微调,正如在(Sermanet et al., 2014)中所做的那样。最后一个完全连接的层被随机初始化并从零开始训练。

测试细节

作者考虑两个测试方案。第一种方法用于比较不同的网络修改对验证集的影响,并且只考虑对ground truth类的边界框预测(来剔除分类错误)。通过将网络只应用于图像的中心裁剪得到边界框。

第二个完全成熟的测试过程是基于对整个图像进行密集的卷积神经网络定位,类似于分类任务(第3.2节)。不同之处在于,最后一个完全连接层的输出是一组边界框预测,而不是类分数地图。为了得到最终的预测,作者使用了Sermanet et al.(2014)的贪婪合并过程,该过程首先合并空间上接近的预测(通过平均它们的坐标),然后根据分类卷积网络获得的类分数对它们进行评级。当使用几个局部卷积网时,作者首先取它们的包围盒预测集的并集,然后在并集上运行合并过程。作者没有使用多重池化弥补技术,提高了边界框预测的空间分辨率,进一步改善了结果。

​​​​​​​1.2 定位实验

在本节中,作者首先确定性能最好的本地化设置(使用第一个测试协议),然后在一个成熟的场景中评估它(第二个协议)。根据ILSVRC准则测量定位误差(Russakovsky et al., 2014),即与地真值包围盒的并集比相交大于0.5,则认为该包围盒预测是正确的。

设置的比较。从表8可以看出,逐类回归(PCR)优于不确定类的单类回归(SCR),这与Sermanet et al.(2014)的研究结果不同,在Sermanet et al.(2014)中,PCR优于SCR。作者还注意到,为定位任务对所有层进行微调,比只对完全连接的层进行微调明显更好(正如在(Sermanet et al., 2014)中所做的那样)。在这些实验中,最小的图像侧设置为S = 384;当S = 256时,结果显示了相同的行为,但为了简洁,没有显示出来。

 

全面的评估。在确定最好的本地化设置(所有层的PCR,微调),作者现在把它应用在成熟的场景中,在五大类标签预计使用作者表现最好的分类系统(4.5),和多个densely-computed边界框预测合并使用Sermanet et al .(2014)的方法。从表9可以看出,与使用中心作物(表8)相比,将卷积神经网络定位到整个图像上大大改善了结果,尽管使用的是前5个预测等级标签而不是地面真实值。类似于分类任务(第4节),在多个尺度上进行测试,并结合多个网络的预测,进一步提高了性能。

与目前的技术水平进行比较。作者将最佳本土化结果与表10中的技术状态进行了比较。作者的“VGG”团队以25.3%的测试误差赢得了ILSVRC-2014的本地化挑战(Russakovsky等人,2014)。值得注意的是,作者的结果比ILSVRC-2013获胜者Overfeat (Sermanet et al., 2014)的结果要好得多,尽管作者使用的尺度更少,也没有使用他们的分辨率增强技术。作者认为,如果将这一技术整合到基于vgg架构的方法中,将能够获得更好的本土化性能。这表明了作者提出非常深的ConvNets带来了性能进步——作者用更简单的定位方法得到了更好的结果,但有了更强大的表示。

 

2.深度特征提取

在前面的章节中,作者已经讨论了在ILSVRC数据集上非常深的卷积神经网络的训练和评估。在本节中,作者评估vgg卷积神经网络(预先在ILSVRC上训练过的卷积神经网络)作为特征提取器在其他小的数据集上,由于过度拟合,从头训练大型模型是不可行的。最近,有很多人对这样的用例感兴趣(Zeiler & Fergus, 2013;Donahue等人,2013年;Razavian等人,2014年;Chatfield等人,2014),因为事实证明,在ILSVRC上学习的深度图像表示,可以很好地推广到其他数据集,在这些数据集上,它们的表现大大优于手工制作的表示。按照这条工作路线,作者研究vgg模型是否比用最先进的方法使用的更浅的模型有更好的性能。在这个评估中,作者考虑在ILSVRC(第4节)上具有最佳分类性能的两个模型-配置“Net-D”和“Net-E”(公开提供)。

运用网络微调

为了利用在ILSVRC上预先训练的ConvNets对其他数据集进行图像分类,作者删除了最后一个全连接层(执行1000路ILSVRC分类),并使用倒数第二层的4096-D激活作为图像特征,这些特征跨越多个位置和尺度聚合。得到的图像描述符是l2归一化的,并与在目标数据集上训练的线性SVM分类器相结合。为简单起见,预先训练的卷积神经网络权值保持固定(不进行微调)。

特征聚合的方式与之前vgg网络在ILSVRC中的评估程序(第3.2节)类似。也就是说,首先对图像进行缩放,使其最小的边等于Q,然后在图像平面上密集应用网络(当所有权重层都被视为卷积时,这是可能的)。然后,作者对得到的特征图执行全局平均池,从而产生4096-D图像描述符。然后将描述符与水平翻转图像的描述符平均。正如第4.2节所示,在多个尺度上进行评价是有益的,因此作者提取了多个尺度Q上的特征。得到的多尺度特征可以在多个尺度上堆叠或汇集。堆叠允许随后的分类器学习如何在一系列尺度上最优地组合图像统计;然而,这是以增加描述符维为代价的。在下面的实验中,作者将回到对这个设计选择的讨论。作者也评估特征的后期融合,使用两个网络计算,这是通过堆叠各自的图像描述符执行的。

vocs -2007和vocs -2012的图像分类。作者首先对PASCAL VOC-2007和VOC-2012基准的图像分类任务进行评估(Everingham等,2015)。这些数据集分别包含10K和22.5K的图像,每个图像都有一个或多个标签标注,对应20个对象类别。VOC组织者提供了预先定义的培训、验证和测试数据(VOC-2012的测试数据不公开;而是提供了一个官方的评估服务器)。识别性能是通过平均平均精度(mAP)来衡量的。

值得注意的是,通过检查vocs -2007和vocs -2012验证集的性能,作者发现,通过平均计算,在多个尺度上聚合的图像描述符和通过叠加聚合的方式相似。作者假设,这是因为在VOC数据集中,对象出现在不同的尺度上,所以分类器没有可以利用的特定尺度语义。由于平均的优点是不会扩大描述符的维度,因此作者能够在广泛的尺度上聚合图像描述符:Q∈256,384,512,640,768。值得注意的是,在较小的256,384,512范围内的改进是非常微小的(0.3%)。

表11中报告了测试集的性能,并与其他方法进行了比较。作者提出来的vgg网络“Net-D”和“Net-E”在VOC数据集上表现出相同的性能,它们的组合稍微改善了结果。作者的方法在图像表示中设置了新的艺术状态,在ILSVRC数据集上进行了预训练,比Chatfield等人(2014)之前的最佳结果高出6%以上。值得注意的是,Wei等人(2014)的方法在vocs -2012上的mAP提高了1%,是在扩展的2000类ILSVRC数据集上进行的预训练,该数据集包含了额外的1000个类别,语义上接近VOC数据集。它还受益于与目标检测辅助分类管道的融合。

 

图像分类Caltech-101和Caltech-256。在本节中,作者评估Caltech-101 (Fei-Fei et al., 2004)和Caltech-256 (Griffin et al., 2007)图像分类基准上非常深入的特征。Caltech-101包含9K图像,分为102个类(101个对象类别和一个背景类),而Caltech-256更大,有31K图像和257个类。对这些数据集的一个标准评估协议是生成几个随机分组到训练和测试数据中,并报告这些分组的平均识别性能,这是由平均类召回率衡量的(这弥补了每个类不同数量的测试图像)。跟随Chatfield等人(2014);Zeiler & Fergus (2013);He等人(2014),在Caltech-101上,作者生成了3个随机分割的训练和测试数据,因此每个分割包含每个类30个训练图像,每个类多达50个测试图像。在Caltech-256上,作者也生成了3个分割,每个分割包含每个类60个训练图像(其余用于测试)。在每次分割中,20%的训练图像被用作超参数选择的验证集。

作者发现,与VOC不同的是,在Caltech的数据集上,在多个尺度上计算的描述符的叠加,比平均或max-pooling性能更好。这可以解释为,在Caltech图像中,对象通常占据整个图像,因此多尺度图像特征在语义上是不同的(捕获整个对象与对象部分),并且堆栈允许分类器利用这种特定尺度的表示。我们使用三个尺度Q∈256,384,512。

表11对作者的模型和最新技术进行了比较。可以看出,较深的19层Net-E性能优于16层Net-D,它们的组合进一步提高了性能。在Caltech-101上,作者的表述与He等人(2014)的方法具有竞争力,然而,后者在vocs -2007上的表现明显不如作者提出来的vgg网络。在Caltech-256上,作者的特征远远超过了最先进的技术(Chatfield et al., 2014)(8.6%)。

vocs -2012行动分类。作者还在PASCAL vocs -2012动作分类任务(Everingham等人,2015)上评估了我们表现最好的图像表示(Net-D和Net-E特征的叠加),该任务包括从单个图像中预测动作类别,给出执行动作的人的边界框。该数据集包含4.6K张训练图像,分为11个类。与vocs -2012对象分类任务类似,使用mAP测量性能。作者考虑了两种训练设置:(i)计算整个图像上的卷积神经网络特征,忽略所提供的包围框;(ii)计算整个图像和所提供的包围盒上的特征,并对其进行叠加,得到最终的表示。结果与表12中的其他方法进行了比较。

 

即使不使用所提供的边界框,作者的表示也达到了VOC动作分类任务的先进水平,并且当同时使用图像和边界框时,结果得到了进一步的改进。与其他方法不同,作者没有包含任何特定于任务的启发式,而是依赖于非常深的卷积特征的表示能力。

其他识别任务。自从作者的模型公开发布以来,它们已经被研究团体积极地用于广泛的图像识别任务,始终优于更浅层的表示。例如,Girshick et al.(2014)通过用作者的16层模型替换Krizhevsky et al.(2012)的ConvNet来实现目标检测结果的状态。Krizhevsky等人(2012)在一个更浅层的架构上在语义分割(Long et al., 2014),图像标题生成(Kiros et al., 2014;Karpathy & feifei, 2014),纹理和材料识别(Cimpoi等人,2014;Bell等人,2014)任务中得到了类似的效果。

论文贡献

论文的主要贡献是对使用非常小的(3 × 3)卷积滤波器的体系结构的深度增加网络的彻底评估,这表明,通过将深度推至16-19个权重层,可以实现对现有技术配置的显著改进。也就是说适当的增加网络的深度,可以实现对精度的提升。

个人总结

本文是vggnet网络提出来的最初论文,作者在对比了其他更改网络架构的方法,如:更改卷积层conv的尺寸和stride步长、改变网络接受域大小、更改网络第一层conv的大小等。本文提出了加深网络结构,但是均使用3x3conv层的方法,并设置了几组对照实验:控制训练尺度、控制测试尺度、单一尺度、多尺度、使用crop和密集网络进行测试、以及将crop和dense密集技术进行融合等(详见上文中实验部分)。

而后,作者又将vgg和其他sota网络进行了对比。vgg也获得了不错的成绩。

最后,作者又增加了扩充实验,将vgg作为目标定位器和特征提取器运用到众多数据集中,也都表现出了当时比较先进的结果。

//本文仅作为个人日后复习使用,并无他用。

以上是关于VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGG网络)-论文阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章

awesome-very-deep-learning

一文读懂深度学习经典论文AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)

论文笔记Reading Scene Text in Deep Convolutional Sequences

论文解读《ImageNet Classification with Deep Convolutional Neural Networks》

论文笔记之:DeepCAMP: Deep Convolutional Action & Attribute Mid-Level Patterns

Theano-Deep Learning Tutorials 笔记:Convolutional Neural Networks (LeNet)