深度学习外文翻译资料

 2021-11-28 21:40:33

英语原文共 9 页

深度学习

作者:Yann LeCun,Yoshua Bengio amp; Geoffrey Hinton

深度学习让由多重处理层组成的计算模型去学习具有多重层次抽象的数据的表示。这些方法显著地提升了在语音识别、可视物体识别、物体检测以及其他诸如药物发现和基因组学等领域的工艺水平。深度学习通过使用反向传播算法在大数据集中发现错综复杂的结构,从而指明一台机器该如何调整他的内部参数,这些参数用于从上一层级的表示中计算每一层级表示。深度卷积网络给图像、视频、语音以及音频处理带来了重大突破,而递归网络在处理序列数据注入文本和语音上大放异彩。

机器学习技术影响着现代社会的方方面面:从网络搜索到社交网络上的内容过滤,再到电子商务网站推荐,并且越来越多地出现在诸如照相机和手机等消费产品中。机器学习系统用于检测图像中的目标,将语音转化为文本,按照用户的兴趣对新闻条目、帖子或产品进行匹配,并能挑选相关的搜索结果。这些应用越来越多地使用一类叫深度学习的技术。

传统机器学习技术受限于他们处理未加工形式的自然数据的能力。几十年来,构建一个模式识别或者机器学习系统需要细致的工程和大量领域中的专业知识去设计一个特征提取器,将未加工数据(诸如一幅图像的像素值)转化成合适的内部表示或特征向量,学习子系统,通常是一个分类器能从这个向量开始对输入的样本进行检测和分类。

特征表示学习是一套让机器以原始数据为输入,能自动发现检测和分类所需的特征表示的方法。深度学习就是有多重层次表征的特征表示学习法,通过组合简单但非线性的模型来获得,这些模型将一个层级的表征(从原始输入值开始)转化为一个更高层级、更抽象的层次的表征。由这样足够多的转化的组成,非常复杂的函数也可以被学习。对于分类任务,更高层级的表征强化了输入对识别而言非常重要的方面并且抑制了非相关变化。举个例子,一张图片的原始形式是像素值矩阵,在表征的第一层学习的特征,尤其代表着在图像特定方向或位置上已有或缺失的边缘。第二层通常根据观测特定的边缘排列来检测图案,而不管边缘位置上的一些微小变化。第三层将图案整合成更大的相应而言相似的目标的组合,接下来的层级会将检测目标作为这些部分的组合。深度学习最关键的方面是这些层级的特征并不是由人类工程师来设计的:他们用一种通用的学习程序从数据中学习。深度学习在解决多年来阻碍人工智能领域最佳尝试的问题上取得了重大进展。结果表明,深度学习善于在高维度数据中发现复杂结构,因此被科学、商业以及政府的很多领域广泛应用。除了打破在图像识别和语音识别中的记录,深度学习还在预测潜在药物分子活性、分析粒子加速器数据、重建大脑回路以及预测非编码基因突变对基因表达和疾病的影响上打败了其他机器学习技术。也许更让人吃惊的是,深度学习在多种自然语言理解上创造出了相当好的成果,尤其是在主题分类、情感分析、问题回答和语言翻译等领域。

我们认为在不久的将来,深度学习将取得更多的成就因为他只需要非常少量的手工工程操作,所以他更容易在增加可用计算量和数据的情况下占优。现阶段为深度神经网络所开发的新的深度学习算法和结构会加速这一进程。

监督式学习

不论是否是深层次,机器学习最常见的形式是监督式学习。想象一下,我们想要创建一个可以将包含着,比如说房子、车、人或者动物图片分类的一个系统。我们首先要收集一个有房子、车、人和宠物并且按类别标注好的的图片的大数据集。

在训练过程中,展示给机器一张图片,机器就会生成一个向量形式的分数值作为输出,每一个类别都会有。我们希望我们所要求的分类能在所有类别中拿到最高的分数,但在训练之前这不太可能发生。我们能计算出一个测量输出分数和期望分数模型之间误差(或者距离)的目标函数。机器接下来就会修改它内部的可调参数来减少错误。这些通常被称作权值的可调参数是被看作“旋钮”的实数,他们定义了机器输入输出函数。在传统深度学习系统中,可能存在数以百万计这样的可调权值和被标注的用于训练机器的样本。

为了适当地调整权值向量,学习算法为每一个权值计算出梯度函数,表示当权值增加一个很小的量时,误差增大或减小的总量。权值向量就会按梯度向量相反的方向进行调整。平均所有训练样本的目标函数可以被看作是一种权值在高纬度空间里的丘陵地。负梯度向量表示丘陵中最陡下降的方向,逐渐接近一个输出误差低于平均水平的最小值。

