首页 > 其他分享 >《VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION (VGG) 2014》

《VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION (VGG) 2014》

时间:2023-03-04 13:12:13浏览次数:45  
标签:CONVOLUTIONAL SCALE 训练 VERY 网络 ILSVRC 卷积 图像 我们

abstract

在这项工作中,作者研究了卷积网络深度对其在大规模图像识别设置中的准确性的影响。其主要贡献是:使用非常小(3 × 3)卷积滤波器的架构,对更深的网络进行了全面评估,通过将网络的深度加深至16-19个权重层,可以实现对现有技术配置的显著改进。

这些发现是我们提交2014 ImageNet挑战赛的基础,我们的团队分别在定位和分类轨道中获得了第一和第二名。我们还表明,我们的表示可以很好地推广到其他数据集,在这些数据集中,它们实现了最精确的结果。

我们已经公开了两个性能最好的ConvNet模型,以促进在计算机视觉中使用深度视觉表示的进一步研究。

Introduce

卷积网络(ConvNets)最近在大规模图像和视频识别方面取得了巨大成功,这基于了大型公共图像存储库,如ImageNet和高性能计算系统,如gpu或大规模分布式集群。特别是,ImageNet大规模视觉识别挑战赛(ILSVRC) 在深度视觉识别体系结构的发展中发挥了重要作用,它已作为几代大规模图像分类系统的测试平台,从高维浅特征编码到深度ConvNets。

随着ConvNets在计算机视觉领域变得越来越重要,为了获得更好的精度,已经做出了许多尝试来改进Krizhevsky等人于2012年提出的原始架构。例如Zeiler & Fergus向ILSVRC提交了表现最佳的作品,他们利用了更小的感知窗口和更小的第一卷积层步幅。

另一项论文《Sermanet et al. 2014》提出的改进涉及了在整个图像和多个尺度上密集地训练和测试网络。

在本文中,我们讨论了ConvNet体系结构设计的另一个重要方面——深度。为此,我们固定了架构的其他参数,并通过增加更多的卷积层来逐步增加网络的深度,这是可行的,因为在所有层中都使用了非常小的(3 × 3)卷积滤波器。

而结论是,我们提出了更准确的卷积网络架构,不仅在ILSVRC分类和定位任务上达到了最先进的精度,而且也适用于其他图像识别数据集,即使作为相对简单的pipelines的一部分使用(例如,不进行参数微调的线性SVM深度特征分类器),也取得了出色的性能。我们发布了两个表现最好的模型,以促进进一步的研究。

论文的其余部分如下。在第2节中,我们描述了卷积网络的配置。在第3节中详细介绍了图像分类的训练和评估,并在第4节中对ILSVRC分类任务上的配置进行了比较。第5节收尾。为了完整性,我们还在附录A中描述和评估了我们的ILSVRC-2014的目标定位系统,并在附录b中讨论了将该深度神经网络的训练好的特征推广到其他数据集的情况。

2 CONVNET CONFIGURATIONS

为了在对照实验中衡量增加的卷积网络深度带来的改善,我们所有的卷积网络层配置都使用相同的原则设计,这是受到Ciresan;Krizhevsky等人的启发。在本节中,我们首先描述卷积网络配置的一般布局(第2.1节),然后详细描述评估中使用的特定配置(第2.2节)。然后,我们将在2.3节中讨论并与现有的技术进行比较。

2.1 ARCHITECTURE

在训练过程中,我们卷积网络的输入是一个固定大小的 224 × 224 RGB图像。我们所做的唯一预处理是:每个图片的像素减去在训练集上计算的平均RGB值。

图像经由多个卷积层逐步传递,其中我们使用具有非常小的 3 × 3 滤波器(这是捕获左/右、上/下、中概念的最小尺寸)。在其中一种配置中,我们还使用了1 × 1卷积滤波器,这可以被视为输入通道的线性变换(其余是非线性的)。

