← 返回 Dashboard

📄 Attention Is All You Need

📅 2017 🏛️ NeurIPS 2017 📎 arXiv: 1706.03762
👤 Vaswani, Shazeer, Parmar, Uszkoreit, Jones, Gomez, Kaiser, Polosukhin
transformer self-attention encoder-decoder machine-translation foundation-model
一句话总结: 提出 Transformer 架构——首个完全基于注意力机制的序列转换模型,摒弃 RNN/CNN 的循环/卷积结构,在机器翻译任务上以更少的训练成本达到 SOTA。

🎯 解决的问题

RNN 的根本瓶颈:隐状态 ht = f(ht-1, xt) 的序列依赖使得训练无法并行化,长序列梯度消失严重。

CNN 的局限:虽可并行但需要 O(n/k) 或 O(logk(n)) 层才能建立长距离依赖。

核心洞察:Self-Attention 将任意两个位置间的路径长度降至 O(1),同时完全可并行化。

🏆 核心贡献

  1. Transformer 架构 — 首个纯注意力模型,用 Self-Attention 替代 RNN/CNN
  2. Scaled Dot-Product Attention — 1/√dk 缩放防止 softmax 梯度消失
  3. Multi-Head Attention — h=8 并行注意力头,关注不同子空间的表征
  4. 正弦位置编码 — sin/cos 编码位置信息,支持序列长度外推
  5. SOTA 结果 — EN-DE 28.4 BLEU (超越所有 ensemble +2),EN-FR 41.8 BLEU

🏗️ 模型架构深度解析

Encoder (×6 层)

  • Multi-Head Self-Attention
  • Position-wise FFN
  • 每个子层:残差连接 + LayerNorm

Q = K = V 均来自上一层输出

Decoder (×6 层)

  • Masked Multi-Head Self-Attention
  • Cross-Attention (Q←decoder, K/V←encoder)
  • Position-wise FFN

Causal mask: position i 只能看 <i

核心公式

Eq.1 — Scaled Dot-Product Attention:
Attention(Q, K, V) = softmax(QKT / √dk) · V

缩放因子 1/√dk 的直觉:假设 q 和 k 各分量独立且均值 0、方差 1,则 q·k 方差为 dk。dk 越大,点积越大,softmax 进入饱和区导致梯度消失。除以 √dk 将方差归一化回 1。

Eq.2 — Multi-Head Attention:
MultiHead(Q,K,V) = Concat(head1, ..., headh) WO
where headi = Attention(QWiQ, KWiK, VWiV)

h=8 头, dk=dv=dmodel/h=64。每个头关注不同的表征子空间,总计算量与单头全维度 attention 相当。

Eq.3 — Position-wise FFN:
FFN(x) = max(0, xW1 + b1)W2 + b2

dff=2048 (inner), dmodel=512 (input/output)。等价于两个 kernel=1 的卷积。

Positional Encoding:
PE(pos, 2i) = sin(pos / 100002i/dmodel)
PE(pos, 2i+1) = cos(pos / 100002i/dmodel)

关键性质:PEpos+k 可以表示为 PEpos 的线性函数,模型可学习相对位置关系。正弦版本允许外推到训练时未见过的更长序列。

三种 Attention 的使用方式

类型Q 来源K/V 来源位置
Encoder Self-Attn上一 encoder 层上一 encoder 层Encoder 每层
Decoder Masked Self-Attn上一 decoder 层上一 decoder 层 + maskDecoder 每层
Encoder-Decoder Cross-Attn上一 decoder 层Encoder 最终输出Decoder 每层

计算复杂度对比

Layer TypePer-LayerSequential OpsMax Path
Self-AttentionO(n²·d)O(1)O(1)
RecurrentO(n·d²)O(n)O(n)
ConvolutionalO(k·n·d²)O(1)O(logk(n))

⚙️ 训练配置

参数Base ModelBig Model
N (layers)66
dmodel5121024
dff20484096
h (heads)816
dk = dv6464
Pdrop0.10.3
Training100K steps (12h, 8×P100)300K steps (3.5d, 8×P100)
Params65M213M

📊 关键实验结果

TaskModelBLEUTraining Cost
EN-DETransformer (base)27.33.3 × 1018 FLOPs
Transformer (big)28.42.3 × 1019 FLOPs
EN-FRTransformer (big)41.8
Previous SOTA (ensemble)41.291.2 × 1021 FLOPs
Constituency ParsingTransformer (4 layers, semi-sup)92.7 F1 (WSJ §23)

💪 优势

⚠️ 局限性

🔗 与我的研究的关联

Transformer 是所有现代 LLM(GPT, BERT, LLaMA)的基础架构。理解 Self-Attention、Multi-Head Attention 和位置编码是理解 Agent 系统底层模型的必备知识

论文中的 Encoder-Decoder 结构也直接影响了通信感知领域的序列建模方法。

🕸️ 知识图谱录入

类型数量示例
Method7Transformer, Multi-Head Attention, Scaled Dot-Product Attention, ...
Concept7Self-Attention, Encoder-Decoder, Residual Connection, ...
Metric3BLEU, Perplexity, Training FLOPs
Dataset3WMT 2014 EN-DE, WMT 2014 EN-FR, Penn Treebank
Author8Vaswani, Shazeer, Parmar, ...
Relation35proposes, uses, improves, evaluated_by, ...

交互式图谱: data/kg_visualization.html