一文总结机器翻译必备经典模型(二)

2023-01-15 13:35 1661 阅读 ID:692
机器之心
机器之心

本文将分 3 期进行连载,共介绍 18 个在机器翻译任务上曾取得 SOTA 的经典模型。

  • 第 1 期:RNNsearch、Multi-task、attention-model、Convolutional Encoder、Attention、Value-Network
  • 第 2 期:Unsupervised NMT、PBSMT、coarse-to-fine、two-pass decoder translation、XLMs、MASS
  • 第 3 期:FlowSeq、mBART、BERT-fused、mRASP、mRASP2、CeMAT

您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。

第 1 期回顾:RNNsearch、Multi-task、attention-model…你都掌握了吗?一文总结机器翻译必备经典模型(一)

本期收录模型速览

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

一般而言,RBMT分析一段文字,通常会先建立目标语言中介的、象征性的表义字词。再根据中介的表义字词来决定使用人工国际语言(interlingual)化的机器翻译,或是使用转化原则法的机器翻译(transfer-based machine translation)。这些方法都必须拥有具备足够形态学的、语句学的以及语义学的资讯以及大量的字词规则所建构的辞汇。常见RBMT的难处在于无法给于适当且足够庞大的资讯,来满足不同领域或是不同法则的机器翻译法。

统计机器翻译(SMT)的首要任务是为语言的产生构造某种合理的统计模型,并在此统计模型基础上,定义要估计的模型参数,并设计参数估计算法。早期的基于词的统计机器翻译采用的是噪声信道模型,采用最大似然准则进行无监督训练,而近年来常用的基于短语的统计机器翻译则采用区分性训练方法,一般来说需要参考语料进行有监督训练。

2014年Dzmitry Bahdanau和Yoshua Bengio等学者提出了神经机器翻译。神经机器翻译(NMT)基于深度神经网络,为机器翻译提供了端到端的解决方案,在研究社区中受到了越来越多的关注,且近几年已被逐渐应用到了产业中。NMT 使用基于 RNN 的编码器-解码器框架对整个翻译过程建模,编码器是把源语言经过一系列的神经网络的变换之后,表示成一个高维向量。解码器负责把这个高维向量再重新解码(翻译)成目标语言。在训练过程中,它会最大化目标语句对给定源语句的似然度。在测试的时候,给定一个源语句 x,它会寻找目标语言中的一个语句 y,以最大化条件概率 P(y|x)。由于目标语句的可能数目是指数量级的,找到最优的 y 是 NP-hard 的。因此通常会使用束搜索(beam search)以找到合理的 y。束搜索是一种启发式搜索算法,会以从左向右的形式保留得分最高的部分序列扩展。特别是,它保存了一群候选的部分序列。在每个时间步长上,该算法都会通过添加新词的方法扩展每一个候选部分语句,然后保留由 NMT 模型评分最高的新候选语句。当达到最大解码深度或者所有的语句都完全生成的时候(即所有的语句都包含 EOS 符号后缀的时候),算法就会终止。

我们在这篇报告中总结了神经机器翻译中的经典TOP模型。

Unsupervised NMT

Unsupervised NMT完全消除了对平行数据的需求,并提出以完全无监督的方式训练NMT系统,且只依靠单语语料库。该模型建立在关于无监督嵌入映射的工作基础上,由一个稍加修改的注意力编码器-解码器模型组成,可以使用去噪和回译(Back-translation)的组合在单语语料库上单独训练。具体架构见图1。

                                                          图11. Unsupervised NMT系统架构

对于语言L1的每个句子,交替进行两个步骤的训练:去噪,优化用共享编码器对句子的噪声版本进行编码的概率,并用L1解码器对其进行重建;即时回译,在推理模式下对句子进行翻译(用共享编码器进行编码,用L2解码器进行解码),然后优化用共享编码器对该翻译句子进行编码的概率,用L1解码器恢复原句。训练在L1和L2的句子之间交替进行,对后者采取类似的步骤

