跳到正文
洛川集
论文精读
原文链接
NeurIPS 2017 Transformer

Attention Is All You Need

用纯注意力机制取代循环与卷积,奠定了现代大模型的架构基石。

28.4EN→DE BLEU(此前 SOTA 提升 2+)
3.5 天8×P100 GPU 训练时长
O(1)任意两位置间的路径长度

研究动机

循环网络沿序列位置逐步计算,天然无法并行;长距离依赖需要跨越很多步,梯度传播困难。

Transformer 抛弃循环结构,完全基于自注意力(self-attention)建模序列内部依赖。任意两个位置直接交互,路径长度为常数,且整层可并行计算。

核心主张:只要注意力足够,就不再需要循环与卷积。

方法

缩放点积注意力

给定查询 $Q$、键 $K$、值 $V$,注意力输出为加权求和,权重由 $Q$ 与 $K$ 的相似度经 softmax 归一化得到:

$$\mathrm{Attention}(Q, K, V) = \mathrm{softmax}\!\left(\frac{QK^\top}{\sqrt{d_k}}\right) V$$

其中 $\sqrt{d_k}$ 用于缩放点积,避免维度增大时 softmax 进入梯度极小的饱和区。单个注意力头的第 $i$ 个输出可写作:

$$\mathrm{head}_i = \mathrm{Attention}(QW_i^{Q}, KW_i^{K}, VW_i^{V})$$

多头注意力

把 $Q,K,V$ 投影到 $h$ 个子空间并行做注意力,再拼接投影回原维度,使模型在不同表示子空间中共同关注不同位置:

$$\mathrm{MultiHead}(Q,K,V) = \mathrm{Concat}(\mathrm{head}_1, \dots, \mathrm{head}_h)\, W^{O}$$
Transformer 编码器-解码器结构示意图
图 1:编码器与解码器各堆叠 6 层;解码器通过 Cross Attention 读取编码器输出的 K、V。

超参数一览

配置层数 Ndmodel头数 h参数量
base6512865M
big6102416213M

实验与结果

在 WMT 2014 英德与英法翻译任务上,Transformer (big) 取得 28.441.8 BLEU,超越包括集成模型在内的既有结果,且训练成本显著更低。

  • 并行度高,训练墙钟时间远低于同等质量的 RNN/ConvS2S。
  • 迁移到英文成分句法分析任务同样表现优异,显示通用性。

Reference / Evidence

  1. Vaswani et al. Attention Is All You Need. NeurIPS 2017. arXiv:1706.03762
  2. 官方实现:tensorflow/tensor2tensor

评论