卷积步长固定为1像素。

卷积层输入的空间填充是这样的:采用 Same padding,即对3 × 3滤波器采用1像素的填充。

空间池化由5个最大池化层进行,它们遵循一些卷积层(并非所有的卷积层都遵循最大池化)。最大池化在2 × 2像素窗口上执行,步幅为2。

卷积层的堆栈(在不同的体系结构中具有不同的深度)之后是三个全连接(FC)层:前两个各有4096个通道,第三个执行1000路soft-max层,以进行ILSVRC分类(每个类一个)。全连接层的配置在所有网络中都是相同的。

所有隐藏层都配备了 Relu 进行非线性修正。我们注意到,我们的网络(除了一个网络)都不包含 Local Response Normalisation (LRN): 如第4节所示,这种归一化不会提高ILSVRC数据集的性能,但会导致内存消耗和计算时间增加。在适用的情况下,LRN层的参数参考了Krizhevsky等人2012的研究。

2.2 CONFIGURATIONS

img

本文评估的卷积网络配置概述在表1中。下面我们将以A-E替代来介绍神经网络。所有配置遵循2.1节中介绍的通用设计,仅在深度上有所不同:从网络A的11个权重层(8个卷积层和3个FC层)到网络E的19个权重层(16个卷积层和3个FC层)。卷积层(通道数)的宽度相当小,从第一层的64开始,然后在每个最大池化层后增加2倍,直到达到512。

在表2中,我们报告了每种配置的参数数量。尽管深度很大,网络中的权重数量并不大于卷积层宽度和感受野更浅的网络中的参数数量(Sermanet et al., 2014 就包含了 144 millions 的参数)。

2.3 DISCUSSION

我们的ConvNet配置与其他ILSVRC比赛中表现最好的网络所使用的配置有很大不同。我们在整个网络中使用非常小的3 × 3感受野,步幅为1。

很容易看到,两个3×3卷积层(卷积层之间没有空间池化)的有效感受野为5×5;三个这样的3×3卷积层具有7 × 7的有效感受野。

这里不懂的可以去查一下感受野计算,概念和计算都还是蛮简单的。

那么为什么选择三个3×3卷积层组成的堆栈而不是一个单独的7×7层?

这样做带来两个好处:1.参数量减小;2.结合多个非线性操作使得决策函数更具判别性。例如:3个3×3的卷积层参数量只有7×7卷积层的0.55倍((3*3*3)/(7*7)=0.55),但前者有3个非线性操作,后者只有1个非线性操作,使得前者学习特征的能力变强。

言下之意,加深神经网络提高分类精度的本质在于 “更多的非线性操作”。下文中添加 1x1 卷积层的目的也是为了 “更多的非线性操作”。

采用1×1卷积层(配置C,表1)是一种增加决策函数非线性而不影响卷积层感受野的方法。甚至尽管在我们的例子中,1×1卷积本质上是到相同维度空间上的线性投影(输入和输出通道的数量是相同的),但整改函数(比如Relu)引入了额外的非线性。值得注意的是,1×1的滤波器最近被用于Lin等人(2014)实验的架构中。

Ciresan等人(2011)之前也使用过小尺寸的卷积滤波器,但他们的网络深度明显小于我们的网络,并且没有在大规模ILSVRC数据集上进行评估。Goodfellow等人(2014)将深度卷积网络(11个权重层)应用于街道编号识别任务,并表明深度的增加可以带来更好的性能。

GoogLeNet(Szegedy et al., 2014)是ILSVRC-2014分类任务中表现最好的神经网络,是独立于我们的工作开发的,它也属于非常深的卷积网络(22权值层)和小卷积滤波器(除了3×3,它们还使用1×1和5×5卷积)。不同在于,他们的网络拓扑比我们的更复杂,特征图的空间资源解决方案在第一层中更积极地减少以减少计算量。两个模型的对比在4.5节所示,结论是我们的模型优于Szegedy等人的模型。

