每周论文30

本周论文:

  1. Constant-Time Machine Translation with Conditional Masked Language Models
  2. Learning a Multitask Curriculum for Neural Machine Translation

[Constant-Time Machine Translation with Conditional Masked Language Models]

提出一种新的non-autoregressive的NMT,在训练阶段,首先一次性预测所有target,然后循环mask掉低confident的词并重预测,重复该过程;在decode阶段,每个token能够看到两边的token。

结构:
与传统的encoder-decoder一样,只是在decode端没有mask掉未来的词;
在训练阶段,有两个loss,一个是预测target sequence的长度,具体是在encoder端前面插入特殊的LEHGTH符号,并用该符号预测target的长度;第二是随机mask掉一些token,预测被mask掉的词的loss。

mask-predict

给定target sequence的长度$N$,定义$(y_1 , . . . , y_N )$是句子的token;而$(p_1 , . . . , p_N )$是相对应的概率。设定一个预定义的循环次数$T$,在每个训练中做mask&predict的操作。具体来说:首先mask掉所有的词,利用encoder的输入预测所有的词,每个词都会有一个概率,在之后的循环中,mask掉那些概率低的词,并利用encoder的输入和已观察到的target重新预测;每个循环中被mask掉的词的个数随着循环次数的增加而减小。预测完后p会更新。

具体公式:

例子:

在inference的时候,还可以同时选择多个length,一起生成句子,类似beam search,最后选择平均概率最高的句子。

实验

几个结论:
多个循环是有必要的:因为一开始会有token repetition的现象,因为生成是基于一个假设:mask的token之间是独立的,因此面对同样的observation可能生成出一样的token(multi-modality)。循环mask-predict可以缓解这个问题。

更大的iteration能够帮助长句子提升表现;

更多的length candidate能够一定程度上提升表现,类似beam search

想法

如果只有一个iteration,那么就是完全的non-autoregressive;如果不mask掉low confident的token,那么就类似Attending to Future Tokens for Bidirectional Sequence Generation。相对于Attending to Future Tokens for Bidirectional Sequence Generation,减小生成的范围/长度,预测的是几个词而不是一整个句子,且有指向性(low confident),且引入iteration的概念,就是本篇论文。


[Learning a Multitask Curriculum for Neural Machine Translation]

尝试学到一个curriculum strategy,使得学得的模型能够在多任务/domain上都表现好。

其具体做法是:每个sample都赋予多个score,其中每个score代表该sample对某个task的作用大小,通过一个可学习的weight将多个score线性加权得到,该weight通过贝叶斯优化更新。

传统CL都是focus到一个final task,而在本文希望能够在多个task都有好的表现。

如图,每个sample都有三个分数,分别代表对三个任务的贡献程度。(2)(3)(4)都是focus到一个任务,从贡献低的开始训,逐渐转换成贡献高的训,最终对一个特定的任务表现好。而(5)则是希望能够对三个任务都表现好。

记sample对第n个task的贡献程度$\phi^{(n)}\left(x, y ; \theta^{(n)}, m_{f}^{(n)}\right)$,则一个sample对应一个score的vector:$\Phi(x, y)=\left[\phi_{0}(x, y), \ldots, \phi_{M-1}(x, y)\right]$。设weight $W=\left[w_{0}, \dots, w_{M-1}\right]$,则线性加权得到:

根据该score排列,利用CL来训练。
我们希望获得一个W,使得:

通过在不同任务上的最终表现来作为评判标准,并利用贝叶斯来做优化。

Curriculum Learning strategy:
具体的curriculum learning strategy在这里类似domain adaptation。设一个decaying function,$\lambda(t)=0.5^{t / H}$。H是超参,t是时间步,λ则代表了模型所用到的数据的比例。随着训练的进行比例越来越小,也即使用的数据与task越来越相关。

难度的定义:
①NLM domain relevance features

②NMT quality features

其实就是训练两个不同数据上的模型(翻译或者语言模型)然后将一个sample丢进去计算得到分数。