深度学习外文翻译资料

 2022-03-29 10:03

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


深度学习

摘要:深度学习允许由多个处理层组成的计算模型通过多级抽象来学习数据表示。这些方法极大地改进了语音识别、视觉对象识别、对象检测和诸如药物研发和基因组学等其他许多领域最先进的技术。深度学习通过使用反向传播算法来发现大型数据集的复杂结构,以指示机器应如何更改其内部参数,这些参数用于根据前一层的表示计算每个层中的表示。深度卷积网络在处理图像,视频,语音和音频方面取得了突破,而递归网络则在顺序数据例如文本和语音方面作用显著。

机器学习技术支撑着现代社会的许多方面:从网络搜索到社交网络上的内容过滤,再到电子商务网站上的推荐,它也愈加频繁地出现在相机和智能手机等消费类产品中。机器学习系统用于识别图像中的对象,将语音转换为文本,将新闻元素,帖子或产品与用户兴趣相匹配,并选择相关的搜索结果。现在,这些应用程序越来越多地使用一类称为深度学习的技术。

传统的机器学习技术在处理原始形式的自然数据的能力方面是有限的。几十年来,构建模式识别或机器学习系统需要精致的工程设计和大量的专业领域知识去设计一个特征提取器,将原始数据(如图像的像素值)转换为适当的内部表示或特征向量,学习子系统(通常是分类器)则可从中检测或划分输入样本的模式。

表示学习是一组方法,它允许机器获得原始数据并自动发现被检测或分类所需的表示。深度学习方法是一种具有多层表示的表示学习方法,它通过组合简单却非线性的模块获得,每个模块都将一个级别的表示(从原始数据开始)转换为更高级、更抽象的表示。有了足够多的这种转换的组合,便可以学习非常复杂的功能。对于分类任务,更高层次的表示放大了输入数据的区分,并抑制了不相关的变化。例如,图像以像素值阵列的形式出现,第一层次被学习的特征通常是在图中特定的方向和位置,边界是否存在。第二层通常通过识别特定的边界布置来检测图案,而不管边界位置的微小变化。第三层可将图案组合成更大组合从而与熟悉的目标的某部分相对应,并且后续层会检测这些部分组合而成的目标。深度学习的关键方面在于这些特征层不是由人类工程师设计的:它们是通过使用通用的学习算法从数据中学习得到。

深度学习在解决多年来阻碍人工智能发展的问题方面取得了重大进展。事实证明,它们擅长发现高维数据中错综复杂的结构,因此可应用于科学,商业和政府等众多领域。 它打破了诸如图像识别[1-4]、语音识别[5-7]以及其他机器学习领域的记录,例如预测潜在药物分子的活性[8],分析粒子加速器数据[9,10],重建脑回路[11]以及预测非编码基因序列突变对基因表达和疾病的影响[12,13]。也许更令人惊讶的是,深度学习对自然语言理解[14]中的各种课题也产生了极好的成效,特别是主题分类,情感分析,自主回答[15]和语言翻译方面[16,17]

我们认为深度学习在不久的将来会有更大的成功,因为它只需要非常少的人工干预,可以很容易地去利用可用计算量和数据量的增加。目前正在为深度神经网络而开发的新的学习算法和结构将会加速这一进程。

监督学习

机器学习最常见的形式是监督学习,无论深度与否。试想我们要建立一个可以将一些房屋、汽车、人或宠物的图像进行分类的系统。我们首先需要收集大量的房屋,汽车,人和宠物的图像,每个图片都有标示其类别的标签。在训练过程中,机器被给予一张图像,便产生一个分数向量形式的输出,每个类别都有对应的分数。我们想让期望的类别获得所有类别中的最高分数,但这在培训之前不太可能发生。我们创建一个目标函数,用于度量输出分数与期待分数之间的误差(或差距)。然后机器修改其内部可调参数以减少这个误差。这些可调参数通常称为权重,它们是可以看作定义机器输入——输出关系的“旋钮”。在典型的深度学习系统中,可能会有数以百万计的这种可调权重以及用于训练机器的标记样本。

为了适当地调整权重向量,学习算法计算出梯度向量,对于每一个权重,梯度向量表示的是当权重增加了一个微小的量时,误差增加或减少的量。然后向与梯度向量相反的方向调整权重向量。

目标函数是基于所有训练样本的平均,可以看作是权值的高维空间中的一种地势。负梯度矢量表示地势下降最快的方向,使其降至接近最小值时,输出误差的平均值也就比较小。