在编码器中使用一个两层的双向RNN,在解码器中使用另一个两层的RNN。所有的RNN都使用具有600个隐藏单元的GRU单元,设置嵌入维度为300。使用具有一般对齐功能的全局注意力方法。该系统在三个重要方面与标准NMT不同:

  • 双重结构。虽然NMT系统通常是为特定的翻译方向而建立的(例如,法语→英语或英语→法语),但该方法利用机器翻译的双重性质,同时处理两个方向(例如,法语→英语)。
  • 共享的编码器。该系统使用一个也是唯一的一个编码器,由相关的两种语言共享。例如,在法语和英语使用完全相同的编码器。这个通用的编码器旨在生成一个独立于语言的输入文本表示,然后每个解码器将其转换为相应的语言。
  • 编码器中的固定嵌入。大多数NMT系统随机地初始化它们的嵌入,并在训练中更新它们,而我们在编码器中使用预先训练好的跨语言嵌入,在训练中保持固定。这样,编码器就得到了独立于语言的词级表征,它只需要学习如何组合这些表征来建立更大的短语表征。请注意,即使嵌入是跨语言的,也为每种语言使用单独的词汇表。这样一来,在法语和英语中都存在的单词chair(在前者是指 "肉体"),在每种语言中都会得到不同的向量,尽管它们都在一个共同的空间中。

由于NMT系统通常被训练来预测平行语料库中的翻译,这种监督训练程序在只能获得单语语料库的场景中是不可用的。可以使用以下两种策略以无监督的方式训练整个系统。

(1)去噪(Denoising)。由于使用了共享编码器,并利用了机器翻译的双重结构,模型可以直接被训练来重建自己的输入。更具体地说,整个系统可以被优化,以接受一个特定语言的输入句子,使用共享编码器对其进行编码,并使用该语言的解码器重建原句。鉴于我们在共享编码器中使用了预先训练好的跨语言嵌入,这个编码器应该学会以独立于语言的方式组成两种语言的嵌入,而每个解码器应该学会将这种表示分解为他们相应的语言。在推理时,只需将解码器替换成目标语言的解码器,这样它就能从编码器给出的独立于语言的表示中生成输入文本的翻译。

然而,这种理想的行为由于所产生的训练程序本质上是一个简单的复制任务而受到严重影响。因此,这项任务的最佳解决方案不需要掌握任何有关语言的真正知识,因为会有许多退化的解决方案,盲复制输入序列中的所有元素。如果是这样的话,那么在推理的时候,系统在用于从一种语言翻译到另一种语言时,最多只能进行非常直白的逐词替换。为了避免这种退化的解决方案,并使编码器真正以独立于语言的方式学习其输入词的构成性,建议在输入句子中引入随机噪声。这个想法是利用去噪自动编码器的基本原理,即训练系统重建被破坏的输入句子的原始版本。为此,通过在相邻的词之间进行随机交换来改变输入句子的词序。更具体地说,对于一个有N个元素的序列,进行N/2次这样的随机交换。这样一来,系统就需要了解相关语言的内部结构,以便能够恢复正确的词序。

(2)即时回译( On-the-fly backtranslation )。尽管采取了去噪策略,上述训练程序仍然是一个带有一些合成改变的复制任务,最重要的是,每次都涉及一种语言,而没有考虑在两种语言之间翻译的最终目标。为了在真正的翻译环境中训练系统,同时又不违反只使用单语语料库的约束,引入回译方法。

更具体地说,给定一种语言的输入句子,在推理模式下用贪婪解码的方法将其翻译成另一种语言(即应用另一种语言的共享编码器和解码器)。这样,我们就得到了一个伪平行的句子对,并训练系统从这个合成翻译中预测原句。不过,与标准的回译相反(使用一个独立的模型来一次性回译整个语料库),该方法利用所提出的架构的双重结构,使用正在训练的模型本身来即时回译每个小批次(minibatch)。这样,随着训练的进行和模型的改进,它将通过回译生成更好的合成句子对,这将有助于在接下来的迭代中进一步改进模型。

具体描述这一过程如下:首先L1 decoder和L2 decoder分别为两个语言的语料库的Language Modeling(语言模型)。

左边的shared encoder是两个语料库公用的encoder,并且它的嵌入是fixed cross-lingual embedding(交叉语言的vocabulary)。

回译的过程如下:

  1. L1 sentence→shared encoder(L1)→L2 decoder→predict L2 sentence
  2. predict L2 sentence→shared encoder(L2)→L1 decoder→L1 sentence

这样就算完成了一个回译过程,这个过程会去调整fixed cross-lingual embedding的值。

当前 SOTA!平台收录 Unsupervised NMT 共 2 个模型实现资源。

PBSMT

