VGG——深度学习框架(二)

用于大规模图像识别的深度卷积网络

摘要

在这项工作中,我们研究了卷积网络深度对其在大规模图像识别设置的准确性的影响。我们的主要贡献是通过使用非常小(3×3)卷积滤波器的架构对增加深度的网络进行了全面的评估,这表明通过将深度推至16-19个权重层,可以显著改善现有技术配置。这些发现是我们ImageNet 2014挑战赛提交的基础,我们的团队在本地化和分类方面分别获得了第一名和第二名。我们还表明,我们的表示可以很好地推广到其他数据集,在那里他们获得了最先进的结果。我们已经公开了我们的两个性能最好的卷积神经网络模型,以促进对深度视觉表示在计算机视觉中的使用的进一步研究。

1 导论

最近,卷积网络(ConvNets)在大规模图像和视频识别领域取得了巨大成功(Krizhevsky et al., 2012;Zeiler & Fergus, 2013;Sermanet等人,2014;Simonyan & Zisserman, 2014),由于大型公共图像存储库,如ImageNet (Deng et al., 2009)和高性能计算系统,如gpu或大规模分布式集群(Dean et al., 2012),这已经成为可能。特别是,ImageNet大规模视觉识别挑战(ILSVRC) (Russakovsky et al., 2014)在深度视觉识别体系结构的发展中发挥了重要作用,它已经成为几代大规模图像分类系统的试验台,从高维浅层特征编码(Perronnin et al., 2010) (ILSVRC-2011获奖者)到深度卷积网(Krizhevsky et al., 2012) (ILSVRC-2012获奖者)。

随着卷积神经网络(ConvNets)在计算机视觉领域变得越来越普遍,人们进行了一些尝试,以改进Krizhevsky等人(2012)的原始架构,以获得更好的精度。例如,ILSVRC2013 (Zeiler & Fergus, 2013;Sermanet等人,2014)使用了更小的接受窗口大小和更小的第一个卷积层的步幅。另一条改进线是在整个图像和多个尺度上密集地训练和测试网络(Sermanet et al., 2014;霍华德,2014)。在本文中,我们讨论了ConvNet体系结构设计的另一个重要方面——它的深度。为此,我们固定了体系结构的其他参数,并通过增加更多的卷积层来稳步增加网络的深度,这是可行的,因为在所有层中都使用了非常小的(3 × 3)卷积滤波器。

因此,我们提出了更精确的ConvNet架构,它不仅在ILSVRC分类和定位任务上达到了最先进的精度,而且也适用于其他图像识别数据集。即使作为一个相对简单的管道的一部分(例如,深度特征分类的线性支持向量机没有微调),它们也能取得优异的性能。我们已经发布了我们的两个性能最好的模型,以促进进一步的研究。本文的其余部分组织如下。在第二节中,我们描述了卷积神经网络的结构。然后在第3节中介绍了图像分类训练和评估的细节,并在第4节中比较了ILSVRC分类任务的配置。第5节是本文的结尾。为了完整性,我们还在附录xa中描述和评估了ILSVRC-2014对象定位系统,并在附录b中讨论了非常深入的特性对其他数据集的概括。最后,附录C包含了主要的论文修改列表。

2 ConvNet 配置

为了在公平的环境下测量增加的ConvNet深度带来的改进,我们所有的ConvNet层配置都采用相同的原则设计,灵感来自Ciresan et al. (2011);Krizhevsky等人(2012)。在本节中,我们首先描述了ConvNet配置的一般布局(第2.1节),然后详细描述了评估过程中的具体配置(第2.2节)。我们的设计选择将在第2.3节中与现有技术进行讨论和比较。

2.1 结构

在训练期间,我们的卷积神经网络的输入是一个固定大小的 224 × 224 RGB图像。我们所做的唯一预处理就是从每个像素中减去在训练集上计算的平均RGB值。图像经过一堆卷积(conv.)层,其中我们使用带有非常小的接受域的滤波器:3 × 3(这是捕捉左/右、上/下、中间概念的最小尺寸)。在其中一种配置中,我们还使用了1 × 1卷积滤波器,这可以看作是输入通道的线性变换(随后是非线性)。卷积步长固定为1像素;对输入的卷积层进行空间填充使卷积后的空间分辨率保持不变,即3 × 3个卷积层的填充为1像素。空间池是由5个最大池化层来实现的,它们在一些卷积层之后(并不是所有的卷积层之后都有最大池化层)。最大池化在一个2 × 2像素的窗口上执行,步幅为2。