3 CLASSIFICATION FRAMEWORK

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

3.1 TRAINING

ConvNet的训练过程通常遵循Krizhevsky等人(2012)(除了从多尺度训练图像中对输入裁剪图像进行采样外,下文解释)。

即:训练是通过使用momentum的小批量梯度下降优化多项逻辑回归目标来进行的。批量大小设置为256,动量设置为0.9。训练通过权重衰减(L2惩罚乘子设置为5·10^-4)和前两个全连接层的dropout正则化(dropout ratio设置为0.5)进行正则化。 学习速率最初设置为10^−2,然后当验证集精度停止提高时,学习率下降到原来的10倍。总的来说,学习率降低了3倍,在370K次迭代(74 epochs)后停止学习。

我们推测,尽管与(Krizhevsky等人,2012)相比,我们的网络参数数量更多,深度也更大,这是由于
(a)隐含正则性,网络需要更少的迭代次数才能收敛
(b)预先初始化某些层

网络权重的初始化很重要,因为在深度网络中,由于梯度的不稳定性,糟糕的初始化可能会导致学习停滞。为了规避这个问题,我们开始训练配置A(表1),它足够浅,可以用随机初始化进行训练。

当训练更深层次的架构时,我们使用网络A的层初始化前4个卷积层和后3个全连接层(中间层随机初始化)。我们没有降低预初始化层的学习率,允许它们在学习过程中改变。对于随机初始化(在适用的情况下),我们从均值为0和方差为10^−2的正态分布中采样权重。偏差初始化为零。值得注意的是,在论文提交后,我们发现可以使用Glorot & Bengio(2010)的随机初始化过程来初始化权重,而无需预训练。

为了获得固定大小的224×224 ConvNet输入图像,将从重新缩放的训练图像中随机裁剪(每次SGD迭代会对每张图像进行一次裁剪)。为了进一步增强训练集,裁剪图像进行了随机水平翻转和随机RGB颜色偏移(Krizhevsky等人,2012)。训练图像的缩放解释如下。

Training image size 设S是各向同性缩放的训练图像的最小边,卷积网络输入由此裁剪(我们也称S为训练尺度)。当图像大小固定为224×224时,原则上S可以取不小于224的任何值:对于S = 224,作物将捕获全图像统计,完全跨越训练图像的最小边;对于S >> 224来说,裁剪图像的一小部分,其中包含一个小物体或物体的一部分。

解释一下什么是各向同性缩放 isotropically-rescaled

当图片尺寸不匹配时,我们需要对图像进行缩放。这里缩放有两种策略

各向同性缩放( 也叫:等比缩放),长宽缩放比例相同,好处是不破坏原图的比例

各向异性缩放(也叫:直接变化),直接调整图像尺寸,不考虑图像物体是否发生形变
img

我们考虑两种设置训练尺度S的方法。第一种是固定S,这对应于单尺度训练(注意,采样裁剪图像中的图像内容仍然可以表示多尺度图像的统计信息)。在实验中,评估了在两个固定尺度下训练的模型:

  1. S = 256(这在现有技术中被广泛使用)
  2. S = 384

给定ConvNet配置,我们首先使用S = 256训练网络。为了加速S = 384网络的训练,使用S = 256预训练的权重对其进行初始化,并使用较小的初始学习率10^−3。

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

3.2 TESTING

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

由于全卷积网络应用于整个图像,不需要在测试时对多个作物进行采样(Krizhevsky等人,2012),由于需要对每个作物重新计算网络,效率较低。与此同时,使用Szegedy等人(2014)所做的大量作物可以提高精度,因为与全卷积网络相比,它可以对输入图像进行更精细的采样。此外,由于不同的卷积边界条件,多作物评估与密集评估是互补的:当将卷积网络应用于作物时,卷积特征图用零填充,而在密集评估的情况下,同一作物的填充自然来自图像的邻近部分(由于卷积和空间池化),这大大增加了整体网络感受野,因此捕获了更多的上下文。虽然我们认为在实践中,多种作物增加的计算时间并不能证明其潜在的准确性提高,但作为参考,我们还使用每个尺度50种作物(5 × 5规则网格,2次翻转)来评估我们的网络,3种尺度共150种作物,这与Szegedy等人(2014)使用的4种尺度144种作物相当。

