首页 理论教育 深度学习算法的历史与发展

深度学习算法的历史与发展

时间:2023-06-22 理论教育 版权反馈
【摘要】:我们相信,如果能提出更高效且更有效的深度学习算法,那么用于处理这种自然信号的最前沿技术也将进一步得到提高。深度学习的概念起源于对人工神经网络的研究。在优化目标为非凸函数的深度神经网络中,来自局部最优化或其他最优化问题的挑战普遍存在,这些挑战通常是学习中面临的主要困难。更好的学习算法和不同种的非线性关系也促使了DNN的成功。

深度学习算法的历史与发展

以前,绝大多数机器学习信号处理技术都利用浅层结构,这些结构一般包含最多一到两层的非线性特征变换,这种状况直到近几年才得以改变。浅层结构包括高斯混合模型(GMM)、线性或非线性动力系统、条件随机场(CRF)、最大熵模型(MaxEnt)、支持向量机(SVM)、逻辑回归(LR)、核回归以及多层感知器(MLP)(包括极限学习器而且只包含一个隐层)。例如,当使用核方法时,支持向量机就会使用一个只包含一个或零个特征转换层的浅层线性模式的分离模型(最近由深度学习发展而来的一些核方法尤其值得注意,请参见文献[9,53,102,377])。已经证明,浅层结构在解决很多简单的或者限制较多的问题上效果明显,但是由于其建模和表示能力有限,在遇到实际生活中一些更复杂的涉及自然信号(比如人类语音、自然声音和语言、自然图像和视觉场景)的问题时就会遇到各种困难。

然而,人类信息处理机制(比如视觉和听觉)总是需要深度结构从丰富的感官输入信息中提取复杂结构并构建内部表示。例如,由于人类语言的产出和感知系统都具有清晰的层结构,这就使得信息可以从波形层转换到语言层[11,12,74,75]。同理,人类视觉系统也有分层的特点,这些虽然基本都只是存在于感知层面,但有趣的是,有时候在产出时也有分层的特点[43,126,287]。我们相信,如果能提出更高效且更有效的深度学习算法,那么用于处理这种自然信号的最前沿技术也将进一步得到提高。

深度学习的概念起源于对人工神经网络的研究(所以有时候可能会听到“新一代神经网络”的说法)。前馈神经网络或具有多隐层的多层感知器——也叫做深度神经网络(Deep Neural Network,DNN)——是深度结构模型中很好的范例。反向传播算法(back-propagation)流行于20世纪80年代,是广为人知的一种学习算法,在学习网络参数上很有用。遗憾的是,仅仅使用反向传播算法在实际学习隐层数目较少的网络时效果并不是很好[20,129]。在优化目标为非凸函数的深度神经网络中,来自局部最优化或其他最优化问题的挑战普遍存在,这些挑战通常是学习中面临的主要困难。反向传播算法基于局部梯度信息,并往往从一些随机的初始点开始,当使用批量梯度下降或随机梯度下降的反向传播算法时,目标函数经常会陷入局部最优的境地。随着网络层数的加深,局部最优的情况也就会变得越来越严重。之所以出现上述问题,部分原因在于:我们虽然对小规模的神经网络的探究从未间断过[42,45,87,168,212,263,304],但是大多数机器学习和信号处理研究方向有所偏离,人们将重点从对神经网络的研究转移到对具有凸损失函数的浅层模型(例如,支持向量机、CRF和Max-Ent模型)的研究,这类模型以降低建模能力为代价,达到快速高效地收敛到全局最优化的目的,所以深层网络常陷入局部最优的问题还有待解决。

