VGG网络论文翻译及解析

VGG在2014年由牛津大学著名研究组VGG(Visual Geometry Group)提出,斩获该年ImageNet竞赛中Localization Task(定位任务)第一名和Classification Task(分类任务)第二名

VGG网络的亮点:

  • 通过堆叠多个3×3的卷积核来代替大尺度卷积核(减少所需参数)

论文中提到,可以通过堆叠2个3×3的卷积核替代5×5的卷积核,堆叠3个3×3的卷积核替代7×7的卷积核。(拥有相同的感受野)
使用7×7的卷积核所需参数,与堆叠3个3×3的卷积核所需参数(假设输入输出channel为C)

我们可以看出通过堆叠3个3×3的卷积核替代7×7的卷积核可以节省45%的参数量

感受野定义:
在卷积神经网络中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野(receptive field)。通俗的解释是,输出feature map上的一个单元对应输入层上的区域大小。
卷积后的矩阵尺寸大小计算公式为:
outsize=(insize - Ksize + 2P)/Stride+1
Insize:输入图片的大小 Ksize:卷积核的大小
P:padding的像素数 Stride:步长
即感受野的计算公式:
insize=(outsize-1)×Stride + Ksize - 2P

下面是该篇论文的翻译

Very Deep Convolutional Networks For Large-Scale Image Recognition

Abstract

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

