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解码器的模型分布而稍作修改:
项目 | SOTA!平台项目详情页 |
two-pass decoder translation | 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/two-pass-decoder-translation |