一个卷积层(在不同的体系结构中有不同的深度)堆栈后面是三个全连接(FC)层:前两个层各有4096个通道,第三个层执行1000种ILSVRC分类,因此包含1000个通道(每个类一个)。最后一层是Softmax。在所有网络中,全连接层的配置是相同的。

所有隐藏层都配备了非线性校正(ReLU (Krizhevsky et al., 2012))。我们注意到,我们的网络(除了一个)没有包含局部响应归一化(LRN)标准化(Krizhevsky et al., 2012):正如第4节所示,这种标准化不会提高ILSVRC数据集的性能,但会增加内存消耗和计算时间。在适用的情况下,LRN层的参数为(Krizhevsky et al., 2012)。

2.2 配置

表1列出了本文中评估的ConvNet配置,每列一个。下面我们将以网名(A-E)来称呼它们。所有配置均遵循2.1节中提出的通用设计,仅在深度上不同:从网络A的11个权重层(8个卷积层和3个FC层)到网络E的19个权重层(16个卷积层和3个FC层)。卷积层的宽度(通道的数量)比较小,从第一层的64开始,然后在每一个最大池化层之后增加2倍,直到512。

在这里插入图片描述
表1:ConvNet配置(按列显示)。随着添加更多的层(添加的层以粗体显示),配置的深度从左(A)到右(E)增加。卷积层参数记为“conv <接受域大小>-<通道数>”。为了简洁,没有显示ReLU激活函数。
在这里插入图片描述
在表2中,我们报告了每个配置的参数数量。尽管深度很大,但我们的网中的权重数并不大于具有更大的卷积层宽度和接受域的更浅的网中的权重数(144M权重(Sermanet et al., 2014))。

表2:参数数量(单位:亿)

网络A,A-LRNBCDE
参数数量1.331.331.341.381.44

2.3 讨论

我们的ConvNet配置与ILSVRC-2012 (Krizhevsky et al., 2012)和ILSVRC-2013比赛(Zeiler & Fergus, 2013;Sermanet等人,2014)。而不是在第一层中使用相对较大的接受域(例如11×11with stride 4 in (Krizhevsky et al., 2012),或7×7 stride 2 in (Zeiler & Fergus, 2013;Sermanet et al ., 2014)),我们使用非常小的3×3接受字段在整个网络,这是与输入每个像素卷积(1步)。很容易看到一堆两个3×3 卷积层(没有空间池)之间有一个有效的接受域5×5;三层卷积层有一个7 × 7的有效感受野。那么,通过使用三层3×3 卷积层而不是单一的7×7层,我们得到了什么?首先,将非线性校正层从单一的非线性校正层改为三个非线性校正层,使决策函数具有更强的分辨力;其次,我们减少了参数的数量:假设一个三层3 × 3卷积堆栈的输入和输出都有C通道,该堆栈的参数为 3 ( 3 2 C 2 ) = 27 C 2 3(3^2C^2)= 27C^2 3(32C2)=27C2权重;同时,一个7 × 7的卷积层需要 7 2 C 2 = 49 C 2 7^2C^2= 49C^2 72C2=49C2参数,即多81%。这可以看作是对7 × 7卷积滤波器进行了正则化,迫使它们通过3 × 3滤波器进行分解(在两者之间注入非线性)。

加入1 × 1个卷积层(配置C,表1)是一种在不影响卷积层接受场的情况下增加决策函数非线性的方法。即使在我们的例子中1×1卷积本质上是在相同维度空间上的线性投影(输入和输出通道的数量是相同的),一个额外的非线性是由整流函数引入的。值得注意的是,1×1 卷积层最近已经被Lin等人(2014)的“网络中的网络”架构所使用。

