基于深度卷积神经网络的ImageNet分类
摘要
我们训练了一个大型的深度卷积神经网络,将ImageNet LSVRC-2010竞赛中的120万张高分辨率图像分类为1000个不同的类别。在测试数据上,我们获得了前1和前5的错误率分别为37.5%和17.0%,比之前的先进水平要好得多。这个神经网络有6000万个参数和65万个神经元,它由 5个卷积层,其中一些之后是最大池化层,以及3个全连接层,最后是1000路软层。为了使训练更快,我们使用了非饱和神经元和一个非常有效的GPU实现的卷积操作。为了减少全连接层中的过拟合,我们采用了一种最近开发的正则化方法,称为“dropout”,该方法被证明是非常有效的。我们还在ILSVRC-2012竞赛中输入了该模型的一个变体,并获得了15.3%的获胜测试错误率,而第二好项的测试错误率为26.2%。
1介绍
目前的目标识别方法充分利用了机器学习方法。为了提高它们的性能,我们可以收集更大的数据集,学习更强大的模型,并使用更好的技术问题,以防止过度装配。直到最近,标记图像的数据集相对较小——数以万张图像(e.g., NORB [16], Caltech-101/256 [8, 9], and CIFAR-10/100 [12])。简单的识别任务可以很好地解决这样大小的数据集的识别任务,特别是如果它们通过标签保留转换进行增强。例如,在MNIST数字识别任务上的当前最佳错误率(lt;0.3%)接近于人类的性能[4]。但在现实环境中的物体表现出相当大的可变性,所以要学会识别它们,有必要使用更大的训练集。事实上,小图像数据集的缺点已经得到了广泛的认识(e.g., Pinto et al. [21]),但直到最近才能够收集包含数百万张图像的标记数据集。新的更大的数据集包括LabelMe[23],它包括数十万张完全分割的图像,以及ImageNet[6],它包括超过22000个类别的1500万张标记高分辨率图像。
为了从数百万张图像中学习大约数千个物体,我们需要一个具有较大学习能力的模型。然而,物体识别任务的巨大复杂性意味着这个问题可以即使是像ImageNet这样大的数据集也不能指定,所以我们的模型也应该有大量的先验知识来补偿我们没有的所有数据。卷积神经网络(CNNs)构成了这样一类模型[16,11,13,18,15,22,26]。它们的能力可以通过改变它们的深度和广度来控制,它们还可以对图像的性质做出强有力的和最正确的假设(即统计学的平稳性和局部性像素依赖性的复杂性)。因此,与具有相似大小层的标准前馈神经网络相比,CNNs的连接和参数要少得多,因此它们更容易训练,而理论上是最好的表现很可能只会稍微差一点。
尽管CNNs具有吸引人的质量,而且尽管它们的本地架构相对高效,但它们在大规模应用于高分辨率图像方面仍然非常昂贵。幸运的是,目前的GPU,加上高度优化的二维卷积实现,强大到足以促进训练有趣的大型CNNs,最近的数据集,如ImageNet包含足够的标记例子来训练这样的模型而没有严重的过拟合。
本文的具体贡献如下:我们在ILSVRC-2010和ILSVRC-2012竞赛中使用的Image Net子集上训练了迄今为止最大的卷积神经网络之一 [2],并取得了迄今为止在这些数据集上报告的最佳结果。我们编写了一个高度优化的二维卷积的GPU实现和训练卷积神经网络中固有的所有其他操作,并将其公开提供1。我们的网络包含了许多新的和不寻常的特性,它们提高了其性能,减少了其训练时间,详见第3节。我们的网络的规模使过拟合成为一个重要的问题,甚至有120万个标记的训练例子,所以我们使用了几种有效的技术来防止过拟合,这些内容在第4节详细描述。我们最终的网络包含5个卷积层和3个全连接层,这个深度似乎很重要:我们发现,去除任何卷积层(每个层包含不超过1%的模型参数)都会导致较差的性能。
最后,网络的规模主要受到当前GPUs上的可用内存量和我们愿意容忍的训练时间量的限制。我们的网络需要5到6天的时间才能在两个GTX580 3GB GPU上进行训练。我们所有的实验都表明,只要等待更快的GPU和更大的数据集出现,我们的结果就可以得到改进。
1 http://code.google.com/p/cuda-convnet/
2数据集
ImageNet是一个包含超过1500万张标记高分辨率图像的数据集,属于大约属于22,000个类别。这些图片是从网上收集下来的,并由人工标签使用Amazon Mechanical Turk众包工具进行标记。从2010年开始,作为帕斯卡视觉对象挑战的一部分,一个名为图像网大规模视觉识别挑战(ILSVRC)的年度比赛已经举行。ILSVRC使用了ImageNet的一个子集,在1000个类别中,每个类别中大约有1000张图像。总共有大约120万张训练图像、5万张验证图像和15万张测试图像。
ILSVRC-2010是ILSVRC中唯一一个可用测试集标签的版本,所以这是我们进行大部分实验的版本。由于我们也参加了ILSVRC-2012竞赛,在第6节中,我们也报告了关于这个版本的数据集的结果,因为这些测试集标签是不可用的。在ImageNet上,通常会报告两种错误率:前1和前5,其中前5个错误率是正确标签不在模型认为最有可能的5个标签中的测试图像的比例。
ImageNet由可变分辨率的图像组成,而我们的系统需要一个恒定的输入维度。因此,我们将图像进行降采样到256times;256的固定分辨率。给定一个矩形图像,我们首先重新缩放图像,使较短的一侧长度为256,然后从得到的图像中裁剪出中央的256times;256补丁。我们没有以任何其他方式对图像进行预处理,除了从每个像素中减去训练集上的平均活动。因此,我们根据像素的(中心)原始RGB值来训练我们的网络。
3体系结构
图2总结了我们的网络的体系结构。它包含8个学习层,5个卷积层和3个完全连接层。下面,我们将描述我们的网络架构的一些新颖或不寻常的特征。第3.1-3.4节根据我们对其重要性的估计进行排序,首先是最重要的。
3.1ReLU非线性
将神经元的输出f作为其输入x的函数进行建模的标准方法是用或 。在梯度下降的训练时间方面,这些饱和非线性比非饱和非线性要慢得多f(x) = max(0, x)。在Nair和Hinton[20]之后,我们将具有这种非线性的神经元称为整正线性单位(ReLUs)。ReLUs的深度卷积神经网络训练速度比其他单位的快几倍。图1所示,它显示了在特定的四层卷积网络的CIFAR-10数据集上达到25%训练误差所需的迭代次数。这个情节显示如果我们使用传统的饱和神经元模型,我们就不可能用如此大的神经网络来为这项工作进行实验。
我们并不是第一个考虑在CNNs中替代传统神经元模型的人。例如,Jarrett等人。[11]声称非线性f(x)=|tanh(x)|在它们的对比归一化类型,然后在加州理工学院101数据集上的局部平均池。然而,在这个数据集上,主要关注的问题是防止过拟合,所以他们观察到的效果不同于我们在使用ReLUs时报告的适应训练集的加速能力。更快的学习对在大数据集上训练的大模型的性能有很大的影响。
图1:带有ReLUs(实线)的四层卷积神经网络在CIFAR-10上的训练错误率比具有tanh神经元的等效网络(虚线)快6倍,达到25%。 每个网络的学习速率都是独立选择的,以使训练尽可能快。没有采用任何形式的正规化。这里展示的效果的大小随着网络结构的不同而不同,但是使用ReLUs的网络的学习速度总是比使用饱和神经元的网络快几倍。
3.2对多种GPUs的训练
一个GTX580GPU只有3GB的内存,这限制了可以用其进行训练的网络的最大大小。事实证明,120万个训练例子足以训练那些太大而无法适应一个GPU的网络。因此,我们将网络分散在两个GPU上。当前的GPU特别适合于跨GPU并行化,因为它们能够直接读取和写到彼此的内存中,而不需要通过主机内存。我们采用的并行化方案基本上是将一半的内核(或神经元)放在每个GPU上,还有一个额外的技巧:GPU只在特定的层中进行通信。这意味着,例如,第3层的内核从第2层中的所有内核映射中获取输入。然而,第4层中的内核只从位于同一GPU上的第3层中的内核映射中获取输入。选择连接模式是交叉验证的一个问题,但这允许我们精确地调整通信量,直到它是计算量的一个可接受的部分。
由此产生的架构有点类似于Cirecedil;san等人使用的 “柱状” CNN。[5],除了我们的列不是独立的(见图2)。与在一个GPU上训练的每个卷积层中只有一半的内核数相比,该方案将前1个和前5的错误率分别降低了1.7%和1.2%。双GPU网络比单GPU网络花费的训练时间略少2。
2在最终的卷积层中,一个GPU网实际上与两个GPU网有相同数量的内核数。这是因为网络的大部分参数都在第一个全连接层中,它以最后一个卷积层作为输入。因此,为了使这两个网具有近似相同数量的参数,我们没有将最终卷积层的大小减半(也没有将随后完全连接的层减半)。因此,这种比较偏向于单GPU网,因为它大于双GPU网的“一半大小”。
3.3局部响应规范化
ReLU具有一个理想的特性,即它们不需要输入规范化来防止它们饱和。如果至少有一些训练例子对ReLU产生了积极的输入,学习将在该神经元中发生。然而,我们仍然发现以下局部归一化方案有助于推广。用表示在位置(x,y)应用核i计算,然后应用ReLU非线性计算的神经元的活动,响应归一化活动由表达式给出
其中,总和在相同空间位置的n个“相邻”核映射上运行,N是该层中的内核总数。核映射的顺序当然是任意的,并且在训练开始之前就确定了。这种反应正常化实现了一种侧向抑制的形式,其灵感来自于在真实神经元中发现的类型,在使用不同内核计算的神经元输出之间创造了对大型活动的竞争。常数k、n、alpha;和beta;是超参数,其值通过验证集确定;我们使用了k=2、n=5、alpha;=10 4 和beta;=0.75。我们在某些层中应用ReLU非线性后,应用了这种归一化(见第3.5节)。
该方案与Jarrett等人的局部对比归一化方案有一些相似性。[11],但我们的将被更正确地称为“亮度标准化”,因为我们不减去平均活动度。响应归一化将我们的前1和前5的错误率分别降低了1.4%和1.2%。我们还在CIFAR-10数据集上验证了该方案的有效性:四层CNN未经归一化的测试错误率为13%,未经归一化3的测试错误率为11%。
3由于空间的限制,我们不能详细描述这个网络,但它是由这里提供的代码和参数文件精确指定的:http://code.google.com/p/cuda-convnet/。
3.4重叠池
CNNs中的池层总结了同一核图中相邻神经元组的输出。传统上,由相邻的池化单元所总结的社区不重叠(e.g., [17, 11, 4])。更准确地说,池化层可以被认为是由间隔为s像素的池化单元组成的网格组成,每个都有一个大小为ztimes;z为中心的邻域。如果我们设置s=z,我们得到CNNs中常用的传统局部池。
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[595947],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 基于ElasticSearch的面向社交网络的公众舆论监控平台外文翻译资料
- 基于卷积神经网络的智能车牌识别系统研究外文翻译资料
- 基于深度卷积神经网络的ImageNet分类外文翻译资料
- Android 开发的代码推荐:它是如何工作的以及可以改进的地方?外文翻译资料
- 基于传感器网络的城市天然气泄漏在线监测系统外文翻译资料
- 基于深度学习的微博文本情感分析外文翻译资料
- 定义增强现实系统的需求,以克服在协同设计会议中创建和使用设计表示的挑战外文翻译资料
- 为什么人们会玩基于地理位置的增强现实游戏:基于宝可梦Go的研究外文翻译资料
- 基于JSP和PHP的动态Web服务器性能分析与仿真建模外文翻译资料
- GNU libmicrohttpd 库教程外文翻译资料