【译】自然语言处理(NLP)迁移学习技术的演变

165 阅读12分钟

最近用于自然语言处理(NLP)的转移学习技术的演变概述

以下是我新近出版的《自然语言处理的迁移学习》一书的摘录。该节选总结了最近一些依赖于迁移学习概念的NLP模型架构。

人工智能(AI)已经以一种戏剧性的方式改变了现代社会。以前由人类完成的任务现在可以由机器更快、更便宜、在某些情况下更有效地完成。这方面的流行例子包括计算机视觉应用--涉及教计算机如何理解图像和视频--例如,用于检测闭路电视摄像机画面中的罪犯。其他计算机视觉应用包括从病人器官的图像中检测疾病和从植物叶子中检测植物种类。人工智能的另一个重要分支,特别涉及人类自然语言数据的分析和处理,被称为_自然语言处理_(NLP)。NLP应用的例子包括语音到文本的转录和各种语言之间的翻译,以及其他许多例子。在图1中,人工智能和NLP被并列在维恩图中,成为相邻的领域。

图1.自然语言处理(NLP)、人工智能(AI)、机器学习和深度学习等术语的维恩图可视化,相互之间的关系。图中还显示了符号化的人工智能。(图片由作者提供,来自 "自然语言处理的迁移学习")

人工智能、机器人和自动化领域的技术革命的最新化身,有人称之为第四次工业革命,是由训练大型神经网络的算法进步、通过互联网提供的大量数据以及通过_图形处理单元_(GPU)随时提供的大规模并行能力(最初是为个人游戏市场开发的)的交叉点引发的。更具体地说,最近依靠人类感知的任务自动化的快速发展,特别是计算机视觉和NLP,需要神经网络理论和实践方面的这些进步来实现。这使得输入数据和所需输出信号之间的复杂表征得以学习,以处理这些困难的问题。

同时,对人工智能在不久的将来能够完成的预测已经大大超过了实践中所取得的成果。我们被警告说,一个世界末日般的未来将消除大多数人类的工作,并取代我们所有人,甚至有可能对我们构成生存威胁。NLP自然不会被排除在这种猜测之外,它是今天人工智能中最活跃的研究领域之一。

迁移学习的目的是利用来自不同环境的先前知识--无论是不同的任务、语言还是领域--来帮助解决手头的问题。它的灵感来自于人类的学习方式,因为对于任何特定的问题,我们通常不会从头开始学习,而是建立在可能相关的先前知识之上。例如,当一个人已经知道如何演奏另一种乐器时,学习演奏一种乐器被认为更容易。显然,乐器越相似,例如风琴和钢琴,先前的知识就越有用,学习新乐器就越容易。然而,即使乐器有很大的不同,如鼓和钢琴,一些先前的知识仍然是有用的,即使不那么有用。在这个思想实验中,部分原因可能是遵守节奏将是两种乐器的共同技能。

大型研究实验室,如劳伦斯-利弗莫尔国家实验室或桑迪亚国家实验室,以及大型互联网公司,如谷歌和Facebook,能够通过在数十亿字和数百万图像上训练非常深入的神经网络来学习非常大的复杂模型。例如,谷歌的NLP模型BERT是在英语维基百科(25亿字)和BooksCorpus(8亿字)中的30多亿字上预训练的。同样,深度_卷积神经网络_(CNN)已经在ImageNet数据集的1400多万张图片上进行了训练,所学到的参数已经被一些组织广泛外包了。从头开始训练这种模型所需的资源数量通常不是现在的神经网络普通从业者所能提供的,比如在小型企业工作的NLP工程师、小型学校的学生等。这是否意味着较小的参与者被锁定,无法在他们的问题上取得最先进的结果?值得庆幸的是,如果应用得当,转移学习的概念有望缓解这种担忧。

为什么转移学习很重要?

迁移学习使你能够将从一组任务和/或领域中获得的知识调整或转移到另一组任务和/或领域中。这意味着,用大量资源--包括数据、计算能力、时间、成本等--训练出来的模型一旦开源,就可以由更广泛的工程界在新的环境中进行微调和重新使用,而所需资源仅为原来的一小部分。这是NLP民主化的一大步,也是更广泛的AI民主化。图2说明了这种模式,以学习如何演奏乐器为例。从图中可以看出,不同任务/领域之间的信息共享可以导致减少所需的数据,以达到后期或_下游_任务B的相同性能。

图2.转移学习范式与传统范式的优势说明,前者是在为不同任务/领域训练的系统之间共享信息,后者是在任务/领域之间平行训练。在迁移学习范式中,通过信息/知识共享,可以减少数据和计算要求。例如,我们希望一个人如果先知道如何弹钢琴,就能更容易地学会打鼓。(图片由作者提供,来自 "自然语言处理的迁移学习",灵感来自本文的图3)

最近NLP转移学习的进展

传统上,对于任何给定的问题环境--任务、领域和语言的特定组合,学习都是以完全监督或完全无监督的方式从头开始进行的。早在1999年,在_支持向量机_(SVM)的背景下,半监督学习就被认为是解决潜在的有限标记数据可用性的一种方式。在较大的无标签数据集合上进行最初的无监督预训练步骤,使下游的监督学习变得更容易。这方面的变种研究了如何解决潜在的噪音,即可能不正确的标签--这种方法有时被称为_弱监督学习_。然而,它通常被假设为有标签和无标签的数据集都有相同的采样分布。