2006年Hinton在研讨会上的两篇论文[163,164]中介绍了一种高效的无监督学习算法,它们经验性地缓解了与深度模型相关的最优化难题。这两篇论文介绍了一类叫作深度置信网络(Deep Belief Network,DBN)的深度产生式模型。DBN是由一组受限玻尔兹曼机(RBMs)堆叠而成的,它的核心部分是贪婪的、逐层学习的算法,这种算法可以最优化深度置信网络的权重,它的时间复杂度与网络的大小和深度呈线性关系。使人意想不到的是,使用配置好的深度置信网络来初始化多层感知器的权重,常常会得到比随机初始化的方法更好的结果。包含多个隐层的多层感知器或深度神经网络,通过无监督的深度置信网络来进行预训练,然后通过反向传播微调来实现,在文献[67,260,258]中也称之为深度置信网络。最近,研究者对于DNN与DBN进行了更加细致的区分[68,161],如果使用DBN去初始化DNN的训练时,这种网络可以被称为DBN-DNN[161]

与受限玻尔兹曼机的发展相独立,在2006年,两个不同的、非概率的、非产生式的无监督的深度模型出现了。一个是自编码器的一种变体,使用与DBN训练相似的贪心分层进行训练。另一个是基于能量的模型,用稀疏的完备表示来进行非监督学习。与DBN相似,它们都可以对深度神经网络进行高效的预训练。

除了具有好的初始点,DBN还有一些颇具吸引力的优点:第一,它的学习算法可以有效使用未标注的数据;第二,它可以看作是一个概率生成模型;第三,对于经常出现在诸如DBN这样的含有数百万个参数的模型中的过拟合问题,以及经常出现在深度网络中的欠拟合问题,都可以通过产生式预训练方法得到有效解决[259]

在DNN中,多神经元隐层的使用不仅显著提高了DNN的建模能力,而且产生出了许多接近的最优配置。即使参数学习过程陷入局部最优,但由于出现欠佳的局部最优的概率比网络中应用少数神经元的时候要低,所以最终的DNN仍然效果很好。然而,在训练过程中使用深而宽的神经网络需要强大的计算性能,这也就解释了为什么直到最近几年研究人员才开始认真探索这种既深又宽的神经网络的问题。

更好的学习算法和不同种的非线性关系也促使了DNN的成功。随机梯度下降(SGD)算法在大多数训练集较大且数据丰富的情况下是最有效的算法[39]。最近,研究证实随机梯度下降(SGD)可以有效地实现并行,一种方法是通过异步模式[69]使用多台机器,另一种方法是使用多GPU的流水线型的反向传播算法[49]。此外,从单个或小批量样本中估计出的嘈杂梯度使得SGD通常能让训练跳出局部最优。其他学习算法如Hessian free[195,238]或Krylov sub-space[378]方法都表现出了类似的能力。

对于DNN学习的高度非凸优化问题,由于优化是从初始模型开始的,所以很明显,更好的参数初始化技术将会打造出更好的模型。然而,不明显的是:如何有效和高效地初始化DNN参数以及如何使用大量的训练数据来缓解学习中的问题。对于这些问题,直到最近,文献[28,20,100,64,68,163,164,161,323,376,414]对其进行了探索和分析。此外,之前讨论中提出的无监督的预训练方法是最引人注目的DNN参数初始化技术。

DBN预训练并不是唯一可以使DNN有效初始化的过程,另一种性能相当的无监督的方法是:对DNN进行逐层地预训练,通过将每两层视为一个除噪自编码器,该除噪自编码器通过将输入节点的随机子集设置为零而进行正则[20,376]。另一种方法则是使用压缩自编码器,它通过使输入变量具有更好的鲁棒性来达到同样的目的,例如,对于输入,它通过惩罚隐层单元的激发函数的梯度[303]来达到目的。此外,Ranzato等人[294]开发了稀疏编码对称机(SESM),其在构建DBN模块中具有和RBM非常类似的架构,它也可以用来有效地初始化DNN训练。除了使用贪心的逐层过程进行无监督预训练[28,164,295],有监督的预训练(有时称为判别式预训练)也证明是很有效的[28,161,324,432],并且在有标签的训练数据充足的情况下比无监督的预训练技术表现得更好。判别式预训练的思想是:从一个经过BP算法训练的单个隐层MLP开始,每一次需要添加一个新的隐层时,用一个随机初始化的新的隐层和输出层替换原有输出层,并用BP算法训练全新的MLP(或DNN)。与无监督预训练技术不同的是,判别式预训练技术需要标签。

