VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译

作者

Karen Simonyan∗ & Andrew Zisserman+
(Visual Geometry Group, Department of Engineering Science, University of Oxford,{karen,az}@robots.ox.ac.uk
*当前工作公司: Google DeepMind
+当前工作公司:University of Oxford and Google DeepMind)

摘要

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

1. 引言

卷积网络(ConvNets)最近在大规模图像和视频识别方面取得了巨大成功(Krizhevsky等,2012; Zeiler&Fergus,2013; Sermanet等,2014; Simonyan&Zisserman,2014),这已经成为可能 由于存在大型公共图像存储库(例如ImageNet(Deng等,2009)和高性能计算系统,例如GPU或大规模分布式集群(Dean等,2012)。 特别是ImageNet大规模视觉识别挑战赛(ILSVRC)(Russakovsky et al。,2014)在深度视觉识别架构的发展中发挥了重要作用,它已成为几代大型测试平台 规模的图像分类系统,从高维浅层特征编码(Perronnin等,2010)(ILSVRC-2011的获奖者)到深层ConvNets(Krizhevsky等,2012)(ILSVRC-2012的获奖者)。
随着ConvNets在计算机视觉领域中越来越成为一种商品,人们进行了许多尝试来改进Krizhevsky等人的原始体系结构。 (2012),以达到更好的准确性。 例如,向ILSVRC-2013提交的最佳表现(Zeiler&Fergus,2013; Sermanet等,2014)利用较小的接收窗口大小和较小的第一卷积层跨度。 另一项改进涉及在整个图像上和多个尺度上密集地训练和测试网络(Sermanet等,2014; Howard,2014)。 在本文中,我们讨论了ConvNet体系结构设计的另一个重要方面–深度。 为此,我们固定了体系结构的其他参数,并通过添加更多的卷积层来稳步增加网络的深度,这是可行的,因为在所有层中都使用了非常小的(3×3)卷积滤波器。
结果,我们提出了更为精确的ConvNet架构,该架构不仅在ILSVRC分类和定位任务上达到了最先进的准确性,而且还适用于其他图像识别数据集,即使在这些数据集下,它们也可以获得出色的性能 当用作相对简单的管道的一部分时(例如,通过线性SVM分类的深层特征而无需微调)。 我们发布了两个性能最佳的模型(http://www.robots.ox.ac.uk/˜vgg/research/very_deep/),以方便进一步研究。
本文的其余部分安排如下。 在第2节中,我们描述了ConvNet配置。 然后在第3节中介绍了图像分类训练和评估的详细信息,并在第4节中对ILSVRC分类任务进行了配置比较。第5节总结了本文。 为了完整起见,我们还将在附录A中描述和评估我们的ILSVRC-2014对象本地化系统,并在附录B中讨论将非常深入的功能推广到其他数据集的情况。 最后,附录C包含主要论文修订列表。

2. CONVNET配置

为了在公平的环境下衡量ConvNet深度的增加所带来的改进,我们的所有ConvNet层配置均采用相同的原理设计,并受到Ciresan等人(2011)的启发; Krizhevsky et al(2012)。 在本节中,我们首先描述ConvNet配置的通用布局(第2.1节),然后详细介绍评估中使用的特定配置(第2.2节)。 然后讨论我们的设计选择,并将其与第2.3节中的现有技术进行比较。

2.1 体系结构

在训练过程中,ConvNets的输入是固定尺寸的224×224 RGB图像。 我们唯一要做的预处理就是从每个像素中减去在训练集上计算出的RGB平均值。 图像通过一叠卷积(conv)图层传递,我们在其中使用具有很小接收域的滤镜:3×3(这是捕获左/右,上/下,中心的概念的最小尺寸)。 在一种配置中,我们还利用1×1卷积滤波器,这可以看作是输入通道的线性变换(其次是非线性)。 卷积步幅固定为1个像素; 卷积层输入的空间填充应确保在卷积后保留空间分辨率,即3×3卷积层的填充为1个像素。 空间池化由五个max-pooling层执行,这五个max-pooling层跟随一些conv层(并非所有conv层都跟随max-pooling)。 最大池化在步长为2的2×2像素窗口上执行。
一叠卷积层(在不同体系结构中深度不同)之后是三层全连接(FC)层:前两层各具有4096个通道,第三层进行1000路ILSVRC分类,因此包含1000个通道(一个 每个课程)。 最后一层是softmax层。 在所有网络中,完全连接的层的配置都是相同的。
所有隐藏层都具有非线性校正功能(ReLU(Krizhevsky等,2012))。 我们注意到,我们的网络(除了一个网络)均不包含本地响应规范化(LRN)规范化(Krizhevsky等,2012):如第4节所示,这种规范化不会提高ILSVRC数据集的性能,但是 导致增加的内存消耗和计算时间。 在适用的情况下,LRN层的参数为(Krizhevsky等,2012)的参数。

2.2 配置

表1中概述了本文评估的ConvNet配置,每列一个。 在下文中,我们将通过名称(A–E)来指称网络。 所有配置均遵循第2.1节中介绍的通用设计,并且仅深度不同:从网络A中的11个权重层(8个conv和3个FC层)到网络E中的19个权重层(16个conv和3个FC层) 。 转换层的宽度(通道数)很小,从第一层的64开始,然后在每个最大池化层之后增加2倍,直到达到512。
在表2中,我们报告了每种配置的参数数量。 尽管深度较大,但我们的蚊帐中的砝码数量不大于具有较大转换层宽度和接收场的较浅的蚊帐中的砝码数量(Sermanet等人,2014年,144M权重)。

2.3 讨论

我们的ConvNet配置与ILSVRC-2012(Krizhevsky等人,2012)和ILSVRC-2013竞赛(Zeiler&Fergus,2013; Sermanet等人,2014)的顶级作品中使用的配置完全不同。而不是在第一转换层中使用相对较大的感受野(例如,步幅为4的11×11(Krizhevsky等人,2012),或者步幅为2的7×7的步幅(Zeiler&Fergus,2013; Sermanet等人,2014) ),我们在整个网络中使用非常小的3×3感受野,这些接收场与每个像素的输入进行卷积(步幅为1)。不难看出,两层3×3的conv层(之间没有空间合并)的堆栈具有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 conv过滤器强加一个正则化,迫使它们通过3×3过滤器进行分解(在其间注入非线性)。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第1张图片
表1. ConvNet配置(在列中显示)。 随着添加更多的层(添加的层以粗体显示),配置的深度从左(A)到右(E)增大。 卷积层参数被表示为“ conv感受野大小-信道数”。 为简洁起见,未显示ReLU激活功能

表2. 参数数量(百万)

合并1×1卷积层(配置C,表1)是在不影响转换层的接收场的情况下增加决策函数的非线性的一种方法。 即使在我们的情况下,1×1卷积本质上是在相同维数空间上的线性投影(输入和输出通道的数量相同),但整流函数会引入其他非线性。 应该注意的是,Lin等人(2014年)的“网络中网络”架构最近已使用了1×1卷积层。
Ciresan等人(2011年)曾使用过小型卷积滤波器,但是它们的网络深度远小于我们的网络,并且它们并未在大型ILSVRC数据集上进行评估。Goodfellow等人(2014年)将深层ConvNets(11个权重层)应用于街道编号识别任务,并表明增加的深度导致更好的性能。 GoogLeNet(Szegedy等,2014)是ILSVRC-2014分类任务中表现最好的一项,它是独立于我们的工作而开发的,但相似之处在于它基于非常深的ConvNet(22个权重层)和小型卷积过滤器(除了3×3,它们还使用1×1和5×5卷积)。但是,它们的网络拓扑比我们的网络拓扑更复杂,并且在第一层中更加积极地降低了特征图的空间分辨率,从而减少了计算量。如第4.5节所示,就单网络分类准确性而言,我们的模型优于Szegedy等人(2014)。

3. 分类框架

在上一节中,我们介绍了网络配置的详细信息。 在本节中,我们描述了分类ConvNet训练和评估的详细信息。

3.1 训练

ConvNet训练程序通常遵循Krizhevsky等人(2012)的规定(除了从多尺度训练图像中对输入农作物进行采样外,如稍后所述)。即,训练是通过使用动量的小批量梯度下降(基于反向传播(LeCun等,1989))优化多项式逻辑回归目标来进行的。批次大小设置为256,动量设置为0.9。通过权重衰减(L2惩罚因子设置为 5 ⋅ 1 0 − 4 5 \cdot 10^{-4} 5104)和前两个完全连接的层的丢包规则化(丢包率设置为0.5)对训练进行正规化。学习率最初设置为 1 0 − 2 10^{-2} 102,然后当验证设置的准确性停止提高时降低10倍。总体而言,学习率降低了3倍,并且在370K次迭代(74个纪元)之后停止了学习。我们推测,尽管与(Krizhevsky等人,2012)相比,网络的参数数量更大且深度更大,但由于(a)深度更大和卷积滤波器较小而产生的隐式正则化,使得网络收敛所需的卷积核更小; (b)某些层的预初始化。
网络权重的初始化很重要,因为糟糕的初始化会由于深层网络中的梯度不稳定而使学习停滞。 为了解决这个问题,我们从训练配置A(表1)开始,该配置足够浅,可以通过随机初始化进行训练。 然后,当训练更深的体系结构时,我们用网络A的层初始化了前四个卷积层和最后三个完全连接的层(中间层是随机初始化的)。 我们没有降低预初始化层的学习速度,而是允许它们在学习过程中进行更改。 对于随机初始化(如果适用),我们从正态分布中以零均值和 1 0 − 2 10^{-2} 102方差采样权重。 偏差以零初始化。 值得注意的是,在论文提交后,我们发现可以通过使用Glorot&Bengio(2010)的随机初始化程序在不进行预训练的情况下初始化权重。
为了获得固定尺寸的224×224 ConvNet输入图像,它们是从重新缩放的训练图像中随机裁剪的(每个SGD迭代每个图像一个裁剪)。 为了进一步增强训练集,农作物进行了随机的水平翻转和随机的RGB颜色偏移(Krizhevsky等人,2012)。训练图像重缩放将在下面说明。
训练图像大小。 令S为各向同性缩放后的训练图像的最小面,从中裁剪ConvNet输入(我们也将S称为训练尺度)。 当作物大小固定为224×224时,原则上S可以取不小于224的任何值:对于S = 224,作物将捕获完整图像统计信息,完全跨越训练图像的最小侧面; 对于S≫ 224,裁剪将对应于图像的一小部分,其中包含一个小物体或一个物体部分。
我们考虑两种设置训练尺度S的方法。第一种是固定S,它对应于单尺度训练(请注意,采样作物中的图像内容仍可以表示多尺度图像统计信息)。 在我们的实验中,我们评估了在两种固定比例下训练的模型:S = 256(已在现有技术中广泛使用(Krizhevsky等,2012; Zeiler&Fergus,2013; Sermanet等,2014))和S =384。在使用ConvNet配置的情况下,我们首先使用S = 256训练网络。为了加快对S = 384网络的训练,它使用预先训练有S = 256的权重进行初始化,并且我们使用了较小的初始学习率 1 0 − 3 10^{-3} 103
设置S的第二种方法是多尺度训练,其中通过从某个范围 [ S m i n , S m a x ] [S_{min},S_{max}] [SminSmax](我们使用 S m i n = 256 S_{min} = 256 Smin=256 S m a x = 512 S_{max} = 512 Smax=512)中随机采样S来分别缩放每个训练图像的大小。 由于图像中的对象可以具有不同的大小,因此在训练过程中考虑这一点是有益的。 这也可以看作是通过尺度抖动进行训练集增强,其中训练单个模型以识别大范围尺度上的对象。 出于速度原因,我们通过对具有相同配置的单比例模型的所有层进行微调来训练多比例模型,并使用固定S = 384进行预训练。

3.2 测试

在测试时,给定训练有素的ConvNet和输入图像,可以按以下方式对其进行分类。首先,将其各向同性地缩放到预定义的最小图像面,表示为Q(我们也将其称为测试比例)。我们注意到Q不一定等于训练规模S(正如我们将在第4节中所示,对每个S使用多个Q值可以提高性能)。然后,以类似于(Sermanet 等,2014)的方式将网络密集地应用到重新缩放的测试图像上。即,首先将完全连接的层转换为卷积层(第一个FC层转换为7×7转换层,最后两个FC层转换为1×1转换层)。然后将所得的全卷积网络应用于整个(未裁剪)图像。结果是一个类别分数图,其中通道数等于类别数,并且空间分辨率取决于输入图像的大小。最后,为了获得图像的类分数的固定大小矢量,对类分数图进行空间平均(总和)。我们还通过水平翻转图像来增强测试集。对原始图像和翻转图像的soft-max类后验进行平均,以获得图像的最终分数。
由于将全卷积网络应用于整个图像,因此无需在测试时对多种农作物进行采样(Krizhevsky等人,2012),效率较低,因为它需要对每种农作物进行网络重新计算。同时,如Szegedy等人(2014年)所做的那样,使用大量作物可以提高准确性,因为与全卷积网络相比,它可以对输入图像进行更好的采样。此外,由于不同的卷积边界条件,多作物评估与密集评估是互补的:将ConvNet应用于作物时,卷积特征图会填充零,而在密集评估的情况下,自然会出现针对同一作物的填充来自图像的相邻部分(由于卷积和
空间池),从而大大增加了整个网络的接收范围,因此可以捕获更多上下文。尽管我们认为实际上增加多种作物的计算时间并不能证明潜在的准确性提高,但作为参考,我们还使用每标度50种裁剪(5×5常规网格和2次翻转)评估了我们的网络,总计150超过3种规模的农作物,相当于Szegedy等人(2014)使用的144种裁剪,共有4种尺寸。

3.3 实现细节

我们的实现源自可公开使用的C ++ Caffe工具箱(Jia,2013年)(于2013年12月推出),但其中包含许多重大修改,从而使我们也可以对安装在单个系统中的多个GPU进行培训和评估。 作为训练和评估多个比例的全尺寸(未裁剪)图像(如上所述)。 多GPU训练利用了数据并行性,并且通过将每批训练图像分为几批GPU来执行,并在每个GPU上并行处理。 计算完GPU批次梯度后,将其平均以获得整个批次的梯度。 梯度计算在GPU之间是同步的,因此结果与在单个GPU上进行训练时完全相同。
虽然最近提出了更先进的方法来加速ConvNet训练(Krizhevsky,2014),该方法针对网络的不同层采用了模型和数据并行性,但我们发现,从概念上讲,更简单的方案已经可以在网络上提供3.75倍的加速。 与使用单个GPU相比,现成的4-GPU系统。 在配备有四个NVIDIA Titan Black GPU的系统上,根据架构的不同,训练单个网络需要2-3周。

4. 分类实验

数据集。 在本节中,我们介绍通过在ILSVRC-2012数据集(用于ILSVRC 2012–2014挑战)上描述的ConvNet架构实现的图像分类结果。 数据集包括1000个类别的图像,并分为三组:训练(130万图像),验证(50K图像)和测试(100K具有类别标签的图像)。 使用两种方法评估分类性能:top-1和top-5错误。 前者是多类分类错误,即错误分类图像的比例; 后者是ILSVRC中使用的主要评估标准,并按图像所占的比例进行计算,以使地面真相类别位于top-5预测类别之外。
对于大多数实验,我们使用验证集作为测试集。 还对测试集进行了某些实验,并将其作为ILSVRC-2014竞赛的“ VGG”团队参赛作品提交给了官方ILSVRC服务器(Russakovsky等,2014)。

4.1 单尺度评估

我们首先使用Sect 2.2中描述的层配置以单个规模评估单个ConvNet模型的性能。 测试图像的大小设置如下:对于固定的S,Q = S,对于抖动的S∈[S min,S max],Q = 0.5(S min + S max)。 结果示于表3。
首先,我们注意到在没有任何规范化层的情况下,使用本地响应规范化(A-LRN网络)对模型A并没有改善。 因此,我们在较深的架构(B–E)中未采用标准化。
其次,我们观察到分类误差随着ConvNet深度的增加而减小:从A中的11层到E中的19层。值得注意的是,尽管深度相同,但配置C(包含三个1×1 conv层)仍然可以执行比配置D更糟,配置D在整个网络中使用3×3转换层。这表明,虽然附加的非线性确实有帮助(C优于B),但通过使用具有非平凡接收场的卷积滤波器(D优于C)来捕获空间上下文也很重要。当深度达到19层时,我们的体系结构的错误率达到饱和,但是更深的模型可能对更大的数据集有利。我们还将网络B与具有5个5×5 conv层的浅层网络进行了比较,该网络是从B通过用单个5×5 conv层(具有相同的接收场)替换每对3×3 conv层而得出的。在第2.3节中)。测得浅网的top-1误差比B(在中心作物上)的高7%,这证实了带小滤网的深网优于带大滤网的浅网。
最后,即使在测试时使用单个标度,训练时的标度抖动(S∈[256; 512])也会比在最小边固定的图像(S = 256或S = 384)上的训练产生明显更好的结果。 这证实了通过尺度抖动进行训练集增强确实有助于捕获多尺度图像统计信息。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第2张图片
表3. 单个测试规模上的ConvNet性能

4.2 多尺寸评估

在单尺度上评估了ConvNet模型之后,我们现在评估测试时尺度抖动的影响。 它包括对测试图像的多个缩放版本(对应于不同的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 = \{S_{min}, 0.5(S_{min} + S_{max}), S_{max}\} Q={Smin,0.5(Smin+Smax),Smax}
表4中显示的结果表明,测试时的刻度抖动导致更好的性能(与在单个刻度上评估同一模型相比,如表3所示)。 和以前一样,最深的配置(D和E)执行效果最好,并且比例抖动比使用固定的最小边S进行训练要好。在验证集上,我们最佳的单网络性能是24.8%/ 7.5%top-1 / top -5错误(在表4中以粗体突出显示)。 在测试集上,配置E实现7.3%的top-5 error。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第3张图片
表4. 多个测试规模下的ConvNet性能

4.3 多尺寸评估

在表5中,我们将密集的ConvNet评价与多种裁剪评价进行了比较(有关详细信息,请参见第3.2节)。 我们还通过平均两种softmax输出来评估这两种评估技术的互补性。 可以看出,使用多种裁剪的效果要好于密集评估,这两种方法确实是互补的,因为它们的组合优于每种方法。 如上所述,我们假设这是由于对卷积边界条件的不同处理。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第4张图片
表5. ConvNet评估技术比较。 在所有实验中,训练量表S均来自[256; 512],并考虑了三个测试量表Q:{256,384,512}

4.4 卷积融合

到目前为止,我们评估了各个ConvNet模型的性能。 在实验的这一部分中,我们通过平均其soft-max类后验来组合几种模型的输出。 由于模型的互补性,这提高了性能,并在2012年(Krizhevsky等,2012年)和2013年(Zeiler&Fergus,2013年; Sermanet等,2014年)提交的顶级ILSVRC提交中使用。
结果显示在表6中。到提交ILSVRC时,我们仅训练了单尺度网络以及多尺度模型D(仅对全连接层而不是所有层进行了微调)。 结果是7个网络的整体具有7.3%的ILSVRC测试错误。 提交之后,我们仅考虑了两个性能最佳的多尺度模型(配置D和E)的集合,使用密集评估将测试误差降低到7.0%,使用密集和多作物组合评估将测试误差降低到6.8%。 作为参考,我们性能最好的单个模型实现了7.1%的误差(模型E,表5)。

4.5 与最新技术的比较

最后,我们将结果与表7中的最新技术进行比较。在ILSVRC-2014挑战赛的分类任务中(Russakovsky等,2014),我们的“ VGG”团队使用7.3%的测试错误率获得了第二名。 7个模型的合奏。 提交后,我们使用2个模型的组合将错误率降低到6.8%。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第5张图片
表6. 多个ConvNet融合结果

从表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体系结构,而是通过大幅增加深度来对其进行改进。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第6张图片
表7. 与ILSVRC分类中的现有技术的比较,我们的方法称为“ VGG”,仅报告在没有外部培训数据的情况下获得的结果。

5. 结论

在这项工作中,我们评估了非常深的卷积网络(最多19个权重层)用于大规模图像分类。 事实证明,表示深度有利于分类精度,并且可以使用传统的ConvNet架构实现ImageNet挑战数据集的最新性能(LeCun等,1989;Krizhevsky等,2012) 深度大大增加。 在附录中,我们还表明,我们的模型可以很好地推广到各种任务和数据集,匹配或胜过围绕不太深的图像表示构建的更复杂的识别管道。 我们的结果再次证实了视觉表示中深度的重要性。

致谢

这项工作得到了ERC资助的VisRec No. 228180.我们非常感谢NVIDIA Corporation对本研究使用的GPU的捐赠。

参考文献

VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第7张图片
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第8张图片

A. 本地化

在本文的主体中,我们考虑了ILSVRC挑战的分类任务,并对不同深度的ConvNet架构进行了全面评估。 在本节中,我们转向挑战的本地化任务,该任务在2014年以25.3%的错误赢得了胜利。 可以将其视为对象检测的一种特殊情况,其中应该为前五类中的每一个预测单个对象边界框,而与该类的实际对象数量无关。 为此,我们采用了Sermanet等人(2014)的方法,ILSVRC-2013本地化挑战赛的获胜者,并做了一些修改。 我们的方法在A.1节中进行了描述,并在A.2节中进行了评估。

A.1 本地化卷积网络

为了执行对象定位,我们使用了一个非常深的ConvNet,其中最后一个完全连接的层会预测边界框的位置,而不是类分数。 边界框由存储其中心坐标,宽度和高度的4-D向量表示。 可以选择在所有类别之间共享边界框预测(单一类别回归,SCR(Sermanet等,2014))还是特定于类别(每个类别回归,PCR)。 在前一种情况下,最后一层是4-D,而在后一种情况下是4000-D(因为数据集中有1000个类)。 除了最后一个边界框预测层之外,我们还使用ConvNet体系结构D(表1),该体系结构包含16个权重层,并被认为是分类任务中表现最好的(第4节)。
训练。 本地化ConvNets的培训与分类ConvNets的培训类似(第3.1节)。 主要区别在于,我们用欧几里得损失代替了逻辑回归目标,这不利于预测边界框参数与真实性的偏差。 我们训练了两个本地化模型,每个模型在一个尺度上: S = 256 S = 256 S=256 S = 384 S = 384 S=384(由于时间限制,我们在提交ILSVRC-2014时未使用训练尺度抖动。 使用相应的分类模型(按相同的等级进行训练)初始化训练,并且初始学习率设置为 1 0 − 3 10^{-3} 103。 我们研究了微调所有层,并且仅微调了前两个完全连接的层,如(Sermanet等人,2014)所述。 最后一个完全连接的层被随机初始化并从头开始训练。
测试。 我们考虑两种测试协议。 第一个用于比较验证集上不同的网络修改,并且仅考虑地面真实性类的边界框预测(以排除分类错误)。通过仅将网络应用于图像的中心裁剪即可获得边界框。
第二个完全成熟的测试过程基于对整个图像的本地化ConvNet的密集应用,类似于分类任务(第3.2节)。 区别在于,最后一个完全连接的层的输出是一组边界框预测,而不是类分数映射。 为了得出最终的预测,我们利用了Sermanet等人(2014)的贪婪合并程序,该程序首先合并空间上接近的预测(通过对坐标进行平均),然后根据从分类ConvNet中获得的类别得分对它们进行评分 。 当使用多个本地化ConvNet时,我们首先对它们的边界框预测集进行并集,然后对并集执行合并过程。 我们没有使用Sermanet等人(2014)的多重池偏移技术,该技术增加了边界框预测的空间分辨率,可以进一步改善结果。

A.2 局部化实验

在本节中,我们首先确定最佳性能的本地化设置(使用第一个测试协议),然后在成熟的场景(第二个协议)中对其进行评估。 根据ILSVRC标准(Russakovsky等人,2014)测量定位误差,即如果边界框的联合比率与地面真相边界框的交点大于0.5,则认为边界框预测正确。
环境比较。 从表8中可以看出,每类回归(PCR)的效果优于类不可知的单类回归(SCR),这与Sermanet等人(2014)的发现不同,后者的结果是PCR优于SCR。 我们还注意到,与仅对完全连接的层进行微调相比,对本地化任务的所有层进行微调所导致的结果明显更好(如(Sermanet等人,2014)。 在这些实验中,最小像侧设置为S = 384; S = 256的结果表现出相同的行为,为简洁起见未显示。

表8. 使用简化的测试协议进行不同修改时的定位误差:边界框是根据单个中央图像裁剪预测的,并且使用了地面真实性类。 所有ConvNet层(最后一层除外)都具有配置D(表1),而最后一层执行单类回归(SCR)或每类回归(PCR)

全面的评估。 确定了最佳的本地化设置(PCR,所有层的微调)后,我们现在将其应用于成熟的场景中,其中前五类的标签是使用我们表现最好的分类系统进行预测的(第4.5节),以及 使用Sermanet等人(2014)的方法合并了多个密集计算的边界框预测。 从表9中可以看出,与使用中心作物(表8)相比,将定位ConvNet应用于整个图像可以显着改善结果,尽管使用了前5位的预测类别标签代替了地物。 与分类任务(第4节)相似,在多个规模上进行测试并将多个网络的预测结合起来可以进一步提高性能。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第9张图片
表9. 局部化错误

与现有技术进行比较。 我们将最佳的定位结果与表10中的最新状态进行了比较。凭借25.3%的测试误差,我们的“ VGG”团队赢得了ILSVRC-2014的定位挑战(Russakovsky等,2014)。 值得注意的是,即使我们使用的音阶较小且未使用其分辨率增强技术,我们的结果也比ILSVRC-2013冠军Overfeat的结果要好得多(Sermanet等,2014)。 我们设想,如果将此技术结合到我们的方法中,则可以实现更好的定位性能。 这表明我们非常深入的ConvNets带来了性能上的进步–通过更简单的本地化方法,但功能更强大的表示,我们获得了更好的结果。

B. 非常深层的特征的生成

在前面的部分中,我们讨论了在ILSVRC数据集上非常深的ConvNets的训练和评估。 在本节中,我们评估在ILSVRC上进行过预训练的ConvNets,作为其他较小数据集上的特征提取器,由于过度拟合,从头开始训练大型模型不可行。 最近,人们对这种用例表现出了浓厚的兴趣(Zeiler&Fergus,2013; Donahue等,2013; Razavian等,2014; Chatfield等,2014),因为事实证明,深层图像表示是可以学习的 在ILSVRC上,可以很好地推广到其他数据集,在这些数据集上,它们的表现远远优于手工表示。 在那之后,我们调查了我们的模型是否比在最新方法中使用的更浅层模型更好的性能。 在此评估中,我们考虑在ILSVRC上具有最佳分类性能的两个模型(第4节)–配置“ Net-D”和“ Net-E”(我们已公开提供)。
为了利用在ILSVRC上进行过预训练的ConvNets对其他数据集进行图像分类,我们删除了最后一个完全连接的层(执行1000次ILSVRC分类),并使用倒数第二层的4096-D激活作为图像特征, 跨多个位置和规模进行汇总。 生成的图像描述符经过L2归一化处理,并与线性SVM分类器组合,并在目标数据集上进行训练。 为简单起见,预先训练的ConvNet权重保持固定(不执行微调)。
特征的汇总与我们的ILSVRC评估程序(第3.2节)类似。即,首先对图像进行缩放,使其最小边等于Q,然后将网络密集地应用于图像平面(将所有权重层都视为卷积时,这是可能的)。然后,我们对生成的特征图执行全局平均池化,从而生成4096-D图像描述符。然后将描述符与水平翻转图像的描述符平均。如第4.2节所示,在多个比例尺上进行评估是有益的,因此我们可以在多个比例尺Q上提取要素。生成的多比例尺要素可以堆叠或合并到多个比例尺中。堆叠使后续的分类器可以学习如何在一定范围内最佳地组合图像统计信息;然而,这是以增加描述符维数为代价的。我们在下面的实验中返回对这种设计选择的讨论。我们还评估了使用两个网络计算的特征的后期融合,这是通过堆叠各自的图像描述符来完成的。

表10. 与ILSVRC本地化技术水平的比较,我们的方法称为“ VGG”。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第10张图片
表11. 在VOC-2007,VOC-2012,Caltech-101和Caltech-256上图像分类方面的最新技术比较。 我们的模型表示为“ VGG”。 使用*标记的结果是通过在扩展的ILSVRC数据集(2000个类别)上进行预训练的ConvNets实现的

VOC-2007和VOC-2012上的图像分类。 我们首先评估PASCAL VOC-2007和VOC-2012基准的图像分类任务(Everingham等,2015)。 这些数据集分别包含10K和22.5K图像,并且每个图像都带有一个或几个标签,分别与20个对象类别相对应。 VOC组织者提供了预定义的培训,验证和测试数据划分(VOC-2012的测试数据未公开;而是提供了官方评估服务器)。 识别性能是使用各个类别的平均平均精度(mAP)来衡量的。
值得注意的是,通过检查VOC-2007和VOC-2012验证集上的性能,我们发现通过平均来聚合以多个比例计算的图像描述符的性能与通过堆栈进行的聚合相似。 我们假设这是由于以下事实:在VOC数据集中,对象以各种比例出现,因此分类器没有可以利用的特定比例特定的语义。 由于平均的好处是不会夸大描述符维数,因此我们能够在很宽的比例范围内聚合图像描述符:Q∈{256,384,512,640,768}。 值得注意的是,在较小的{256,384,512}范围内,改善幅度很小(0.3%)。
表11中报告了测试集的性能并将其与其他方法进行了比较。我们的网络“ Net-D”和“ Net-E”在VOC数据集上表现出相同的性能,并且它们的组合可以轻微改善结果。 我们的方法在ILSVRC数据集上进行了预训练,跨图像表示设置了新的技术水平,比Chatfield等人(2014)的先前最佳结果高出6%以上。 值得注意的是,Wei等人(2014)的方法在VOC-2012上实现了mAP改善1%的方法,并在扩展的2000级ILSVRC数据集上进行了预训练,该数据集包括1000个类别,语义上与 VOC数据集。 它也受益于与对象检测辅助分类管道的融合。
Caltech-101和Caltech-256上的图像分类。 在本节中,我们评估Caltech-101(Fei-Fei等人,2004)和Caltech-256(Griffin等人,2007)图像分类基准的深层功能。 Caltech-101包含标记为102个类别(101个对象类别和一个背景类别)的9K图像,而Caltech-256包含31K图像和257个类别的较大图像。这些数据集上的标准评估协议是将几个随机分割生成训练和测试数据,并报告这些分割的平均识别性能,该性能由平均值分类召回率来衡量(补偿每个分类的不同数量的测试图像)。继Chatfield等人(2014); Zeiler&Fergus(2013); He等人(2014年)在Caltech-101上将3个随机分割生成训练和测试数据,因此每个分割每个班级包含30个训练图像,每个班级最多包含50个测试图像。在Caltech-256上,我们还生成了3个分割,每个分割包含每班60个训练图像(其余用于测试)。在每个分割中,将20%的训练图像用作用于超参数选择的验证集。
我们发现,与VOC不同,在Caltech数据集上,在多个尺度上计算的描述符堆栈比平均或最大池性能更好。 这可以通过以下事实来解释:在Caltech图像中,对象通常占据整个图像,因此多尺度图像特征在语义上是不同的(捕获整个对象与对象部分),并且堆叠允许分类器利用此类特定于尺度的表示形式 。 我们使用了三个尺度Q∈{256,384,512}。
表11中将我们的模型进行了相互比较以及最新状态。 可以看出,较深的19层Net-E的性能优于16层Net-D,并且它们的组合进一步改善了
性能。 在Caltech-101上,我们的表示法与He et al(2014)的方法相比具有竞争优势,但是,其表现远不及我们在VOC-2007上的网络。 在Caltech-256上,我们的功能大大优于最新技术(Chatfield等,2014)(8.6%)。
VOC-2012行为分类。 我们还评估了PASCAL VOC-2012动作分类任务(Everingham等人,2015)中表现最佳的图像表示(Net-D和Net-E功能的堆叠),该任务包括根据单个图像预测动作类别 ,给定执行动作的人的边界框。 数据集包含4.6K训练图像,分为11类。 与VOC-2012对象分类任务相似,使用mAP测量性能。 我们考虑了两种训练设置:(i)在整个图像上计算ConvNet特征,并忽略提供的边界框; (ii)计算整个图像和提供的边界框上的特征,并将其堆叠以获得最终表示。 将结果与表12中的其他方法进行比较。
即使不使用提供的边界框,我们的表示也可以实现VOC动作分类任务的最新状态,并且在同时使用图像和边界框时,结果会得到进一步改善。 与其他方法不同,我们没有合并任何特定于任务的启发式方法,而是依靠非常深的卷积特征的表示能力。
其他识别任务。 自我们的模型公开发布以来,它们已被研究界广泛用于各种图像识别任务,并始终胜过更浅层的表示。 例如,Girshick等人(2014)通过用我们的16层模型替换Krizhevsky等人(2012)的ConvNet达到了对象检测结果的状态。 在语义分割(Long等人,2014),图像标题生成(Kiros等人,2014; Karpathy&Fei-Fei,2014),纹理和材质方面,已经观察到与Krizhevsky等人(2012)的更浅层架构类似的收益。 识别(Cimpoi等人,2014; Bell等人,2014)。
VGGNet: Very Deep Convolutional Networks For Large-Scale Image Recognition (2014) 全文翻译_第11张图片
表12. 在VOC-2012上的单图像动作分类中与最新技术的比较。 我们的模型表示为“ VGG”。 标有*的结果是通过在扩展的ILSVRC数据集(1512类)上进行预训练的ConvNets实现的。

C. 论文修订

在这里,我们列出了主要的纸质修订版,列出了实质性的变化,以方便读者。
v1. 初始版本。 介绍在提交ILSVRC之前进行的实验。
v2. 添加了提交后的ILSVRC实验,并使用了比例抖动来增强训练集,从而提高了性能。
v3. 在PASCAL VOC和Caltech图像分类数据集上添加了泛化实验(附录B)。用于这些实验的模型是公开可用的。
v4. 该文件已转换为ICLR-2015提交格式。 还添加了多种作物的实验以进行分类。
v6. Camera-ready ICLR-2015会议论文。 添加了带有浅层网络的B网络和PASCAL VOC动作分类基准的结果的比较。

你可能感兴趣的:(Deep,Learning,Deep,Learning,Research)