基于深度卷积神经网络的ImageNet分类外文翻译资料

 2023-03-15 11:06:22

基于深度卷积神经网络的ImageNet分类

关键词:深度学习,卷积神经网络,ImageNet

摘要:我们训练了一个大型的深度卷积神经网络,将2010年ImageNet大规模视觉识别挑战赛(ILSVRC)中的120万张高分辨率图像分成1000个不同的类别。在测试数据上,我们获得了top-1和top-5的错误率分别为37.5%和17.0%,这大大优于之前的技术水平。该神经网络拥有6000万个参数和65万个神经元,由5个卷积层组成,其中一些层后面是最大池化层,以及3个完全连接的层和最终的1000路软最大层。为了使训练更快,我们使用了非饱和神经元和一个非常高效的GPU实现卷积操作。为了减少全连接层中的过拟合,我们使用了一种最近发展起来的名为“dropout”的正则化方法,该方法被证明是非常有效的。在ILSVRC-2012竞赛中,我们也进入了该模型的一个变体,并获得了前5名的测试错误率为15.3%,而第二名的测试错误率为26.2%。

1.简介

目前的物体识别方法主要使用机器学习方法。为了提高它们的性能,我们可以收集更大的数据集,学习更强大的模型,并使用更好的技术来防止过拟合。直到最近,标记图像的数据集还相对较小——大约有数万幅图像(例如,NORB[16]、Caltech-101/256[8,9]和CIFAR-10/100[12])。这种规模的数据集可以很好地解决简单的识别任务,特别是当它们被标签保留转换扩充时。例如,当前MNIST数字识别任务的最佳错误率(lt;0.3%)接近于人类性能[4]。但现实环境中的物体表现出相当大的可变性,所以要学会识别它们,有必要使用更大的训练集。事实上,小图像数据集的缺点已经被广泛认识到(如Pinto et al.[21]),但直到最近才有可能收集数百万幅图像的标记数据集。新的更大的数据集包括LabelMe[23]和ImageNet[6]。LabelMe[23]由数十万张完全分割的图像组成,ImageNet[6]由超过1500万张标签高分辨率图像组成,分类超过22000个。

为了从几百万张图像中学习数以千计的物体,我们需要一个学习能力更强的模型。然而,物体识别任务的极大复杂性意味着这个问题不能被指定,即使是通过与ImageNet一样大的数据集,所以我们的模型中也应该有大量的先验知识,以补偿我们所没有的全部数据。卷积神经网络(CNN)构成了一个这种类型的模型[16, 11, 13, 18, 15, 22, 26]。它们的能力可以通过改变其深度与广度得到控制,它们也可作出有关图像性质的强壮且多半正确的假设(即,统计数据的稳定性和像素依赖关系的局部性)。因此,与层次规模相同的标准前馈神经网络相比,CNN的连接关系和参数更少,所以更易于训练,而其理论上的最佳性能可能只略差一点。

不论CNN的性质多有吸引力,也不论它们局部结构的相对效率有多高,将它们大规模地应用到高分辨率图像中仍然是极其昂贵的。幸运的是,目前的GPU搭配了一个高度优化的2D卷积工具,强大到足以促进大规模CNN的训练,而且最近的数据集像ImageNet包含足够的带标签的样例来训练这样的模型,还不会有严重的过拟合。

本文的具体贡献如下:我们在ILSVRC-2010和ILSVRC-2012大赛中使用过的ImageNet的子集上[2],训练了迄今为止最大型的卷积神经网络之一,并取得了迄今为止在这些数据集上报告过的最好结果。我们写了一个高度优化的GPU二维卷积工具以及训练卷积神经网络过程中的所有其他操作,这些我们都提供了公开地址。我们的网络中包含一些既新鲜而又不同寻常的特征,它们提高了网络的性能,并减少了网络的训练时间,这些详见第3节。我们的网络中甚至有120万个带标签的训练样本,这么大的规模使得过拟合成为一个显著的问题,所以我们使用了几种有效的方法来防止过拟合,这些在第4节中给以描述。我们最终的网络包含五个卷积层和三个全连接层,且这种层次深度似乎是重要的:我们发现,移去任何卷积层(其中每一个包含的模型参数都不超过1%)都会导致性能变差。

最后,网络的规模主要受限于当前GPU的可用内存和我们愿意容忍的训练时间。我们的网络在两块GTX 580 3GB GPU上训练需要五到六天。我们所有的实验表明,等更快的GPU和更大的数据集可用以后,我们的结果就可以轻而易举地得到改进。

2.数据集

ImageNet 是一个属于大约有22000类别的超过1500万标记的高分辨率图像的数据集。图片是从网上收集的并且被人工添加标识。从2010开始,作为帕斯卡视觉对象挑战杯的一部分,名为ImageNet大规模视觉识别的挑战(ILSVRC)每年举行一次。ILSVRC使用ImageNet的一个子集,每1000个类别中大约有1000个图像。总共有大约120万个训练图像,50,000个验证图像和150,000个测试图像。

ILSVRC-2010是ILSVRC的唯一可用的有标识的测试集版本,因此这是我们执行大部分实验的版本。因为我们也搭建了我们的模型在2012年的ILSVRC挑战杯 ,我们会在第6节报告在这个版本的数据集上的的结果,而它的测试集标签无法获取的。在ImageNet上,习惯上报告两种错误率:top-1和top-5,其中top-5错误率是正确标签不在被模型认为最可能的五个标签之中的测试图像的分数。

ImageNet由可变分辨率的图像组成,而我们的系统需要恒定的输入维度。因此,我们将图像欠采样到256*256的固定分辨率。给定一个矩形图像,我们首先重新缩放图像,使得短边的长度为256,然后从结果图像中裁剪出中心256 * 256的部分。除了从每个像素中减去训练集上的平均激活值之外,我们没有以任何其他方式预处理图像。 所以我们在像素的(中心化的)原始的RGB值上训练了我们的网络。

