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