AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

当下的神经机器翻译(Neural Machine Translation, NMT)已经拥有很强的翻译性能,在诸多模型之中,Transformer模型取得了最好的效果。其区别于传统模型之处在两个方面:自注意力机制(Self-Attention)以及多头注意力机制(Multi-Head Attention)。

本文主要针对后者,传统的单头注意力机制已经有了比较多的研究,广泛的结论是注意力代表了词对齐。但多头注意力机制代表了什么还缺乏研究。本文基于一项对Transformer多头注意力的观察展开:解码器(Decoder)的最后一层对于编码器(Encoder)的多头注意力机制,代表了多重词对齐。并利用该现象,生成多样化翻译。更进一步,利用多样化翻译,辅助利用逆向翻译技术(back translation),增强翻译模型性能。最后一项有关问答任务的实验也证明了性能的提升。

现象分析

首先,为了验证我们的猜想:解码器(Decoder)的最后一层对于编码器(Encoder)的多头注意力机制,代表了多重词对齐,即解码器最后一层注意力对应的源端的词,是接下来极有可能会生成的词,我们做了三个验证实验:

1、我们将解码器每个头对应最大注意力值的源端词选取出来,利用翻译的基线模型翻译生成目标端单词,看这些生成的目标端语言单词,在下一步目标端生成的softmax概率表中排名第几,如图1所示,非常尖锐的分布,大部分对应的词都在排名前列。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

图1:被注意力头选中的词都排名非常靠前

2、与上面相似,我们查看了这些词的负对数似然(Negative Log-Likelihood, NLL),并计算了所有情况下排名第R的词的平均NLL(例如K=1,就是所有排名第1的词的NLL),进行对比,如表1所示,被选中的词的NLL非常小。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表1:所有情况中排名第R的词的NLL,每个头的NLL都非常小

3、更进一步,我们发现可以通过控制不同的注意力头,来控制下一步的生成。具体见下面的例子,源端句子是“他说, 去年九月以来, 出口下降导致印度经济恶化。”模型已经翻译出“he said”,正在等待下一步翻译。我们摘取了此时各个头的注意力情况,如图2所示。接下来,我们挑选第4、5、6个头,分别对应到“以来”、“下降” 、“出口”三个词,每次都用某个头的注意力数值覆盖其他头,观察到对应的头的词都被即刻生成出来了,如表2所示。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

图2:不同的头对应不同的源端的词

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表2:选择不同的头(对应不同的源端词),就能控制下一步的生成

方法应用

我们利用该现象,提出了利用该多头注意力机制增强翻译多样性的算法。

具体来说就是在每一次生成的时刻,随机采样某个头,用其注意力数值覆盖其他头。但如果在生成的每个步骤都进行采样,虽然能显著增加多样性,却也会降低翻译质量。因此,我们提出了一个针对性算法:若多个头都对应到不同的源端词,意味着此时有多个合理的候选,此时我们就进行采样。

具体来说分如下几步:

1、令每个时刻的注意力数值为att(i,t,h),代表目标端生成第t个时刻,第h个头,对源端第i个词的注意力,我们取第h个头注意力最强的源端词candidate(t,h) = argmax(att(i,t,h), i)。

2、令[n_0, …, n_i, …, n_(T-1)]表示源端词被选为candidate的数量,T为源端长度。明显地,sum(n) = H,H代表头的总数。

3、若max(n) <= K,则进行采样,K为超参。这一步可以理解为,注意力很分散,可以有不同的候选。

具体算法如算法1所示。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

算法1:采样策略

实验结果

我们在NIST 中英数据集,WMT14 英德数据集,和WMT16 英罗数据集上进行了实验。评价指标主要针对两个方面,翻译质量和翻译多样性,翻译质量仍然采用传统的BLEU,即与参考译文的比较(Reference-BLEU,rfb),越高质量越好,翻译多样性采用多次生成结果之间的BLEU(Pair-Wise BLEU,pwb),越低多样性越好。

最后,我们还提出一个综合的指标:每单位质量的多样性提升(Diversity Enhancement per Quality,DEQ),表示相较于baseline,提升的多样性BLEU与降低的翻译质量的BLEU的比值,越大越好,说明能以同样的质量代价实现更高的多样性。

实验结果如表3,4,5所示,比起之前的工作,我们在维持了比较高的翻译质量的前提下,实现了多样性的提升。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表3:中英实验

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表4:英德实验

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表5:英罗实验

我们将之前的工作、噪音组(为了去除噪音带来多样性的可能性)的结果绘在图3中,横轴是rfb,纵轴是pwb,右下角是最优点,结果显示,我们的方法都在右下角。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

图3:Pair-Wise BLEU对Reference BLEU

越右下角越优,我们的方法都处在右下角。

表6是一个例子:

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表6:多样性翻译例子

我们还看了不同长度的实验结果,如图4所示。理论上来说,随着长度增长,翻译的多样性应该增加,因为搜索空间更大了,但beam search由于其先天的缺陷,长度越长,多样性越差。我们的方法就实现了,随着长度增加,多样性增加的效果。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

图4:随着句子长度增加多样性的变化

我们利用这些多样性的翻译来做逆向翻译(Back-Translation),在中英和英中实验上都有提升,如表7,8

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表7:中英逆向翻译实验

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表8:英中逆向翻译实验

最后还有一项对话的实验,也验证了我们的结论,如表9。评价指标详见论文。

AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

表9:对话实验

总结

在本文中,我们发现了Transformer模型的一个内在结构特性,并利用它提出了一个多样性翻译生成的算法,比起以往的工作,在同等质量的前提下取得了更高的多样性。收益于我们的方法的逆向翻译算法、对话策略也取得了比以往更好的效果。

  • 作者 | 孙泽维

  • 本文来自公众号「南大NLP」

雷锋网 AI 科技评论转载  雷锋网雷锋网(公众号:雷锋网)


AAAI 2020 | 南京大学:利用多头注意力机制生成多样性翻译

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/137608.html

(0)
上一篇 2021年9月2日
下一篇 2021年9月2日

相关推荐

发表回复

登录后才能评论