在实际中,大多数从业者会用一种叫做随机梯度下降法(SGD)的算法。这个算法由给少量样本提供输入向量,计算输出误差,计算样本的平均梯度,相应地调整权值。这个过程被许多小的样本的集合不断重复,从训练集合开始到目标函数的平均值不再减少。它被称作是随机的是因为每一个小样本集都会给所有梯度平均值带来一个噪声估计。当和更加精心设计的优化技术相比,这个简单的过程通常发现一系列好的权值的速度惊人地快。在训练过后,这个系统的性能会由一系列不同的样本衡量,这样的样本叫做测试集。这有助于检测机器的泛化能力——它对未经过训练的新输入值的识别能力。

当今很多实际机器学习应用都在手工提取特征的基础上使用线性分类器。一个两类线性分类器会计算特征向量组件的加权和。如何加权和超过门限值,这个输入值就会被归入一个特定的类别。

从20世纪60年代起我们就已经知道,线性分类器只能把输入值分成非常简单的区域,也就是说利用超平面分割成两个半空间。但是像图像和语音识别一类的问题要求输入-输出函数对输入值的非相关变化量不敏感,像位置的变化量,目标的方向和亮度或者语音中语调和口音的变化,而同时要对一些特定的微小变化(比如一头白色的狼和一种叫做萨摩耶的像狼一样的白色的狗)。在像素层级,图片中两只萨摩耶处于不同的姿势和处于不同环境中可能相差很大,然而当两张图片中萨摩耶和狼用相同的姿势且在相似的背景下就会很相近。一个线性分类器,或者其他在原始像素上操作“浅层”分类器也不太可能分清后两者尽管能把前两者分入同一类。这就是为什么浅层分类器需要一个很好的特征提取器来解决选择不变性困境——提取器生成对图像各方面有选择性的表征,这些表征对于识别非常重要,但对于不相关的方面比如动物的姿势就是不变的。为了使分类器效果更强,可以使用泛型非线性特征比如核方法,但是泛型特征比如和高斯核同时出现不能让学习者在没有训练样本的情况下很好地泛化。传统的选择是手工设计好的特征提取器,这需要大量的工程技巧和专业知识。但是如果好的特征可以通过一个通用的学习程序被自动学习,手工设计是可以避免的。深度学习的关键优势就在此。

深度学习的结构是简单模型的多层堆栈,所有(或大部分)模块用于学习,还有一些用于计算非线性输入-输出映射。堆栈中的每一个模型都将它的输入值进行转换以增加表征的选择性和不变性。通过一个5-20层多重的非线性层,系统可以执行非常复杂的输入函数,它能在对微小细节非常敏感——区分萨摩耶和白色的狼的同时,对于像背景、姿势、光线和周围的物体等大的无关变量不敏感。

用反向传播训练多层结构

在最早期的模式识别,研究人员的目标一直是用可以训练的多层网络代替人工选择的特征,但是尽管看上去很简单,这种方法一直到20世纪80年代中期都没有被广泛地认可。结果表明,多层结构可以用简单的随机梯度下降法进行训练。只要模型是他们输入的相当平滑的函数并且是内部权值,就可以利用反向传播程序进行梯度计算。这种模式可以实现并且可行的想法,在20世纪70年代-80年代由几个不同的小组独立发现的。

用来计算一个关于多层堆栈权值模型的目标函数梯度的反向传播算法只是一个用来求导链式法则的实际应用。反向传播算法的核心思想是关于输入模型的目标求导(或者梯度)可以通过从关于输出模型(或下一层输入)的梯度反向传播被计算。反向传播方程可以被重复应用于所有模型的传播梯度,从最上层的输出值(神经网络产生预测的地方)开始一直到最底层(外部输入被接收的地方)。一旦这些梯度被计算,它会一直向前计算每一个模型的相关权值。

很多深度学习的应用都是使用前馈式神经网络,该神经网络学习一个从固定大小输入(比如输入是一张图)到固定大小输出(例如,到不同类别的概率)的映射。从第一层到下一层,计算前一层神经元输入数据的权值的和,然后把这个和传给一个非线性激活函数。当前最流行的非线性激活函数是rectified linear unit(ReLU),函数形式:f(z)=max(z,0)。过去的几十年中,神经网络使用一些更加平滑的非线性函数,比如tanh(z)和1/(1 exp(-z)),但是ReLU通常会让一个多层神经网络学习的更快,也可以让一个深度网络直接有监督的训练(不需要无监督的预训练)。达到之前那种有预训练的效果。通常情况下,输入层和输出层以外的神经单元被称为隐藏单元。隐藏层的作用可以看成是使用一个非线性的方式打乱输入数据,来让输入数据对应的类别在最后一层变得线性可分。

在20世纪90年代末,神经网络和反向传播在很大程度上被机器学习社区所抛弃,而被计算机视觉和语音识别社区所忽视。人们普遍认为,学习有用的、多阶段的、几乎没有先验知识的特征提取器是不可行的。特别是,人们普遍认为,简单的梯度下降会陷入局部极小权配置很差的情况,在这种情况下,任何小的变化都不能减少平均误差。

