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}$$
超参数一览
| 配置 | 层数 N | dmodel | 头数 h | 参数量 |
|---|---|---|---|---|
| base | 6 | 512 | 8 | 65M |
| big | 6 | 1024 | 16 | 213M |
实验与结果
在 WMT 2014 英德与英法翻译任务上,Transformer (big) 取得 28.4 与 41.8 BLEU,超越包括集成模型在内的既有结果,且训练成本显著更低。
- 并行度高,训练墙钟时间远低于同等质量的 RNN/ConvS2S。
- 迁移到英文成分句法分析任务同样表现优异,显示通用性。
Reference / Evidence
- Vaswani et al. Attention Is All You Need. NeurIPS 2017. arXiv:1706.03762
- 官方实现:tensorflow/tensor2tensor
评论