摘要
主要的序列转换模型是基于复杂的循环或包括一个编码器和一个解码器的卷积神经网络,表现最好的模型也通过一个注意力机制连接编码器和解码器。我们提出一种新的简单的网络结构Transformer,仅基于注意力机制,而完全避免循环和卷积。在两个机器翻译任务上的实验表明,模型在质量上更优越,同时可并行的,需要训练时间更少。我们的模型在WMT2014英-德翻译任务上实现了28.4BLEU,超过现有的最佳结果,包括集成,提高了2BLEU。在WMT2014英-法翻译任务中,我们的模型在8个gpu上训练3.5天后,建立了一个新的最先进的单模型BLEU分数41.8,这只是文献中最佳模型训练成本的一小部分。我们成功地将Transformer应用于大和有限训练数据的英语选区解析,证明Transformer可以很好地推广到其他任务。
一、介绍
RNN、LSTM和GRU已经建立了最先进的序列建模和转换问题如语言建模和机器翻译的方法,之后,许多努力继续推进循环语言模型和编码-解码器结构的边界。
循环模型的固有的序列性质排除了训练示例中的并行化,这对更长的序列长度至关重要,因为内存限制示例的批处理。最近的工作通过分解技巧和条件计算显著提高了计算效率,同时也提高了后者的模型性能。然而,序列计算的基本约束仍然存在。
注意力机制已经成为各任务中序列建模和转换模型的一个组成部分,允许对依赖关系进行建模,不考虑在输入或输出序列的距离。然而,在除少数情况下,所有这种注意力机制与循环网络一起使用。
本文我们提出Transformer,一种避免循环,而完全依赖注意力机制来绘制输入和输出间的全局依赖关系。该模型允许更多的并行化,在8个p100gpu上训练了短短12个小时后,可以达到翻译质量的新水平。
二、背景
减少序列计算的目标也构成了扩展的神经GPU的基础,ByteNet[18]和ConvS2S[9]都使用卷积神经网络作为基本的构建块,并行计算所有输入和输出位置的隐藏表示。在这些模型中,来自两个任意输入或输出位置的信号所需的操作数量在位置之间的距离上增长,ConvS2S线性增长,ByteNet对数增长,使得学习遥远位置[12]之间的依赖关系更加困难。在Transformer上,减少了操作的数量,尽管由于平均注意力加权位置而降低有效分辨率为代价,我们用多头注意力来抵消这一效果。
自注意力以计算序列的表示,已被成功应用到阅读理解、摘要总结、文本暗示和学习独立任务的句子表示。
端到端记忆网络基于循环注意力机制,而不是序列对齐的循环,已被证明在单语言问答和语言建模任务上表现良好。
Transform