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

摘要:
在本文中,我们研究了在大规模图像识别环境中卷积网络深度对识别精度的影响。我们的主要贡献是对使用非常小(3×3)卷积滤波器的结构增加深度的网络进行了透彻的评估,这表明通过将深度提升到16-19权重层可以实现对现有技术配置的重大改进。这些发现是我们提交2014年ImageNet挑战赛的基础,我们的团队分别在地方评估和分类轨道上获得了第一名和第二名。我们还表明,我们的表示很好地推广到其他数据集,在那里他们获得了最新的结果。我们已经将我们两个性能最好的ConvNet模型公诸于众,以便进一步研究在计算机视觉中使用深度视觉表示的问题。

1.引言
2.卷积网络配置
2.1 架构
在培训期间,我们的ConvNet的输入是一个固定大小的224×224 RGB图像。我们所做的唯一预处理是从每个像素中减去在训练集上计算的平均RGB值。图像通过卷积(conv.)层,其中我们使用的过滤器与一个非常小的感受域:3×3(这是最小的大小捕捉左/右,上/下,中心的概念)。在其中一种配置中,我们还使用了1×1卷积滤波器,这可以看作是输入通道的线性变换(随后是非线性)。卷积步长固定为1个像素,卷积层的空间划入使卷积后的空间分辨率保持不变,即3×3conv的空间分辨率为1个像素。层次感。空间池由五个最大池层执行,这些最大池层跟随一些Conv。图层(不是所有的Conv。层之后是最大池)。最大池是在2×2像素窗口上执行的,步幅为2。

一系列的卷积层(在不同的体系结构中具有不同的深度)后面是三个完全连接(FC)层:前两层各有4096个信道,第三层执行1000路ILSVRC分类,因此包含1000个信道(每类一个)。最后一层是Soft-max层。在所有网络中,完全连接层的配置都是相同的。

