Advertisement

预训练模型增强机器翻译

阅读量:

预训练和微调,例如BERT,通过将知识从资源丰富的预训练任务转移到资源低/零资源的下游任务,在语言理解方面取得了巨大成功。然而,由于在神经机器翻译(NMT)中,由于双语任务的训练目标与单语预训练模型相差很大的问题,微调的改进相对较少。那么如何利用预训练模型来增强机器翻译呢?

首先现有的方法大致可分为两类,第一类是更好地利用预训练模型,一类是设计新的预训练任务,主要是预训练Seq2Seq模型。

ICLR2020上的一篇论文在这里插入图片描述作者首先分析了目前将BERT应用于NMT的方法,主要是微调或将BERT最后一层的输出作为NMT模型的embedding,作者进行实验后发现使用预训练的BERT模型初始化NMT模型的编码器,效果并没有明显的改善,与微调相比,将BERT的最后一层作为NMT模型的embedding效果更好,于是作者从这个探索出发,提出了BERT融合NMT的算法。
在这里插入图片描述
在该算法中,将BERT的表示馈入所有层而不是仅作为输入嵌入来利用它。使用注意力机制来自适应地控制每一层如何与表示交互,同时能够处理BERT模块和NMT模块可能使用不同的分词规则,从而导致不同的序列(即表示)长度的情况。与标准NMT相比,除了BERT之外,还有两个额外的注意模块,即BERT编码器注意和BERT解码器注意。首先将输入序列转换为由BERT处理的表示形式。然后,通过BERTencoder注意模块,每个NMT编码器层都与从BERT获得的表示进行交互,并最终利用BERT和NMT编码器输出融合的表示。解码器的工作原理类似,并且融合了BERT表示和NMT编码器表示。
在这里插入图片描述
在NMT这个复杂的文本生成任务中,利用预训练模型中的上下文知识是一个很好的补充,但微调的效果不够好,在这里插入图片描述作者则提出在encoder端使用动态融合策略,在decoder端使用知识蒸馏的方法,来更好的利用预训练模型中的上下文知识。
作者在encoder端对每一层都利用Adapter将预训练模型中一般的预训练表示转换为更适合NMT任务的表示。作者提出了两种基于不同粒度的方法,以控制应将任务特定表示形式动态融合到Transformer中的数量。一种是层感知注意力机制能够确定来自预训练模型的哪个表示是更重要的,一种是通过门控机制来控制每个隐层状态的融合率。
在这里插入图片描述
在decoder端作者使用知识蒸馏方法,设计了词级别和句子级别两个训练目标,来使模型在训练过程中学习预训练模型的表示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
语言生成任务通常需要大量数据,而从训练数据的角度来看,其中许多资源很少或甚至是零资源。在这些自然语言生成任务上直接应用像BERT这样的预训练方法是不可行的,因为BERT是为语言理解而设计的,通常仅由一个编码器或解码器来处理。因此,如何设计语言生成任务的预训练方法(通常采用基于编码器-解码器的序列作为序列学习框架)具有巨大的潜力和重要性。
第一篇论文受BERT启发,提出Masked Sequence to Sequence的预训练,encoder采用带有连续掩码标记的句子作为输入,decoder则根据编码器表示来预测该掩码片段。与BERT或仅对编码器或解码器进行预训练的语言模型不同,MASS分两个步骤共同对编码器和解码器进行预训练,首先通过预测在编码器端被掩盖的句子片段, MASS可以强制编码器学习未屏蔽token的含义,以便在解码器端预测已屏蔽token。 2)通过屏蔽在encoder未被屏蔽的token,可以使decoder更多地依赖源表示,而不是decoder中的token,从而更好地促进了encoder和decoder的联合训练。
在这里插入图片描述
第二篇是Facebook的一篇论文在这里插入图片描述,它提出一种为预训练序列到序列模型而设计的去噪自编码器 BART。BERT用掩码替换随机 token,双向编码文档。由于缺失 token 被单独预测,因此 BERT 较难用于生成任务。GPT使用自回归方式预测 token,这意味着 GPT 可用于生成任务,但是,由于仅基于左侧上下文预测单词,无法学习双向交互。BART是一个具备双向编码器(对被破坏文本使用)和从左至右自回归解码器的序列到序列模型,可将被破坏文档映射至原始文档。使用掩码符号替换文本段,从而破坏文本。使用双向模型编码被破坏的文本,然后使用自回归解码器计算原始文档的似然,BARTencoder输入与decoder输出无需对齐,允许任意噪声变换。
在这里插入图片描述
与目前仅适合特定噪声机制的去噪自编码器不同,BART 可应用于任意类型的文档破坏,例如图中的各种噪声类型。(token 掩码:按照 BERT 模型,BART 采样随机 token,并用掩码替换它们。token 删除:从输入中随机删除 token。与 token 掩码不同,模型必须确定缺失输入的位置。文本填充:采样多个文本段,文本段长度取决于泊松分布 (λ = 3)。用单个掩码 token 替换每个文本段。长度为 0 的文本段对应掩码 token 的插入。句子排列变换:按句号将文档分割成多个句子,然后以随机顺序打乱这些句子。文档旋转:随机均匀地选择 token,旋转文档使文档从该 token 开始。该任务的目的是训练模型识别文档开头。)
在这里插入图片描述
将BART应用于机器翻译的方法是,训练一个额外的小型编码器来替换 BART 中的词嵌入。新的编码器可以使用不同于原始 BART 模型的词汇。
在这里插入图片描述

总结:
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~