Ciresan等人(2011)曾使用过小型卷积滤波器,但他们的网深度明显低于我们的,而且他们没有对大规模的ILSVRC数据集进行评估。Goodfellow等(2014)将深度卷积神经网络(deep ConvNets, 11个权重层)应用于街道号码识别任务中,结果表明,深度越深,识别效果越好。GoogLeNet (Szegedy et al ., 2014),表现条目ilsvrc - 2014的分类任务,是我们工作的独立开发,但类似,因为它是基于很深回旋网3重量(22层)和小卷积过滤器(除了3×3,他们也用1×1和5×5旋转)。然而,他们的网络拓扑结构比我们的复杂,而且特征图的空间分辨率在第一层被更大幅度地降低,以减少计算量。如第4.5节所示,我们的模型在单网络分类精度方面优于Szegedy et al.(2014)。

3 分类框架

在前一节中,我们介绍了网络配置的细节。在本节中,我们描述了分类卷积神经网络训练和评估的细节。

3.1 训练

卷积神经网络的训练过程通常遵循Krizhevsky等人(2012)(除了从多尺度训练图像中取样输入作物,稍后解释)。即,训练是通过使用小批量梯度下降(基于反向传播(LeCun et al., 1989))的动量优化多项logistic回归目标来进行的。批大小设置为256,动量设置为0.9。训练通过重量衰减(L2penalty multiplier设置为 5 ⋅ 1 0 − 4 5·10^{−4} 5104)和前两个全连接层的dropout正则化(drop ratio设置为0.5)进行规范化。学习速率最初设置为 1 0 − 2 10^{−2} 102,然后当验证集的准确性停止提高时,学习率降低了10倍。总的来说,学习速率下降了3次,370K次(74 epoch)后停止学习。我们推测,与(Krizhevsky et al., 2012)相比,尽管我们的网有更多的参数和更大的深度,但由于(a)更大的深度和更小的对流滤波器尺寸所造成的隐式正则化,我们的网需要更少的时点来收敛;(b)某些层的预初始化。

网络权值的初始化是很重要的,因为糟糕的初始化会由于深度网络的梯度的不稳定性而导致学习停滞。为了避免这个问题,我们从训练配置A(表1)开始,它足够浅,可以用随机初始化进行训练。然后,在训练更深层次的架构时,我们初始化了前4个卷积层和最后3个完全连接的层,使用网络A层(中间层随机初始化)。我们没有降低预初始化层的学习速率,允许它们在学习过程中进行更改。对于随机初始化(如适用),我们从均值为0、方差为10−2的正态分布中取样权值。偏差初始化为零。值得注意的是,在论文提交后,我们发现,使用gloria & Bengio(2010)的随机初始化程序,在没有预先训练的情况下初始化权重是可能的。

为了获得fixed-size224×224ConvNet输入图像,从重新缩放的训练图像中随机裁剪它们(每SGD迭代一次裁剪每张图像)。为了进一步增加训练集,作物经历了随机水平翻转和随机rgb颜色变换(Krizhevsky et al., 2012)。训练图像缩放解释如下。

训练图像大小。设S是各向同性重新缩放的训练图像的最小边,从这张图像裁剪卷积神经网络的输入(我们也称S为训练尺度)。当裁剪大小固定为224 × 224时,原则上S可以取不小于224的任何值:对于S = 224,裁剪将捕获全图像统计数据,完全覆盖训练图像的最小边;对于S≫224,裁剪将对应于图像的一小部分,包含一个小对象或对象部分。

我们考虑两种方法来设置训练尺度S。第一种是固定S,它对应于单尺度训练(注意,采样作物内的图像内容仍然可以表示多尺度图像统计)。在我们的实验中,我们评估了在两个固定尺度下训练的模型:S = 256(这在现有技术中已被广泛使用(Krizhevsky et al., 2012;Zeiler & Fergus, 2013;Sermanet等,2014)),S = 384。给定一个ConvNet配置,我们首先使用S = 256对网络进行训练。为了加快S = 384网络的训练速度,我们使用S = 256预先训练的权值初始化网络,并使用较小的初始学习率10−3。

