序列计算中,传统的RNN在预测下一个符号(token)的时候,会对以往的历史信息有很强的依赖,使得难以充分地并行化,也无法很好地加深网络的层级结构。而对于传统的基于CNN的神经机器翻译模型,两个任意输入与输出位置的信号关联所需要的运算数量与它们的位置距离成正比,Facebook提出的CNNl NMT为线性增长。这两种常见的结构使得学习较远位置的依赖关系(long-term dependency)非常困难。
在Transformer 中,两个任意输入的信号关联的开销会减少到一个固定的运算数量,使用 Multi-Head Attention 注意力机制可以完全脱离RNN及CNN的结构,只使用自注意机制(self-attention),使得Transformer可以高效地并行化,并堆叠非常多层的深层网络。
自注意力(Self-attention),是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行Attention的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列1任务的性能非常重要。