所有隐藏层都配备了非线性校正(RELU(Krizhevsky等人,2012年)。我们注意到,我们的网络(除了一个网络)都不包含本地响应正常化(LRN)和正常化(Krizhevsky等人,2012):如本节所示。4、这样的规范化并不能改善ILSVRC数据集的性能,但会导致内存消耗和计算时间的增加。在适用的情况下,LRN层的参数是(Krizhevsky等人,2012年)。

2.2 配置
本文中评估的ConvNet配置在表1中列出,每列一个。在下文中,我们将用它们的名称(A-E)来指代这些网。所有配置均遵循中所述的通用设计,仅在深度上有所不同:从网络A中的11个权重层(8个卷积层和3个FC层)到网络E中的19个重层(16个卷积层和3个FC层)。卷积层的宽度(通道数)相当小,从第一层的64开始,然后在每个最大池层之后增加2倍,直到达到512。
在这里插入图片描述

在这篇论文中分别使用了A、A-LRN、B、C、D、E这6种网络结构进行测试,这6种网络结构相似,都是由5层卷积层、3层全连接层组成,其中区别在于每个卷积层的子层数量不同,从A至E依次增加(子层数量从1到4),总的网络深度从11层到19层(添加的层以粗体显示),表格中的卷积层参数表示为“conv⟨感受野大小⟩-通道数⟩”,例如con3-128,表示使用3x3的卷积核,通道数为128。为了简洁起见,在表格中不显示ReLU激活功能。
其中,网络结构D就是著名的VGG16,网络结构E就是著名的VGG19。

在表2中,我们报告了每个配置的参数数量。尽管深度较大,但我们的网络中的权重数量并不大于较浅的网络中的权重数量,而容量较大的网络中的权重也不会比较浅的网络中的权重更大。
在这里插入图片描述
2.3 讨论
……
所以我们使用三个33卷积层而不是单个77层得到了什么?首先,我们引入了三个非线性校正层,而不是单一的非线性校正层,使得决策函数更具判别性。第二,我们减少了参数的数量。假设输入和输出三层卷积堆栈有C条通道,一共有3(33CC)
=27C^2 个权重;与此同时,一个7×7 conv.层需要7
7* CC = 49 CC个参数。这可以被看作是强加在7×7的Conv上的规则化。通过3×3个滤波器,迫使它们进行分解(在两者之间注入非线性)。

1×1conv.Layers(配置C,表1)是一种在不影响Conv的感受域的情况下增加决策函数的非线性的方法。层次感。即使在我们的例子中,1×1卷积本质上是到同一维空间的线性投影(输入和输出通道的数目是相同的),但校正函数还是引入了额外的非线性。值得注意的是,1×1conv.LIN等人最近在“网络中的网络”体系结构中使用了多层结构。(2014年)

小尺寸卷积滤波器以前曾被Ciresan等人使用过。(2011),但是他们的网远没有我们的深,而且他们没有在大规模的ILSVRC数据集上进行评估。古德费罗等人。(2014)将深度ConvNet(11个权重层)应用于街道号码识别任务,并表明深度的增加导致了更好的性能。Google LeNet(Szegedyet al.,2014)是ILSVRC-2014分类任务中表现最好的条目,它是独立于我们的工作开发的,但类似的是它基于非常深的ConvNet(22个权重层)和小卷积滤波器(除了3×3,它们还使用1×1和5×5卷积)。然而,它们的网络拓扑比我们的复杂,并且在第一层中特征映射的空间分辨率被更积极地降低,以减少计算量。如第三节所示。4.5,我们的模型优于Szegedy等人的模型。(2014)在单网分类精度方面。

3.分类框架
在上一节中,我们介绍了网络配置的详细信息。在这一部分中,我们将详细描述分类ConvNet的培训和评估。
3.1 训练
3.2 测试
3.3 实现细节
我们的实现源自可公开使用的C+Caffe工具箱(贾,2013年)(2013年12月扩展),但包含一些重大修改,允许我们对安装在单一系统进行训练和评估,以及对多尺度的全尺寸(未裁剪)图像进行训练和评估。多GPU训练利用数据的并行性,将每批训练图像分割成若干个GPU批,在每个GPU上并行处理。在计算GPU批处理梯度后,对这些梯度进行平均以得到整个批处理的梯度。梯度计算在GPU之间是同步的,因此其结果与在单个GPU上进行培训时的结果完全相同。

虽然最近提出了加速ConvNet训练的更复杂的方法(Krizhevsky, 2014),该方法对网络的不同层采用了模型和数据并行性,我们发现,与使用单个GPU相比,我们的概念上简单得多的方案已经在现成的4-GPU系统上提供了3.75倍的加速。在一个配备了四个vidiatitan黑色gpu的系统上,根据架构的不同,培训一个网络需要2 - 3周。

4.分类实验
数据集:在本节中,我们展示了描述的ConvNet架构在ILSVRC-2012数据集(用于ILSVRC 2012 2014challenges)上实现的图像分类结果。该数据集包含1000个类的图像,分为三组:训练(130万张图像)、验证(50万张图像)和测试(10万张带有类标签的图像)。使用两种度量方法评估分类性能:top-1和top-5错误。前者是多类分类错误,即分类错误图像的比例;后者是ILSVRC中使用的主要评价标准,计算为ground-truth类别在前5个预测类别之外的图像所占的比例。

对于大多数实验,我们使用验证集作为测试集。还在测试集上进行了某些实验,并作为“vgg”队进入ilsvrc-2014比赛,提交给了官方的ilsvrc服务器。

4.1. 单一地规模评估

首先,我们注意到在没有任何规范化层的情况下,使用本地响应规范化(A- lrn网络)并不能改善模型A。因此,我们没有在更深层次的架构(B-E)中使用规范化。

4.2. 多规模评估
4.3 多作物评价

在表5中,我们比较了密集ConvNet评估和多作物评估(请参见。3.2详情)。我们还通过平均它们的软最大输出来评估这两种评估技术的互补性。可以看出,使用多种作物的效果略好于密集评估,而且这两种方法确实是互补的,因为它们的组合优于每一种方法。如上所述,我们假设这是由于卷积边界条件的不同处理所致。

在这里插入图片描述

4.4 卷积融合

4.5 与现阶段水平的比较
最后,我们将我们的结果与表7中的最新技术进行了比较。在ILSVRC-2014挑战赛(Russakovsky等人,2014年)的分类任务中,我们的“VGG”团队使用7个模型的组合获得了7.3%的测试误差,排名第二。提交后,我们降低了错误率6.8%使用一个集成的两个模型。
从表7可以看出,我们非常深的ConvNet的表现明显优于以前的型号,这在ILSVRC-2012和ILSVRC-2013比赛中取得了最好的结果。我们的结果在分类任务获胜者(Google LeNet,误差6.7%)方面也是有竞争力的,并且大大优于ILSVRC-2013中标提交的Clarifai,后者在有外部培训数据的情况下达到11.2%,在没有外部培训数据的情况下达到11.7%。这是值得注意的,考虑到我们最好的结果是通过合并两个模型实现的-远远少于大多数ILSVRC呈件中使用的模型。在单网性能方面,我们的架构达到了最好的结果(7.0%的测试误差),比单一的Google LeNet高0.9%。值得注意的是,我们并没有背离Lecun等人的经典ConvNet体系结构。(1989),但通过大幅度增加深度而改善了这一点。

5.结论
在这项工作中,我们评估了非常深的卷积网络(最多19个权层),用于大规模的图像分类。结果表明,表示深度有利于分类精度,利用深度显著增加的传统ConvNet架构可以在ImageNet challenge数据集上实现最先进的性能。在附录中,我们还表明,我们的模型很好地概括了广泛的任务和数据集,匹配或性能优于更复杂的识别管道建立在较不深的图像表示。我们的研究结果再次证实了深度在视觉表现中的重要性。

参考:
1.深度学习、图像分类入门、从VGG16卷积神经网络开始
2.详解VGG16以及启发
3.Kares实现VGG16
4.如何从0使用Keras+Tensorflow开发一个复杂深度学习模型
5.2015 VGG16-PDF

猜你喜欢

转载自blog.csdn.net/weixin_42610407/article/details/87216475