第二种设置S的方法是多尺度训练,每幅训练图像通过从一定范围[Smin, Smax](我们使用Smin= 256和Smax= 512)随机采样S来单独缩放。因为图像中的物体可以有不同的大小,所以在训练时考虑到这一点是有益的。这也可以看作是通过尺度抖动来增强训练集,即训练一个单一的4模型来识别大范围尺度上的物体。由于速度方面的原因,我们通过对具有相同配置的单尺度模型的所有层进行微调来训练多尺度模型,预先用固定的S = 384进行训练。

3.2 测试

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

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

3.3 实现细节

我们的实现来自于公开可用的c++ Caffe工具箱(Jia, 2013)(在2013年12月扩展),但包含了一些重要的修改,允许我们在单个系统中安装的多个gpu上执行训练和评估,以及在多个尺度上对全尺寸(未裁剪)图像进行训练和评估(如上所述)。多GPU训练利用数据并行性,将每批训练图像分割成若干批GPU,在每个GPU上并行处理。GPU批处理梯度计算后,将它们平均得到完整批处理的梯度。梯度计算在GPU上是同步的,所以结果与在单个GPU上训练是完全相同的。

虽然最近有人提出了更复杂的方法来加速卷积神经网络的训练(Krizhevsky, 2014),这些方法为不同的网络层采用了模型和数据并行性,但我们发现,我们的概念上简单得多的方案已经在现成的4-GPU系统上提供了3.75倍的加速。与使用单个GPU相比。在一个配备了4个NVIDIA Titan Black gpu的系统上,根据架构的不同,单个网络的训练需要2-3周。

4 分类实验

数据集。在本节中,我们将在ILSVRC-2012数据集(用于ILSVRC 2012 - 2014挑战)上展示所描述的ConvNet架构获得的图像分类结果。该数据集包括1000个类的图像,并分为三个集:训练(1.3M图像),验证(50K图像),和测试(100K图像持有类标签)。分类性能使用两个指标进行评估:top-1和top-5错误。前者是多类分类错误,即分类错误图像的比例;后者是ILSVRC中使用的5个主要评价标准,计算为ground-truth类别在预测类别前5名之外的图像比例。对于大多数实验,我们使用验证集作为测试集。某些实验也在测试集上进行,并作为“VGG”团队进入ILSVRC-2014比赛提交给ILSVRC官方服务器(Russakovsky et al., 2014)。

4.1 单尺度评估

我们首先用第2.2节中描述的层配置在单个尺度上评估单个ConvNet模型的性能。测试图像大小设置为:固定的S为 Q = S Q = S Q=S,抖动的 S ∈ [ S m i n , S m a x ] S∈[S_{min}, S_{max}] S[Smin,Smax] Q = 0.5 ( S m i n + S m a x ) Q = 0.5(S_{min}+ S_{max}) Q=0.5(Smin+Smax)。结果如表3所示。首先,我们注意到使用局部响应归一化(A- lrn网络)并不能改进没有任何归一化层的模型A。因此,我们没有在更深层次的架构(B-E)中采用归一化。
在这里插入图片描述

第二,我们观察到的分类误差随深度增加事先:从11层至19层E .值得注意的是,尽管同样的深度,配置C(包含三个1×1 卷积层),执行比配置D,采用3×3 卷积层在整个网络。这表明,虽然额外的非线性确实有帮助(C比B更好),但通过使用具有非微不足道接受域的卷积滤波器捕获空间环境也很重要(D比C更好)。当深度达到19层时,我们的架构的错误率就饱和了,但更深入的模型可能有利于更大的数据集。我们还比较了B网络和5个5×5 卷积层的浅层网,这是B通过将每对3×3 卷积层替换为单个5×5 卷积层(其接受场与2.3节中解释的相同)得到的。浅层网的最大误差比B(在中心作物上)高7%,这证实了带有小过滤器的深层网优于带有大过滤器的浅层网。

最后,训练时间尺度抖动(S∈[256;512])的结果明显优于对固定最小边(S = 256或S = 384)的图像进行训练,即使在测试时使用单一尺度。这证实了尺度抖动训练集的扩大确实有助于捕获多尺度图像统计。

4.2 多尺度评价