转移学习放宽了这些假设。转移学习的需求可以说在1995年得到了普遍的认可--在1995年的NeurIPS会议上被认为是对 "学会学习 "的需求。NeurIPS可能是机器学习领域最大的会议。从本质上讲,它规定智能机器需要拥有终身学习的能力,可以将学到的知识重新用于新的任务。此后,人们以一些不同的名称对它进行研究,包括_学习_学习、知识转移归纳偏见、_多任务学习_等。在多任务学习中,一个算法被训练成在多个任务上同时表现良好,从而发掘出可能更普遍有用的特征。然而,直到2018年左右,人们才开发出实用和可扩展的方法,以在NLP中实现它,解决最难的感知问题。

2018年,NLP领域出现了一场不折不扣的革命。该领域对如何最好地将文本集合表示为矢量的理解发生了巨大的变化。此外,人们普遍认识到,开源的模型可以被微调或转移到不同的任务、语言和领域。同时,几家大的互联网公司发布了更多更大的NLP模型来计算这些表征,并且他们还指定了定义明确的程序来微调它们。突然间,在NLP中获得最先进的结果的能力对普通从业者,甚至是独立的从业者来说都变得容易了。这甚至被广泛称为NLP的 "ImageNet时刻",指的是2012年后计算机视觉应用的爆炸性增长,当时一个由GPU训练的神经网络赢得了ImageNet计算机视觉竞赛。就像最初的ImageNet时刻一样,第一次有了一个预训练的模型库,可用于任意NLP数据的一个大子集,同时还有明确的技术来微调它们,以完成手头的特定任务,而标注的数据集的规模远远小于其他方式所需的。本书的目的是描述、阐明、评估、示范性地应用、比较和对比属于这一类的各种技术。接下来我们简要介绍一下这些技术。

对NLP的转移学习的早期探索集中在与计算机视觉的类比上,在那里它已经被成功地使用了十多年。其中一个模型--本体建模的语义推断(SIMOn)--SIMOn采用了字符级CNN与双向_长短期记忆网络_(LSTM)相结合的方式进行结构性语义文本分类。它展示了直接类似于计算机视觉中使用的NLP迁移学习方法。关于计算机视觉应用的转移学习的丰富知识体系激励了这种方法。这个模型所学到的特征被证明对无监督学习任务也是有用的,并且在社交媒体语言数据上运行良好,这些数据可能有些特异性,与维基百科和其他基于书籍的大型数据集上的语言类型非常不同。

word2vec最初的表述有一个明显的弱点,就是消歧义。没有办法区分一个词的各种用途,这些用途可能根据上下文有不同的含义,即同源词:例如,鸭子(姿势)与鸭子(鸟),以及公平(聚会)与公平(公正)。在某种意义上,原始的word2vec公式通过代表同源词的每个不同含义的向量的平均向量来表示每个这样的词。 来自语言模型的嵌入- 以《芝麻街》中流行的角色命名的ELMo的缩写--是一个使用双向LSTM开发上下文嵌入词的尝试。图3显示了ELMo模型的高级架构图。

图3.在一个文档分类的例子中,可视化ELMo架构。(图片由作者提供,来自 "自然语言处理的迁移学习")

在这个模型中,一个词的嵌入在很大程度上取决于它的语境,相应的数字表示对于每个这样的语境都是不同的。ELMo通过被训练来预测一连串单词中的下一个单词,这是语言建模世界中的一项关键任务。巨大的数据集,例如维基百科和各种书籍的数据集,都可以随时用于这个框架的训练。

通用语言模型的微调(ULM-FiT)是一种被提出来为任何特定任务微调任何基于神经网络的语言模型的方法,最初在文本分类的背景下被证明。这种方法的一个关键概念是_鉴别性的微调_,即网络的不同层以不同的速度进行训练。OpenAI 生成性预训练转化器(GPT)修改了转化器的编码器-解码器架构,以实现NLP的可微调语言模型。这个模型架构在图4中得到了可视化。

图4.GPT架构的高层表示,显示了堆叠的解码器、输入嵌入和位置编码。顶部的输出可用于文本预测/生成和分类。(图片由作者提供,来自 "自然语言处理的迁移学习")

GPT摒弃了编码器,保留了解码器和它们的自我注意子层。 来自变形器的双向编码器表示(BERT)的做法可以说是相反的,它通过保留编码器和丢弃解码器来修改变换器的结构,同时也依靠_掩盖_ 单词,然后需要准确地预测单词作为训练指标。BERT在图5中得到了可视化。

图5.BERT架构的高层表示,显示了堆叠的编码器、输入嵌入和位置编码。在训练过程中,顶部的输出被用于下句预测和填空式掩码语言建模的目标。(图片由作者提供,来自 "自然语言处理的迁移学习")

书中详细讨论了这些概念,结合实践中的实际例子问题,如垃圾邮件检测、假新闻分类、栏目类型分类、聊天机器人等等。

在所有这些基于语言模型的方法中--ELMo、ULM-FiT、GPT和BERT--都表明,生成的嵌入可以针对特定的下游NLP任务进行微调,而标注的数据点相对较少。对语言模型的关注是经过深思熟虑的;我们假设由这些模型引起的假设集将是普遍有用的,而且已知大量训练的数据是现成的。

从那时起,各种新的模型已经在之前描述的想法基础上被开发出来--从ALBERT和DistilBERT这样的模型,旨在减少BERT的大小,同时达到几乎相同的性能,到LongFormer和BigBird这样的模型,旨在处理长文档。

目前,NLP转移学习领域是一个非常活跃和令人兴奋的领域,现在是学习如何利用它的好时机!

要了解更多信息,请查看Sebastian Ruder的这篇出色的博客和Hugging Face的杰出_转化器库_。还可以查看我在GitHub和Kaggle上的代表性代码示例的复制品。

自然语言处理的迁移学习》的硬拷贝和电子书版本可从manning.comAmazonBarnes & NobleTarget购买。


自然语言处理的迁移学习的最新进展》最初发表在《走向数据科学》杂志上,人们通过强调和回应这个故事来继续对话。