有研究人员将深度学习应用于语音和视觉,他们分析了DNN在语音和图像中捕获了哪些信息,比如,文献[259]用一种降维方法来可视化研究通过DNN学习到的特征向量之间的关系。他们发现,DNN的隐藏激活向量保留了与多个尺度上的特征向量相似的结构,这一点对于滤波器组特征(filterbank feature)来说尤为如此。最近,Zeiler和Fergus[436]精心设计了另一种可视化方法,该方法基于一个在分类网络的相反方向自上而下的生成过程,用来检测深度卷积网络从图像数据中捕获的特征。深层网络的强大之处在于,它们拥有在提取合适特征的同时做判别的能力[210]

可以从另一个角度来了解这个发展历程,即用“成熟度曲线”来回顾人工神经网络的历史。这是一种用图来对一种特定技术的成熟期、接受程度和社会应用进行描述的方式。图2.1显示的是由高德纳咨询公司(Gartner)绘制的2012版的成熟度曲线图,用来展示一项技术或应用是如何随着时间推移而发展的(按五个阶段:科技诞生的促动期,过高期望的峰值期,泡沫化的底谷期,稳步爬升的光明期和实质生产的高峰期),也提供了一种管理技术布置的方法。

978-7-111-52906-4-Chapter02-1.jpg

2.1Gartner技术成熟度曲线展示了一项技术的五个阶段

图中词语翻译对照表

978-7-111-52906-4-Chapter02-2.jpg

(续)

978-7-111-52906-4-Chapter02-3.jpg

我们创建图2.2来将神经网络的不同阶段与成熟度曲线的不同阶段对应起来。巅峰期(纵轴上的“期望值”)出现在20世纪80年代末和90年代初,此时被称为神经网络的第二代。DBN和用于训练的快速算法是在2006发明的[163,164]。当DBN被用在初始化DNN的时候,学习算法的效率就变得更高,这促进了学术界持续快速地产生研究成果(“光明”阶段,见图2.2)。DBN和DNN的产业级语音特征提取和识别应用出现在2009年,当时产业界、学术界以及深度学习的研究专家有着密切的合作[89,161],这种合作使得用深度学习方法进行语音识别的工作得到快速扩张,并取得越来越大的成功[94,161,323,414],这在本书后面的内容中将有所提及。“实质生产的高峰期”阶段的高度还没有达到,预计将高于常规曲线(图2.2中标有问号的圆圈),在图中用直线上升的虚线标记。(www.xing528.com)

978-7-111-52906-4-Chapter02-4.jpg

2.2Gartner的成熟度曲线应用于分析人工神经网络的发展

图中词语翻译对照表

978-7-111-52906-4-Chapter02-5.jpg

(续)

978-7-111-52906-4-Chapter02-6.jpg

图2.3中所示的是语音识别的历史,由NIST编制,针对一些越来越具有挑战性的语音识别任务,把词错误率(WER)作为一个时间函数来绘制图表。需要注意的是,所有的WER结果都是用GMM-HMM技术获得的。当从图2.3中选取了一个极具挑战性的任务(Switchboard)后,我们看到了这样的结果:一条在使用GMM-HMM技术多年中一直保持平坦的曲线在使用了DNN技术后,WER急剧下降(见图2.4中星标记)。

978-7-111-52906-4-Chapter02-7.jpg

2.3 著名的NIST

(显示了针对一些越来越具有挑战性的语音识别任务,用GMM-HMM方法得到的语音识别错误率的发展历史)

图中词语翻译对照表

978-7-111-52906-4-Chapter02-8.jpg

978-7-111-52906-4-Chapter02-9.jpg

2.4 从图2.3的一个任务中提取WER,并添加了由DNN技术获得的显著降低的WER(用星标记)

图中词语翻译对照表

978-7-111-52906-4-Chapter02-10.jpg

下一章中,我们将首先对深度学习的各种体系结构进行概述,随后就一些学者们广泛研究的结构和方法进行更详细的论述,也会讨论一些在信号与信息处理中的应用,包括语音和音频、自然语言信息检索、视觉和多模式处理。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