3.体系结构

图2总结了我们网络的体系结构。它包含八个已学习的层——五个卷积和三个完全连接。下面,我们描述一些我们网络架构的新颖或不寻常的特征。3.1-3.4节按照我们对它们重要性的估计进行排序,其中最重要的是第一个。

3.1ReLU非线性

将神经元的输出f,作为其输入x的函数,对其建模的标准方法是用或者。就梯度下降的训练时间而言,这些饱和非线性函数比不饱和非线性函数要慢得多。我们跟随Nair和Hinton[20]称这种不饱和非线性的神经元为修正线性单元(ReLU)。训练带ReLUs的深度卷积神经网络比带tanh单元的同等网络要快好几倍。如图1所示,它显示出对于特定的四层卷积网络,在CIFAR-10数据集上达到25%的训练误差所需的迭代次数。此图显示,如果我们使用了传统的饱和神经元模型,就不能用如此大的神经网络来对该工作完成实验。

图1:带ReLU的四层卷积神经网络(实线)在CIFAR-10数据集上达到25%训练误差率要比带tanh神经元的同等网络(虚线)快6倍。每个网络的学习速率是独立选取的,以使得训练尽可能快。没有使用任何形式的正则化。这里展示的效应的大小随网络架构而变化,但具有ReLU的网络一直学习速度比饱和神经元快几倍。

我们不是第一个在CNN中考虑传统神经元模型的替代方案的。例如,Jarrett等人[11]声称,非线性函数尤其适用于他们的对比规范化类型,它在Caltech-101数据集上工作得特别好。然而,在该数据集上的主要关注点是防止过拟合,所以他们观察到的效果与我们在使用ReLU时报告的训练集合的加速能力不同。加快学习对大型数据集上训练的大型模型的性能有很大的影响。 3.2在多GPU上训练

单个GTX 580 GPU只有3GB内存,这限制了可以在其上训练的网络的最大尺寸。事实证明,120万个训练样例足以训练那些尺寸太大而不适合一个GPU的网络。因此,我们将网络分布在两个GPU上。目前的GPU特别适合于跨GPU并行化,因为它们能够直接读写对方的内存,而无需通过主机内存。我们所采用的并行化方案基本上在每个GPU上放置了一半的内核(或神经元),还有一个额外的技巧:GPU仅在某些层次上进行通信。这意味着,例如,第3层的内核从第2层的所有内核映射中获取输入。但是,第4层中的内核只能从驻留在同一GPU上的第3层中的那些内核映射接收输入。选择连通性模式是交叉验证的一个问题,但这使我们能够精确调整通信量,直到它达到计算量的可接受部分。

除了我们的输入值不是独立的(见图2)之外,由此产生的架构有点类似于Cirecedil;san等人所使用的“柱状”CNN。与一个GPU上训练的每个卷积层内核数量减少一半的网络相比,这个方案分别将我们的top-1和top-5的错误率分别降低了1.7%和1.2%。双GPU网络的训练时间比单GPU网络的训练时间稍少。

3.3局部响应归一化

ReLU具有理想的属性,它们不需要输入规范化来防止它们饱和。如果至少有一些训练实例为ReLU提供了正输入值,则学习将会如此发生在那个神经元。然而,我们仍然发现以下的局部标准化方案有助于泛化。式中,表示内核i在位置上计算的激活值,然后通过ReLU非线性变化得到响应的标准化激活值,如下式所示:

式中,总和运行在n个映射在相同空间位置上的“相邻的”内核,N是该层中核的总数。内核映射的排序当然是任意的,并且在训练开始之前确定。这种响应归一化实现了一种受真实神经元中发现的类型所激发的横向抑制形式,造成神经元输出的大数值的激活值的竞争使用不同的内核。常量k、n、alpha;和beta;是超参数,其值是使用验证集确定的; 我们取k = 2, n = 5, alpha; = 10 - 4和beta; = 0.75。我们在应用某些层的ReLU非线性后应用了这种规范化(参见第3.5节)。

该方案与Jarrett等人的局部对比归一化方案有一些相似之处。但是我们的将被更准确地称为“亮度标准化”,因为我们不会减去平均激活值。响应规范化将我们的top-1和top-5的错误率分别降低1.4%和1.2%。我们还验证了这种方案在CIFAR-10数据集上的有效性:没有标准化的四层CNN实现了13%的测试错误率,而有标准化的为11%。

3.4重叠池化

CNN中的池化层概括了相同内核映射中相邻神经元组的输出。一般地,被邻接的池化单元总结的邻居节点是没有重复的。更准确地说,池化层可以被认为是由间隔s个像素的池化单元的网格组成,每个总结值以集中单元的位置为中心的大小为z * z的邻域。如果我们设置s = z,我们就可以获得CNN中常用的传统局部池。如果我们设置s lt;z,我们获得重叠池。这是我们在整个网络中使用的,s = 2和z = 3。与产生等效尺寸的输出的非重叠方案s = 2和z = 2相比,该方案分别将top-1和top-5的错误率分别降低了0.4%和0.3%。我们通常在训练期间观察到重叠池的模型发现稍微难以过拟合。

3.5总体框架

现在我们准备好描述CNN的整体架构。如图2所示,这个网络包含八个带权重的层; 前五个是卷积层,其余三个全连接层。最后全连接层的输出被馈送到1000路softmax,其产生1000个类别标签上的分布。 我们的网络最大化多项逻辑回归函数,这相当于在预测分布下最大化正确标签的对数概率的训练案例的平均值。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[596109],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。