9. 人工神经网络和神经语言建模
人工神经网络Artificial Neural Networks神经网络Neural Networks是描述
客观世界的一种数学模型。这种模型和生物学上的神经系统在行为上有一些相似之
处,但是人们更多的是把它作为一种计算工具,而非一个生物学模型。近些年,随着
机器学习领域的快速发展,人工神经网络被大量使用在对图像和自然语言的处理上。
特别是,研究人员发现深层神经网络可以被成功训练后,学术界也逐渐形成了一种
新的机器学习范式
——
深度学习Deep Learning可以说,深度学习是近几年最受
瞩目的研究领域之一,其应用也十分广泛。比如,图像识别的很多重要进展都来自
深度学习模型的使用。包括机器翻译在内的很多自然语言处理任务中,深度学习也
已经成为了一种标准模型。基于深度学习的表示学习方法也为自然语言处理开辟了
新的思路。
本章将对深度学习的概念和技术进行介绍,目的是为本书后面神经机器翻译的
内容进行铺垫。此外,本章也会对深度学习在语言建模方面的应用进行介绍,以便
读者可以初步了解如何使用深度学习方法描述自然语言处理问题。
9.1 深度学习与人工神经网络
深度学习是机器学习研究中一个非常重要的分支,其概念来源于对人工神经网
络的研究:通过人工神经元之间的连接建立一种数学模型,使计算机可以像人一样
进行分析、学习和推理。
近几年来,随着深度学习技术的广泛传播与使用,“人工智能”这个名词在有些
282 Chapter 9. 人工神经网络和神经语言建模 肖桐 朱靖波
场合下甚至与“深度学习”划上了等号。这种理解非常片面,比较准确地说,“深度
学习”是实现“人工智能”的一种技术手段。但从这种现象中,深度学习的火爆情况
可见一斑。深度学习的技术浪潮以惊人的速度席卷世界,也改变了很多领域的现状,
在数据挖掘、自然语言处理、语音识别、图像识别等各个领域随处可见深度学习的
身影。自然语言处理领域中,深度学习在很多任务中已经取得令人震撼的效果。特
别是,基于深度学习的表示学习方法已经成为自然语言处理的新范式,在机器翻译
任务中更是衍生出了“神经机器翻译”这样全新的模型。
9.1.1 发展简史
神经网络最早出现在控制论中,随后更多地在联结主义中被提及。神经网络被
提出的初衷并不是做一个简单的计算模型,而是希望将神经网络应用到一些自动控
制相关的场景中。然而随着神经网络技术的持续发展,神经网络方法已经被广泛应
用到各行各业的研究和实践工作中。
人工神经网络诞生至今,经历了多次高潮和低谷,这是任何一种技术都无法绕
开的命运。然而,好的技术和方法终究不会被埋没,直到今天,神经网络和深度学习
迎来了最好的时代。
1. 早期的人工神经网络和第一次寒冬
最初,神经网络设计的初衷是用计算模型来模拟生物大脑中神经元的运行机理,
这种想法哪怕是现在看来也是十分超前的。例如,目前很多机构关注的概念
——
“类
脑计算”就是希望研究人脑的运行机制及相关的计算机实现方法。然而模拟大脑这
件事并没有想象中的那么简单,众所周知,生物学中对人脑机制的研究是十分困难
的。因此,神经网络技术一直在摸索着前行,发展到现在,其计算过程与人脑的运行
机制已经大相径庭。
人工神经网络的第一个发展阶段是在二十世纪 40 年代到 70 年代,这个时期
人工神经网络还停留在利用线性模型模拟生物神经元的阶段。虽然,线性模型在现
在看来可能比较“简陋”但是这类模型对后来的随机梯度下降等经典方法产生了深
远影响。不过,显而易见的是,这种结构也存在着非常明显的缺陷,单层结构限制
了它的学习能力,使它无法描述非线性问题,如著名的异或函数(XOR学习问题。
此后,神经网络的研究陷入了很长一段时间的低迷期。
2. 神经网络的第二次高潮和第二次寒冬
虽然第一代神经网络受到了打击,但是 20 世纪 80 年代,第二代人工神经
络开始萌发新的生机。在这个发展阶段,生物属性已经不再是神经网络的唯一灵感
来源,联结主义Connectionism和分布式表示两种思潮的影响下,神经网络方法
再次走入了人们的视线。
1)符号主义与联结主义
9.1 深度学习与人工神经网络 283
人工智能领域始终存在着符号主义和联结主义之争。早期的人工智能研究在认
知学中被称为符号主义Symbolicism符号主义认为人工智能源于数理逻辑,希望
将世界万物的所有运转方式归纳成像文法一样符合逻辑规律的推导过程。符号主义
的支持者们坚信基于物理符号系统(即符号操作系统)假设和有限合理性原理,就
能通过逻辑推理来模拟智能。但被他们忽略的一点是,模拟智能的推理过程需要大
量的先验知识支持,哪怕是在现代,生物学界也很难准确解释大脑中神经元的工作
原理,因此也很难用符号系统刻画人脑逻辑。此外,联结主义则侧重于利用人工神
经网络中神经元的连接去探索并模拟输入与输出之间存在的某种关系,这个过程不
需要任何先验知识,其核心思想是“大量简单的计算单元连接到一起可以实现智能
行为”这种思想也推动了反向传播等多种神经网络方法的应用,并发展了包括长短
时记忆模型在内的经典建模方法。2019 3 27 日,ACM 正式宣布将图灵奖授予
Yoshua Bengio, Geoffrey Hinton Yann LeCun以表彰他们提出的概念和工作使得深
度学习神经网络有了重大突破,这三位获奖人均是人工智能联结主义学派的主要代
表,从这件事中也可以看出联结主义对当代人工智能和深度学习的巨大影响。
2)分布式表示
分布式表示的主要思想是“一个复杂系统的任何部分的输入都应该是多个特征
共同示的结果”,这思想在自语言处理域的影响其深刻,它变了刻画
语言世界的角度,将语言文字从离散空间映射到多维连续空间。例如,在现实世界
中,“张三”这个代号就代表着一个人。如果想要知道这个人亲属都有谁,因为有“如
A B 姓氏相同且在同一个家谱中,那么 A B 是本家”这个先验知识在,在知
道代号“张三”的情况下,可以得知“张三”的亲属是谁。但是如果不依靠这个先验
知识,就无法得知“张三”的亲属是谁。但在分布式表示中,可以用一个实数向量,
(0.1, 0.3,0.4) 来表示“张三”这个人,这个人的所有特征信息都包含在这个实数向
量中,通过在向量空间中的一些操作(如计算距离等)哪怕没有任何先验知识的存
在,也完全可以找到这个人的所有亲属。在自然语言处理中,一个单词也用一个实
数向量(词向量或词嵌入)表示,通过这种方式将语义空间重新刻画,将这个离散空
间转化成了一个连续空间,这时单词就不再是一个简单的词条,而是由成百上千个
特征共同描述出来的,其中每个特征分别代表这个词的某个“方面”
随着第二代人工神经网络的“脱胎换骨”学者们又对神经网络方法燃起了希望
之火,这也导致有些时候过分夸大了神经网络的能力。20 世纪 90 年代后期,由于在
语音识别、自然语言处理等应用中,人们对神经网络方法期望过高,但是结果并没
有达到预期,这也让很多人丧失了对神经网络方法的信任。相反,核方法、图模型等
机器学习方法取得了很好的效果,这导致神经网络研究又一次进入低谷。
3. 深度学习和神经网络方法的崛起
21 世纪初,随着深度学习浪潮席卷世界,人工神经网络又一次出现在人们的视
野中。深度学习的流行源于 2006 Hinton 等人成功训练了一个深度信念网络Deep
284 Chapter 9. 人工神经网络和神经语言建模 肖桐 朱靖波
Belief Network在深度神经网络方法完全不受重视的情况下,大家突然发现深度神
经网络完全是一个魔鬼般的存在,可以解决很多当时其他方法无法解决的问题。神
经网络方法终于在一次又一次的被否定后,迎来了它的春天。随之针对神经网络和
深度学习的一系列研究前赴后继地展开了,延续至今。
回过头来看,现代深度学习的成功主要有三方面的原因:
第一,模型和算法的不断完善和改进。这是现代深度学习能够获得成功的最主
要原因;
第二,并行计算能力的提升使大规模的实践成为了可能。早期的计算机设备根
本无法支撑深度神经网络训练所需要的计算量,导致实践变得十分困难。而设
备的进步、计算能力的提升则彻底改变了这种窘境;
第三,以 Geoffrey Hinton 等人为代表的学者的坚持和持续努力。
另外,从应用的角度来看,数据量的快速提升和模型容量的增加也为深度学习
的成功提供了条件,数据量的增加使得深度学习有了用武之地,例如,2000 年以来,
无论在学术研究还是在工业实践中,双语数据的使用数量都在逐年上升(如图9.1
示)现在的深度学习模型参数量都十分巨大,因此需要大规模数据才能保证模型学
习的充分性,而大数据时代的到来为训练这样的模型提供了数据基础。
2000 2005 2010 2015 2020
10
0.00
10
5.00
10
10.00
年份
句子数量 ()
机器翻译论文中使用的双语数据量
实用系统中使用的双语数据量
9.1 机器翻译系统所使用的双语数据量变化趋势
9.1.2 为什么需要深度学习
深度神经网络提供了一种简单的学习机制,即直接学习输入与输出的关系,通
常把这种机制称为到端学习End-to-End Learning)。与传统方法不同,端到端学
习并不需要人工定义特征或者进行过多的先验性假设,所有的学习过程都是由一个
模型完成。从外面看这个模型只是建立了一种输入到输出的映射,而这种映射具体
是如何形成的完全由模型的结构和参数决定。这样做的最大好处是,模型可以更加
“自由”的进行学习。此外,端到端学习也引发了一个新的思考
——
如何表示问题?
这也就是所谓的表示学习Representation Learning)问题。在深度学习时代,问题输
入和输出的表示已经不再是人类通过简单地总结得到的规律,而是可以让计算机自
己进行描述的一种可计算“量”比如一个实数向量。由于这种表示可以被自动学习,
9.1 深度学习与人工神经网络 285
因此也大大促进了计算机对语言文字等复杂现象的处理能力。
1. 端到端学习和表示学习
端到端学习使机器学习不再依赖传统的特征工程方法,因此也不需要繁琐的数
据预处理、特征选择、降维等过程,而是直接利用人工神经网络自动从输入数据中
提取、组合更复杂的特征,大大提升了模型能力和工程效率。以图9.2中的图像分类
为例,在传统方法中,图像分类需要很多阶段的处理。首先,需要提取一些手工设计
的图像特征,在将其降维之后,需要利用 SVM 等分类算法对其进行分类。与这种多
阶段的流水线似的处理流程相比,端到端深度学习只训练一个神经网络,输入图片
的像素表示,输出是图片的类别。
特征工程 + 机器学习
输入 特征提取
分类
输出
(a) 基于特征工程的机器学习方法做图像分类
深度学习(端到端学习)
输入 特征提取 + 分类 输出
(b) 端到端学习方法做图像分类
9.2 特征工程 vs 端到端学习
传统的机器学习需要人工定义特征,这个过程往往需要对问题的隐含假设。这
种方法存在三方面的问题:
特征的构造需要耗费大量的时间和精。在传统机器学习的特征工程方法中,
征提取都是基于人力完成的,该过程往往依赖于大量的先验假设,会导致相关
系统的研发周期也大大增加;
最终的系统性能强弱非常依赖特征的选择。有一句话在业界广泛流传:“数据和特
征决定了机器学习的上限”但是人的智力和认知是有限的,因此人工设计的
特征的准确性和覆盖度会存在瓶颈;
286 Chapter 9. 人工神经网络和神经语言建模 肖桐 朱靖波
通用性。针对不同的任务,传统机器学习的特征工程方法需要选择出不同的
特征,在某个任务上表现很好的特征在其他任务上可能没有效果。
端到端学习将人们从大量的特征提取工作之中解放出来,可以不需要太多人的
先验知识。从某种意义上讲,对问题的特征提取完全是自动完成的,这也意味着即
使系统开发者不是该任务的“专家”也可以完成相关系统的开发。此外,端到端学习
实际上也隐含了一种新的对问题的表示形式
——
分布式表示。在这种框架下,模型
的输入可以被描述为分布式的实数向量,这样模型可以有更多的维度描述一个事物,
同时避免传统符号系统对客观事物离散化的刻画。比如,在自然语言处理中,表示
学习重新定义了什么是词,什么是句子。在本章后面的内容中也会看到,表示学习
可以让计算机对语言文字的描述更加准确和充分。
2. 深度学习的效果
相比于传统的基于特征工程的方法,基于深度学习的模型更加方便、通用,在系
统性能上也普遍更优。这里以语言建模任务为例。语言建模的目的是开发一个模型
来描述词串出现的可能性(见第二章)这个任务已经有着很长时间的历史。9.1
出了不同方法在常用的 PTB 数据集上的困惑度结果
1
传统的 n-gram 语言模型由于
面临维度灾难和数据稀疏问题,最终语言模型的性能并不是很好。而在深度学习模
型中,通过引入循环神经网络等结构,所得到的语言模型可以更好地描述序列生成
的问题。而最新的基于 Transformer 架构的语言模型将 PPL 从最初的 178.0 下降到了
惊人的 35.7。可见深度学习为这个任务带来的进步是巨大的。
9.1 不同方法在 PTB 语言建模任务上的困惑度(PPL
模型 作者 年份 PPL
3-gram LM
[406]
Brown et al. 1992 178.0
Feed-forward Neural LM
[72]
Bengio et al. 2003 162.2
Recurrent NN-based LM
[73]
Mikolov et al. 2010 124.7
Recurrent NN-LDA
[407]
Mikolov et al. 2012 92.0
LSTM
[408]
Zaremba et al. 2014 78.4
RHN
[409]
Zilly et al. 2016 65.4
AWD-LSTM
[410]
Merity et al. 2018 58.8
GPT-2 (Transformer)
[411]
Radford et al. 2019 35.7
1
困惑度越低表明语言建模的效果越好。