AI 摘要 · 由英文经 AI 翻译
Attention Is All You Need
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin
TL;DR
循环序列模型需要顺序计算,无法在单个训练样本内部并行化。Transformer 用注意力机制取代循环和卷积,在 WMT 2014 英德和英法翻译任务上达到最先进水平,训练速度也显著快于循环或卷积架构。
问题
循环序列转导模型仍受顺序计算的限制,无法在单个训练样本内部并行化,序列较长时尤其如此。
出处:§1 · p. 2方法
Transformer 使用注意力机制而非循环层或卷积层进行序列转导。
出处:§2 · p. 2, §7 · p. 10结果
Transformer 在 WMT 2014 英德和英法翻译任务上的翻译质量均达到最先进水平,训练速度也显著快于循环或卷积架构。
出处:§7 · p. 10要点与局限
自注意力仅需常数次顺序操作即可连接所有位置,而循环层需要 O(n) 次顺序操作。
出处:§4 · p. 6
Abstract
from arXiv · showhide
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.
1 引言
Transformer 以注意力取代循环计算,捕捉输入与输出之间的全局依赖,显著提高并行化程度,并刷新翻译质量的最佳水平。
1 引言
- 循环模型需要顺序计算隐状态,导致单个训练样本内部无法并行化,对较长序列构成严重限制。内存限制了跨样本的批处理规模。因子分解技巧 [21] 和条件计算 [32] 虽能提高效率,但都未消除顺序计算这一根本约束。出处:§1 · p. 2
- 注意力对依赖关系的建模不受序列中位置间距离的限制 [2, 19],但通常与循环网络结合使用,只有少数例外 。这促使作者设计一种仅使用注意力、不依赖循环计算的架构。出处:§1 · p. 2
- 纯注意力 Transformer 在八块 P100 GPU 上训练十二小时,便可能刷新翻译质量的最佳水平,同时显著提高并行化程度。该架构摒弃循环计算,完全依靠注意力捕捉输入与输出之间的全局依赖。出处:§1 · p. 2
2 背景
据作者所知,Transformer 是首个完全通过自注意力计算输入和输出表示、无需与序列位置对齐的 RNN 或卷积的序列转换模型。它仅需恒定次数的运算即可关联任意位置,而多头注意力则抵消了对各位置按注意力权重求平均所导致的有效分辨率下降。
- Transformer 仅需恒定次数的运算即可连接任意位置;相比之下,随着距离增大,ConvS2S [9] 和 ByteNet [18] 所需的运算次数分别呈线性和对数增长。Extended Neural GPU 、ByteNet [18] 和 ConvS2S [9] 使用卷积,并行计算输入和输出各位置的隐藏表示。运算次数随距离增加,使长距离依赖更难学习 。出处:§2 · p. 2
- 多头注意力抵消了 Transformer 中对各位置按注意力权重求平均所导致的有效分辨率下降。出处:§2 · p. 2
- 自注意力也称序列内注意力,通过关联同一序列中的不同位置来计算该序列的表示。此前已成功用于阅读理解、生成式摘要、文本蕴含和任务无关的句子表示 [4] [28] [22]。端到端记忆网络则采用循环注意力,而非与序列位置对齐的循环计算,在简单语言问答和语言建模上表现良好 [34]。出处:§2 · p. 2
- 据作者所知,Transformer 是首个完全通过自注意力计算输入和输出表示、无需与序列位置对齐的 RNN 或卷积的序列转换模型。出处:§2 · p. 2
3 模型架构 · 3.1 编码器与解码器堆叠 · 3.2 注意力
Transformer 采用自回归编码器—解码器架构,堆叠自注意力层与逐位置全连接层。其注意力机制连接输入位置、将解码器位置与编码器输出相连,并限制解码器自注意力的范围,以保证自回归生成。
3 模型架构
- Transformer 在编码器—解码器架构中堆叠自注意力层与逐位置全连接层,以自回归方式生成输出符号 [10]。编码器将输入符号的表示映射为连续表示;解码器利用这些表示和先前生成的符号,逐步生成后续输出。出处:§3 · pp. 2–3
3.1 编码器与解码器堆叠
- 6 个结构相同的编码器层均由多头自注意力和逐位置前馈网络组成。每个子层均采用残差连接 [11],随后进行层归一化 [1],即 LayerNorm(x + Sublayer(x))。所有子层和嵌入层的输出维度均为 dmodel = 512。出处:§3.1 · p. 3
- 6 个结构相同的解码器层在编码器层结构的基础上,增加了对编码器输出的注意力,同样采用残差连接后接层归一化。带掩码的自注意力与错开一个位置的输出嵌入,确保位置 i 的预测仅依赖位置小于 i 的已知输出。出处:§3.1 · p. 3
3.2 注意力
- 注意力将查询和键值对映射为值的加权和,权重由查询与键的匹配程度决定。查询、键、值和输出均为向量。出处:§3.2 · pp. 3–4
3.2.1 缩放点积注意力
- 缩放点积注意力先将查询与键的点积除以 √dk,再通过 softmax 对值加权,以缓解 dk 较大时可能出现的梯度过小问题。查询和键的维度为 dk,值的维度为 dv。作者推测,较大的点积会使 softmax 进入梯度极小的区域。出处:§3.2.1 · p. 4
- 点积注意力使用经过优化的矩阵乘法,因此在实际运行中比加性注意力 [2] 更快、更节省空间。两者的理论复杂度相近;加性注意力 [2] 使用单隐层前馈网络计算匹配程度。dk 较小时,两者表现相近;dk 较大时,加性注意力优于未缩放的点积注意力 [3]。出处:§3.2.1 · p. 4
3.2.2 多头注意力
- 多头注意力同时关注不同表示子空间和不同位置,避免单头注意力因平均而受限。通过学习不同的投影,并行生成多组注意力输出,再将其拼接并再次投影。采用 h = 8 个头、dk = dv = dmodel/h = 64 时,每个头的维度降低,使计算成本与全维度单头注意力相近。出处:§3.2.2 · pp. 4–5
3.2.3 注意力在本模型中的应用
- 编码器自注意力覆盖所有输入位置,编码器—解码器注意力查询编码器输出,解码器自注意力则屏蔽未来位置。编码器—解码器注意力的查询来自上一解码器层,键和值来自编码器输出;编码器自注意力的查询、键和值均来自上一编码器层。解码器通过掩码,在 softmax 前将不允许的连接设为 −∞,以保证自回归生成。出处:§3.2.3 · p. 5
3.3 逐位置前馈网络
编码器和解码器的每一层都包含一个逐位置前馈网络,由两次线性变换及其间的 ReLU 构成。不同位置共享参数,不同层使用不同参数。
3.3 逐位置前馈网络
- 编码器和解码器的每一层除注意力机制外,还包含一个全连接前馈网络,由两次线性变换及其间的 ReLU 构成。该网络以相同的方式独立作用于每个位置。出处:§3.3 · p. 5
- 线性变换在不同位置共享参数,但在不同层使用不同参数,等价于两次卷积核大小为 1 的卷积。出处:§3.3 · p. 5
- 输入和输出维度 dmodel 为 512;中间层维度 dff 为 2048。出处:§3.3 · p. 5
3.4 嵌入与 Softmax
Transformer 使用学习得到的词元嵌入和线性-softmax 输出层,两个嵌入层与 softmax 前的变换共享一个权重矩阵,与 [30] 类似。
- 两个嵌入层与 softmax 前的线性变换共享同一个权重矩阵,与 [30] 类似。出处:§3.4 · p. 5
- 学习得到的嵌入将输入和输出词元映射为 dmodel 维向量,嵌入权重乘以 dmodel^0.5。出处:§3.4 · p. 5
- 解码器输出先经过学习得到的线性变换,再经 softmax 转换为下一词元的预测概率。出处:§3.4 · p. 5
3.5 位置编码
Transformer 将位置编码加到编码器和解码器的输入嵌入中,无需循环或卷积即可提供序列顺序信息。模型采用固定的正弦位置编码,其效果与可学习的位置嵌入 [9] 几乎相同,且可能支持向更长序列外推。
3.5 位置编码
- 位置编码加到编码器和解码器堆叠底部的输入嵌入中,以提供序列顺序信息。位置编码与嵌入的维度均为 dmodel,因此可以相加。出处:§3.5 · p. 6
- 正弦和余弦函数用于编码位置,其波长构成从 2π 到 10000 · 2π 的等比数列。对于任意固定偏移量 k,PE_pos+k 都是 PE_pos 的线性函数;作者推测,这有助于模型学会根据相对位置分配注意力。出处:§3.5 · p. 6
- 可学习的位置嵌入 [9] 与正弦位置编码的结果几乎相同。作者选择正弦位置编码,是因为它可能支持外推到比训练时所见更长的序列。出处:§3.5 · p. 6
4 为什么采用自注意力
自注意力只需常数次串行操作即可连接所有位置;当序列长度小于表示维度时,其计算速度比循环机制更快。本节还比较了依赖路径长度,并指出自注意力在可解释性方面的潜在优势。
- 从每层计算复杂度、最少串行操作次数和最大依赖路径长度三个方面,比较自注意力、循环机制和卷积。前向和反向信号的传播路径越短,长距离依赖就越容易学习 。出处:§4 · p. 6
- 循环机制需要 O(n) 次串行操作,自注意力则只需常数次;当序列长度 n < 表示维度 d 时,自注意力的计算速度更快。机器翻译中的句子表示通常满足 n < d 这一条件。出处:§4 · pp. 6–7
- 将自注意力限制在大小为 r 的邻域内,最大路径长度将变为 O(n/r);这是针对超长序列提出的一种计算优化方案。这种受限注意力方案留待未来研究。出处:§4 · p. 7
- 连接所有位置需要 O(n/k) 个连续卷积层或 O(logk(n)) 个空洞卷积层 [18],从而拉长依赖路径。卷积的计算开销通常是循环机制的 k 倍;可分离卷积 [6] 可将复杂度降至 O(k · n · d + n · d^2)。当 k = n 时,其复杂度与自注意力加逐位置前馈层相同。出处:§4 · p. 7
- 各个注意力头会学习不同的任务,许多注意力头似乎能反映句法和语义结构,表明其可能具有可解释性优势。作者考察了注意力分布,并在附录中给出示例。出处:§4 · p. 7
5 训练
Transformer 按序列长度组批,使用八块 NVIDIA P100 GPU 训练,采用带学习率预热和衰减的 Adam 优化器,并通过 dropout 和标签平滑进行正则化。
5.1 训练数据与组批
- 训练数据来自 WMT 2014,包括约 4.5 百万对英德平行句和 36M 条英法句子,按大致相近的序列长度组批。英德翻译采用字节对编码 [3],源端与目标端共享约含 37000 个词元的词表;英法翻译采用含 32000 个词片的词表 [38]。每批约含 25000 个源端词元和 25000 个目标端词元。出处:§5.1 · p. 7
5.2 硬件与训练安排
- 在单台机器上,8 块 NVIDIA P100 GPU 将基础模型训练 100,000 步(12 小时),将大型模型训练 300,000 步(3.5 天)。基础模型每个训练步约耗时 0.4 秒,大型模型约耗时 1.0 秒。出处:§5.2 · p. 7
5.3 优化器
- Adam [20] 的学习率在前 4000 个预热步中线性上升,随后按步数的平方根倒数衰减。优化器参数为 β1 = 0.9、β2 = 0.98 和 ϵ = 10^-9。出处:§5.3 · p. 7
5.4 正则化
- 训练采用 Dropout 和标签平滑 [36] 进行正则化;标签平滑虽使困惑度变差,却提高了准确率和 BLEU。Dropout 用于残差相加与归一化之前的子层输出,也用于编码器和解码器中词嵌入与位置编码相加后的结果;基础模型的 dropout 比率为 0.1。标签平滑系数为 0.1。出处:§5.4 · p. 8
6 结果
Transformer 在英德翻译和单模型英法翻译上取得新的最佳成绩,同时降低了训练成本,并能推广到英语成分句法分析。消融实验表明,多注意力头、更大的键维度、更大的模型及 dropout 均有益;可学习位置编码与正弦位置编码效果相近。
6.1 机器翻译
- 在 WMT 2014 英德翻译上取得 28.4 BLEU,比此前报道的最佳模型(包括集成模型)高出超过 2.0 BLEU。大模型在 8 块 P100 GPU 上训练了 3.5 天。基础模型也超过了此前发表的所有模型及集成模型,训练成本仅为其他有竞争力模型的一小部分。出处:§6.1 · p. 8
- 在 WMT 2014 英法翻译上取得 41.0 BLEU,超过此前发表的所有单模型,训练成本不到此前最佳模型的 1/4。英法翻译大模型的 dropout 采用 Pdrop = 0.1,而非 0.3。出处:§6.1 · p. 8
6.2 模型变体
- 在计算量相同的条件下,单头注意力比最佳配置低 0.9 BLEU,但注意力头过多也会降低质量。这些架构变体在英德翻译开发集 newstest2013 上评估,未采用检查点平均。出处:Table 3 · p. 9, §6.2 · p. 9
- 较小的注意力键维度会降低质量,更大的模型表现更好,dropout 有助于防止过拟合;可学习的位置嵌入 [9] 与正弦编码的效果几乎相同。作者认为,使用比点积更复杂的函数来衡量匹配程度,可能会带来收益。出处:§6.2 · p. 9
6.3 英语成分句法分析
- 仅用 40K 个 WSJ 训练句子即可超过 Berkeley-Parser ;总体句法分析结果优于此前报道的模型,仅次于 Recurrent Neural Network Grammar [8]。实验采用 dmodel = 1024 的四层 Transformer,分别在仅使用 WSJ 训练数据和使用约 17M 个句子的半监督设置下评估 [37]。仅通过少量实验选择 dropout、学习率和束宽;其余参数均与英德翻译基础模型保持一致。出处:§6.3 · pp. 9–10, Table 4 · p. 10
7 结论
Transformer 是完全基于注意力机制的序列转换模型,以多头自注意力替代循环层。其翻译效果达到最先进水平,训练速度也显著快于循环或卷积架构。
7 结论
- Transformer 是首个完全基于注意力机制的序列转换模型,以多头自注意力替代编码器和解码器中的循环层。出处:§7 · p. 10
- Transformer 在 WMT 2014 英德和英法翻译任务上均取得了最先进的结果,在英德翻译上超越了此前报道的所有集成模型。训练速度显著快于基于循环层或卷积层的架构。出处:§7 · p. 10
- 未来工作将探索非文本输入输出模态、面向大规模输入输出的局部受限注意力,以及减少生成过程中的顺序依赖。拟探索的模态包括图像、音频和视频;局部受限注意力旨在高效处理这些模态。出处:§7 · p. 10
注意力可视化
编码器自注意力的可视化显示,各注意力头会追踪长距离依赖,似乎能进行指代消解,并表现出与句子结构相关的不同模式。
注意力可视化
- 在共6层的编码器中,第5层的多个注意力头追踪了连接‘making’与‘more difficult’的长距离依赖。图中仅显示从‘making’一词出发的注意力,不同颜色代表不同注意力头。出处:Figure 3 · p. 13
- 在共6层的编码器中,第5层的两个注意力头似乎参与了指代消解,从‘its’出发的注意力高度集中。图中展示了第5个注意力头的完整注意力,并单独展示了第5和第6个注意力头从‘its’出发的注意力。出处:Figure 4 · p. 14
- 不同注意力头学到的行为各异,既呈现出与句子结构相关的模式,也似乎能进行指代消解。两个句子结构示例分别来自共6层的编码器中第5层的不同自注意力头。出处:Figure 4 · p. 14, Figure 5 · p. 15
Related papers
This paper cites
- Neural Machine Translation by Jointly Learning to Align and Translate2014
- Sequence to Sequence Learning with Neural Networks2014
- Rethinking the Inception Architecture for Computer Vision2015
- Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation2014
- Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer2017
- Effective Approaches to Attention-based Neural Machine Translation2015
Cited by
- Fast and accurate neural triage decoding of ultra-high-rate quantum LDPC codes2026
- Your LR Schedule May Not Be Principled: Effective Learning Rate Scheduling in Weight-Normalized Training2026
- Understanding axial attention in TSFMs through single location regression2026
- Finding Is Not Returning, Returning Is Not Reconstructing: A Multi-Dimensional Evaluation of Agent Social Re-entry2026
- From the Transformer to a Formal Semantics of Coordinated Transformations2026
- Cross-Encoder Anchor Refinement for Zero-Shot Anomaly Detection2026