实践中,如果在大的网络中,不管使用什么样的初始化条件,局部最小解并不算什么大问题,系统总是得到效果差不多的解。最近的理论和实验表明,局部最小解不是大问题。相反,解空间中充满了大量的鞍点(梯度为0的点),同时鞍点周围大部分曲面都是往上的。所以这些算法就算是陷入了这些局部最小值,关系也不太大。

在2006年左右由加拿大高级研究所(CIFAR)召集的一组研究人员让人们对深度前馈网络的兴趣重新燃起。研究人员引入了无监督学习程序,可以在不需要标记数据的情况下创建多层特征检测器。学习每一层特征检测器的目的是能够重构或模拟下一层特征检测器(或原始输入)的活动。通过使用这个重建目标“预训练”几层越来越复杂的特征检测器,可以将深度网络的权值初始化为可感知值。最后一层输出单元可以添加到网络的顶部,并且可以使用标准的反向传播对整个深层系统进行微调。这对于识别手写数字或检测行人非常有效,尤其是在标签数据非常有限的情况下。

这种预训练方法的第一个主要应用是语音识别,它是由于快速图形处理单元(gpu)的出现而成为可能的,gpu便于编程,并且允许研究人员以10或20倍的速度训练网络。2009年,该方法被用于将从声波中提取的系数的短时间窗映射到一组可能由窗口中心的帧表示的各种语音片段的概率。它在一个使用少量词汇量的标准语音识别基准测试中取得了破纪录的结果,并很快被开发出来,在一个大型词汇量任务中取得破纪录的结果。到2012年,2009年的deep net版本已经被许多主要的演讲小组开发出来,并且已经部署在Android手机上。对于较小的数据集,无监督的预训练有助于防止过度拟合,当标记的示例数量较少时,或在传输设置中,对于一些“源”任务我们有很多示例,而对于一些“目标”任务我们只有很少的示例时,可以显著提高泛化效果。一旦深度学习得到恢复,原来只需要对小数据集进行训练前阶段。然而,有一种特殊类型的深度前馈网络比相邻层之间完全连接的网络更容易训练和推广。这就是卷积神经网络(ConvNet)。它在神经网络失宠的时期取得了许多实际的成功,最近被计算机视觉界广泛采用。

卷积神经网络

卷积神经网络用于处理多个阵列形式的数据,例如由三个二维阵列组成的彩色图像,其中包含三个彩色通道中的像素强度。许多数据模态采用多阵列的形式:一维的信号和序列,包括语言;二维图像或声频图;和3D的视频或体积图像。利用自然信号特性的ConvNets背后有四个关键思想:本地连接、共享权重、池和多层的使用。

典型的ConvNet的体系结构是由一系列阶段构成的。前几个阶段由两种类型的层组成:卷积层和池化层。卷积层中的单元组织在feature map中,每个单元通过一组称为filter bank的权值连接到前一层feature map中的局部patch。这个局部加权和的结果然后通过一个非线性,如ReLU。feature map中的所有单元共享同一个过滤器库。层中不同的特征映射使用不同的过滤库。这种架构的原因有两个。首先,在像图像这样的数组数据中,局部值组通常高度相关,形成易于检测的独特的局部基序。其次,图像和其他信号的局部统计不受位置的影响。换句话说,如果一个基序可以出现在图像的某个部分,那么它就可以出现在任何地方,因此在不同的位置使用相同的权重,并在数组的不同部分检测相同的模式。从数学上讲,特征图的滤波操作是一个离散卷积,因此得名。

虽然卷积层的作用是检测前一层特征的局部连接,但池化层的作用是将语义上相似的特征合并为一个。由于构成基序的特征的相对位置可能有所不同,因此可以通过粗粒化每个特征的位置来可靠地检测基序。一个典型的池单元计算一个feature map(或几个feature map)中单元的局部patch的最大值。相邻的池单元从移动了不止一行或一列的补丁中获取输入,从而减少了表示的维数,并为小的移动和扭曲创建了不变性。两个或三个阶段的卷积,非线性和池堆叠,然后是更多的卷积和全连接层。通过ConvNet反向传播梯度与通过常规深度网络一样简单,允许训练所有过滤器组中的所有权重。

深层神经网络利用了许多自然信号是组成层次结构的特性,在这种结构中,通过组成较低层次的特征来获得较高层次的特征。在图像中,边缘的局部组合形成主题,主题组合成部件,部件形成对象。从声音到电话、音素、音节、单词和句子,在语音和文本中也存在类似的层次结构。当前一层中的元素在位置和外观上发生变化时,池允许表示法的变化非常小。

ConvNets的卷积和汇聚层直接受到视觉神经科学中简单细胞和复杂细胞的经典概念的启发,整体架构让人想起视觉皮质腹侧通路中的lgn - v1 - v2 - v2 - v4 - it层次结构。当ConvNet模型和猴子被展示相同的图片时,ConvNet中高层次单元的激活解释了猴子颞下皮层160个随机神经元组的一半方差。ConvNets的根源是neocognitron,它的架构有点类似,但没有端到端的监控学习

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

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