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

 2022-06-11 09:06

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


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

伦多Alex Krizhevsky大学kriz@cs.utoronto.cakriz@cs.utoronto.ca

Ilya SutskeverIlya Sutskever

多伦多大学

ilya@cs.utoronto.cailya@cs.utoronto.ca

伦多Geoffrey E. Hinton大学hinton@cs.utoronto.cahinton@cs.utoronto.ca

摘要

我们训练了一个庞大的深层卷积神经网络,将ImageNet LSVRC-2010比赛中的120万张高分辨率图像分为1000个不同的类别。 在测试数据上,我们取得了37.5%和17.0%的前1和前5的错误率,这比以前的先进水平要好得多。 具有6000万个参数和65万个神经元的神经网络由五个卷积层组成,其中一些随后是最大汇聚层,三个完全连通层具有最终的1000个方向的最大值。 为了使训练更快,我们使用非饱和神经元和卷积运算的非常高效的GPU实现。 为了减少完全连接层中的过拟合,我们采用了最近开发的称为“辍学”的正则化方法,这种方法被证明是非常有效的。 我们还在ILSVRC-2012比赛中进入了这个模型的变体,获得了15.3%的前五名测试错误率,而第二好的成绩是26.2%。

介绍

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

要从数百万图像中了解数千个对象,我们需要一个具有大量学习能力的模型。 然而,目标识别任务的巨大复杂性意味着即使是像ImageNet这样大的数据集也不能确定这个问题,所以我们的模型也应该有很多先验知识来弥补我们没有的所有数据。 卷积神经网络(CNN)构成了这样一类模型[16,11,13,18,15,22,26]。 他们的能力可以通过改变他们的深度和广度来控制,而且他们也对图像的性质(即统计的平稳性和像素依赖性的局部性)做出强而且大部分正确的假设。 因此,与具有相同大小的层的标准前向神经网络相比,CNN具有更少的连接和参数,因此它们更容易训练,而理论上最好的性能可能仅略差一些。

尽管CNN具有吸引人的特性,尽管当地建筑的效率相对较高,但它们在大规模应用于高分辨率图像方面仍然过于昂贵。 幸运的是,当前的GPU与高度优化的二维卷积实现配对,足以促进有趣的大CNN的训练,最近的数据集(如ImageNet)包含足够的标记示例来训练此类模型,而不会出现严重的过拟合问题。

本文的具体贡献如下:我们在ILSVRC-2010和ILSVRC-2012竞赛中使用的ImageNet子集上训练了迄今为止最大的卷积神经网络之一[2],迄今为止取得了迄今为止最好的结果这些数据集。 我们写了一个高度优化的2D卷积GPU实现,以及我们公开发布的卷积神经网络1中所固有的所有其他操作。 我们的网络包含一些新的和不同寻常的特性,这些特性可以提高其性能并缩短训练时间,这在第3节详细说明。我们的网络规模过度拟合了一个重大的问题,即使有120万个标记的训练实例,我们的最终网络包含5个卷积层和3个完全连接层,这个深度似乎很重要:我们发现去除任何卷积层(每个卷积层不超过1个模型参数的百分比)导致较差的性能。

最后,网络的规模主要受限于当前GPU上可用的内存数量以及我们愿意接受的培训时间。 我们的网络需要花费五到六天的时间来训练两台GTX 580 3GB GPU。 我们所有的实验都表明,通过等待更快的GPU和更大的数据集的可用性,我们的结果可以得到改善。

数据集

ImageNet是一个超过1500万标记的高分辨率图像的数据集,属于大约22000个类别。 从网上收集图像,并使用Ama-s Mechanical Turk人群采购工具,由人类贴标机进行标记。 从2010年开始,作为Pascal视觉对象挑战赛的一部分,每年举办一次名为ImageNet大型视觉识别挑战赛(ILSVRC)的比赛。 ILSVRC使用ImageNet的一个子集,在1000个类别的每一个中大约有1000个图像。 总共有大约120万个训练图像,50,000个验证图像和15万个测试图像。