PBSMT是指phrase-based statistical machine translation(基于短语的机器翻译),即,使用基于短语的统计机器翻译(PBSMT)系统进行无监督机器翻译(Unsupervised NMT)。当从x翻译到y时,PBSMT根据以下情况对y进行评分:argmax_y P(y|x) = argmax_y P(x|y)P(y),P(x|y)来自所谓的 "短语表(phrase-based table)",而P(y)是由语言模型分配的分数。给定一个bitexts数据集,PBSMT首先推断出源语言和目标语言短语之间的对齐情况。然后,填充短语表,其条目存储了源/目标语言中某个n-gram映射到目标/源语言中另一个n-gram的概率。在无监督的情况下,可以很容易地在单语数据上训练语言模型,但如何填充短语表却不太清楚,而短语表是良好翻译的必要组成部分。

初始化。使用从单语语料库中推断出的双语词典来填充初始短语表(从源语言到目标语言以及从目标语言到源语言)。在下文中,我们把短语称为单字,但同样的论证也适用于更长的n-grams。使用源词翻译成的分数来填充短语表:  

  其中,t_j是目标词汇中的第j个词,s_i是源词汇中的第i个词,T是用于调整分布峰值的超参数,W是将源嵌入映射到目标嵌入的旋转矩阵,e(x)是x的嵌入。

语言建模。在源域和目标域,都使用KenLM(kenlm.code.Kenneth Heafield)学习平滑的n-gram语言模型。这些模型在整个训练迭代过程中保持固定。

迭代回译(Back-translation)。为了启动迭代过程,使用无监督短语表和目标方的语言模型来构建一个种子PBSMT。然后用这个模型将源单语语料库翻译成目标语言(回译步骤)。一旦生成数据,在监督模式下训练一个PBSMT,将生成的数据映射到原始来源的句子上。接下来,同时进行生成和训练过程,但方向相反。根据需要多次重复这些步骤。如下述Algorithm 2所示。直观地说,短语表中的许多条目是不正确的,因为在训练过程中任何给定点的PBSMT的输入都是有噪声的。尽管如此,语言模型依然能够在生成时修复其中的一些错误从而确保较好的效果。  

当前 SOTA!平台收录 PBSMT 共 13 个模型实现资源。

coarse-to-fine

  为了解决高熵词( high-entropy words)的回译问题,提出了一个从粗到细的框架( high-entropy words)。在粗粒度阶段,构建伪目标句子以减少熵。在细粒度阶段,利用得出的伪句子来改进神经模型。

Coarse-grained Phase
在粗粒度阶段,构建伪目标句子,以减少高熵词的熵值。图12给出一个方法示例。词s1是一个高熵词,包含四个候选词t1、t2、t3和t4,概率分布均匀。假设训练中的双语数据集D_xy包含以下三对。在第m对(X^m, Y^m)中,s1应该被翻译成t1。在第n对(X^n, Y^n)中,t2是s1的正确翻译。在第p对(X^p, Y^p)中,s1需要同时翻译成t3和t4。图12(a)给出方法过程。在伪目标句中,用一个特殊的伪标记stoken_4s1代替候选词t1、t2、t3和t4,而其他目标词则保持不变。通过这样处理,改变概率分布,如图12(b)所示,同时,s1的熵急剧减少。假设有M个高熵词,首先生成M个特殊的伪标记。然后,通过用相应的特殊标记stoken_4sm替换sm的所有候选翻译来构建伪目标句子。  

                                                              图12. 构建方法的说明

Fine-grained Phase

与原始目标句Y相比,得出的伪目标句Z是粗粒度的,它减少了高熵词的熵,也降低了翻译难度。现在的任务是用伪句子Z改进细粒度的神经模型。具体提出了三种方法,如图3所示。预训练方法利用得出的伪句子来实现更好的参数启动;多任务(Multitask)方法通过两个翻译任务同时训练神经模型θ;双通道Two-pass 方法将整个翻译过程分为两个步骤,即翻译步骤和消歧义步骤

               图13. 在细粒度阶段提出的三种方法:(a)预训练法,(b)多任务法,(c)双通道法

Two-pass decoder translation