1 Introduction

  卷积网络(ConvNets)最近在大规模图像和视频识别方面取得了巨大成功(Krizhevsky等人,2012年;Zeiler&Fergus,2013;Sermanet等人,2014;Simonyan&Zisserman,2014),这要归功于大型公共图像库,例如ImageNet(邓等人,2009),以及高性能计算系统,如GPU或大规模分布式集群(Dean等人,2012。特别地,ImageNet大规模视觉识别挑战(ILSVRC)(Russakovsky等人,2014)在深度视觉识别体系结构的进步中发挥了重要作用,该挑战已经作为几代大规模图像分类系统的试验台,从高维浅层特征编码(Perronnin等人,2010)(ILSVRC-2011的获胜者)到深度ConvNets(Krizhevsky等人,2012)(ILSVRC-201的获胜者)
  随着ConvNets越来越成为计算机视觉领域的必需品,已经进行了许多尝试来改进Krizhevsky等人的原始架构。(2012),以期达到更好的准确性。例如,向ILSVRC2013提交的表现最好的性能(Zeiler&Fergus,2013;Sermanet等人,2014)利用了较小的接受窗口大小和较小的第一卷积层步距。另一项改进涉及在整个图像和多个尺度上密集地训练和测试网络(Sermanet et al.,2014;Howard,2014)。在本文中,我们讨论了ConvNet体系结构设计的另一个重要方面-它的深度。为此,我们固定了结构的其他参数,并通过增加更多卷积层来稳步增加网络的深度,这是可行的,因为在所有层中都使用了非常小的(3×3)卷积滤波器。
  因此,我们提出了更精确的ConvNet架构,它不仅在ILSVRC分类和局部化任务上实现了最先进的准确性,而且也适用于其他图像识别数据集,在这些数据集中,即使作为相对简单的管道的一部分使用,它们也可以获得优异的性能(例如,无需微调的线性支持向量机对深度特征进行分类)。我们已经发布了两个性能最好的模型,以方便进一步的研究。
  论文的其余部分组织如下。在第2节中,我们描述了我们的ConvNet配置。第三节介绍了图像分类训练和评价的具体内容,并在第四节的ILSVRC分类任务中对两种配置进行了比较。第五节对本文进行了总结。为了完整性,我们还在附录A中描述和评估了我们的ILSVRC-2014对象局部化系统,并在附录B中讨论了非常深入的功能对其他数据集的概括。最后,附录C包含主要论文修订的列表。

2 ConvNet Configurations

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

2.1 Architecture

  在训练过程中,我们的ConvNet的输入是一幅固定大小的224×224 RGB图像。我们所做的唯一预处理是从每个像素减去在训练集上计算的平均RGB值。图像通过一堆卷积(卷积)。层,其中我们使用带有非常小的接收字段的过滤器:3×3(这是捕捉左/右、上/下、中心的概念的最小尺寸)。在其中一种配置中,我们还使用1×1卷积滤波器,可以将其视为输入通道的线性变换(随后是非线性)。卷积步长固定为1像素;卷积的空间填充。层输入是这样的,即在卷积之后空间分辨率保持不变,即对于3×3卷积,填充是1个像素。层次感。空间池化是由五个最大池化层执行的,这些层紧跟在一些圆锥之后。层(不是所有的。层之后是最大池化)。最大合用是在2×2像素窗口上执行的,步长为2。
  卷积层的堆栈(在不同的体系结构中具有不同的深度)后面是三个全连接(FC)层:前两个层各有4096个通道,第三个执行1000路ILSVRC分类,因此包含1000个通道(每个类别一个)。最后一层是softmax层。所有网络中的完全连接层的配置都是相同的。
  所有隐藏层都配备了校正(RELU(Krizhevsky等人,2012))非线性。我们注意到,我们的所有网络(除了一个网络)都没有包含本地响应归一化(LRN)归一化(Krizhevsky等人,2012年):如第4节所示,这种归一化不会提高ILSVRC数据集的性能,而是导致内存消耗和计算时间增加。在适用的情况下,LRN层的参数是(Krizhevsky等人,2012年)的参数。

2.2 Configurations

  表1概述了本文中评估的ConvNet配置,每列一个。在下文中,我们将按其名称(A-E)来指代网络。所有配置都遵循2.1节中提出的通用设计,只是深度不同:从网络A中的11个权重层(8个conv和3个FC层)到网络E中的19个权重层(16个conv和3个FC层)。conv的宽度。层(通道数)相当小,从第一层的64开始,然后在每个最大池化层之后增加2倍,直到达到512。
  在表2中,我们报告了每种配置的参数数量。尽管有很大的深度,但我们的网中的权重数并不比更浅、更大圆度的网中的权重数多。层宽度和感受野(144m重量(Sermanet等人,2014年))。

2.3 Discussion

  我们的ConvNet配置与ILSVRC-2012(Krizhevsky等人,2012)和ILSVRC-2013比赛(Zeiler&Fergus,2013;Sermanet等人,2014)表现最好的参赛作品中使用的配置有很大不同。而不是在第一层conv中使用相对较大的感受野。(例如,在(Krizhevsky等人,2012)中为11×11,步长为4,或在(Zeiler&Fergus,2013;Sermanet等人,2014)中为7×7,步长为2),我们在整个网络中使用非常小的3×3感受野,这些感受野在每个像素处与输入卷积(步长为1)。很容易看到两个3×3 conv堆叠。各层(中间无空间混合)的有效感受野为5×5,其中3层的有效感受野为7×7。那么,比方说,使用三个3×3卷积的堆叠,我们得到了什么呢?而不是单一的7×7层?首先,我们加入了三个非线性校正层而不是单个校正层,使得决策函数更具区分性。其次,我们减少了参数的数量:假设一个三层3×3卷积叠加的输入和输出都有C个通道,该叠加由3(32C2)=27C2权重参数化;同时,单个7×7卷积,层将需要72C2=49C2参数,即比27C2多81%。这可以看作是对7×7卷积施加了正规化。过滤器,迫使它们通过3×3的过滤器进行分解(在其间注入非线性)。

表1:ConvNet配置(如列所示)。随着添加的层越多,配置的深度从左(A)到右(E)递增(添加的层以粗体显示)。卷积层参数表示为“信道的感受野大小”。为简洁起见,未显示RELU激活功能。
在这里插入图片描述
在这里插入图片描述
  1×1卷积层合并(配置C,表1)是一种在不影响Conv的感受野的情况下增加判决函数的非线性的方法。层次感。即使在我们的例子中,1×1卷积本质上是在相同维度(输入和输出通道的数量相同)的空间上的线性投影,但是校正函数引入了额外的非线性。需要注意的是,1×1的卷积层最近在Lin等人的“网络中的网络”体系结构中得到了应用。(2014)。
  Ciresan等人以前曾使用过小尺寸卷积过滤器。(2011),但他们的网络比我们的网络深得多,而且他们没有在ILSVRC的大规模数据集上进行评估。古德费罗等人。(2014)将深度ConvNets(11个权重层)应用于街道号码识别任务,结果表明深度越大,性能越好。GoogLeNet(Szegedy等人,2014年)是ILSVRC-2014分类任务中表现最好的条目,它是独立于我们的工作开发的,但相似之处在于它基于非常深的ConvNet(22个权重层)和小的卷积过滤器(除了3×3,它们还使用1×1和5×5卷积)。然而,他们的网络拓扑比我们的复杂得多,而且在第一层中更大幅度地降低了要素地图的空间分辨率,以减少计算量。如第4.5节所示,我们的模型表现优于Szegedy等人的模型。(2014)在单网络分类准确率方面。

3 Classification Framework

  在上一节中,我们详细介绍了我们的网络配置。在这一部分中,我们将详细介绍分类ConvNet的训练和评估。

3.1 Training

  ConvNet训练过程一般遵循Krizhevsky等人的做法。(2012)(除了对来自多尺度训练图像的输入作物进行采样之外,如后面所解释的)。即,通过使用带动量的小批量梯度下降(基于反向传播(LeCun等人,1989))来优化多项式Logistic回归目标来执行训练。批量设置为256,动量为0.9。训练通过权重衰减(L2惩罚倍数设置为5·10−4)和前两个完全连接的层的dropout规则化(dropout率设置为0.5)来归一化。学习速率最初设置为10−2,当验证集精度停止提高时,学习率降低到原来的1/10。总共降低了3倍的学习速率,并在37万次迭代(74个epochs)后停止学习。我们猜测,尽管与(Krizhevsky等人,2012年)相比,我们的网络有更多的参数数量和更深的网络,网络收敛所需的epochs更少由于(a)更大深度和更小Conv过滤器大小施加的隐式正则化;(b)某些层的预初始化。
  网络权值的初始化很重要,因为由于深层网络中梯度的不稳定性,错误的初始化可能会导致学习停滞。为了绕过这个问题,我们从训练配置A(表1)开始,它足够浅,可以通过随机初始化进行训练。然后,当训练更深的体系结构时,我们用Net A的层初始化前四个卷积层和最后三个全连通层(中间层是随机初始化的)。我们没有降低预初始层的学习速率,允许它们在学习过程中改变。对于随机初始化(如果适用),我们从具有零均值和10−2方差的正态分布中抽样权重。偏差被初始化为零。值得注意的是,在论文提交后,我们发现可以使用Glorot&Bengio(2010)的随机初始化过程来初始化权重,而不需要预先训练。
  为了获得固定大小的224×224 ConvNet输入图像,从重新缩放的训练图像中随机裁剪它们(每次SGD迭代每个图像一个裁剪)。为了进一步增加训练集,这些作物经历了随机水平翻转和随机RGB颜色变换(Krizhevsky等人,2012年)。下面解释训练图像的重新缩放。
  Training image size.设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时预先训练的权值进行了初始化,并使用了较小的初始学习率10−3。
  设置S的第二种方法是多尺度训练,其中每个训练图像通过从特定范围[Smin,Smax] (我们使用Smin=256和Smax=512)随机采样S来单独重新缩放。由于图像中的对象可以具有不同的大小,因此在训练期间考虑这一点是有益的。这也可以被看作是通过尺度抖动来扩大训练集,其中单个模型被训练来识别大范围尺度上的对象。出于速度的原因,我们通过微调具有相同配置的单尺度模型的所有层来训练多尺度模型,预先训练固定的S=384。

3.2 Testing

  在测试时,给定一个训练好的ConvNet和一个输入图像,它按以下方式分类。首先,将其各向同性地重新缩放到预定义的最小图像侧,表示为Q(我们也将其称为测试比例)。我们注意到Q不一定等于训练尺度S(正如我们将在第4节中说明的那样,对每个S使用几个Q值可以提高性能)。然后,以类似于Sermanet等人的方式在重新缩放的测试图像上密集地应用网络(Sermanet等人,2014)。也就是说,首先将完全连通的层转换为卷积层(第一FC层转换为7×7卷积。层,最后两个FC层为1×1 Conv。层)。然后,将得到的完全卷积网络应用于整个(未裁剪)图像。结果是一个类分数图,其通道数等于类数,空间分辨率可变,具体取决于输入图像的大小。最后,为了获得图像的固定大小的班级分数向量,对班级分数地图进行空间平均(总和)。我们还通过水平翻转图像来扩充测试集;对原始图像和翻转图像的软最大类后验进行平均,以获得图像的最终分数。
  由于全卷积网络应用于整个图像,因此不需要在测试时对多个作物进行采样(Krizhevsky等人,2012),这样效率较低,因为它需要为每个作物重新计算网络。同时,正如Szegedy等人所做的那样,使用了大量的作物。(2014),可以提高精度,因为与全卷积网络相比,它可以对输入图像进行更精细的采样。此外,由于不同的卷积边界条件,多作物评估与密集评估是互补的:当将卷积网络应用于作物时,卷积的特征地图用零填充,而在密集评估的情况下,相同作物的填充自然来自图像的相邻部分(由于卷积和空间汇集),这大大增加了整个网络接收区域,因此捕获了更多的上下文。虽然我们认为,在实践中,多作物计算时间的增加并不能证明在精度方面的潜在收益是合理的,但为了参考,我们也使用每尺度50种作物(5×5规则网格,2个翻转)来评估我们的网络,针对3个尺度上的150个作物,这与Szegedy等人使用的4个尺度上的144个作物相当。(2014)。

3.3 Implementation Deatails

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

4 Classification Experi,emts

  Dataset.在本节中,我们将介绍所描述的ConvNet架构在ILSVRC-2012数据集(用于ILSVRC 2012-2014挑战)上实现的图像分类结果。该数据集包括1000个类别的图像,并被分成三个集合:训练(130万张图像)、验证(50K张图像)和测试(100K张带有保留类别标签的图像)。使用两个度量来评估分类性能:TOP-1和TOP-5误差。前者是一个多类分类错误,即错误分类图像的比例;后者是ILSVRC使用的主要评估标准,其计算方式是图像的比例,从而使ground-truth类别不在前5个预测类别之外。
  对于大多数实验,我们使用验证集作为测试集。还在测试集上进行了某些实验,并将其作为ILSVRC-2014比赛的“VGG”团队参赛作品提交给ILSVRC官方服务器(Russakovsky等人,2014年)。

4.1 Single Scale Evaluation

  我们首先使用第2.2节所述的层配置在单个尺度上评估各个ConvNet模型的性能。测试图像大小设置如下:对于固定S,Q=S,对于抖动S∈[Smin,Smax],Q=0.5(Smin+Smax)。结果如表3所示。首先,我们注意到使用局部响应归一化(A-LRN网络)不会改进没有任何归一化层的模型A。因此,我们不会在更深层次的架构(B-E)中采用标准化。
  其次,我们观察到分类误差随着ConvNet深度的增加而减小:从A的11层减少到E的19层。值得注意的是,尽管深度相同,但配置C(包含3个1×1 Conv层)的性能比使用3×3 Conv的配置D差。网络中的各个层。这表明,虽然附加的非线性确实有帮助(C比B好),但是通过使用具有重要感受野的卷积过滤器来捕获空间上下文也很重要(D比C好)。当深度达到19层时,我们架构的错误率达到饱和,但更深的模型可能对更大的数据集有利。我们还将网B与具有5个5×5卷积层的浅网进行了比较,该浅网是由B通过将每对3×3卷积层替换为单个5×5卷积层(其感受野与第2.3节中解释的相同)而得来的。浅网的TOP-1误差比B(中心作物)的TOP-1误差高7%,这证实了过滤器较小的深网优于过滤器较大的浅网。
  最后,即使在测试时使用单一尺度,训练时的尺度抖动(S∈[256;512])比固定最小边的图像上的训练结果(S=256或S=384)要好得多。这证实了通过尺度抖动扩大训练集确实有助于捕捉多尺度图像统计。
在这里插入图片描述

4.2 Multi-Scale Evaluation

  在单个尺度上评估了ConvNet模型之后,我们现在评估测试时尺度抖动的影响。它包括在测试图像的几个重新缩放版本(对应于不同的Q值)上运行模型,然后对生成的类后缀进行平均。考虑到训练尺度和测试尺度之间的较大差异会导致性能下降,用固定S训练的模型在三个测试图像大小上进行评估,接近训练图像的大小:Q={S−32,S,S+32}。同时,训练时的尺度抖动允许网络在测试时应用于更广泛的尺度,因此用变量S∈[Smin;Smax]训练的模型在更大的尺寸范围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错误。
在这里插入图片描述

4.3 Multi-Crop Evaluation

  在表5中,我们比较了密集ConvNet评估和多样本评估(详情见第3.2节)。我们还通过平均Softmax输出来评估这两种评估技术的互补性。可以看出,使用多样本的效果略好于密集评估,这两种方法确实是互补的,因为它们的组合比每种方法都要好。如上所述,我们假设这是由于对卷积边界条件的不同处理。
在这里插入图片描述

4.4 ConvNet Fusion

  到目前为止,我们对单个ConvNet模型的性能进行了评估。在这部分实验中,我们通过对几个模型的软最大类后验平均来组合它们的输出。由于模型的互补性,这提高了性能,并在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 Comparison with the state of the art

  最后,我们将我们的结果与表7中的最新水平进行了比较。在ILSVRC-2014挑战赛(Russakovsky等人,2014)的分类任务中,我们的“VGG”团队使用7个模型组成的集合,以7.3%的测试误差获得了第二名。提交后,我们使用2个模型的集成将错误率降低到6.8%。
在这里插入图片描述
  从表7可以看出,我们的Very Deep ConvNet显著优于上一代模型,后者在ILSVRC-2012和ILSVRC-2013比赛中取得了最好的成绩。我们的结果在分类任务获胜者方面也很有竞争力(GoogLeNet的误差为6.7%),大大超过了ILSVRC-2013获奖提交的Clarifai,后者在使用外部培训数据的情况下达到了11.2%,没有外部培训数据的情况下达到了11.7%。这是值得注意的,考虑到我们的最佳结果是通过组合两个模型来实现的-明显少于在大多数ILSVRC提交中使用的。在单网性能方面,我们的架构获得了最好的结果(7.0%的测试误差),比单个GoogLeNet的性能高0.9%。值得注意的是,我们并没有脱离LeCun等人的经典ConvNet体系结构。(1989),但通过大幅增加深度进行了改进。
在这里插入图片描述

5 Conclusion

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

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Looho_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值