ILSVRC-2010是ILSVRC唯一可用的测试集标签版本,所以这是我们进行大部分实验的版本。 由于我们也在ILSVRC-2012比赛中进入了我们的模型,所以我们在第六部分报告了这个版本的数据集的结果,而且这个测试集标签是不可用的。 在ImageNet上,习惯上报告两个错误率:top-1和top-5,其中top-5错误率是测试图像的分数,正确的标签不是被模型认为最可能的五个标签之一。

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

times;

times;

架构

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

1http://code.google.com/p/cuda-convnet/http://code.google.com/p/cuda-convnet/

ReLU非线性

将神经元输出f建模为输入x的函数的标准方法是f(x)= tanh(x)或f(x)=(1 eminus;xminus;1。 就梯度下降训练时间而言,这些饱和非线性比非饱和非线性f(x)= max(0,x)慢得多。 继Nair和Hinton [20]之后,我们把具有这种非线性的神经元称为整流线性单位(ReLU)。 使用ReLU的深度卷积神经网络比tanh单位训练快几倍。 这在图1中得到了证明,该图显示了特定四层卷积网络在CIFAR-10数据集上达到25%训练误差所需的迭代次数。 这个图显示,如果我们使用传统的饱和神经元模型,那么我们就不能用这样大的神经网络来进行这项工作。

我们并不是第一个在CNN中考虑传统神经元模型的替代方案。 例如,Jarrett等人 [11]声称,非线性f(x)= tanh(x)与它们的对比归一化类型以及随后在Caltech-101数据集上的局部平​​均汇集一起工作得特别好。 然而,在这个数据集中,主要关心的是防止过度拟合,所以他们观察到的效果不同于使用ReLU报告的训练集的加速能力。 加快学习对于在大型数据集上训练的大型模型的性能有很大的影响。

| |

图1:具有ReLUs(实线)的四层卷积神经网络在CIFAR-10上达到25%的训练错误率,比具有双曲神经元(虚线)的等效网络快六倍。 每个网络的学习率都是独立选择的,尽可能快地进行训练。 没有任何正规化被采用。 这里展示的效应的大小随网络架构而变化,但是具有ReLU的网络一直学习比饱和神经元快几倍的速度。

在多个GPU上进行培训

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

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

2在最后的卷积层中,单GPU网络实际上具有与双GPU网络相同数量的内核。 这是因为大部分的网络参数都在第一个完全连接的层,它把最后一个卷积层作为输入。 所以为了使两个网络具有大致相同数量的参数,我们没有减半最后的卷积层(也没有遵循完全连通的层)的大小。 因此,这个比较偏向于单GPU网络,因为它大于双GPU网络的“一半大小”。

本地响应标准化

ReLU具有所需的属性,它们不需要输入标准化来防止它们饱和。 如果至少有一些训练样例对ReLU产生积极的输入,则会在该神经元中进行学习。 不过,我们仍然发现以下的地方正常化计划有助于

概括。 i 通过在位置处应用核i而计算的神经元的活动

x,y

(x,y),然后应用ReLU非线性,响应归一化活动bi 是(谁)给的

x,y

表达方式

i x,y

b

i x,y

= a

/k

min(N-1,i n / 2)

(a

JX,Y

J = MAX(0,I-N / 2)

beta;

)2

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

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

重叠池

CNN中的汇聚层汇总相同内核映射中相邻神经元组的输出。 传统上,由邻近的汇集单元汇总的街区不重叠(例如,[17,11,4])。 更确切地说,池化层可以被认为是由像素间距为s的池化单元组成,每个池总计一个以池化单元的位置为中心的大小zz的邻域。 如果我们设置s = z,我们就可以获得CNN中常用的传统的本地池。 如果我们设置s lt;z,我们得到重叠池。 这是我们在整个网络中使用的,s = 2和z = 3。与非重叠方案相比,这个方案分别将前1和前5的错误率分别降低了0.4%和0.3% 2,z = 2,产生相同尺寸的输出。 我们通常在训练期间观察到重叠池模型发现稍微难以过度拟合。

times;

整体建筑

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

第二个,第四个和第五个卷积层的内核仅与上一层驻留在同一GPU上的内核映射相连(见图2)。 第三卷积层的内核连接到第二层的所有内核映射。 完全

全文共12550字,剩余内容已隐藏,支付完成后下载完整资料


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

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

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