基于多轮解码校对网络的Two-pass decoder translation模型用于解决篇章翻译过程中的一致性和连贯性问题。该模型首先进行第一轮(first-pass)解码,根据单个句子生成初步的翻译结果。然后,根据已经生成的上下文信息,对翻译结果进行第二轮(second-pass)解码,重新调整翻译内容。利用深度增强学习技术,调整当前句子的译文和已经生成的译文以确保良好的连贯性和一致性,从而提高译文的整体流畅性。

                                                图4. two-pass解码器翻译模型的整体架构图。

  first-pass译码器产生的译文与经典的Transformer模型一样。而second-pass解码器利用一个额外的自注意力层,从first-pass解码器生成的其他句子中探索更多的上下文信息。令模型学习策略,通过奖励教师的奖励,生成更流畅和连贯的翻译

图14给出 two-pass解码器翻译模型的整体架构。模型可以分为三个重要部分:first-pass解码器、second-pass解码器和话语奖励教师。在first-pass解码器中复制了原始Transformer编码器-解码器架构。second-pass解码器则是在典型的Transformer解码器中叠加了一个额外的自注意力层,从而生成一个三种自注意力层。理想情况下,额外的自注意力层能够从first-pass解码器生成的整体文件的翻译中总结出上下文,使解码器尽可能地生成话语连贯的翻译,因为它已经了解了该文件中其他句子的潜在翻译。模型的最后一个重要组成部分是话语奖励教师,这是一个离线训练的biRNN,奖励模型能够确保生成更多的话语连贯性翻译。

First-pass Decoder

将由n个句子组成的源文件定义为S_x ={s_x:0, ..., s_x:n-1},其中,每个句子s_x:i有Ti个单词。first-pass解码器的目标是使预测目标词的负对数可能性最小.

Second-pass Decoder

将First-pass解码器和Second-pass解码器视为两个关联学习任务,共享相同的编码器,使以下损失最小化:

Reward Teacher

将每个目标句子s_y:i表示为:

与递归模型中的编码器相同,将每个s_y:i 传递给一个GRU, h_i = GRU(h_i−1, s_y:i) 。将RNN的最终隐状态用来作为文件的表示 f(S_y) = h_n。训练出的绝对阶梯教师是为了最小化两个阶梯之间的余弦相似度:

在对单语语料库进行训练后,使用这个学习的教师来生成一个奖励,判断生成的序列与黄金序列(gold sequences)的排序相似性。值得注意的是,在训练NMT模型之前,奖励教师是以无监督的方式对黄金序列进行离线训练的,其参数在策略学习期间是固定的。

Policy Learning

由于用最大似然估计训练two-pass解码器生成的译文是局部连贯的,所以不能保证产生连贯的话语。进一步,训练一个奖励教师来奖励产生良好排序结构的模型,鼓励模型明确学习产生话语连贯性翻译的策略。本文使用自我批评的训练方法学习策略

Absolute Order Reward

一旦生成了序列yˆ, y∗,使用绝对顺序奖励教师来奖励这些序列:

Joint Learning

该模型有两个解码器,即first-pass解码器和second-pass解码器,它们各自可以独立地学习参数以使负对数可能性最小。直观地说,这两个解码器是关联的,两者的性能都可以通过联合学习技术来提高。如前所述,使用一个奖励教师来奖励产生话语连贯性文本的模型。根据模型架构,有两种方法可以用来奖励学习策略的模型。一种是上述介绍的通过自我批判的学习策略来奖励second-pass解码器。另一种方式,当first-pass解码器也受到奖励教师的奖励时,性能可以得到进一步提高。此时,模型的最终目标是最小化:

Lrl1的计算几乎与Lrl2相同,只是通过替换first-pass解码器的模型分布而稍作修改:

XLMs

在BERT的启发下,提出了一个新的预训练目标:MAsked Sequence to Sequence learning(MASS)用于语言生成。MASS是基于序列到序列(seq2seq)的学习框架:它的编码器将一个带有掩码片段(几个连续的标记)的句子作为输入,它的解码器根据编码器的表示预测这个被提及的片段。与BERT或只对编码器或解码器进行预训练的语言模型不同,MASS分两步对编码器和解码器进行联合预训练:1)通过预测在编码器一侧被屏蔽的句子片段,MASS可以使得编码器理解未被掩码的标记的含义,以便在解码器一侧预测被掩码的标记。2)通过掩码源端未掩码的解码器的输入标记,MASS可以令解码器在预测下一个标记时更多地依赖源端表示,而不是目标端之前的标记,从而更好地促进编码器和解码器之间的联合训练。