3.3 IMPLEMENTATION DETAILS

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

虽然最近(Krizhevsky, 2014)提出了加速卷积网络训练的更复杂的方法,对网络的不同层采用模型和数据并行,但我们发现,与使用单个GPU相比,我们这种更简单的方案已经在现成的4-GPU系统上提供了3.75倍的加速。在配备了四个NVIDIA Titan Black gpu的系统上,训练单个网络大概需要2-3周,具体时长还取决于架构。

4 CLASSIFICATION EXPERIMENTS

Dataset.
在本节中,我们介绍了所述ConvNet架构在ILSVRC-2012数据集上实现的图像分类结果。该数据集包括1000个类的图像,并分为三组:训练(1.3M图像)、验证(50K图像)和测试(100K带有类标签的图像)。性能用两个指标来评估:top-1误差和top-5误差。前者是多类分类误差,即错误分类图像的比例;后者是ILSVRC中使用的主要评价标准,其计算方法为ground-truth类别在前5个预测类别之外的图像比例。

对于大多数实验,我们使用验证集作为测试集。某些实验也在测试集上进行,并作为ILSVRC-2014竞赛的“VGG”团队提交给官方ILSVRC服务器(Russakovsky et al., 2014)

4.1 SINGLE SCALE EVALUATION

我们首先用第2.2节中描述的层配置在单个尺度上评估单个ConvNet模型的性能。

测试图像大小设置为:对于常量S,Q = S;对于变量S∈[Smin, Smax],Q = 0.5(Smin + Smax)。结果如表3所示。

img

首先,我们注意到 A-lrn 与 A 并没有太大错误率区别。因此,我们没有在更深层次的架构(B-E)中使用归一化。

其次,我们观察到分类误差随着ConvNet深度的增加而减小。值得注意的是,尽管深度相同,配置C(包含3个1×1卷积层)的性能比配置D(在整个网络中使用3×3卷积层)差。这表明,虽然额外的非线性确实有帮助(C优于B),但通过使用具有non-trivial的感受野的卷积过滤器来捕获空间上下文也很重要(D优于C)。

当深度达到19层时,我们架构的错误率就饱和了,但更深的网络可能对更大的数据集有益。我们还比较了B与带有5个5×5卷积层的浅网络,后者由B衍生而来,通过将每对3×3卷积层替换为单个5×5卷积层(2.3节中解释的,二者具有相同的感受野)。浅网的top-1误差比B高7%,这证实了带小过滤器的深网络优于带大过滤器的浅网络。

最后,训练时的尺度抖动(S∈[256;512])比在具有固定最小边(S = 256或S = 384)的图像上进行训练得到了明显更好的结果,即使在测试时使用单一尺度。这证实了通过尺度抖动增强训练集确实有助于捕获多尺度图像统计。

4.2 MULTI-SCALE EVALUATION

