英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料
深度卷积神经网络的ImageNet分类
目录
摘要
我们训练了一个大型深度卷积神经网络,将ImageNet LSVRC-2010比赛中的120万个高分辨率图像分类为1000个不同的类别。在测试数据上,我们实现了前三和前五的错误率分别为37.5%和17.0%,这比之前的最新技术水平要好得多。具有6000万个参数和650,000个神经元的神经网络由五个卷积层组成,其中一些随后是最大池层,三个完全连接的层具有最终的1000路softmax。为了使训练更快,我们使用了非饱和神经元和卷积运算的非常有效的GPU实现。为了减少全连接层中的过度拟合,我们采用了最近开发的称为“压差”的正则化方法,该方法被证明是非常有效的。我们还在ILSVRC-2012竞赛中输入了该模型的变体,并获得了15.3%的前5个测试错误率,而第二好的参赛者则达到了26.2%。
介绍
目前的对象识别方法是机器学习方法的必要用途。为了提高性能,我们可以收集更大的数据集,学习更强大的模型,并使用更好的技术来防止过度拟合。直到最近,标记图像的数据集相对较小 -大约数万张图像(例如,NORB [16],Caltech-101/256 [8,9]和CIFAR-10/100 [12])。使用此大小的数据集可以很好地解决简单的识别任务,特别是如果它们使用标签保留变换进行扩充。例如,MNIST数字识别任务的当前错误率(lt;0.3%)接近人类表现[4]。但是在实际设置中的对象表现出相当大的可变性,因此要学会识别它们,有必要使用更大的训练集。事实上,小图像数据集的缺点已得到广泛认可(例如,Pinto等[21]),但最近才有可能收集数百万张图像的标记数据集。新的更大的数据集包括LabelMe [23]和ImageNet [6],后者由数十万个完全分割的图像组成,ImageNet [6]包含超过22,000个标记的高分辨率图像,超过22,000个类别。
要了解数百万图像中的数千个对象,我们需要一个具有大量学习能力的模型。然而,对象识别任务的巨大复杂性意味着即使是像ImageNet这样大的数据集也无法指定这个问题,因此我们的模型也应该有许多先验知识来补偿我们没有的所有数据。卷积神经网络(CNN)构成了一类这样的模型[16,11,13,18,15,22,26]。它们的容量可以通过改变它们的深度和宽度来控制,并且它们还对图像的性质(即统计的平稳性和像素依赖性的局部性)做出强有力且大多数正确的假设。因此,与具有类似大小的层的标准前馈神经网络相比,CNN具有更少的连接和参数,因此它们更容易训练,而它们的理论上最佳性能可能仅略微更差。
尽管CNN具有吸引人的特性,并且尽管它们的本地架构相对有效,但是它们在大规模应用于高分辨率图像方面仍然过于昂贵。幸运的是,当前的GPU与高度优化的2D卷积实现相结合,足以促进有趣的大型CNN的训练,而最新的数据集如ImageNet包含足够的标记示例来训练此类模型而不会出现严重的过度拟合。
本文的具体贡献如下:我们迄今为止在ILSVRC-2010和ILSVRC-2012竞赛中使用的ImageNet子集中训练了最大的卷积神经网络之一[2]并取得了迄今为止报道的最佳结果。这些数据集。我们编写了一个高度优化的2D卷积GPU实现和训练卷积神经网络中固有的所有其他操作,我们公开提供[1].我们的网络包含许多新的和不寻常的功能,可以改善其性能并缩短其培训时间,详见第3节。我们的网络规模过大,即使有120万个标记的培训示例,我们也使用了几个防止过度拟合的有效技术,见第4节。我们的最终网络包含五个卷积层和三个完全连接层,这个深度似乎很重要:我们发现去除任何卷积层(每个卷层不超过1个)模型参数的百分比)导致性能较差。
最后,网络的大小主要受当前GPU可用内存量以及我们愿意容忍的培训时间限制。我们的网络需要五到六天才能在两台GTX 580 3GB GPU上进行训练。我们所有的实验都表明,只需等待更快的GPU和更大的数据集可用,我们的结果就可以得到改善。
数据集
ImageNet是超过1500万个标记的高分辨率图像的数据集,属于大约22,000个类别。这些图像是从网上收集的,并由人类贴标机使用亚马逊的Mechanical Turk众包工具进行标记。从2010年开始,作为Pascal视觉对象挑战的一部分,年度竞赛称为ImageNet大规模视觉识别挑战赛(ILSVRC)已经举行。ILSVRC使用ImageNet的一个子集,在1000个类别中分别拥有大约1000个图像。总之,大约有120万个训练图像,50,000个验证图像和150,000个测试图像。
ILSVRC-2010是唯一可以获得测试集标签的ILSVRC版本,因此这是我们执行大部分实验的版本。由于我们也在ILSVRC-2012竞赛中输入了我们的模型,因此我们在第6节中报告了此版本数据集的结果,其中测试集标签不可用。在ImageNet上,习惯上报告两个错误率:top-1和top-5,其中前5个错误率是测试图像的分数,正确的标签不属于模型认为最可能的五个标签之中。
ImageNet由可变分辨率图像组成,而我们的系统需要恒定的输入维度。因此,我们将图像下采样到256times;256的固定分辨率。给定矩形图像,我们首先重新缩放图像,使得短边长度为256,然后从结果中裁剪出中心256times;256贴片。图片。我们没有以任何其他方式预处理图像,除了从每个像素减去训练集上的平均活动。因此,我们在像素的(居中)原始RGB值上训练我们的网络。
架构
我们网络的体系结构如图2所示。它包含8个学习层 - 五个卷积和三个完全连接。下面,我们将介绍我们网络架构的一些新颖或不寻常的功能。第3.1-3.4节根据我们对其重要性的估计进行排序,其中最重要的是第一部分。
3.1 ReLU非线性
将神经元输出f建模为其输入x的函数的标准方法是f(x)= tanh(x)或f(x)=(1 eminus;x)minus;1。就具有梯度下降的训练时间而言,这些饱和非线性比非饱和非线性f(x)= max(0,x)慢得多。继Nair和Hinton [20]之后,我们将具有这种非线性的神经元称为整流线性单位(ReLUs)。具有ReLU的深度卷积神经网络比具有tanh单位的等效物快几倍。图1展示了这一点,图1显示了特定四层卷积网络在CIFAR-10数据集上达到25%训练误差所需的迭代次数。该图表明,如果我们使用传统的饱和神经元模型,我们就无法用这种大型神经网络进行实验。
我们不是第一个考虑CNN中传统神经元模型替代品的人。例如,Jarrett等人。[11]声称非线性f(x)= | tanh(x)|特别适用于对比度归一化类型,然后是Caltech-101数据集的局部平均汇集。但是,在此数据集上,主要关注的是防止过度拟合,因此他们观察到的效果与我们在使用ReLU时报告的训练集的加速能力不同。更快的学习对在大型数据集上训练的大型模型的性能有很大影响。
3.2 多GPU培训
图1:具有ReLU(实线)的四层卷积神经网络在CIFAR-10上达到25%的训练错误率,比具有tanh神经元的等效网络(虚线)快6倍。每个网络的学习率都是独立选择的,以便尽快进行培训。没有采用任何形式的正规化。此处演示的效果的大小因网络架构而异,但具有ReLU的网络始终比具有饱和神经元的等效物快几倍。
单个GTX 580 GPU只有3GB内存,这限制了可以在其上训练的网络的最大尺寸。事实证明,120万个训练样例足以训练太大而无法放在一个GPU上的网络。因此,我们将网络分布在两个GPU上。当前的GPU特别适合跨GPU并行化,因为它们能够直接读取和写入彼此的内存,而无需通过主机内存。我们采用的并行化方案基本上将一半内核(或神经元)放在每个GPU上,还有一个额外的技巧:GPU仅在某些层中进行通信。这意味着,例如,第3层的内核从第2层中的所有内核映射获取输入。但是,第4层中的内核仅从位于同一GPU上的第3层中的那些内核映射获取输入。选择连通模式是交叉验证的一个问题,但这使我们能够精确调整通信量,直到它是计算量的可接受部分。
得到的结构有点类似于Cirescedil;an等人使用的“柱状”CNN。[5],除了我们的列不是独立的(见图2)。与在一个GPU上训练的每个卷积层中具有一半内核的网相比,该方案将我们的前1和前5错误率分别降低了1.7%和1.2%。两GPU的网络训练时间比单GPU网络要少一些[2].
3.3 本地响应规范化
ReLU具有理想的属性,它们不需要输入规范化以防止它们饱和。如果至少一些训练样例对ReLU产生积极的输入,那么将在该神经元中进行学习。但是,我们仍然发现以下局部归一化方案有助于推广。用表示通过在位置上应用内核i计算的神经元的活动
(x,y)然后应用ReLU非线性,响应标准化活动bix,y由表达式给出
其中总和在相同空间位置的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].
3.4 重叠池
在CNN中汇集层总结了相同内核映射中相邻神经元组的输出。传统上,由相邻汇集单元汇总的邻域不重叠(例如,[17,11,4])。更确切地说,池化层可以被认为是由间隔s个像素的合并单元的网格组成,每个合并单元总结了以合并单元的位置为中心的大小为ztimes;z的邻域。如果我们设置s = z,我们获得CNN中常用的传统本地池。如果我们设置s lt;z,我们获得重叠池。这是我们在整个网络中使用的,s = 2和z = 3.与非重叠方案s =相比,该方案将top-1和top-5错误率分别降低了0.4%和0.3% 2,z = 2,产生等效尺寸的输出。我们通常在训练期间观察到具有重叠池的模型发现过度拟合稍微困难一些。
3.5 整体架构
现在我们准备描述CNN的整体架构。如图2所示,网包含八层重量;前五个是卷积的,其余三个是完全连接的。最后一个完全连接的层的输出被馈送到1000路softmax,其产生1000个类别标签上的分布。我们的网络最大化多项逻辑回归目标,这相当于最大化预测分布下正确标签的对数概率的训练案例的平均值。
第二,第四和第五卷积层的内核仅连接到位于同一GPU上的前一层中的那些内核映射(参见图2)。第三卷积层的内核连接到第二层中的所有内核映射。完全连接的层中的神经
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[439509],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。