MASS只需要对一个模型进行预训练,然后在各种下游任务上进行微调。使用transformer作为基本的序列模型,在WMT单语语料库上进行预训练,然后在三种不同的语言生成任务上进行微调,包括NMT、文本总结和对话回应生成。考虑到下游任务涵盖了像NMT这样的跨语言任务,因此,需对模型进行多语言的预训练。  

Sequence to Sequence Learning

令(x, y)∈(X , Y)表示一个句子对,其中,x = (x_1, x_2, ..., x_m)是有m个标记的源句,y = (y_1, y_2, ..., y_n)是有n个标记的目标句,而X和Y是源域和目标域。seq2seq模型学习参数θ来估计条件概率P(y|x; θ),通常使用对数似然作为目标函数

条件概率P(y|x; θ)可以根据chain rule进一步分解如下:

 seq2seq学习的一个主要方法是 encoder-decoder 框架。编码器读取源序列并生成一组表征;解码器根据源表征和其前面的标记估计每个目标标记的条件概率。在编码器和解码器之间进一步引入了注意力机制,以找到在预测当前标记时应关注的源表示法。

Masked Sequence to Sequence Pre-training

MASS通过预测句子片段x^(u:v)来预训练一个seq2seq的模型,将被掩码的序列x^(\u:v)作为输入。使用对数似然作为目标函数:

图6给出了一个示例,输入序列有8个标记,对其中的片段x_3、x_4、x_5、x_6进行掩码处理。模型只预测了被掩码的片段x_3、x_4、x_5、x_6,给定x_3、x_4、x_5作为位置4-6的解码器输入,解码器将特殊掩码符号[M]作为其他位置的输入。该方法适用于任何基于神经网络的编码器-解码器框架,考虑到Transformer在多个序列学习任务中实现了最先进的性能,作者在实验中选择了Transformer。

当k=1时,源句中的掩码片段只包含一个标记,解码器在没有任何标记作为输入的情况下预测这个标记,但以未掩码的源标记为条件,如图17(a)所示。此时,模型就是BERT中使用的掩码语言模型。当k=m时(m是句子x中的token数),编码器一侧的所有token都掩码,解码器需要在给定先前token的情况下预测所有token,如图7(b)所示。条件概率为P(x^(1:m)|x^(\1:m); θ),此时,模型就是GPT中的标准语言模型,条件是来自编码器的空信息,因为编码器侧的所有token都被掩码了。

下面给出两种跨语言模型( cross-lingual language models,XLMs)方法:一种是只依靠单语数据的无监督方法,另一种是利用平行数据与跨语言模型的有监督方法。XLMs中具体使用了三种目标函数,其中,两个目标函数只依赖于单语数据(无监督),而第三个则需要平行句子(有监督)。考虑N种语言的情况,假设有N个单语语料库{C_i}_i=1...N,使用n_i表示C_i中的句子数量。

Shared sub-word vocabulary

通过字节对编码( Byte Pair Encoding,BPE)创建的同一套共享词汇来处理所有语言,这极大地改善了不同语言的嵌入空间的一致性,这些语言共享相同的字母或锚定标记,如数字或专有名词。在从单语语料库中随机抽取的句子的连接上学习BPE分词。句子的抽样根据概率为{q_i}_i=1...N的分布进行抽样,其中q_i表示为

Causal Language Modeling (CLM)

因果语言建模(Causal Language Modeling,CLM)任务由一个Transformer语言模型组成,该模型经过训练,可以根据句子中的前几个词来模拟一个词的概率P(w_t|w_1, ... , w_t-1, θ)。

Masked Language Modeling (MLM)

掩码语言建模masked language modeling (MLM)任务从文本流中随机抽取15%的BPE标记,80%用[MASK]标记替换,10%用随机标记替换,10%保持不动。

                                                              图5. 跨语言的语言模型预训练。

TLM目标将MLM扩展到平行句子对。为了预测一个被掩码的英语单词,该模型可以同时关注英语句子和它的法语翻译,并鼓励将英语和法语的表征对齐。重置目标句子的位置嵌入,以促进对齐

Translation Language Modeling (TLM)