在评估了单一尺度的ConvNet模型后,我们现在评估测试时尺度抖动的影响。它包括在测试图像的几个缩放版本上运行模型(对应于不同的Q值),然后对得到的类后验进行平均。考虑到训练规模和测试规模之间的较大差异会导致性能下降,使用固定S训练的模型在三种测试图像大小上进行评估,接近训练图像大小:Q = {S−32,S, S + 32}。同时,训练时的尺度抖动使网络在测试时适用于更大的尺度范围,因此使用变量S∈[Smin;我们在更大的数据集范围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中,我们将密集卷积网络评估与多种作物评估进行了比较(关于detail,请参见第3.2节)。本文还通过平均两种评估技术的软max输出来评估它们的互补性。可以看出,使用多种作物的表现略好于密集评估,这两种方法确实是互补的,因为它们的组合优于它们中的任何一种。如上所述,我们假设这是由于对卷积边界条件的不同处理。

img

4.4 CONVNET FUSION

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

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

img

4.5 COMPARISON WITH THE STATE OF THE ART

从表7可以看出,我们的非常深的卷积网络显著优于上一代模型,这在ILSVRC-2012和ILSVRC-2013竞赛中取得了最好的结果。与分类任务冠军相比,该结果也具有竞争力(GoogLeNet,错误6.7%),并大大优于ILSVRC-2013获奖作品Clarifai,在外部训练数据下实现了11.2%,在没有外部训练数据的情况下实现了11.7%。这是值得注意的,考虑到我们仅通过组合两个模型就取得了最好的结果——比大多数ILSVRC提交中使用的要少得多。就单网络性能而言,我们的架构取得了最好的结果(7.0%的测试错误),比单个GoogLeNet高出0.9%。值得注意的是,我们没有脱离LeCun等人(1989)的经典卷积网络架构,而是通过大幅增加深度来改进它。

img

5 CONCLUSION

在这项工作中,我们评估了深度卷积网络(多达19个权重层)用于大规模规模的图像分类。实验证明,深度有利于提高分类精度,使用深度大幅增加的传统的卷积网络架构可以在ImageNet挑战数据集上取得最先进的性能。在附录中,本文所提出模型在广泛的任务和数据集上都有很好的泛化能力,匹敌甚至超越了基于不太深的图像识别神经网络。结果再次证实了深度在视觉表示中的重要性。

ACKNOWLEDGEMENTS

...

REFERENCES

...

A LOCALISATION

在本文的主体部分,我们讨论了ILSVRC挑战的分类任务,并对不同深度的卷积网络架构进行了彻底的评估。在本节中,我们讨论挑战目标定位任务,我们在2014年以25.3%的误差获胜。该挑战可以看作是对象检测的一个特殊情况,对于top-5类中的每一类,需要预测一个单一的目标边界框,而不需考虑每一类目标的实际数量。

img

为此,我们采用ILSVRC-2013本地化挑战的获胜者Sermanet et al.(2014)的方法,并进行了一些修改。我们的方法在A.1节中描述,在A.2节中评估。

A.1 LOCALISATION CONVNET

为了进行对象定位,我们使用一个非常深的卷积网络,其中最后一个全连接层预测边界框位置而不是类分数。边界框由存储其中心坐标、宽度和高度的4-D向量表示。

边界框存储是取决于任务是单类回归还是每类回归。在前一种情况下,全连接层最后一层是4-D,而在后一种情况下是4000-D(因为数据集中有1000个类,比如上图就属于每类回归)。除了最后一个边界框预测层,其余结构都使用卷积网络结构D(表1),它包含16个权重层,在分类任务中表现最好(表4)。

目标定位卷积网的训练与分类卷积网的训练类似(第3.1节)。主要区别在于,我们将逻辑回归目标损失替换为欧氏损失,该损失取决于预测边界框参数与真实值的偏差。

我们训练了两个目标定位模型,每个都在单一尺度上:S = 256和S = 384(由于时间限制,我们在ILSVRC-2014提交的文件中没有使用训练尺度抖动)。训练用相应的分类模型初始化(在相同的尺度上训练),初始学习率设置为10−3。我们探索了微调所有层和只微调前两个全连接层,如Sermanet et al., 2014年所做的那样。最后一个全连接层是随机初始化的,并从头开始训练。

标签:CONVOLUTIONAL,SCALE,训练,VERY,网络,ILSVRC,卷积,图像,我们
From: https://www.cnblogs.com/akaman98/p/17098148.html

相关文章