实践中,大多数开发者使用称为随机梯度下降(SGD)的程序。它包括提供含有少量样本的输入向量,计算输出、误差以及这些样本的平均梯度,并且相应地调整权重。通过从系列训练中获得许多小的样本集,这个过程被不断重复,直到目标函数的平均值不再下降。它被称为随机的,因为每个小样本集都会给总样本的平均梯度带来噪声估计。与更复杂的优化方法相比,这个简单的过程通常会很快地找到一组好的权重[18]。在训练完成后,系统的性能通过测试样本集来测试。 它们用于测试机器的泛化能力——即对训练期间从未见过的新输入作出准确的反映。

机器学习的许多当前实际应用都使用线性分类器对手工设计的特征进行分类。一个两级线性分类器计算特征向量分量的加权和,如果加权总和高于阈值,则输入被分类为特定类别。

自1960s以来,我们知道线性分类器只能将其输入空间划分为非常简单的区域,即由超平面分隔的半空间[19]。 但是,诸如图像和语音识别之类的问题需要输入——输出函数对输入的无关变量(诸如对象的位置,方向或照明的变化,或者语音的音高或嗓音的变化)不敏感,而能对一些特定的微小变化敏感(例如,白狼和狼类白色犬萨摩耶之间的差异)。 在像素级别,不同姿势和不同环境中的两个萨摩耶犬的图像可能差异很大,而萨摩耶犬和狼在相同位置和相似背景下的两幅图像却可能非常相似。线性分类器和其他浅层分类器在原始像素上运行时,无法区分后两者,而将其归入同一类别。这就是为什么浅层分类器需要一个好的特征提取器来解决选择性不变的困境——它可以挑选出图像中能区分目标的重要因素,但对诸如动物的姿势这些无关的因素是不考虑的。为了使分类器更强大,可以使用泛化的非线性特征[20],例如核方法,但是像高斯核那样的泛化特征,学习者在训练样本之外不能得到好的效果[21]。传统的选择是手工设计好的特征提取器,这就需要大量的工程技能和专业知识。但如果通过泛化目标的学习程序可以自主学习好的功能,就可以避免这种情况。这是深度学习的关键优势。

深度学习构架是一个简单模块的多层栈,所有(或大部分)这些模块都需要学习,其中许多是计算非线性输入——输出映射。堆栈中的每个模块转换其输入以增加表示的选择性和不变性。系统有多个非线性层,通常是5到20层,可以实现极其复杂的输入功能,这些功能对细节敏感的同时——区分萨摩耶和白狼——能对大的无关变量不敏感,例如背景,姿势,照明和周围的物体。

训练多层结构的反向传播

从最早的模式识别[22,23]开始,研究人员的目标就是用可训练的多层网络取代人工提取特征,尽管它很简单,但是其解决方案直到20世纪80年代中期才开始被广泛理解。事实证明,多层结构可以通过简单的随机梯度下降进行训练。只要模块的输入和内部权重函数的相对平滑,就可以使用反向传播过程计算梯度。这个方法的可行性以及它的工作原理在70年代和80年代由几个不同的小组独立发现[24-27]

反向传播算法用于计算目标函数的梯度相对于多层模块堆栈的权重,只不过是偏导中链式规则的一个实际应用。关键的认识是,相对于模块输入的目标的倒数(或梯度)可以通过目标模块输出(或后续模块的输入)从梯度向后工作来计算(图1)。反向传播公式可以重复应用于从所有模块传播梯度,从顶部(网络产生其预测的位置)到底部(外部输入馈送处)的输出开始。 一旦计算出这些梯度,就可以直接计算每个模块权重对应的梯度。

深度学习的许多应用都使用前馈神经网络架构(图1),该架构学习将固定大小的输入(例如图像)映射到固定大小的输出(例如,每个输入的概率几类)。为了从一层到下一层,一组单元计算来自前一层的输入的加权和,并通过非线性函数传递结果。目前,最流行的非线性函数是线性整流函数(ReLU),它只是半波整流器f(z)= max(z,0)。在过去的几十年中,神经网络使用更平滑的非线性,例如tanh(z)或1 /(1 exp(-z)),但ReLU通常在多层网络中学习速度更快,允许训练深度监督网络没有无监督的预训练[28]。不在输入或输出层中的单位通常称为隐藏单位。隐藏层可以看作是以非线性方式扭曲输入,使得类别在最后一层可以线性分离(图1)。

