《Non-autoregressive Neural Machine Translation》(ICLR 2018)

问题:自回归:解码器具有自回归属性,生成每一个单词都依赖之前生成的单词,非并行的,速度慢

解决方法:非自回归并行产生输出,在推断时候降低了一个数量级的延迟

思路:首先理解和解释属于语句,同时预测一系列数字,然后通过直接复制输入文本来启动并行解码器,数字表示每个单词在输出语句中要求多少空间。

自回归和非自回归对比:

《Non-autoregressive Neural Machine Translation》(ICLR 2018)_第1张图片

自回归计算公式:

非自回归计算公式:,目标语句长度T由独立条件分布建模。该模型仍然具有显式似然函数,并且仍然可以使用每个输出分布上的独立交叉熵损失来训练它。 但是,现在可以在产生输出时候并行计算这些分布。

非自回归transformer(NAT)

构成:一个encoder stack,一个decoder stack,一个新添加的fertility 预测器,一个token解码时的翻译预测器

encoder stack:

完全由前馈神经网络MLP和multi-head注意力模型构成(没有RNN)。encoder和原始transformer网络并无改变。

decoder stack:

在解码开始之前,NAT需要知道目标句子的长度,使用fertility来copy源语句作为decoder的输入。fertility是每个输入单词被copy的次数,输出目标语句的长度等于所有fertility值的加和。

《Non-autoregressive Neural Machine Translation》(ICLR 2018)_第2张图片

建模fertility:

首先从先验分布中采样潜在变量z,然后condition on z来非自回归的生成翻译。

所提出的NAT的最重要特性之一是,当选择基于预测的能力来复制编码器输入时,它自然地引入信息性潜在变量。 更准确地说,给定源句X,目标翻译Y的条件概率是:是所有fertility序列(每一个源单词的fertility值)的集合,表示token x重复了f次。如Figure 2所示,对于每个位置使用一个具有softmax分类器一层神经网络,在encoder最后一层的输出上独立的建模

fertility的好处:把无监督训练问题减少到两个有监督训练。减少了模式空间,此外,全局模式选择被考虑到一组本地模式选择中:即如何翻译每个输入字。 这些本地模式选择可以被有效监督,因为这些能力提供了固定的“支架”。在潜在变量中包括fertilities和重新排序将提供完整的对齐统计。

将fertilities用作潜在变量也意味着不需要单独的方法来明确地建模翻译的长度,这只是费用的总和。 并且fertilities提供了一种强大的方式来调节解码过程,允许模型通过在fertility空间上进行采样来生成不同的翻译。

翻译预测器:

然而,给定fertility序列,识别最佳翻译仅需要独立地最大化每个输出位置的局部概率。表示给出源语句和一系列fertility值的最佳翻译。但在整个fertility空间进行搜索和边缘化仍然是难以处理的。因此提出了三种启发式解码算法来减少NAT模型的搜索空间:

argmax解码:对于每一个输入单词选择最高概率的fertility

average解码:估计每一个fertility作为其对应的softmax分布的期望

Noisy 并行解码:更精确地近似目标分布的真实最佳值是从fertility空间中抽取样本并计算每个fertility序列的最佳翻译。 然后可以使用自回归teacher来确定最佳的整体翻译:

通过在现有的训练语料库中训练自回归机器翻译模型(称为教师),然后使用该模型的贪心输出作为训练非自动回归学生的目标,应用序列级知识蒸馏来构建新语料库

训练过程
最大似然损失为:

《Non-autoregressive Neural Machine Translation》(ICLR 2018)_第3张图片

 

你可能感兴趣的:(translation,model)