在单个尺度上评估了卷积神经网络模型后,我们现在评估了测试时尺度抖动的影响。它包括在测试图像的几个缩放版本上运行一个模型(对应于不同的Q值),然后对产生的类后验进行平均。考虑到训练尺度和测试尺度之间的差异较大,会导致性能下降,我们对固定S训练后的模型进行三种测试图像大小的评估,接近训练图像的大小: Q = S − 32 , S , S + 32 Q = {S−32,S, S + 32} Q=S32,S,S+32。同时,由于训练时的尺度抖动,使得网络在测试时适用于更大范围的尺度,所以变量 S ∈ [ S m i n ; S m a x ] S∈[S_{min};S_{max}] S[Smin;Smax]训练的模型在更大的尺度范围内进行评估 Q = { S m i n , 0.5 ( S m i n + S m a x ) , S m a x } Q = \left \{ Smin,0.5(S_{min}+ S_{max}), S_{max} \right \} Q={Smin,0.5(Smin+Smax)Smax}

结果如表4所示,表明在测试时间尺度抖动导致了更好的性能(相比于在单个尺度下评价相同的模型,如表3所示)。与之前一样,最深配置(D和E)表现最好,在验证集上,我们最好的单网络性能是24.8%/7.5% top-1/top-5 错误率(在表4中用粗体突出显示)。在测试集上,配置
E达到7.3%的top-5 错误率。
在这里插入图片描述

4.3 MULTI-CROP 评价

在表5中,我们比较了密集ConvNet评价和多作物评价(详见3.2节)。我们也评估了两种评估技术的互补性,平均他们的softmax输出。可以看出,使用多种作物比密集评估的性能稍好,而且这两种方法确实是互补的,因为它们的组合优于各自的性能。如上所述,我们假设这是由于对卷积边界条件的不同处理。

4.4 ConvNet 融合

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

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

表5:ConvNet评价技术比较。在所有实验中,训练量表S从[256;512],考虑了三种检验量表Q:{256,384,512}。
在这里插入图片描述

在这里插入图片描述

4.5 与技术水平的比较

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

从表7可以看出,我们的非常深的ConvNets明显优于上一代模型,在ILSVRC-2012和ILSVRC-2013比赛中取得了最好的成绩。我们的结果与分类任务获胜者(GoogLeNet有6.7%的错误)相比也具有竞争力,并且显著优于ILSVRC-2013获奖作品Clarifai,后者在使用外部训练数据时达到11.2%,而在没有外部训练数据时达到11.7%。这是值得注意的,考虑到我们的最佳结果是通过结合两个模型实现的——显著少于在大多数ILSVRC提交中使用的。在单网性能方面,我们的体系结构达到了最好的结果(7.0%的测试错误),比单个GoogLeNet的性能高出0.9%。值得注意的是,我们并没有背离LeCun等人(1989)的经典ConvNet架构,而是通过大幅增加深度对其进行了改进。

表7:与ILSVRC分类的最新进展进行比较。我们的方法记为“VGG”。只报告没有外部训练数据的结果。
在这里插入图片描述

5 结论

在这项工作中,我们评估了非常深的卷积网络(多达19个权重层)用于大规模图像分类。研究表明,表示深度有利于分类精度,并且可以使用常规的convnetarchitecture (LeCun et al., 1989;Krizhevsky等人,2012),深度大幅增加。在附录中,我们还展示了我们的模型可以很好地适用于广泛的任务和数据集,匹配或优于围绕较少深度图像表示构建的更复杂的识别管道。我们的研究结果再次证实了深度在视觉表现中的重要性。

A 定位

在本文的主体部分,我们考虑了ILSVRC挑战的分类任务,并对不同深度的ConvNet体系结构进行了全面的评估。在本节中,我们将转向挑战的本土化任务,我们在2014年以25.3%的错误获胜。可以将其看作是对象检测的一种特殊情况,对于前5类中的每一个,都应该预测一个对象边界框,而不考虑类中的实际对象数量。为此,我们采用了ILSVRC-2013本地化挑战的获奖者Sermanet等人(2014)的方法,进行了一些修改。我们的方法在a .1节中描述,在a .2节中评估。

A.1 定位 ConvNet

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

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

测试。我们考虑两种测试方案。第一个用于比较验证集上不同的网络修改,并且只考虑ground truth类的边界框预测(以排除分类错误)。将该网络仅应用于图像的中心裁剪,即可得到边界框。

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