CLM和MLM的目标函数都是无监督的,只需要单语数据。当平行数据可用时,进一步引入了一个新的翻译语言建模( translation language modeling ,TLM)目标函数来改进跨语言的预训练。TLM的目标函数是对MLM的扩展,不考虑单语文本流,而是将平行的句子连接起来,如图5所示。在源句和目标句中随机屏蔽单词。为了预测英语句子中被掩码的单词,该模型既可以关注临近的英语单词,也可以关注法语翻译,鼓励该模型将英语和法语的表述统一起来。特别是,如果英语上下文不足以推断出被掩码的英语单词时,该模型还可以利用法语上下文。为了促进对齐,重新设定了目标句子的位置。

Cross-lingual Language Models

考虑对本文提及的XLMs(CLM、MLM或TLM)进行跨语言模型预训练。对于CLM和MLM的目标函数,使用由256个标记组成的64个连续句子流来训练模型。在每次迭代中,利用来自同一语言的句子组成一个batch,从上述分布{q_i}_i=1...N中取样,设定公式中α=0.7。当TLM与MLM结合使用时,在这两个目标函数之间交替执行预训练,并以类似的方法对语言进行抽样。

当前 SOTA!平台收录 XLMs 共 4 个模型实现资源。

MASS

在BERT的启发下,提出了一个新的预训练目标:MAsked Sequence to Sequence learning(MASS)用于语言生成。MASS是基于序列到序列(seq2seq)的学习框架:它的编码器将一个带有掩码片段(几个连续的标记)的句子作为输入,它的解码器根据编码器的表示预测这个被提及的片段。与BERT或只对编码器或解码器进行预训练的语言模型不同,MASS分两步对编码器和解码器进行联合预训练:1)通过预测在编码器一侧被屏蔽的句子片段,MASS可以使得编码器理解未被掩码的标记的含义,以便在解码器一侧预测被掩码的标记。2)通过掩码源端未掩码的解码器的输入标记,MASS可以令解码器在预测下一个标记时更多地依赖源端表示,而不是目标端之前的标记,从而更好地促进编码器和解码器之间的联合训练。

MASS只需要对一个模型进行预训练,然后在各种下游任务上进行微调。使用transformer作为基本的序列模型,在WMT单语语料库上进行预训练,然后在三种不同的语言生成任务上进行微调,包括NMT、文本总结和对话回应生成。考虑到下游任务涵盖了像NMT这样的跨语言任务,因此,需对模型进行多语言的预训练。

Sequence to Sequence Learning

令(x, y)∈(X , Y)表示一个句子对,其中,x = (x_1, x_2, ..., x_m)是有m个标记的源句,y = (y_1, y_2, ..., y_n)是有n个标记的目标句,而X和Y是源域和目标域。seq2seq模型学习参数θ来估计条件概率P(y|x; θ),通常使用对数似然作为目标函数

条件概率P(y|x; θ)可以根据chain rule进一步分解如下:

  seq2seq学习的一个主要方法是 encoder-decoder 框架。编码器读取源序列并生成一组表征;解码器根据源表征和其前面的标记估计每个目标标记的条件概率。在编码器和解码器之间进一步引入了注意力机制,以找到在预测当前标记时应关注的源表示法。

Masked Sequence to Sequence Pre-training

MASS通过预测句子片段x^(u:v)来预训练一个seq2seq的模型,将被掩码的序列x^(\u:v)作为输入。使用对数似然作为目标函数:

图6给出了一个示例,输入序列有8个标记,对其中的片段x_3、x_4、x_5、x_6进行掩码处理。模型只预测了被掩码的片段x_3、x_4、x_5、x_6,给定x_3、x_4、x_5作为位置4-6的解码器输入,解码器将特殊掩码符号[M]作为其他位置的输入。该方法适用于任何基于神经网络的编码器-解码器框架,考虑到Transformer在多个序列学习任务中实现了最先进的性能,作者在实验中选择了Transformer。

当k=1时,源句中的掩码片段只包含一个标记,解码器在没有任何标记作为输入的情况下预测这个标记,但以未掩码的源标记为条件,如图7(a)所示。此时,模型就是BERT中使用的掩码语言模型。当k=m时(m是句子x中的token数),编码器一侧的所有token都掩码,解码器需要在给定先前token的情况下预测所有token,如图17(b)所示。条件概率为P(x^(1:m)|x^(\1:m); θ),此时,模型就是GPT中的标准语言模型,条件是来自编码器的空信息,因为编码器侧的所有token都被掩码了。

                                                                 图7. MASS的模型结构

当前 SOTA!平台收录 XLMs 共 2 个模型实现资源。

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn