背景
机构:Google Research
作者:Yi Tay, Dara Bahri, Donald Metzler, Da-Cheng Juan, Zhe Zhao, Che Zheng
论文地址:https://arxiv.org/abs/2005.00743
摘要
以当下基于Transformer的各种先进模型来看,使用点积自注意力(dot product self-attention)是至关重要且不可或缺的。但,事实真的如此吗,没有点积自注意力Transformer的各种模型就会不香吗?点积自注意力是否真的不可替代?为此,本文提出SYNTHESIZER模型,该模型注意力权重的学习摒弃了传统自注意力机制中token之间的交互。
本文通过大量实验发现:(1)随机初始化对齐矩阵所表现出的实力惊人(2)学习注意力权重其实没有必要基于token-token或者说query-key之间的交互。此外,实验表明SYNTHESIZER模型在多个任务(包括机器翻译、语言建模、文本摘要、对话生成和自然语言理解)上可以与原始的Transformer相媲美。
介绍
随着基于Transformer的各种模型在众多NLP任务上大获成功,Transformer的霸主地位已成事实。而Transformer的核心是query-key-value的点积自注意力,点积自注意力的基本作用是学习自对齐(self-alignment),即确定单个token相对于序列中所有其他token的相对重要性。
实际上query、key和values隐含着自注意力模拟一个基于内容的检索过程,而这个过程的核心是pairwise之间的交互。本文则对这整个过程进行了反思。与传统的做法相反,本文提出既不需要点积自注意力,也不需要基于内容的记忆类自注意力。传统上,注意力权重是在实例或样本级学习的,其中权重通过实例级的pairwise交互产生。因此,这些特定于具体实例的交互往往在不同的实例间波动,缺乏一致的全局语境。
为此,本文提出SYNTHESIZER,该模型不再计算token之间两两点积,而是学习合成自对齐(self-alignment)矩阵,即合成自注意力矩阵。同时本文提出多种合成方式,并对其进行全面评估。这些合成函数接收的信息源包括(1)单个token(2)token-token之间的交互(3)全局任务信息。
其实,SYNTHESIZER是标准Transformer的泛化。
实验结果表明SYNTHESIZER凭借全局注意力权重也能够获得具有竞争性的结果,而完全不用考虑token-token交互或任何实例级(局部)信息。随机初始化的SYNTHESIZER在WMT 2014 English-German上取得27.27的BLEU。在某些情况下,可以用更简单的SYNTHESIZER变体替换流行的和完善的基于内容的点积注意力,而不会牺牲太多性能。
总的来说,本文的发现将会促进Transformer模型中自注意机制真正作用和效用的进一步研究和讨论。
本文的贡献如下:
1.提出Synthetic Attention,这是一种新的学习注意力权重的方式。该方法没有使用点积注意力或基于内容的注意力)。生成独立于token-token交互的对齐矩阵,并探索了一组用于生成注意力矩阵的参数化函数。
2.提出SYNTHESIZER模型,该模型利用了Synthetic Attention。该模型在多个自然语言任务(包括机器翻译和语言建模)上可以与最先进的Transformer模型相比肩。
3.证明(1)随机可学习的对齐矩阵的性能具有竞争性;(2)用各种Transformer模型进行屠榜时,token-token的依赖关系并非必要。
模型
2.1 Dense Synthesizer
2.2 Random Synthesizer
2.3 模型分解
本文提出的各种合成函数如Table 1所示。值得注意的是,常规的点积注意力也可以被纳入SYNTHESIZER的合成器框架,换句话说,SYNTHESIZER是Transformer模型的一般化形式。
实验文本在机器翻译、语言模型、文本生成、多任务自然语言理解等任务上进行了实验。
机器翻译和语言建模:在WMT’14英德(EnDe)和英法(EnFr)机器翻译任务数据集上评测,结果如Table 2所示。从上述Table 2可以看出,除了固定的Random Synthesizer表现较差之外,其他模型表现都差不多,尽管相比于Transformers略有下降。其实固定的Random Synthesizer结果也是蛮惊人的,EnDe上也有大概24 BLEU。
语言建模任务上使用的数据集是LM1B,混合Synthesizer(Dense + Vanilla)取得效果最好,同时该混合Synthesizer模型也是的各种Synthesizer模型中唯一超过Transformer的。
文本生成:在文本生成上分别使用了摘要生成方面的CNN/Dailymail数据集和对话生成方面的PersonaChat数据集,具体实验结果如Table 3所示:实验结果可以看出Synthesizer的各个模型表现不一。在文本摘要生成这个任务上,虽然在不同指标上最优模型各不相同,但是整体上标准Transformer效果比较好。
但在对话生成这个任务上,各个指标上都是Synthesizer优于标准Transformer,特别是Synthesizer(D)在各个指标上都取得了最佳结果。而当Dense和Random混合了标准的Transformer后(即D+V和R+V),指标却下降了。这意味着点积自注意力在这项任务上实际上可能是帮了倒忙的。
多任务自然语言理解:在自然语言理解任务上选用的是使用GLUE和SuperGLUE。SYNTHESIZER模型和T5(base)在上述俩个benchmark上的实验结果如Table 4和Table 5所示:从实验结果可以看出,R+V的混合模型在多数子任务上取得最好的效果。
总结
本文提出一种新的Transformer模型SYNTHESIZER,该模型它采用合成注意力(Synthetic Attention)。此外试图更好地理解和评估全局对齐、局部对齐和实例对齐(单个token和token-token)在自注意力中的效用。并在机器翻译、语言建模和对话生成等多个任务上证明了合成注意力可以与原始的Transformer相媲美。
特别是在对话生成任务上,token-token之间的交互实际上会降低性能。Synthesizer的不同设置没有绝对的优劣,与具体的任务相关。总的来说,本文是对当下流行的自注意力机制的反思和探索,希望能够抛砖引玉,进一步促进Transformer中各个部分效用的研究。