发布时间:2022-08-19 13:59
邓力、刘洋
摘要,在本章中,我们搭建起了这本书的基本框架。我们首先会介绍作为人工智能领域中重要组成部分的自然语言处理(NLP)的相关基础知识。接下来,我们会回顾NLP跨越50年,历经三波浪潮的发展历史。前两波浪潮源于理性主义和经验主义,并为现在的深度学习浪潮铺平了道路。支撑NLP深度学习革命的关键,主要是以下几个方面:(1)基于词嵌入的语言实体的分布式表示,(2)基于词嵌入的语义泛化,(3)对自然语言长、深序列建模,(4)从低到高有效表达语言层级的层次网络,以及(5)端到端深度学习方法联合求解多个NLP任务。在回顾完之后,我们会分析几个当前NLP深度学习技术的关键局限,而此分析又会引出NLP在未来发展中的五个研究方向。
自然语言处理研究的是,出于执行一些有用任务的目的,如何使用计算机来处理或者理解人类语言。自然语言处理是一个跨学科的领域,涵盖计算语言学、计算科学、认知科学以及人工智能。从科学的角度看,自然语言处理旨在对人类语言理解和产生的认知机制进行建模,从工程的角度看,自然语言处理关心的是如何开发新的实用应用程序以促进计算机与人类语言的交互。自然语言处理中的典型应用包括语音识别、口语理解、对话系统、词法分析、机器翻译、知识图谱、信息检索、问答系统、情感分析、社会计算、自然语言生成与自然语言摘要,这些自然语言处理的应用领域构成了这本书的核心内容。
自然语言是专门为表达语义而构建的系统,其基本性质是符号或离散系统。自然语言中表面或者显式的“物理”信号称为文本,总是以符号形式出现。文本“信号”有其对应的语音信号,后者可以看作是符号文本的连续对应,两者都具有自然语言相同的潜在语言层次。从自然语言处理和信号处理的角度来看,语音可以被视为文本的“噪声”版,在执行理解公共底层语义的任务时,必要的“去噪”会带来额外的困难。本书的第2、3章以及当前的第1章详细地介绍了NLP的语音方面,而其余的章节则直接从文本开始,讨论各种各样的面向文本的任务,这些任务举例说明了机器学习技术(尤其是深度学习)所支持的一般NLP应用。
自然语言的符号特性完全不同于人类大脑中语言神经递质的连续特性,我们将稍后在本章的1.6小节讨论NLP深度学习的未来挑战时再来讨论它。一个相关的类比是自然语言的符号是如何在几个连续值模态,如:手势(如手语)、手写(作为图像),当然还有语音中被编码的。一方面,作为符号的单词被用作“能指”[1],指在现实世界中概念或事物作为“所指”的对象,必然是范畴[2]实体。另一方面,编码文字符号的连续模态构成由人类感知系统感知并传送到大脑的外部信号,而大脑又以连续的方式运作。尽管理论上有很大的兴趣,但将语言的符号性质与其连续渲染和编码进行对比的话题还是超出了本书的范围。
在接下来的几节中,我们将从历史的角度概述和讨论一般性方法的发展,这些方法用于研究NLP作为一个丰富的跨学科领域。如同会话系统、语音识别和人工智能等几个密切相关的子领域和父领域一样,NLP的发展可以用三个主要浪潮(邓2017;Pereira 2017)来描述,每个浪潮在下面的章节中单独进行阐述。
NLP研究始于20世纪50年代,其第一次浪潮持续了很长时间。1950年,艾伦·图灵提出图灵测试来评估计算机显示与人类无法区分的智能行为的能力(图灵1950)。图灵测试基于人和机器之间进行自然地对话,设计的目的是可以产生真人一般的回答。1954年,Georgetown-IBM实验展示了第一个能够将60多个俄语句子翻译成英语的机器翻译系统。这些方法基于人类大脑中的语言知识,通过类属继承而预先确定的信念,在二十世纪六十年代到八十年代后期的NLP研究中占主导地位,这些方法被称为理性主义(Church2007)。自然语言处理中理性主义方法的主导地位主要归因于乔姆斯基对先天语言结构[3]的论据的广泛接受和对N-gram的批判(Chromsky 1957)。假设语言的关键部分在出生时就作为人类基因遗传的一部分而固定在大脑中,理性主义方法试图设计手工制作的规则,以将知识和推理机制结合到智能NLP系统中。直到1980年,大部分尤其成功的NLP系统,比如用于模拟罗杰里亚心理治疗师的ELIZA以及用于将实际信息结构化为概念本体的MARGIE,都是基于复杂的手写规则集。这一时期与人工智能的早期发展大致一致,人工智能的特点是专家知识工程,领域专家根据他们所拥有的(非常狭窄)应用领域的知识,来设计计算机程序(Nilsson 1982; Winston 1993)。专家们基于对这些知识的小心翼翼的表示和工程设计,使用符号逻辑规则设计了这些程序。这些基于知识的人工智能系统往往通过检查“头部”或最重要的参数,并针对每种具体情况采取适当行动,从而有效地解决窄域问题。这些“头部”参数由人类专家预先识别,使得“尾部”参数和事例不受影响。但由于他们缺乏学习能力,他们很难将解决方案推广到新的情况和领域。此期间的典型方法就是专家系统,该系统通过模仿人类专家的决策能力来做决策。这样的系统基于知识推理来设计以解决复杂的问题(Nilsson 1982),第一个专家系统诞生于20世纪70年代,然后在20世纪80年代发展起来,使用的主要“算法”是以“if-then-else”形式出现的推理规则(Jackson 1998)。这些第一代人工智能系统的主要优点是它们在执行逻辑推理方面的透明性和可解释性(有限)。像ELIZA和MARGIE等NLP系统一样,早期的通用专家系统使用手工制作的专业知识,这种知识在狭义的问题中通常有效,尽管推理往往不能处理实际应用中普遍存在的不确定性。
在对话系统和口语理解的具体NLP应用领域,将在第二章中详细描述。本书的第二和第三章中,这种理性主义方法通过普遍使用符号规则和模板来表示(Seneff et al. 1991),这些设计以语法和本体结构为中心,这些结构虽然易于解释并易于调试和更新,但在实际部署中遇到了严重的困难,当这样的系统工作时,它们通常能得到非常不错的结果,但不幸的是,这种情况并不经常发生,并且有效域必然是有限的。同样的,另一个长期存在的NLP和人工智能挑战——语音识别研究和系统设计,在这个理性主义时代,很大程度上也是基于专家知识工程的范式 (Church and Mercer 1993)。在20世纪70年代到80年代早期这段时间,针对语音识别的专家系统方法还是十分流行的(Reddy 1976; Zue 1985)。然而,由于缺乏从数据中学习和处理推理中不确定性的能力,研究者们已经非常清楚地认识到了这一点,接下来将介绍第二波语音识别、NLP和人工智能。
第二波NLP的特点是利用语料库数据和(浅)机器学习(统计或其他)来利用这些数据(Manning and Schtze 1999)。随着许多自然语言的理论体系不被人们所重视或者直接抛弃,取而代之的是以数据驱动的方法。在这个时代发展的主要方法称为经验或实用方法(Church and Mercer 1993;Church 2014)。随着机器可读数据可用性的增加和计算能力的稳步增加,经验方法自1990年左右开始主导NLP。一个主要的自然语言处理会议甚至被命名为“自然语言处理中的经验方法”来最直接地反映那个时代自然语言处理研究者对经验方法的强烈正面情绪。一个主要的自然语言处理会议甚至被命名为“自然语言处理中的经验方法”来最直接地反映那个时代自然语言处理研究者对经验方法的强烈正面情绪。
与理性主义方法不同,经验主义方法假设人的大脑只从联想、模式识别和归纳的一般操作开始,需要丰富的感官输入才能使大脑学习自然语言的详细结构。经验主义于1920-1960年间在语言学中盛行,自1990年以来又经历复兴。早期的经验主义方法专注于开发像隐马尔科夫(HMM)(Baum and Petrie 1966)、IBM翻译模型(Brown et al. 1993)、头驱动解析模型(Collins 1997)这样的生成模型来从大规模语料库中发现语言的规律性。自上世纪90年代末以来,判别模型已经成为各种自然语言处理任务的普遍使用的方法。NLP中典型的判别模型及方法包括最大熵模型(Ratnaparkhi 1997)、支持向量机(SVM)(Vapnik 1998)、条件随机场(CRF)(Lafferty et al.2001)、最大互信息与最小分类误差(He et al.2008)、以及感知器(Collins 2002)。同样,在NLP经验主义时代的人工智能、语音识别和计算机视觉中也使用着和NLP经验主义方法类似的方法。证据表明学习和感知能力对于复杂的人工智能系统是至关重要的,但是在前一波流行的专家系统中却没有这种能力。明确证据表明学习和感知能力对于复杂的人工智能系统是至关重要的,但是在前一波流行的专家系统中却没有这种能力。例如,当DARPA首次举办自主驾驶大挑战赛时,大多数车辆都依赖于基于知识的人工智能模型。类似于语音识别和NLP,自动驾驶和计算机视觉研究者立即认识到基于知识的范式的局限性,这是因为机器学习必须要具有处理不确定性和泛化能力。在第二波NLP和语音识别中的经验主义是基于数据密集型的机器学习,我们现在称之为“浅”(机器学习),因为普遍缺乏由多层或“深层”的数据表示所构建的抽象概念,这些数据将在下一节的第三波中再进行描述。在机器学习中,研究者不需要考虑在第一时间构造基于知识的NLP和语音系统所需的精确和准确的规则,而是将统计模型(Bishop 2006;Murphy 2012)或简单神经网络(Bishop 1995)作为基础引擎。然后,他们使用足够的训练数据来自动学习或“调整”引擎的参数,以使它们能够处理不确定性,并试图从一个条件推广到另一个条件,从一个领域推广到另一个领域。机器学习的关键算法和方法包括EM(最大期望算法)、贝叶斯网络、支持向量机、决策树,以及对于神经网络来说的反向传播算法。
一般来说,基于机器学习的NLP、语音和其他人工智能系统的性能要比早期的基于知识的系统好得多。成功的例子包括几乎所有的机器感知人工智能任务——语音识别(Jelinek 1998)、人脸识别(Viola and Jones 2004)、视觉对象识别(Fei-Fei and Perona 2005)、手写识别(Plamondon and Srihari 2000)和机器翻译(Och 2003)。
更具体地说,在机器翻译的核心NLP应用领域,如本书第6章1.2小节以及(Church and Mercer 1993)中所描述的,该领域在1990年前后突然从理性主义方法整体转向以统计方法为主的经验主义方法。双语训练数据中句子级对齐的可用性使得不通过规则而是直接从数据中获得表层翻译知识成为可能,而付出的代价是放弃全部或者一部分自然语言中的结构化信息。在这个浪潮中,最具代表性的工作是各种版本的IBM翻译模型(Brown等人,1993)。在这个机器翻译的经验主义时代,随后的发展进一步显著地提高了翻译系统的质量(Och and Ney 2002;Och 2003;Chiang 2007;He and.2012),但是还没有达到在实际应用场景中大规模部署的水平(达到这一水平是在下一波的深度学习浪潮)。
在NLP的对话和口语理解领域,数据驱动的机器学习方法也是这个时代重要的标志。这些方法非常适合于满足定量评估和可交付性的要求,他们关注更宽泛但较浅的表层文本和领域,而不是对高度受限的文本和领域的详细分析。训练数据不是用来设计从对话系统中理解语言和作出反应的规则,而是用来从数据中自动学习(浅)统计或神经网络模型的参数。这种学习有助于降低手工打造的复杂对话管理器的设计成本,并有助于提高对整个口语理解和对话系统中语音识别误差的鲁棒性。更具体地说,对于组成对话系统的对话策略,基于马尔可夫决策过程的强大的强化学习已经在这个时代被引入进来(Young et al. 2013)。对于口语理解,主要的方法从第一波基于规则或模板的方法转移到生成模型,如隐马尔可夫模型(HMMs)(Wang et al. 2011) ,以及判别模型 ,如条件随机场(Tur and Deng 2011)。
类似的,在语音识别领域,从20世纪80年代早期到2010左右的这近三十年间,基于隐马尔可夫模型(HMM)和高斯混合模型(GMM)的统计生成模型的(浅)机器学习范式以及根据其衍生出的其它各种版本主导了这一领域。在这众多的版本中,广义隐马尔可夫模型是基于统计和神经网络的隐动态模型(Deng 1998; Bridle et al. 1998; Deng and Yu 2007),前者采用EM和转换扩展卡尔曼滤波算法来学习模型参数(Ma and Deng 2004; Lee et al. 2004),后者采用的是反向传播算法 (Picone et al.1999)。二者都广泛地利用多个潜在的表示层,根据人类语音感知中通过合成进行分析的长期已有框架来生成语音波形。更为重要的是,将这种“深层”生成过程与端到端判别过程的副本进行倒置,引起了深度学习在工业界应用的首次成功,它形成了第三波语音识别和NLP的驱动力,下面将详细介绍。
虽然在第二波期间开发的NLP系统,包括语音识别、语言理解以及机器翻译,比在第一波期间性能要好得多,并且具有更高的鲁棒性,但是它们离人类水平还差很远,仍有很多需要改进的地方(Bengio 2009; Deng and Yu 2014; LeCun et al.2015; Goodfellow et al. 2016)。除个别模型外,NLP中的(浅)机器学习模型的性能通常不足以承受大量的训练数据,并且,机器学习算法、方法以及基础结构还不够强大。(Bengio 2009; Deng and Yu 2014; LeCun et al.2015; Goodfellow et al. 2016)
在传统的机器学习中,特征是由人设计的,特征工程是一个瓶颈,因为需要大量的人类专业知识。同时,与之相关的浅层模型因为缺乏表示能力,从而缺乏形成可分解的抽象表示这一级别的能力,而这些在形成所观察的语言数据时将自动分离复杂因素。深度学习通过使用深度的、分层的模型结构(通常以神经网络的形式)和相关的端到端学习算法,克服了上述困难。深层学习是当前NLP以及更普遍的人工智能拐点背后的主要驱动力之一,并且承担着神经网络在广泛实际应用——包括商业和应用程序中复兴的重任。(Parloff 2016)
更具体地说,尽管(浅)判别模型在第二波浪潮中的许多NLP任务开发都取得了成功,但这些模型还是遇到了需要使用专业知识手工设计特征来涵盖语言中的所有规则这一困难。除了不完整性问题,浅层模型还面临着稀疏性问题,即有些特征在训练数据中通常只出现一次,尤其是高度稀疏的高阶特征。因此,在深度学习救世之前,特征设计成为了统计NLP中的一个主要障碍。深度学习通过一个被称为”从零开始NLP“的观点,为解决特征工程问题带来了希望,这个观点在深度学习的早期被认为是极其异类的。深度学习方法发掘出了具有多层隐藏层的神经网络,摒弃特征工程来解决一般的机器学习任务。与浅层神经网络以及相关的机器学习模型不同,深度神经网络使用一连串用于特征提取的多层非线性处理单元,使其具有从数据学习表示的能力。正如高层特征是从低层特征而来,这些层级形成了层次的概念。
深度学习起源于手工神经网络,手工神经网络可以看作是受生物神经系统启发的、像神经细胞那样的级联模型。随着反向传播算法的出现,从零开始训练深度神经网络在20世纪90年代引起了广泛关注。在早期,没有大量训练数据,也没有合适的设计和学习方法,在神经网络训练随着网络层数(或者严格说,是信用分配[4]深度)的增加,学习信号在层与层之间传播时指数级消失,这就造成很难调整深度神经网络的连接权,尤其是循环神经网络。Hinton等人(2006)最初克服这个问题是使用非监督的预训练来先学习一般有用的特征探针,然后网络再进一步通过带有标签的分类数据进行有监督训练。这样一来,就更可能使用低层表示来学习到高层表示的分布。这些早期的工作标示着神经网络的复兴。此后,各种网络体系结构被提出和开发了出来,包括深层置信网络(Hinton等人,2006)、栈式自编码器(Vincent等人,2010)、深层玻尔兹曼机(Hinton and Salakhutdinov,2012)、深层卷积神经网络(Krizhevsky等人,2012)、深层堆叠网络(Deng等人,2012)以及深层Q网络(Mnih等人,2015)。从高维数据中发现错综复杂的结构的能力,深度学习从2010年起就成功地应用于人工智能中真实世界的任务,包括:语音识别(Yu等人,2010,Hinton等人,2012)、图像分类(Krizhevsky等人,2012、He等人2016)以及NLP(本书所有章节)。细致的分析和对深度学习的评论提供了一套教科书般的调研文章(Deng 2014; LeCun等人 2015; Juang 2016)。
语音识别,作为NLP中的一项核心任务,我们出于其作为通过深度学习,在现实世界中具有强烈影响的第一个工业化NLP应用的重要性,在这里简短地讨论一下。深度学习的工业化应用于大规模语音识别任务,于2010年左右开始腾飞,这种尝试努力始于学术界和工业界间的一次合作。最开始的工作出现在2009年NIPS大会中语音识别及相关应用的深度学习专题会议。会议受启于语音的深层生成式模型的限制,以及在大计算、大数据时代,使对深度神经网络的认真探索成为必要的可能性。在20世纪90年代,当时人们认为使用了基于对比散度算法的深度置信网络生成模型的预训练深度神经网络可以克服神经网络遇到的主要困难。在微软进行这项研究的早期,发现即使没有使用对比散度预训练,但是使用了大规模训练数据及具有和数据对应大小、上下文依赖输出层,精心设计的深度神经网络,就可以获得比当时最牛叉的浅层机器学习系统还低得多的识别错误率。这项发现很快就被北美、及随后海外的几个其他语音识别研究团队所验证。然后,由两类系统产生的识别错误的被发现是有着本质上区别的。这个发现提供了关于如何将深度学习整合进现存高效的、run-time型的、被语音识别工业界主要玩家所部署的语音解码系统中的洞察。今天,在所有的最牛叉的语音识别系统中都使用了应用于多种深度神经网络的反向传播算法,并且所有主流商业语音识别系统——Microsoft Cortana, Xbox, Skype Translator, Amazon Alexa, Google Assistant, Apple Siri, Baidu and iFlyTek voice search及更多的系统,全都是基于深度学习方法的。
2010-2011年语音识别的惊人成功预示着第三波NLP和人工智能的到来。在语音识别、计算机视觉方面的深度学习取得成功后,计算机视觉和机器翻译也被类似的深度学习范式接管,尤其是当强有力的神经网络词嵌入技术早在2011年(Bengio等人, 2001),就发展起来的时候,直到10年多后,由于大数据的可用性和更快的计算速度,它才被证明在大范围和实用范围内具有实用性。此外,大量其他的NLP实际应用,比如给图片加说明、可视化问答、语音理解、网络搜索以及推荐系统和许多非NLP任务,包括药物发现和毒理学、客户关系管理、推荐系统、手势识别、医药信息学、广告、医药图片分析、机器人技术、自动驾驶、棋类及电子竞技比赛等等都由于深度学习而取得成功。更多细节,请看https://en.wikipedia.org/wiki/deep_learning。
在更具体的基于文本的NLP应用领域,机器翻译可能受到深度学习的影响最大。它从NLP第二阶段的浅层统计机器翻译发展而来,目前在实际应用中最好的机器翻译系统也是基于深度神经网络的。例如,谷歌在2016年9月宣布了其率先使用神经机器翻译,微软在2个月后发表了类似的声明。Facebook花了一年左右的时间用于将原来的机器翻译模型转换为神经机器翻译。到2017年8月,它还正在全面部署。这些最先进的大型机器翻译系统中的深度学习技术的细节将在第6章中进行回顾。
在口语理解和对话系统方面,深度学习也产生了巨大的影响。现在流行的技术也是以多种方式在第二波浪潮中就发展出的统计方法之上进行了保持和扩展。就像经验主义的(浅)机器学习方法,深度学习也是基于数据密集型的方法来降低手工制作的复杂理解和对话管理的成本、使对噪音环境下的语音识别错误和语言理解错误具有鲁棒性、利用马尔可夫决策过程的力量和强化学习设计对话策略。相较于以前的方法,深度神经网络模型和表示都更加强大,使端到端学习成为可能。然而,深度学习还没有解决与早期的经验技术有关的可解释性和领域拓展性问题。关于当前口语理解和对话系统中流行的深度学习技术及其挑战的细节,将在第2、第3章中进行回顾。
最近在将深度学习应用于NLP问题上取得的两项重要技术突破是序列到序列(seq2seq)学习(Sutskevar等人2014)和注意力(Attention)建模(Bahdanau等人2015)。seq2seq学习提出了一个很有效的观点,那就是使用循环网络,通过端到端的方法来同时产生编码和解码。而注意力建模最开始是被用来克服长序列编码困难,随后的发展才展现其强大的力量,就是提供可与神经网络参数一起学习的任意两个序列的高度灵活的对齐方式。seq2seq学习和注意力机制的概念促进了基于分布式词嵌入神经机器翻译系统的表现超过了基于统计学习和词和短语本地表示的最好的机器翻译系统。此后,这些概念也被成功应用在许多其他NLP相关的任务中,比如看图说话、语音识别、程序执行元学习、单样本学习、句法分析、唇语、文本理解、文章摘要、问答系统等等。
抛开这些巨大的实际成功不谈,基于神经网络的深度学习模型相较于更早发展出的传统的机器学习模型往往更易于理解和设计。在许多应用中,深度学习从特征抽取一直到预测,模型的所有部分通过端到端的方式同时被执行。让神经网络模型显得简单的另一个因素就是同样的模型模块可以普遍地应用到不同的应用程序中。对于各种各样的任务,使用相同的模块使得模型从一个任务/数据适配到另一个任务/数据相对简单。软件工具箱的发展也让这些模型的实现可以变得更为快速有效。综上理由,深度神经网络在今天成为了对于解决各种各样使用超大数据集的机器学习、人工智能任务,尤其包括NLP任务,一个可选的重要方法。
尽管深入学习在以革命性的方式重塑语音、图像和视频的处理方面已被证明是有效的,并且其在许多实际的NLP任务中取得了经验上的成功,但是深度学习在基于文本的NLP任务中的有效性却并不是那么明显。在语音、图像和视频处理中,深度学习通过直接从原始感知数据中学习高级概念,有效地解决了歧义问题,然而,在NLP中,已经提出了更强大的形态学、语法和语义理论和结构化模型,以提炼出理解和生成自然语言的基本机制,这些机制与神经网络不太容易兼容。与语音、图像和视频信号相比,神经网络从文本数据中学习到的表示似乎并不太能直接同样地洞察自然语言。因此,在NLP中应用神经网络,尤其是那些具有复杂层次结构的网络,受到了越来越多的关注并且成为在NLP和深度学习这两个社区中最为活跃的一个领域,其近年来也取得了可观的进展。通过对NLP研究进展的调查和对其未来深入学习方向的分析,形成了我们撰写本章和撰写本书的主要动机,希望NLP研究人员能够在当前的快速发展中进一步加速研究。
在分析NLP未来方向和更先进的深度学习之前,这里我们先总结一下NLP从过去的浪潮到现在的这一波浪潮变迁的意义,然后再讨论一些现在的NLP深度学习技术明确的局限和挑战,来为考察可能会克服这些局限的下一波创新的进一步发展铺平道路。
1.5.1 从经验主义到深度学习:变革
从表面上看,本章1.4小节中讨论的深度学习掀起的浪潮看上去像是第二波浪潮的简单推动—— NLP经验主义浪潮随着更大的数据、更大的网络已经更强的算力,走向了末路。毕竟在这两波浪潮中发展出的基本方法都是数据驱动的、基于机器学习和计算过程的。两者都摒弃了以人为本的“理性主义”规则,这些规则通常脆弱不堪并且在实际NLP应用中获取成本高昂。然而,如果我们全面且更深一层地分析这些方法,我们可以发现从经验机器学习到深度学习的概念革命的各个方面,并随后分析该领域的未来方向。这场革命在我们看来,它的重要性不亚于从早期理性主义浪潮到经验主义浪潮的革命,以及经验主义时代的终结。
在NLP第二波浪潮期间,经验机器学习和语料数据分析始于20世纪90年代初,由密码学家和计算机科学家开始,他们的工作高度受限于词汇和应用领域的自然语言来源。正如我们在1.3小节所讨论的,表层级别的文本观察,比如词和序列,不依赖自然语言中的深层结构,而通过离散概率模型直接计算。最基本的表示方法就是one-hot和localist,他们都没有利用词语之间的语义相似性。由于领域和相关文本内容的限制,这种无结构表示和经验模型通常足以涵盖需要涵盖的大部分内容,也就是说,在有限和特定的NLP任务中,基于统计的浅层统计模型自然可以做得很好。但在实际中,当NLP应用程序不受领域和内容限制时,基于统计的模型必然会失效,也没有多少平滑技巧被发明出来以解决计算稀疏性的问题。这才是NLP深度学习真正闪耀的地方——通过词嵌入的分布式表示、由于词嵌入而产生的语义泛化、长跨度深序列建模和端到端的学习方法,都助其在更广泛的NLP任务中(在本章1.4中所讨论的)击败经验主义和基于统计的方法。
1.5.2 目前深度学习技术的局限
尽管在NLP任务(尤其是在语音识别/理解、语言建模和机器翻译方面)的深度学习取得了巨大的成功,但仍然存在巨大的挑战。目前基于神经网络的黑盒深度学习方法普遍缺乏可解释性,甚至谈不上可解释性,与第一次NLP浪潮中建立的“理性主义”范式相比,专家们设计的规则自然是可解释的。然而,在实践中,从一个看似“黑箱”的模型中解释预测是很有必要的,不仅是为了改进模型,而且为了向预测系统的用户提供建议采取的行动的解释。在许多应用中,深度学习方法已经证明能够提供接近或超过人类的识别精度,但他们比人类需要更多的训练数据、电力消耗和计算资源。而且,虽然精度结果在统计意义上看上去很感人,但是拿到个体上往往靠不住。更进一步说,目前大多数的深度学习模型都没有推理和解释能力,使得它们容易遭受灾难性的失败或攻击,没有防止其发生的预见能力。此外,目前的NLP模型没有考虑到通过最终的NLP系统,制定和执行决策目标和计划的需要。目前基于深度学习的NLP方法的一个更为具体的局限是它们在理解和推理句子间关系方面的能力较差,尽管句子中的单词和短语已经取得了巨大的进展。正如前面所讨论的,NLP中深度学习的成功很大程度上来自于一个简单的策略:到目前为止,对于一个NLP任务,运用基于(双向)LSTMS的标准序列模型,如果任务中所需的信息需要从另一个来源流出,则添加注意力机制,然后以端到端的方式训练完整的模型。然而,虽然序列建模天然就适合于语言,但是人类对自然语言(文本形式)的理解需要比序列更复杂的结构。也就是说,当前的基于序列的NLP深度学习系统可以通过利用模块化、结构化内存和递归的、树型的句子和更大的文本表示来进一步改进。
为了克服上述挑战,实现NLP作为核心人工智能领域的最终成功,需要进行基础研究和应用研究。在研究人员创造新的范式、算法和计算(包括硬件)突破之前,NLP和人工智能的下一波新浪潮不会到来。在这里,我们概述了实现潜在突破的几个高级方向。
1.6.1 神经符号集成
一个潜在的突破是开发出一套在构建、存取和利用记忆和知识,包括、尤其是常识方面比目前的方法更有效的先进深度学习模型和方法,目前还不清楚如何将当前的深度学习方法,以分布式表示(所有内容)为中心,与明确的、易于解释的、本地化的自然语言和世界知识以及相关的推理机制相结合。
实现这一目标的一条途径是无缝地结合神经网络和符号语言系统。这些NLP和人工智能系统将致力于自己发现潜在的原因或逻辑规则,这些因素或逻辑规则塑造了它们的预测和决策过程,并以符号化的自然语言形式向人类用户解释。最近,在这个方向上的非常初步的工作是使用了一种称为张量积神经记忆单元的集成神经符号表示,它能够解码回符号形式。在神经张量域内广泛学习后,这种结构化的神经表示在编码信息中是无损耗的,这种张量积表示的扩展在应用于机器阅读和问答等NLP任务时,旨在学习处理和理解大量自然语言文档。在学习之后,系统不仅能够明智地回答问题,而且能够真正理解它所读到的内容,以至于它能够向人类用户传达这样的理解,从而提供有关已采取哪些步骤来获得答案的线索。这些步骤可以是用自然语言表达的逻辑推理的形式,因此就会被这类机器阅读理解系统的人类用户所自然地理解。对于这种能力,举例来说,当一个理解系统被很好的训练之后,比如在一个问答任务中(使用有监督学习或其他),这个系统就应该掌握为解决问答任务而提供的观察文本材料的所有基本方面。这种掌握需要的是训练好的系统在随后能够很好地执行其他NLP任务例如翻译、总结、推荐等,而不需要看到额外的配对数据,比如原始文本数据及其摘要,或并行的英汉文本等。
研究这样强大的神经符号系统本质的一种方法,是将它们视为融合了“理性主义”方法的力量的系统,这种方法以在1.2节讨论的NLP第一波浪潮中所流行的专家推理和结构丰富性为特征。有趣的是,在深度学习(第三次)NLP浪潮兴起之前,(Church 2007)认为,从理性主义到经验主义的方法,如钟摆一样摇摆得太远,在第二次NLP浪潮几乎达到了顶峰,并预测新的理性主义浪潮即将到来。然而,深度学习时代并没有回归到新一轮的NLP理性主义时代,而是在Church写下这段话后不久就全面到来了。深度学习用大数据和大计算将NLP的经验主义推向了顶峰而不是给理性主义添加点佐料。并用概念上革命性的方式,通过大规模的并行性和分布性来代表一系列语言实体,从而大大提高了新一代NLP模型的泛化能力。只有在当下NLP深度学习方法获得全面成功以及后续一系列局限的分析之后,研究者们才能开始研究NLP的下一波浪潮——不是说抛弃经验主义就会回到理性主义,而是开发更先进的深度学习范式,这个范式将缺失的理性主义精髓有机地整合到结构化的神经方法中,旨在接近人类对语言的认知功能。
1.6.2 架构、记忆和知识
正如本章前面讨论的以及当前NLP文献(Manning和Socher 2017),现在的NLP研究者用于利用架构以及构建、存取记忆和知识的深度学习方法还很落后。虽然LSTM(带有注意力机制)已经无处不在地用于NLP任务中来打破许多NLP基准,但LSTM距离优秀的人类认知记忆模型还很遥远。特别是,LSTM缺乏合适的结构来模拟情景的记忆,人类认知能力的一个关键组成部分就是检索和重新体验过去一切与众不同的事情和想法。这种能力所产生的one-shot[5]学习技巧以及在阅读理解、自然语言文本或语音理解以及自然语言描述的事件推理中是至关重要的。许多近期研究提出了更好的记忆模型,包括使用有监督训练的外部记忆结构以及使用强化学习的增广记忆结构。但是这些还没有显示出普遍的有效性,尤其在可扩展性上也遭遇到了局限(由于使用了必须访问内存中每个存储元素的注意力而产生)。在获得更好的记忆模型和用于文本理解、推理的知识开发方向仍然还有很多工作要做。
1.6.3 无监督和生成深度学习
另一个深度学习在NLP领域的潜在突破是无监督深度学习的新算法。理想情况下,它使用与输入配对的非明确训练信号来指导学习。1.4小节讨论的词嵌入就可以被视作一种弱形式的无监督学习,它使用相邻词作为训练信号的“免费”代替。但对于现实NLP预测任务,比如翻译、理解、摘要等,这种词嵌入会以一种“无监督方式”获得,然后投进另一个需要高昂训练信号的有监督结构中。在真正的无监督学习中,需要低廉的训练信号,新型的目标函数和新优化算法等等。无监督学习的目标函数应该不需要和输入数据对齐的明确目标标签数据,就像监督学习中最流行的交叉熵。无监督深度学习算法的发展明显落后于有监督和强化深度学习算法,其中反向传播和Q学习算法已经相当成熟。无监督学习的最新初步发展是利用顺序输出结构和先进的优化方法来缓解在训练预测系统中使用标签的需求(Russell and Stefano 2017; Liu 等人 2017)。无监督学习的未来进展是有前景的,它利用新的学习信号源,包括输入数据的结构和从输入到输出的映射关系,反之亦然。利用输出与输入之间的关系与建立条件生成模型密切相关。为此,生成对抗网络(Generative Adversarial Networks,GAN)成为了深度学习中最近流行的话题(Goodfellow 等人. 2014)。生成对抗网络在模式识别和机器学习中,长期存在的综合分析概念很可能在不久的将来重回大众视野,并以新的方式解决NLP任务。
生成对抗网络被定义为节点间连接紧密,没有概率设置的神经网络。另一方面,概率和贝叶斯推理是机器学习的主要理论支柱之一,它经常利用“节点”之间的稀疏连接作为随机变量进行计算,并用以在1.3小节中讨论的NLP经验主义浪潮期间开发出许多NLP方法。深度学习和概率建模之间的正确接口是什么?概率思维能帮助更好地理解深度学习技术,并为NLP任务推出新的深度学习方法吗?换个方向怎么样?这些问题对未来的研究具有广泛的开放性。
1.6.4 多模式和多任务深度学习
多模式和多任务学习是相关的学习范式,二者都涉及到深度网络中潜在表示的利用,这些表示从不同的模式(比如音频、语音、视频、图片、文本、源代码等)或多领域交叉任务(比如点和结构预测、排名、推荐、时间序列预测、聚类等等)中来。在深度学习时代之前,由于缺乏跨模式或任务共享的中间表示,多模式和多任务学习很难变得有效。来看一个多任务学习对比最明显的例子:在经验主义时代和深度学习时代中的多语言语音识别。
多模式信息可以当做是低成本的有监督来利用,比如标准的语音识别、图像识别、文本分类方法分别在每个语音、图像和文本模式中使用有监督标签。然而,这远非儿童学会识别语言、图像和对文本进行分类的方法。举个例子,儿童经常会通过成年人指着一张图片、一段文本或者与说的话有联系的手写内容来获得不同的说话声音“有监督”信号。相似地、儿童学习图像分类的时候也可能会用到语音或者文本作为“有监督”信号。这种发生在儿童身上的学习可以激发一种学习方案——利用多模态数据来改进多模态深度学习的工程系统。相似性度量需要在同一语义空间中定义,语言、图像和文本都会映射到这一语义空间中,接着通过深层神经网络,使用不同模式中最大的互信息进行训练。这种体系的巨大潜力尚在NLP文献中被探索和发现。
和多模式深度学习相似,多任务深度学习也可以从利用跨任务或领域的多重潜在表示中获益。最近关于联合多任务学习的工作解决了一个单一的、大的、深度的神经网络模型中的一系列NLP任务,从形态到句法,再到语义层次。该模型对语言输出的不同层次进行了深层次的预测,完成了标记、分块、句法分析等标准的NLP任务,以及语义相关性和蕴涵性的预测。使用这个单一的端到端学习模型得到的强大结果指向了一条解决现实世界中更具挑战性的NLP任务以及非NLP任务的方向。
1.6.5 元学习
学会学习或者元学习的范式是富有成效的NLP和人工智能研究的进一步未来方向。元学习的目标是通过重用以前的经验来更快地学习新任务,而不是孤立地处理每个新任务,并学习从头开始解决每个新任务。也就是说,随着元学习的成功,我们可以在各种学习任务上都只训练这一个模型,这样它只需要少量的训练样本就可以解决新的学习任务。在我们的NLP环境中,成功的元学习将使智能NLP系统的设计能够改进或自动发现新的学习算法(例如,用于无监督学习的复杂优化算法),从而使用少量训练数据解决NLP任务。
元学习作为机器学习的一个分支,其研究始于30多年前,但直到近几年深层学习方法相当地成熟后,元学习潜在巨大影响力的强有力证据才变得明显。元学习的初步进展可以在成功应用于深度学习的各种技术中看到,包括超参数优化、神经网络结构优化以及快速强化学习。元学习在实际中最终的成功将使解决大多数NLP和计算机科学问题的算法的开发得以重新表述为一个深度学习问题,并由今天为深度学习设计的统一基础设施来解决。元学习是一种强大的新兴人工智能和深度学习范式,是一个丰富的研究领域,有望影响到现实的NLP应用。
本章旨在建立这本书的基本框架,我们首先提供了NLP基本的介绍,它比计算语言学更注重应用,两者都属于人工智能和计算机科学领域。根据NLP的三波浪潮,我们对NLP领域发展历史的研究横跨数十年,从理性主义和经验主义开始,到现在的深度学习浪潮。研究的目标是从历史发展中提炼出可以指导未来方向的洞察。
我们从三波浪潮分析得出的结论是,当前的NLP深度学习技术是从前两波发展而来的NLP技术的概念和范式革命。支撑革命的关键支柱包括利用词嵌入技术的语言实体分布式表示(子词、词、短语、句子、段落、文档等等)、由词嵌入带来的语义泛化、长深序列的语言建模、层次网络能有效地表示从低到高的语言层级、以及端到端的深度学习方法,共同解决许多NLP任务。在深度学习浪潮之前,这些都是不可能的,此前的浪潮中,不仅是缺乏大数据和强大的算力,一个同样重要的原因是,在深度学习范式最近这些年出现之前,没有正确的框架。
在我们调查了由于深度学习而大获成功的几个有选择性的NLP应用领域(在本书的其余章节中,对NLP成功领域进行了更全面的说明)。我们指出并分析了当前深度学习技术的几个主要局限性,以及针对NLP的局限性。这项研究提供给我们未来NLP发展的的五个方向:神经符号整合框架、探索更好的记忆模型、更好地利用知识、以及更好的深度学习范式,包括无监督和生成式学习、多模式和多任务学习和元学习。
总而言之,深入学习已经开创了一个世界,使我们的NLP领域比过去任何时候都更加光明。深度学习不仅提供了一个强有力的建模框架,用来表示人类在计算机系统中自然语言的认知能力,而且重要的是,它已经在NLP的一些关键应用领域创造了卓越的实践成果。在本书其余章节,会提供使用深度学习框架开发NLP技术的详细描述。可能的话,将给出对比深度学习和几年前深度学习席卷NLP领域之前发展出的传统技术,给出一个基线结果。我们希望这套综合性的材料将作为一个标志,在这一过程中,NLP研究人员正在开发更好、更先进的深度学习方法,以克服本章中讨论的部分或全部现有局限性,可能也会受到我们在这里分析的研究方向的启发。
(略)
===================================
译者注:
⑴ 能指和所指:“能指”和“所指”都是索绪尔语言学的术语。索绪尔认为,任何语言符号是由“能指”和“所指”构成的,“能指”指语言的声音形象,“所指”指语言所反映的事物的概念。比如英语的“tree”这个单词,它的发音就是它的“能指”,而“树”的概念就是“所指”。
⑵ 范畴:范畴是已经经过无数次实践的证明,并已经内化、积淀为人类思维成果,是人类思维成果高级形态中具有高度概括性、结构稳定的基本概念。如:单一、特殊、普遍、形式、内容、本质、现象、原因、结果、必然性、偶然性、可能性、现实性等等,具有普遍的方法论意义。
⑶ 先天语言结构:人的大部分语言知识是与生俱来的,由遗传决定的。
⑷ 信用分配(Credit Assignment):当一个学习系统采用一个复杂的决策过程时,它必须为每个决策的结果分配信用或责任。如果不能将一个单独的结果直接归因于每一项决定,则有必要在促成该结果的每一项决定组合之间分配信用和责任。
⑸ one-shot:对于一个类别来说只要单个或者少量样本。