当前位置: 首页 > 科技观察

一篇读懂“语言模型”

时间:2023-03-13 17:09:12 科技观察

自然语言处理(NLP)近年来发生了革命性的变化,尤其是预训练语言模型的开发和使用,在众多应用中取得了显著成果。预训练语言模型有两个主要优点:一是它们可以显着提高许多NLP任务的准确性。例如,BERT模型可用于实现比人类更高的语言理解,GPT-3模型可用于生成类似于人类书写的生成文本。第二个优势是通用的语言处理工具。如果在传统的自然语言处理中执行基于机器学习的任务,则需要标记大量数据来训练模型。相比之下,目前只需要少量标记数据来微调预训练语言模型。自然语言处理是计算机科学、人工智能和语言学的一个子领域,其应用包括机器翻译、阅读理解、对话系统、文档摘要、文本生成等。人们利用数学手段建立语言模型的方法主要有两种:一种是基于概率论,另一种是基于形式语言理论,这两种方法也可以结合使用。从基本框架来看,语言模型属于第一类。形式上,语言模型是定义在单词序列(句子或段落)上的概率分布,是一种基于概率论、统计学、信息论和机器学习的自然语言文本建模工具。近年来,通过深度学习得到的神经语言模型,特别是最近发展起来的预训练语言模型,已经成为自然语言处理的基础技术。本文从计算机科学的历史发展和未来趋势出发,简要介绍了语言建模,特别是预训练语言建模,突出了基本概念,直观地阐述了技术成果和根本挑战。首先介绍了马尔可夫和香农研究的语言建模(基于概率论)的基本概念。接下来讨论了乔姆斯基提出的语言模型(基于形式语言理论),并描述了神经语言模型作为传统语言模型的扩展的定义。然后,解释了预训练语言模型的基本思想,讨论了神经语言建模方法的优点和局限性,最后预测了语言模型未来的发展趋势。马尔可夫和语言模型安德烈·马尔可夫可能是第一个研究语言模型的科学家,尽管当时还没有“语言模型”这个术语。假设w1,w2,...,wN是一个词序列,那么,这个词序列的概率可以计算如下:令p(w1|w0)=p(w1),不同类型的语言模型使用不同的方法计算条件概率p(wi|w1,w2,...,wi-1),学习和使用语言模型的过程称为语言建模。N-gram模型是一个基本模型,它假设每个位置的词只依赖于前n-1个位置的词。也就是说,该模型是n-1阶马尔可夫链。马尔可夫在1906年研究了马尔可夫链。第一个考虑的模型非常简单,只有两个状态和这两个状态之间的转移概率。如果按照转移概率在两个状态之间跳转,那么访问两个状态的频率就会收敛到期望值,这就是马尔可夫链的遍历定理。在接下来的几年里,他扩展了模型并表明上述结论仍然适用于更普遍的情况。举个具体的例子,马尔可夫将他提出的模型应用到普希金1913年的诗歌小说《尤金 · 奥涅金》中。他去掉了空格和标点符号,将小说的前20,000个俄语字母分成了元音和辅音,得到了一系列的元音和辅音小说中。马尔可夫然后用笔和纸来计算元音和辅音之间的转换概率。然后,使用这些数据,验证最简单的马尔可夫链特性。很有意思的是,马尔可夫链最早应用在语言领域,研究的例子是最简单的语言模型。香农与语言模型1948年,克劳德·香农发表了他的开创性论文《The Mathematical Theory of Communication》,这是信息论领域的开创性工作。在论文中,根据约翰·冯·诺依曼的建议,香农借用了统计力学中的“熵”一词,引入了熵和交叉熵的概念,并研究了n-gram模型的性质。熵表示一种概率分布的不确定性,而交叉熵表示一种概率分布相对于另一种概率分布的不确定性。熵是交叉熵的下界。假设语言(词序列)是一个随机过程产生的数据,那么N-gram的概率分布熵定义如下:其中p(w1,w2,...,wn)表示w1,w2,...在n-gram中。,wn的概率。N-gram概率分布与数据的“真实”概率分布之间的交叉熵定义如下:其中q(w1,w2,...,wn)表示n-gram的w1,w2,....,wn和p(w1,w2,...,wn)表示n-gram的w1,w2,...,wn的真实概率。以下关系包括:香农-麦克米伦-布莱曼定理指出,当语言的随机过程满足平稳性和遍历性条件时,以下关系成立:换句话说,当词序列的长度达到无穷大时,熵语言是可以定义的。熵是一个常数,可以从语言数据中估计出来。如果一种语言模型可以比另一种语言模型更准确地预测单词序列,它应该具有较低的交叉熵。因此,香农的工作为语言建模提供了评估工具。语言模型不仅可以模拟自然语言,还可以模拟形式和半形式语言。乔姆斯基几乎与语言模型同时出现。1956年,乔姆斯基提出语法的乔姆斯基谱系,用来表示语言的句法。他指出,有限状态文法(也称为n-gram模型)在描述自然语言方面存在局限性。乔姆斯基的理论断言,语言由一组有限或无限的句子组成,每个句子是一组有限长度的单词,来自有限的词汇表,而语法是一组可以生成所有句子的生成规则。不同的文法可以产生不同复杂度的语言,形成层次结构。能够生成有限状态机可接受的句子的文法是有限状态文法或正则文法,而能够生成非确定性下推自动机可接受的句子的文法是上下文无关文法。有限状态文法适当地包含在上下文无关文法中。有限马尔可夫链(或n-gram模型)的“语法”是有限状态语法。有限状态文法在生成英语句子方面确实有局限性。例如,英语表达之间存在语法关系,例如(i)和(ii)中的以下关系。(i)如果S1,则S2。(ii)如果S3,或S4。(iii)如果S5,则S6,或如果S7,则S8原则上,这些关系可以无限组合以产生正确的英语表达式(例如,示例iii)。但是,有限状态文法无法描述所有组合,理论上也无法涵盖某些英语句子。因此,乔姆斯基认为用有限状态文法(包括n-gram模型)描述语言有很大的局限性。相反,他指出,上下文无关文法可以更有效地为语言建模。在他的影响下,上下文无关语法在随后的几十年中被广泛应用于自然语言处理。乔姆斯基的理论虽然对今天的自然语言处理影响不大,但仍然具有重要的科学价值。神经语言模型2001年,YoshuaBengio和他的合作者提出了第一个神经语言模型,从而开启了语言建模的新纪元。众所周知,Bengio、GeoffreyHinton和JanLeCoon因其在概念和工程上的突破使深度神经网络成为计算的关键部分而获得了2018年图灵奖。N-gram模型的学习能力有限。传统方法是通过平滑从语料库估计模型中的条件概率p(wi|wi-n+1,wi-n+2,...,wi-1)。但是,模型中的参数数量是指数级的O(V^n),其中V是词汇表的大小。当n增大时,由于训练数据的稀疏性,无法准确学习模型的参数。Bengio等人提出的神经语言模型。以两种方式改进n-gram模型。首先,使用称为词嵌入的实值向量来表示一个词或词的组合。词嵌入的维度远低于“one-hotvector”,其中对应于词的元素为1,其他元素为0。Wordembedding作为一种“分布式表示”,可以比one-hotvector更高效地表示一个词,具有泛化能力、鲁棒性和可扩展性。其次,语言模型由神经网络表示,大大减少了模型中的参数数量。条件概率由神经网络确定:其中(wi-n+1,wi-n+2,...,wi-1)表示单词wi-n+1,wi-n+2,...,wi-1嵌入;f()表示神经网络;θ表示网络参数。模型中的参数数量仅为O(V)。图1显示了模型中表示之间的关系。每个位置都有一个中间表示,它依赖于前n-1个位置的词嵌入,这适用于所有位置。然后,使用当前位置的中间表示为该位置生成一个词。图1.初始神经语言模型中表征之间的关系。在Bengio等人的工作之后,大量的词嵌入方法和神经语言建模方法得到了发展,并从不同的角度带来了改进。词嵌入的代表性方法包括Word2Vec。代表性的神经语言模型是循环神经网络(RNN)的语言模型,包括长短期记忆(LSTM)语言模型。在RNN语言模型中,每个位置的条件概率由一个RNN决定:其中w1,w2,...,wi-1表示词w1,w2,...,wi-1的embedding;f()表示循环神经网络;θ代表网络参数。RNN语言模型不再具有马尔可夫假设,即每个位置的单词都依赖于所有先前位置的单词。神经网络中的一个重要概念是它们的中间表示或状态。Word-to-worddependencies具有在RNN模型中是state-to-state依赖的属性。模型的参数在不同的位置是共享的,但是得到的表示在不同的位置是不同的。图2显示了RNN语言模型中表示之间的关系。每一层在每个位置都有一个中间表示,表示到目前为止单词序列的“状态”。当前层在当前位置的中间表示由同一层在上一个位置的中间表示和下一层在当前位置的中间表示决定。当前位置的最终中间表示用于计算下一个单词的概率。图2.RNN语言模型中表示之间的关系。这里,表示句子的开始和结束。语言模型可用于计算语言(单词序列)的概率或生成语言。在后一种情况下,可以从语言模型中随机抽取自然语言句子或文章,从大量数据中学习的LSTM语言模型可以生成相当自然的句子。语言模型的扩展是条件语言模型,它计算给定条件的单词序列的条件概率。如果条件是另一个词序列,那么问题就变成了从一个词序列到另一个词序列的转换——所谓的序列到序列问题。机器翻译、文本摘要、生成对话都是这样的任务。如果给定的条件是图片,那么问题就变成了从图片到单词序列的转换,图片字幕就是这样的任务。条件语言模型可用于各种应用程序。在机器翻译中,系统将一种语言的句子转换成具有相同语义的另一种语言的句子。在对话生成中,系统响应用户的话语,两条信息形成一轮对话。在文本摘要中,系统将长文本转化为短文本,使后者代表前者的中心思想。模型的条件概率分布表示的语义因应用程序而异,并且是从应用程序的数据中学习的。序列到序列模型的研究促进了新技术的发展。一个有代表性的序列到序列模型是由Vaswani等人开发的transformer。Transformer完全基于注意力机制,利用注意力进行编码、解码以及编码器和解码器之间的信息交换。目前几乎所有的机器翻译系统都采用transformer模型,机器翻译已经达到了几乎可以满足实际需要的水平。由于transformer在语言表示上的优越性,现在几乎所有的预训练语言模型都采用了transformer架构。预训练语言模型预训练语言模型的基本思想如下。首先,基于已实现的语言模型,例如转换器的编码器或解码器。模型的学习分为两个阶段:预训练阶段,使用非常大的语料库通过无监督学习来训练模型的参数;fine-tuning阶段,使用预训练好的模型应用特定的任务,进一步调整模型的参数。表1中的链接提供了学习和使用预训练语言模型的资源。表1.学习和使用预训练语言模型的资源预训练语言模型分为三种类型:单向、双向和序列到序列。限于篇幅,本文只涉及前两种类型。所有主要的预训练语言模型都采用transformer架构,表2提供了现有预训练语言模型的总结。表2.现有预训练语言模型总结Transformer具有强大的语言表达能力,超大的语料库包含丰富的语言表达(此类未标记数据很容易获得),训练大规模深度学习模型变得更加高效。因此,预训练的语言模型可以有效地表示语言的词汇、句法和语义特征。BERT和GPT系列(GPT-1、GPT-2、GPT-3)等预训练语言模型已经成为当前自然语言处理的核心技术。预训练语言模型的应用为自然语言处理带来了巨大的成功。BERT在阅读理解等语言理解任务上的准确性甚至超过了人类。“微调”的GPT-3在文本生成任务上也取得了惊人的流畅度。需要注意的是,结果仅表明机器在这些任务上做得更好,并不是说BERT和GPT-3比人类更能理解语言,因为这也取决于基准测试的执行方式。正如我们从历史中学到的那样,对人工智能技术能力的正确理解和期望对于该领域的健康成长和发展至关重要。由Radford等人开发的GPT家族。和布朗等人。具有以下结构。输入是一个单词序列w1,w2,...,wN,首先,通过输入层,创建一个输入表示序列,表示为矩阵H(0)。经过Ltransformer解码层后,生成一系列中间表示,记为矩阵H(L)。最后,基于每个位置的最终中间表示,计算每个位置的单词概率分布。GPT预训练与传统语言建模相同。目标是预测词序的可能性。对于给定的单词序列w=w1,w2,...,wN,我们计算并最小化交叉熵或负对数似然来估计参数:其中θ表示GPT系列模型的参数。图3显示了GPT系列模型中表示之间的关系。每个位置的输入表示由词嵌入和“位置嵌入”组成,每个位置的每个层的中间表示是从下层的前一个位置的中间表示创建的。单词的预测或生成在每个位置从左到右重复执行。换句话说,GPT是一种单向语言模型,其中单词序列是从一个方向建模的。(注意RNN语言模型也是一种单向语言模型。)因此,GPT更适合解决自动生成句子的语言生成问题。图3.GPT系列模型中表示之间的关系。这里,表示句子的开始和结束。BERT由Devlin等人开发。并具有以下架构。输入是一个单词序列,可以是单个文档中的连续句子,也可以是两个文档中连续句子的串联。这使得该模型适用于以一个文本为输入的任务(如文本分类),以及以两个文本为输入的任务(如回答问题)。首先,通过输入层,创建一个输入表示序列,表示为矩阵H(0)。通过LTransformer编码器层后,创建了一系列中间表示,表示为H(L)。最后,根据每个位置的最终中间表示,可以计算出每个位置的词概率分布。BERT的预训练称为掩码语言建模。假设单词序列是w=w1,w2,...,wN。序列中的几个单词被随机屏蔽,也就是变成了一个特殊的符号【屏蔽】。产生一个新的单词序列,其中被屏蔽的单词集表示为w'。学习目标是通过计算并最小化以下负对数似然估计参数来恢复被屏蔽的词:其中θ表示BERT模型的参数,δi的值为1或0,表示位置i的词是否被屏蔽或不。请注意,屏蔽语言建模已经是一种不同于传统语言建模的技术。图4显示了BERT模型中表示之间的关系。每个位置的输入表示由词嵌入、“位置嵌入”等组成。每个位置的每个层的中间表示是从下面所有位置的层的中间表示创建的。单词预测或生成是在每个掩码位置独立完成的,也就是说,BERT是一种双向语言模型,其中单词序列是从两个方向建模的。因此,BERT可以自然地应用于语言理解问题,其中输入是一个完整的单词序列,输出通常是一个标签或标签序列。图4.BERT模型中表示之间的关系。这里,表示一个特殊符号,表示整个输入序列。预训练语言模型的直观解释是,机器在预训练过程中基于大型语料库进行了大量的词卡或完形填空练习,从词中捕捉各种造??句模式,然后从中构建文章记忆模型中的句子、表达和模式。文本不是由单词和句子随机创建的,而是根据词汇、句法和语义规则构建的。GPT系列和BERT可以使用transformer的decoder和encoder来实现语言合成。(组合性是语言最基本的特征,乔姆斯基谱系中的语法就是这一特征的模型。)也就是说,GPT系列和BERT在训练之前已经获得了相当多的词汇、句法和语义知识。因此,在fine-tuning中适应特定任务时,只需要少量的标注数据就可以对模型进行细化,从而达到高性能。例如,发现不同的BERT层具有不同的属性。底层主要表示词汇知识,中间层主要表示句法知识,顶层主要表示语义知识。BERT和GPT-3等预训练语言模型(未经微调)包含大量实际知识。例如,它们可用于回答诸如“但丁在哪里出生?”之类的问题。并进行简单的推理,例如“48加76等于多少?”然而,语言模型本身没有推理机制。他们的“推理”能力是基于联想而不是真正的逻辑推理。因此,他们在需要复杂推理的问题上表现不佳,包括论证推理、数字和时间推理以及语义推理。将推理和语言能力集成到自然语言处理系统中将是未来的一个重要课题。未来展望当代科学(脑科学和认知科学)对人类语言处理机制(语言理解和语言生成)的了解有限。在可预见的未来,很难看到有重大突破,甚至有可能永远不会有突破。另一方面,我们希望不断推动人工智能技术的发展,开发出对人类有用的语言处理机器。神经语言建模似乎是迄今为止最成功的方法。语言建模的基本特征没有改变,即依赖于定义在包含所有词序列的离散空间中的概率分布。学习过程就是寻找最佳模型,以在使用交叉熵预测语言数据时获得最高精度(见图5)。神经语言建模的优势在于它可以使用复杂的模型、大数据和海量的计算能力非常准确地模拟人类的语言行为。来自Bengio等人提出的原始模型。到RNN语言模型和GPT系列,以及BERT等预训练语言模型,神经网络的结构变得越来越复杂(见图1、2、3、4),预测能力语言变得越来越高(交叉熵越来越小)。然而,这并不一定意味着模型具有与人类相同的语言能力,这种方法的局限性也是不言而喻的。图5.这台机器通过调整其“大脑”内的神经网络参数来模拟人类语言行为。最后,它可以像人类一样处理语言。还有其他可能的发展路径吗?目前还不清楚。可以预见,神经语言建模方法仍有很大的改进空间。目前的神经语言模型在表示能力和计算效率(功耗)方面与人脑还有较大差距。据研究,成年人大脑的工作时间只有12W;与之形成鲜明对比的是,GPT-3模型的训练需要数千千兆次/秒。能否开发出更好的语言模型来更接近人类语言处理是未来研究的重要方向。技术改进的机会仍然很多,并且仍然可以从脑科学的有限发现中得到启发。人们认为人类的语言处理主要发生在大脑皮层的两个区域:布罗卡区和韦尼克区(图6)。前者负责语法,后者负责词汇。有两种典型的脑损伤导致失语的病例。布罗卡区受伤的患者只能说零星的单词而不能说句子,而韦尼克区受伤的患者可以构造语法正确的句子,但单词往往缺乏意义。一个自然的假设是人类的语言处理在两个大脑区域并行发生。是否有必要采用更人性化的处理机制,是一个值得研究的课题。语言模型不能明确地使用语法,也不能无限地组合语言,这是人类语言的一个重要属性,而将语法更直接地融入语言模型的能力将是一个研究课题。图6.负责语言处理的人脑区域。脑科学家认为,人类语言理解是在潜意识中激活相关概念表征,在意识中产生相关图像的过程。表象包括视觉、听觉、触觉、嗅觉和味觉,它们是视觉、听觉、触觉、嗅觉和味觉的内容,随着人的成长和发展,在大脑的各个部分通过经验被记住。因此,对语言的理解与人的经验密切相关。生活中的基本概念,比如猫和狗,都是通过视觉、听觉和触觉等传感器的输入来学习的。听到或看到“猫”和“狗”这两个词也会激活人脑中相关的视觉、听觉和触觉表征。机器能否从大量多模态数据(语言、视觉、语音)中学习出更好的模型,从而更智能地处理语言、视觉和语音?多模态语言模型将是未来研究的重要课题。结论语言模型的历史可以追溯到100多年前,马尔可夫、香农等人没有预见到他们所研究的模型和理论会在后来产生如此巨大的影响,甚至可能是出乎意料的。未来100年语言模型将如何演变?它们还会是人工智能技术的重要组成部分吗?这超出了我们的想象和预测。我们可以看到的是,语言建模技术在不断演进,更强大的模型很可能在未来几年内取代BERT和GPT。