1.4深度学习 2021年5月18日 11 原始数据 一底层特征一中层特征 一尚层特征 一预测 一结果 表示学习 深度学习 图14深度学习的数据处理流程 深度学习是将原始的数据特征通过多步的特征转换得到一种特征表示,并 进一步输入到预测函数得到最终结果.和“浅层学习”不同,深度学习需要解决 的关键问题是贡献度分配问题(Credit Assignment Problem,CAP)[Minsky, 1961],即一个系统中不同的组件(component)或其参数对最终系统输出结果 的贡献或影响.以下围棋为例,每当下完一盘棋,最后的结果要么赢要么输.我们 会思考哪几步棋导致了最后的胜利,或者又是哪几步棋导致了最后的败局.如何 判断每一步棋的贡献就是贡献度分配问题,这是一个非常困难的问题。从某种意 义上讲,深度学习可以看作一种强化学习(Reinforcement Learning,RL),每个强化李习参见第i4章 内部组件并不能直接得到监督信息,需要通过整个模型的最终监督信息(奖励) 得到,并且有一定的延时性 目前,深度学习采用的模型主要是神经网络模型,其主要原因是神经网络模 型可以使用误差反向传播算法,从而可以比较好地解决贡献度分配问题。只要是 超过一层的神经网络都会存在贡献度分配问题,因此可以将超过一层的神经网 络都看作深度学习模型.随着深度学习的快速发展,模型深度也从早期的5~10 层增加到目前的数百层.随着模型深度的不断增加,其特征表示的能力也越来越 强,从而使后续的预测更加容易 1.4.1端到端学习 在一些复杂任务中,传统机器学习方法需要将一个任务的输入和输出之间 人为地切制成很多子模块(或多个阶段),每个子模块分开学习.比如一个自然 语言理解任务,一般需要分词、词性标注、句法分析、语义分析、语义推理等步骤。 这种学习方式有两个问题:一是每一个模块都需要单独优化,并且其优化目标和 任务总体目标并不能保证一致:二是错误传播,即前一步的错误会对后续的模型 造成很大的影响.这样就增加了机器学习方法在实际应用中的难度 端到端学习(End-to-End Learning),也称端到端训练,是指在学习过程中 不进行分模块或分阶段训练,直接优化任务的总体目标.在端到端学习中,一般 不需要明确地给出不同模块或阶段的功能,中间过程不需要人为干预.端到端学 习的训练数据为“输入输出”对的形式,无须提供其他额外信息.因此,端到端学 习和深度学习一样,都是要解决责献度分配问题。目前,大部分采用神经网络模 型的深度学习也可以看作一种端到端的学习. https://nndl.github.io/
1.4 深度学习 2021 年 5 月 18 日 11 原始数据 底层特征 中层特征 高层特征 预测 结果 表示学习 深度学习 图 1.4 深度学习的数据处理流程 深度学习是将原始的数据特征通过多步的特征转换得到一种特征表示,并 进一步输入到预测函数得到最终结果.和“浅层学习”不同,深度学习需要解决 的关键问题是贡献度分配问题(Credit Assignment Problem,CAP)[Minsky, 1961],即一个系统中不同的组件(component)或其参数对最终系统输出结果 的贡献或影响.以下围棋为例,每当下完一盘棋,最后的结果要么赢要么输.我们 会思考哪几步棋导致了最后的胜利,或者又是哪几步棋导致了最后的败局.如何 判断每一步棋的贡献就是贡献度分配问题,这是一个非常困难的问题.从某种意 义上讲,深度学习可以看作一种强化学习(Reinforcement Learning,RL),每个 内部组件并不能直接得到监督信息,需要通过整个模型的最终监督信息(奖励) 得到,并且有一定的延时性. 强化学习参见第14章. 目前,深度学习采用的模型主要是神经网络模型,其主要原因是神经网络模 型可以使用误差反向传播算法,从而可以比较好地解决贡献度分配问题.只要是 超过一层的神经网络都会存在贡献度分配问题,因此可以将超过一层的神经网 络都看作深度学习模型.随着深度学习的快速发展,模型深度也从早期的5 ∼ 10 层增加到目前的数百层.随着模型深度的不断增加,其特征表示的能力也越来越 强,从而使后续的预测更加容易. 1.4.1 端到端学习 在一些复杂任务中,传统机器学习方法需要将一个任务的输入和输出之间 人为地切割成很多子模块(或多个阶段),每个子模块分开学习.比如一个自然 语言理解任务,一般需要分词、词性标注、句法分析、语义分析、语义推理等步骤. 这种学习方式有两个问题:一是每一个模块都需要单独优化,并且其优化目标和 任务总体目标并不能保证一致;二是错误传播,即前一步的错误会对后续的模型 造成很大的影响.这样就增加了机器学习方法在实际应用中的难度. 端到端学习(End-to-End Learning),也称端到端训练,是指在学习过程中 不进行分模块或分阶段训练,直接优化任务的总体目标.在端到端学习中,一般 不需要明确地给出不同模块或阶段的功能,中间过程不需要人为干预.端到端学 习的训练数据为“输入-输出”对的形式,无须提供其他额外信息.因此,端到端学 习和深度学习一样,都是要解决贡献度分配问题.目前,大部分采用神经网络模 型的深度学习也可以看作一种端到端的学习. https://nndl.github.io/
1.5神经网络 2021年5月18日 12 1.5神经网络 随着神经科学、认知科学的发展,我们逐渐知道人类的智能行为都和大脑活 动有关.人类大脑是一个可以产生意识、思想和情感的器官.受到人脑神经系统 的启发,早期的神经科学家构造了一种模仿人脑神经系统的数学模型,称为人工 神经网络,简称神经网络.在机器学习领域,神经网络是指由很多人工神经元构 成的网络结构模型,这些人工神经元之间的连接强度是可学习的参数 1.5.1人脑神经网络 人类大脑是人体最复杂的器宫,由神经元、神经胶质细胞、神经干细胞和血 管组成.其中,神经元(Neuron),也叫神经细胞(Nerve Cell),是携带和传输信 息的细胞,是人脑神经系统中最基本的单元。人脑神经系统是一个非常复杂的组 织,包含近860亿个神经元[Azevedo et al.,2009].每个神经元有上千个突触和其 他神经元相连接.这些神经元和它们之间的连接形成巨大的复杂网络,其中神经 连接的总长度可达数千公里.我们人造的复杂网络,比如全球的计算机网络,和 大脑神经网络相比要“简单”得多 早在1904年,生物学家就已经发现了神经元的结构.典型的神经元结构大 致可分为细胞体和细胞突起 (1)细胞体(Soma)中的神经细胞膜上有各种受体和离子通道,胞膜的 受体可与相应的化学物质神经递质结合,引起离子通透性及膜内外电位差发生 改变,产生相应的生理活动:兴奋或抑制 (2)细胞突起是由细胞体延伸出来的细长部分,又可分为树突和轴突 a)树突(Dendrite)可以接收刺激并将兴奋传入细胞体.每个神经元可 以有一或多个树突 b)轴突(Axon)可以把自身的兴奋状态从胞体传送到另一个神经元或 其他组织每个神经元只有一个轴突 神经元可以接收其他神经元的信息,也可以发送信息给其他神经元。神经元 之间没有物理连接,两个“连接”的神经元之间留有20纳米左右的缝隙,并靠突 触(Synapse)进行互联来传递信息,形成一个神经网络,即神经系统.突触可以 理解为神经元之间的连接“接口”,将一个神经元的兴奋状态传到另一个神经元 一个神经元可被视为一种只有两种状态的细胞:兴奋和抑制.神经元的状态取决 于从其他的神经细胞收到的输入信号量,以及突触的强度(抑制或加强).当信 号量总和超过了某个阈值时,细胞体就会兴奋,产生电脉冲.电脉冲沿着轴突并 通过突触传递到其他神经元.图1.5给出了一种典型的神经元结构, https://nndl.github.io/
1.5 神经网络 2021 年 5 月 18 日 12 1.5 神经网络 随着神经科学、认知科学的发展,我们逐渐知道人类的智能行为都和大脑活 动有关.人类大脑是一个可以产生意识、思想和情感的器官.受到人脑神经系统 的启发,早期的神经科学家构造了一种模仿人脑神经系统的数学模型,称为人工 神经网络,简称神经网络.在机器学习领域,神经网络是指由很多人工神经元构 成的网络结构模型,这些人工神经元之间的连接强度是可学习的参数. 1.5.1 人脑神经网络 人类大脑是人体最复杂的器官,由神经元、神经胶质细胞、神经干细胞和血 管组成.其中,神经元(Neuron),也叫神经细胞(Nerve Cell),是携带和传输信 息的细胞,是人脑神经系统中最基本的单元.人脑神经系统是一个非常复杂的组 织,包含近860亿个神经元 [Azevedo et al., 2009],每个神经元有上千个突触和其 他神经元相连接.这些神经元和它们之间的连接形成巨大的复杂网络,其中神经 连接的总长度可达数千公里.我们人造的复杂网络,比如全球的计算机网络,和 大脑神经网络相比要“简单”得多. 早在 1904 年,生物学家就已经发现了神经元的结构.典型的神经元结构大 致可分为细胞体和细胞突起. (1) 细胞体(Soma)中的神经细胞膜上有各种受体和离子通道,胞膜的 受体可与相应的化学物质神经递质结合,引起离子通透性及膜内外电位差发生 改变,产生相应的生理活动:兴奋或抑制. (2) 细胞突起是由细胞体延伸出来的细长部分,又可分为树突和轴突. a ) 树突(Dendrite)可以接收刺激并将兴奋传入细胞体.每个神经元可 以有一或多个树突. b ) 轴突(Axon)可以把自身的兴奋状态从胞体传送到另一个神经元或 其他组织.每个神经元只有一个轴突. 神经元可以接收其他神经元的信息,也可以发送信息给其他神经元.神经元 之间没有物理连接,两个“连接”的神经元之间留有 20 纳米左右的缝隙,并靠突 触(Synapse)进行互联来传递信息,形成一个神经网络,即神经系统.突触可以 理解为神经元之间的连接“接口”,将一个神经元的兴奋状态传到另一个神经元. 一个神经元可被视为一种只有两种状态的细胞:兴奋和抑制.神经元的状态取决 于从其他的神经细胞收到的输入信号量,以及突触的强度(抑制或加强).当信 号量总和超过了某个阈值时,细胞体就会兴奋,产生电脉冲.电脉冲沿着轴突并 通过突触传递到其他神经元.图1.5给出了一种典型的神经元结构. https://nndl.github.io/
1.5神经网络 2021年5月18日 13 树突 轴突 。。 神经膜细胞 鞘 细胞核 图1.5典型神经元结构 我们知道,一个人的智力不完全由遗传决定,大部分来自于生活经验.也就 是说人脑神经网络是一个具有学习能力的系统.那么人脑神经网络是如何学习 的呢?在人脑神经网络中,每个神经元本身并不重要,重要的是神经元如何组成 网络.不同神经元之间的突触有强有弱,其强度是可以通过学习(训练)来不断 改变的,具有一定的可塑性.不同的连接形成了不同的记忆印痕.1949年,加拿大 心理学家Donald Hebb在《行为的组织》(The Organization of Behavior)一书Donald Hebb(19o4~ 中提出突触可塑性的基本原理,“当神经元A的一个轴突和神经元B很近,足以 1985),加拿夫神经 心理学家,认知心理生 对它产生影响,并且持续地、重复地参与了对神经元B的兴奋,那么在这两个神 理学的开创者 经元或其中之一会发生某种生长过程或新陈代谢变化,以致神经元A作为能使 神经元B兴奋的细胞之一,它的效能加强了.”这个机制称为赫布理论(Hebbian Theory)或赫布规则(Hebbian Rule,.或Hebb's Rule).如果两个神经元总是相 关联地受到刺激,它们之间的突触强度增加.这样的学习方法被称为赫布型学习 (Hebbian learning).Hebb认为人脑有两种记忆:长期记忆和短期记忆.短期记 忆持续时间不超过一分钟.如果一个经验重复足够的次数,此经验就可储存在长 期记忆中.短期记忆转化为长期记忆的过程就称为凝固作用.人脑中的海马区为 大脑结构凝固作用的核心区域 1.5.2人工神经网络 人工神经网络是为模拟人脑神经网络而设计的一种计算模型,它从结构、实 现机理和功能上模拟人脑神经网络.人工神经网络与生物神经元类似,由多个节 点(人工神经元)互相连接而成,可以用来对数据之间的复杂关系进行建模.不 同节点之间的连接被赋予了不同的权重,每个权重代表了一个节点对另一个节 点的影响大小.每个节点代表一种特定函数,来自其他节点的信息经过其相应的 I图片米源:htps//commons..wikimedia..org/wiki//Fle:Neuron_Hand--tuned.sg https://nndl.github.io/
1.5 神经网络 2021 年 5 月 18 日 13 树突 细胞体 细胞核 髓鞘 兰氏结 突触 轴突 神经膜细胞 图 1.5 典型神经元结构1 我们知道,一个人的智力不完全由遗传决定,大部分来自于生活经验.也就 是说人脑神经网络是一个具有学习能力的系统.那么人脑神经网络是如何学习 的呢?在人脑神经网络中,每个神经元本身并不重要,重要的是神经元如何组成 网络.不同神经元之间的突触有强有弱,其强度是可以通过学习(训练)来不断 改变的,具有一定的可塑性.不同的连接形成了不同的记忆印痕.1949年,加拿大 心理学家Donald Hebb在《行为的组织》(The Organization of Behavior)一书 中提出突触可塑性的基本原理, Donald Hebb(1904~ 1985), 加 拿 大 神 经 心理学家,认知心理生 理学的开创者. “当神经元 A 的一个轴突和神经元 B 很近,足以 对它产生影响,并且持续地、重复地参与了对神经元 B 的兴奋,那么在这两个神 经元或其中之一会发生某种生长过程或新陈代谢变化,以致神经元 A 作为能使 神经元B兴奋的细胞之一,它的效能加强了.”这个机制称为赫布理论(Hebbian Theory)或赫布规则(Hebbian Rule,或 Hebb’s Rule).如果两个神经元总是相 关联地受到刺激,它们之间的突触强度增加.这样的学习方法被称为赫布型学习 (Hebbian learning).Hebb认为人脑有两种记忆:长期记忆和短期记忆.短期记 忆持续时间不超过一分钟.如果一个经验重复足够的次数,此经验就可储存在长 期记忆中.短期记忆转化为长期记忆的过程就称为凝固作用.人脑中的海马区为 大脑结构凝固作用的核心区域. 1.5.2 人工神经网络 人工神经网络是为模拟人脑神经网络而设计的一种计算模型,它从结构、实 现机理和功能上模拟人脑神经网络.人工神经网络与生物神经元类似,由多个节 点(人工神经元)互相连接而成,可以用来对数据之间的复杂关系进行建模.不 同节点之间的连接被赋予了不同的权重,每个权重代表了一个节点对另一个节 点的影响大小.每个节点代表一种特定函数,来自其他节点的信息经过其相应的 1 图片来源:https://commons.wikimedia.org/wiki/File:Neuron_Hand-tuned.svg https://nndl.github.io/
1.5神经网络 2021年5月18日 14 权重综合计算,输入到一个激活函数中并得到一个新的活性值(兴奋或抑制). 从系统观点看,人工神经元网络是由大量神经元通过极其丰富和完善的连接而 构成的自适应非线性动态系统 虽然我们可以比较容易地构造一个人工神经网络,但是如何让人工神经网 络具有学习能力并不是一件容易的事情。早期的神经网络模型并不具备学习能 力.首个可学习的人工神经网络是赫布网络,采用一种基于赫布规则的无监督学 习方法.感知器是最早的具有机器学习思想的神经网络,但其学习方法无法扩展 到多层的神经网络上.直到1980年左右,反向传播算法才有效地解决了多层神 感知器参见第3.4节 经网络的学习问题,并成为最为流行的神经网络学习算法 人工神经网络诞生之初并不是用来解决机器学习问题.由于人工神经网络 在本书中,人工神经 可以用作一个通用的函数逼近器(一个两层的神经网络可以逼近任意的函数), 络主要是作为一种映 射画数,即机器学习中 因此我们可以将人工神经网络看作一个可学习的函数,并将其应用到机器学习 的模型 中.理论上,只要有足够的训练数据和神经元数量,人工神经网络就可以学到 很多复杂的函数.我们可以把一个人工神经网络望造复杂函数的能力称为网络 容量(Network Capacity),这与可以被储存在网络中的信息的复杂度以及数量 相关 1.5.3神经网络的发展历史 神经网络的发展大致经过五个阶段 第一阶段:模型提出第一阶段为1943年~1969年,是神经网络发展的第一个高 潮期.在此期间.科学家们提出了许多神经元模型和学习规则. l943年,心理学家Warren McCulloch和数学家Walter Pitts最早提出了一 种基于简单逻辑运算的人工神经网络,这种神经网络模型称为MP模型,至此 开启了人工神经网络研究的序幕.1948年,Alan Turing提出了一种“B型图 Hebbian法则参见 灵机”“B型图灵机”可以基于Hebbian法则来进行学习.1951年,McCulloch 第8.6.1节 和Pits的学生Marvin Minsky建造了第一台神经网络机SNARC.[Rosenblatt,Marvin Minshy(I927 1958]提出了一种可以模拟人类感知能力的神经网络模型,称为感知器(Percep 2016),人工智能领 最重要的领导者和创 tron),并提出了一种接近于人类学习过程(迭代、试错)的学习算法 斯者之一,麻者理工学 在这一时期,神经网络以其独特的结构和处理信息的方法,在许多实际应用 院人工智能实验室的 领域(自动控制、模式识别等)中取得了显著的成效 剑始人之 .因其在人 工智能领城的贡献,于 第二阶段:冰河期第二阶段为1969年~1983年,是神经网络发展的第一个低谷 1969年装得图灵奖 期.在此期间,神经网络的研究处于长年停滞及低潮状态 1969年,Marvin Minsky出版《感知器》一书,指出了神经网络的两个关键 缺陷:一是感知器无法处理“异或”回路问题:二是当时的计算机无法支持处理大 https://nndl.github.io/
1.5 神经网络 2021 年 5 月 18 日 14 权重综合计算,输入到一个激活函数中并得到一个新的活性值(兴奋或抑制). 从系统观点看,人工神经元网络是由大量神经元通过极其丰富和完善的连接而 构成的自适应非线性动态系统. 虽然我们可以比较容易地构造一个人工神经网络,但是如何让人工神经网 络具有学习能力并不是一件容易的事情.早期的神经网络模型并不具备学习能 力.首个可学习的人工神经网络是赫布网络,采用一种基于赫布规则的无监督学 习方法.感知器是最早的具有机器学习思想的神经网络,但其学习方法无法扩展 到多层的神经网络上.直到 1980 年左右,反向传播算法才有效地解决了多层神 感知器参见第3.4节. 经网络的学习问题,并成为最为流行的神经网络学习算法. 人工神经网络诞生之初并不是用来解决机器学习问题. 在本书中,人工神经网 络主要是作为一种映 射函数,即机器学习中 的模型. 由于人工神经网络 可以用作一个通用的函数逼近器(一个两层的神经网络可以逼近任意的函数), 因此我们可以将人工神经网络看作一个可学习的函数,并将其应用到机器学习 中.理论上,只要有足够的训练数据和神经元数量,人工神经网络就可以学到 很多复杂的函数.我们可以把一个人工神经网络塑造复杂函数的能力称为网络 容量(Network Capacity),这与可以被储存在网络中的信息的复杂度以及数量 相关. 1.5.3 神经网络的发展历史 神经网络的发展大致经过五个阶段. 第一阶段:模型提出 第一阶段为1943年~1969年,是神经网络发展的第一个高 潮期.在此期间,科学家们提出了许多神经元模型和学习规则. 1943 年,心理学家 Warren McCulloch 和数学家 Walter Pitts 最早提出了一 种基于简单逻辑运算的人工神经网络,这种神经网络模型称为MP 模型,至此 开启了人工神经网络研究的序幕.1948 年,Alan Turing 提出了一种“B 型图 灵机”.“B 型图灵机”可以基于Hebbian 法则来进行学习. Hebbian 法则参见 1951 年,McCulloch 第8.6.1节. 和 Pitts 的学生 Marvin Minsky 建造了第一台神经网络机 SNARC. Marvin Minsky(1927~ 2016),人工智能领域 最重要的领导者和创 新者之一,麻省理工学 院人工智能实验室的 创始人之一.因其在人 工智能领域的贡献,于 1969年获得图灵奖. [Rosenblatt, 1958]提出了一种可以模拟人类感知能力的神经网络模型,称为感知器(Perceptron),并提出了一种接近于人类学习过程(迭代、试错)的学习算法. 在这一时期,神经网络以其独特的结构和处理信息的方法,在许多实际应用 领域(自动控制、模式识别等)中取得了显著的成效. 第二阶段:冰河期 第二阶段为1969年~1983年,是神经网络发展的第一个低谷 期.在此期间,神经网络的研究处于长年停滞及低潮状态. 1969 年,Marvin Minsky 出版《感知器》一书,指出了神经网络的两个关键 缺陷:一是感知器无法处理“异或”回路问题;二是当时的计算机无法支持处理大 https://nndl.github.io/
1.5神经网络 2021年5月18日 心 型神经网络所需要的计算能力.这些论断使得人们对以感知器为代表的神经网 络产生质疑,并导致神经网络的研究进入了十多年的“冰河期” 但在这一时期,依然有不少学者提出了很多有用的模型或算法.1974年, 哈佛大学的Paul Werbos发明反向传播算法(BackPropagation,BP)[Werbos 1974],但当时未受到应有的重视.1980年,福岛邦彦提出了一种带卷积和子采样 操作的多层神经网络:新知机(Neocognitron)[Fukushima,l98ol.新知机的提 出是受到了动物初级视皮层简单细胞和复杂细胞的感受野的启发.但新知机并 没有采用反向传播算法,而是采用了无监督学习的方式来训练,因此也没有引起 足够的重视 第三阶段:反向传播算法引起的复兴第三阶段为1983年-1995年,是神经网络 发展的第二个高潮期.这个时期中,反向传播算法重新激发了人们对神经网络的 兴趣 19s3年,物理学家John Hopfield提出了一种用于联想记忆(Associative Memory)的神经网络,称为Hopfield网络.Hopfield网络在旅行商问题上取得 了当时最好结果,并引起了轰动.1984年,Geoffrey Hinton提出一种随机化版本 Hopfield网络泰见 的Hopfield网络,即玻尔兹曼机(Boltzmann Machine). 第8.6.1节 玻尔受机参见 真正引起神经网络第二次研究高潮的是反向传播算法.20世纪80年代中 第12.1节. 期,一种连接主义模型开始流行,即分布式并行处理(Parallel Distributed Pro cessing,PDP)模型[McClelland et al,.l986.反向传播算法也逐渐成为PDP模 型的主要学习算法.这时,神经网络才又开始引起人们的注意,并重新成为新的 研究热点.随后,LeCun et al.,1989将反向传播算法引入了卷积神经网络,并在 手写体数字识别上取得了很大的成功[LeCun et al,.l998l.反向传播算法是迄今 最为成功的神经网络学习算法.目前在深度学习中主要使用的自动微分可以看 自动微分参见 作反向传播算法的一种扩展 第453节 然而,梯度消失问题(Vanishing Gradient Problem)阻碍神经网络的进 步发展,特别是循环神经网络.为了解决这个问题,[Schmidhuber,1992]采用两 步来训练一个多层的循环神经网络:1)通过无监督学习的方式来逐层训练每 层循环神经网络,即预测下一个输入:2)通过反向传播算法进行精调。 第四阶段:流行度降低第四阶段为1995年~2006年,在此期间,支持向量机和 其他更简单的方法(例如线性分类器)在机器学习领域的流行度逐渐超过了神 经网络。 虽然神经网络可以很容易地增加层数、神经元数量,从而构建复杂的网络, 但其计算复杂性也会随之增长.当时的计算机性能和数据规模不足以支持训练 大规模神经网络.在20世纪90年代中期,统计学习理论和以支持向量机为代表 的机器学习模型开始兴起相比之下,神经网络的理论基础不清晰、优化困难、可 https://nndl.github.io/
1.5 神经网络 2021 年 5 月 18 日 15 型神经网络所需要的计算能力.这些论断使得人们对以感知器为代表的神经网 络产生质疑,并导致神经网络的研究进入了十多年的“冰河期”. 但在这一时期,依然有不少学者提出了很多有用的模型或算法.1974 年, 哈佛大学的 Paul Werbos 发明反向传播算法(BackPropagation,BP)[Werbos, 1974],但当时未受到应有的重视.1980年,福岛邦彦提出了一种带卷积和子采样 操作的多层神经网络:新知机(Neocognitron)[Fukushima, 1980].新知机的提 出是受到了动物初级视皮层简单细胞和复杂细胞的感受野的启发.但新知机并 没有采用反向传播算法,而是采用了无监督学习的方式来训练,因此也没有引起 足够的重视. 第三阶段:反向传播算法引起的复兴 第三阶段为1983年~1995年,是神经网络 发展的第二个高潮期.这个时期中,反向传播算法重新激发了人们对神经网络的 兴趣. 1983 年,物理学家 John Hopfield 提出了一种用于联想记忆(Associative Memory)的神经网络,称为Hopfield 网络.Hopfield 网络在旅行商问题上取得 了当时最好结果,并引起了轰动. Hopfield 网络参见 第8.6.1节. 1984年,Geoffrey Hinton提出一种随机化版本 的Hopfield网络,即玻尔兹曼机(Boltzmann Machine). 玻 尔 兹 曼 机 参 见 真正引起神经网络第二次研究高潮的是反向传播算法.20 世纪 80 年代中 第12.1节. 期,一种连接主义模型开始流行,即分布式并行处理(Parallel Distributed Processing,PDP)模型[McClelland et al., 1986].反向传播算法也逐渐成为PDP模 型的主要学习算法.这时,神经网络才又开始引起人们的注意,并重新成为新的 研究热点.随后,[LeCun et al., 1989]将反向传播算法引入了卷积神经网络,并在 手写体数字识别上取得了很大的成功[LeCun et al., 1998].反向传播算法是迄今 最为成功的神经网络学习算法.目前在深度学习中主要使用的自动微分可以看 作反向传播算法的一种扩展. 自 动 微 分 参 见 第4.5.3节. 然而,梯度消失问题(Vanishing Gradient Problem)阻碍神经网络的进一 步发展,特别是循环神经网络.为了解决这个问题,[Schmidhuber, 1992]采用两 步来训练一个多层的循环神经网络:1)通过无监督学习的方式来逐层训练每一 层循环神经网络,即预测下一个输入;2)通过反向传播算法进行精调. 第四阶段:流行度降低 第四阶段为 1995 年~2006 年,在此期间,支持向量机和 其他更简单的方法(例如线性分类器)在机器学习领域的流行度逐渐超过了神 经网络. 虽然神经网络可以很容易地增加层数、神经元数量,从而构建复杂的网络, 但其计算复杂性也会随之增长.当时的计算机性能和数据规模不足以支持训练 大规模神经网络.在 20 世纪 90 年代中期,统计学习理论和以支持向量机为代表 的机器学习模型开始兴起.相比之下,神经网络的理论基础不清晰、优化困难、可 https://nndl.github.io/