图1 多层神经网络和反向传播。a,多层神经网络(相连接的点)可能会使输入空间失真,从而使数据类别(红线和蓝线上的样本)线性可分。注意输入空间中的常规网格(如左图所示)是如何通过隐藏单位进行变形的(如中图)。这只是一个带有两个输入节点,两个隐藏节点和一个输出节点的示例,但用于对象识别或自然语言处理的网络包含数十或数十万个节点。b,偏导数链式规则告诉我们两个小的变化量是如何构成的(一个是x对y的微小变化,另一个是y对z的微小变化)。首先 x中的微小变化量Delta;x乘以part;y/part;x(即偏导数的定义)变换为y的微小变化量Delta;y。类似地,变化Delta;y在z中产生变化得到Delta;z。将一个方程代入另一个方程给出了偏导数的链式规则——Delta;x如何通过乘以part;y/part;x和part;z/part;y的乘积变成Delta;z。当x,y和z是矢量(并且导数是雅可比矩阵)时,它也可以处理。c,这个等式用于计算具有两个隐藏层和一个输出层的神经网络的正向通道,每个等式构成一个可以反向传播梯度的模块。在每一层,我们首先计算每个节点的总输入z,它是下图中单元输出的加权总和。然后,将非线性函数f(.)应用于z就得到这个节点的输出。为了简单起见,省略偏差项。神经网络中使用的非线性函数包括近年来常用的整流线性单元(ReLU)f(z)= max(0,z),以及更常规如双曲线正切函数f(z)=(exp(z)-exp(-z))/(exp(z) exp(-z))和逻辑函数

f(z)= 1 / (1 exp(-z))。 d,计算反向传播的等式。在每个隐藏层,我们计算误差对每一个节点的输出的导偏,它是误差对上层所有节点总输入量的偏导的加权和。然后,我们通过乘以f(z)的梯度将误差对输出的偏导转换成对输入的偏导。在输出层,通过区分损失函数来计算误差对一个节点的输出的偏导。如果节点l的损失函数是0.5(ylminus;tl)^2,那么给出

yl-tl,其中tl是目标值。一旦part;E/part;zk已知,节点j的连线上的权重wjk的误差导数就是yjpart;E/part;zk。

实际上,局部最小解在大型网络里很少能成为问题。忽略初始条件,系统几乎总能得到效果差不多的解。最近的理论和实证结果都表明局部最小值一般不是一个大问题。相反,解空间充满了大量梯度为零的鞍点,并且表面在大多数维度上向上弯曲,其余则向下[29,30]。 分析似乎是表明,在大量数据中存在那些只有少数曲面向下的鞍点,但几乎所有这些点都具有非常相似的目标函数值。因此,算法陷入的是哪个鞍点无关紧要。

2006年前后[31-34],加拿大高级研究院(CIFAR)聚集的一组研究人员使得深度前馈网络重获生机。研究人员引入无监督学习过程,它可以创建多层特征检测器而不需要标签数据。学习每层特征检测器的目的是为了能够重建或模拟下层特征检测器(或原始输入)的活动。通过运用这个重建目标对多个更复杂的特征检测器进行“预训练”,深度网络的权重可以初始化为合理的值。然后可以将最后一层输出单元添加到网络顶部,并使用标准反向传播[33-35]对整个深层系统进行微调。这在手写体识别或行人检测方面非常有效,尤其是标签数据量非常有限时[36]

这种预训练方法最主要的一个应用是语音识别,这是由于快速图形处理单元(GPUs)的出现。GPUs编程方便且允许研究人员将网络训练速度提高10到20倍[37]。在2009年,这种方法被用来将从声波中提取的系数的短时间窗口映射到可能由窗口中心的帧表示的各种语音片段的一组概率。它在使用了小型词汇集的标准语音识别基准测试上取得了创纪录的成绩[38],并很快扩展到大型词汇集[39]。到2012年,许多主要语音团体2009年以来一直在开发深度网络版本6,已经应用于安卓手机。对于较小的数据集,无监督的预训练有助于防止过拟合[40],从而在标记的样本数量很少时达到更好的泛化,亦或是在传输设置中我们有许多“源”任务的样本,但鲜有 “目标”任务的样本。事实证明,一旦深度学习得到恢复,预训练将只在样本数据集较小时被需要。

然而,有一种特定类型的深度前馈网络比起在相邻层之间实现完全连接的网络来,训练更容易、泛化性能更好。它就是卷积神经网络(ConvNet)[41,42]。它在神经网络不受欢迎的时期取得了许多实践成功,并且最近已被计算机视觉领域广泛采用。

图2 卷积网络内部。一个典型卷积网络架构的每一层(水平)的输出(不是过滤器)都应用于萨摩耶犬的图像(左下角;以及RGB(红色,绿色,蓝色)输入;右下角)。 每个矩形图像都是一个对应于某一个学习特征输出的特征映射块,它们是在每个图像的位置被检测到的。信息流自下而上,其中低级特征用作定向边缘检测器,并且针对输出中的每个图像类别计算得分。ReLU,线性整流函数。在1990s后期,神经网络和反向传播很大程度上被机器学习领域所抛弃,并被计算机视觉和语音识别领域所忽视。人们普遍认为学习有用的、多阶段的、不太需要先验知识的特征提取器是不可行的。特别是人们大都认为简单的梯度下降很可能会陷于极小值误区中——对于这种权重配置,

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


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

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

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