A.2 定位实验

在本节中,我们首先确定性能最佳的本地化设置(使用第一个测试协议),然后在一个成熟的场景中评估它(第二个协议)。定位误差根据ILSVRC准则进行测量(Russakovsky et al., 2014),即如果包围盒预测与ground-truth包围盒的联合比相交大于0.5,则认为包围盒预测是正确的。

设置的比较。从表8可以看出,单类回归(PCR)优于类不可知单类回归(SCR),这与Sermanet et al.(2014)的研究结果不同,在Sermanet et al.(2014)中,PCR优于SCR。我们还注意到,与只调整完全连接的层相比,调整所有本地化任务层的效果明显更好。在这些实验中,设置最小的图像边S = 384;S = 256的结果表现出相同的行为,并没有显示为简短。

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

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

与技术水平的比较。我们将最佳本地化结果与表10所示的技术状态进行了比较。我们的“VGG”团队以25.3%的测试误差赢得了ILSVRC-2014的本地化挑战(Russakovsky et al., 2014)。值得注意的是,我们的结果比ILSVRC-2013获奖者Overfeat (Sermanet et al., 2014)的结果要好得多,尽管我们使用了更少的尺度,也没有使用他们的分辨率增强技术。我们设想,如果将这种技术整合到我们的方法中,可以获得更好的本地化性能。这表明我们的深度卷积神经网络带来的性能提升——我们使用更简单的本地化方法获得了更好的结果,但使用了更强大的表示。

B 非常深的特征的概括

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

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

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

vocs -2007和vocs -2012的图像分类。我们首先对PASCAL vocs -2007和vocs -2012基准的图像分类任务进行评估(Everingham et al., 2015)。这些数据集分别包含10K和22.5K的图像,每张图像用一个或多个标签标注,对应20个对象类别。VOC组织者提供预先定义的培训、验证和测试数据(VOC-2012的测试数据不公开;相反,提供了一个正式的评估服务器)。识别性能是使用不同类别的平均精度(mAP)来衡量的。

值得注意的是,通过检验vocs -2007和vocs -2012验证集上的性能,我们发现在多个尺度上通过平均计算的聚合图像描述符与通过堆叠进行聚合相比,前者执行sim12。我们假设这是由于VOC数据集中的对象出现在不同的尺度上,所以没有特定的尺度特定语义可供分类器利用。由于平均具有不膨胀描述子维度的优点,我们能够在广泛的尺度上聚合图像描述子:Q∈{256,384,512,640,768}。值得注意的是,在较小的{256,384,512}范围内的改进非常有限(0.3%)。

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

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

我们发现,与VOC不同的是,在Caltech数据集上,在多个尺度上计算的描述符的堆叠比平均或最大池化表现更好。这可以用以下事实来解释:在加州理工学院,图像对象通常占据整个图像,因此多尺度图像特征在语义上是不同的(捕获整个对象vs.对象部分),而堆叠允许分类器利用这种特定于尺度的表示。我们使用Q∈{256,384,512}三个量表。

我们的模型彼此进行了比较,并比较了表11所示的技术状态。可以看出,更深层次的19层Net-E比16层Net-D性能更好,两者结合进一步提高了性能。在Caltech-101上,我们的表示方法与He等人(2014)的方法相竞争,但后者在vocs -2007上的表现明显不如我们的网。在Caltech-256上,我们的功能远远超过了目前的水平(Chatfield等人,2014年)(8.6%)。

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

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

其他识别T问。自从我们的模型公开发布以来,它们一直被研究团体积极地用于广泛的图像识别任务,表现始终优于更浅层的表现。例如,Girshick等(2014)用我们的16层模型代替Krizhevsky等(2012)的ConvNet来实现目标检测结果的状态。与Krizhevsky等人(2012)的更浅架构相比,在语义分割(Long等人,2014)、图像字幕生成(Kiros等人,2014;Karpathy & Fei-Fei, 2014),纹理和材料识别(Cimpoi et al., 2014;Bell等人,2014)。


原论文地址:Very Deep Convolutional Networks for Large-Scale Image Recognition

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值