Attention Is All You Need
论文笔记:Attention Is All You Need
元信息
| 项目 | 内容 |
|---|---|
| 机构 | Google Brain, Google Research, University of Toronto |
| 日期 | June 2017 |
| 链接 | arXiv |
| 对比基线 | RNN, LSTM, ConvS2S, GNMT |
一句话总结
提出 Transformer 架构,完全抛弃 RNN 和 CNN,仅依赖 Self-Attention 机制实现序列到序列建模,在机器翻译任务上达到 SOTA 且训练速度大幅提升
核心贡献
Transformer 架构: 首个完全基于 Self-Attention 的 Encoder-Decoder 架构,消除了对循环和卷积的依赖,实现了全局依赖的并行计算
Scaled Dot-Product Attention: 提出缩放点积注意力机制,通过 缩放因子解决高维点积值过大导致 Softmax 梯度消失的问题
Multi-Head Attention: 将注意力机制分为多个子空间并行计算,使模型能同时关注不同位置的不同表示子空间信息
位置编码: 提出基于正弦/余弦函数的 Positional Encoding,为无递归结构的模型注入序列位置信息
问题背景
要解决的问题
序列建模和序列转导(如机器翻译)的主流方法依赖 RNN(LSTM/GRU),存在两个根本性问题:
- 顺序计算瓶颈: RNN 按时间步顺序处理,无法充分利用现代 GPU 的并行计算能力
- 长距离依赖衰减: 尽管有门控机制,RNN 在处理长序列时仍难以捕获远距离依赖关系
现有方法的局限
LSTM/GRU: 引入门控改善梯度流,但仍受限于顺序计算, 的序列计算步数不可并行
ConvS2S (ByteNet, ConvS2S): 用卷积替代循环实现并行化,但捕获长距离依赖需要 或 层卷积堆叠
注意力机制在已有工作中仅作为 RNN 的辅助组件(如 Bahdanau Attention),未被单独用作建模核心
本文的动机
注意力机制天然具有 的任意距离依赖建模能力
如果能完全用注意力替代循环和卷积,就可以同时获得全局依赖建模能力和完全并行化的训练效率
目标:设计一个仅基于注意力的架构,证明其在质量和效率上都能超越 RNN/CNN 方案
方法详解
模型架构
Transformer 采用经典的 Encoder-Decoder 结构:
- Encoder: 层相同的层堆叠,每层包含 Multi-Head Attention + Feed-Forward Network,每个子层后接 残差连接 + Layer Normalization
- Decoder: 层相同的层堆叠,除 encoder 的两个子层外,额外增加一个对 encoder 输出的 cross-attention 子层;decoder 的 self-attention 使用 mask 防止关注未来位置
- Embedding: 输入/输出共享嵌入矩阵,权重乘以
- 超参数: , , ,
核心模块
模块1: Scaled Dot-Product Attention
设计动机: 点积注意力计算高效,但当 较大时点积值会增大,导致 Softmax 进入饱和区梯度极小
具体实现:
- 输入为 queries , keys , values
- 计算 得到注意力权重,经 Softmax 归一化后与 加权求和
- 缩放因子 保持点积方差为 1,防止梯度消失
模块2: Multi-Head Attention
设计动机: 单一注意力函数在 维空间中计算,无法同时关注不同子空间的模式
具体实现:
- 将 分别通过 组独立的线性变换投影到 维子空间
- 每个 head 独立计算 Scaled Dot-Product Attention
- 将 个 head 的输出拼接后再通过线性变换得到最终输出
- 三种使用方式: encoder self-attention, decoder masked self-attention, encoder-decoder cross-attention
模块3: Position-wise Feed-Forward Network
设计动机: 注意力层是线性加权,需要非线性变换增加表达能力
具体实现: 两层全连接 + ReLU 激活,
内层维度 是 的 4 倍,相当于 kernel size 为 1 的两层卷积
模块4: Positional Encoding
设计动机: Transformer 无递归/卷积结构,需要显式注入位置信息
具体实现: 使用不同频率的正弦/余弦函数编码位置
正弦编码的优势:(1) 可以表示任意长度的序列;(2) 相对位置可通过线性变换表示,即 可以表示为 的线性函数
关键公式
公式1: Scaled Dot-Product Attention
含义: 核心注意力计算, 缩放防止点积值过大导致 softmax 饱和
符号说明:
- : query 矩阵
- : key 矩阵
- : value 矩阵
- : query 和 key/value 的序列长度
公式2: Multi-Head Attention
含义: 个独立 head 在不同子空间并行计算注意力,拼接后线性变换
符号说明:
- , , : 第 个 head 的投影矩阵
- : 输出投影
- ,
公式3: 正弦位置编码
含义: 偶数维用 sin、奇数维用 cos,不同维度对应不同频率的正弦波,从 到 的等比波长
符号说明:
- : token 在序列中的位置
- : 维度索引,
性质: 对于任意固定偏移 , 可以表示为 的线性函数,使模型能学习相对位置关系
公式4: Position-wise FFN
含义: 两层线性变换夹 ReLU,等价于 kernel size 1 的两层卷积
符号说明:
- ,
公式5: 子层连接
含义: 每个子层(attention 或 FFN)都使用 残差连接 + Layer Normalization,稳定深层网络训练
实验结果
数据集
| 数据集 | 规模 | 任务 |
|---|---|---|
| WMT 2014 EN-DE | 4.5M 句对 | 英德翻译 |
| WMT 2014 EN-FR | 36M 句对 | 英法翻译 |
主要结果
| 模型 | EN-DE BLEU | EN-FR BLEU | 训练成本 (FLOPs) |
|---|---|---|---|
| GNMT + RL | 24.6 | 39.92 | |
| ConvS2S | 25.16 | 40.46 | |
| Transformer (base) | 27.3 | 38.1 | |
| Transformer (big) | 28.4 | 41.0 |
Transformer big 在 EN-DE 上以 28.4 BLEU 超越所有此前模型(包括 ensemble),训练成本仅为 GNMT 的 1/6
EN-FR 上以 41.0 BLEU 创新 SOTA,训练成本仅为此前最优模型的 1/4
Base 模型仅需 12 小时在 8 块 P100 上训练完成
训练细节
优化器: Adam,
学习率调度: Warmup + inverse square root decay,
Warmup: 4000 步
正则化: Dropout (residual, attention weights, embedding sum),Label Smoothing
Batch Size: 约 25000 source + 25000 target tokens per batch
消融实验
| 变体 | EN-DE BLEU |
|---|---|
| Base (h=8, d_k=64) | 25.8 |
| 单头 (h=1) | 24.9 (-0.9) |
| 过多头 (h=16, d_k=32) | 25.5 (-0.3) |
| 减小 d_k=16 | 24.9 (-0.9) |
| 增大模型 (d_model=1024) | 26.0 (+0.2) |
| Dropout=0.2 | 25.5 |
| 学习的位置编码 | 25.7 (≈base) |
关键发现: (1) 头数和 head 维度需要平衡,太少或太小都影响性能;(2) 更大模型更好;(3) 正弦位置编码与学习的位置编码性能几乎相同
局限性
计算和内存复杂度: Self-attention 对序列长度是二次的,限制了超长序列处理能力
缺乏局部归纳偏置: 不像 CNN/RNN 天然具有局部性和平移不变性,Transformer 需要从数据中学习这些模式
仅验证机器翻译: 论文主要在 MT 上实验,未充分探索其他任务的泛化性(尽管后续工作证明了其通用性)
固定位置编码: 正弦编码虽然理论上可外推,但实践中对超出训练长度的序列效果有限
解码效率: 自回归解码仍需逐 token 生成,inference 阶段无法完全并行
相关概念
Layer Normalization
Sequence-to-Sequence
Bahdanau Attention
速查卡片
Transformer (Attention Is All You Need)
- 核心: 完全基于 self-attention 的 encoder-decoder 架构,抛弃 RNN/CNN
- 方法: Scaled Dot-Product Attention + Multi-Head + 正弦位置编码 + 残差连接 + LayerNorm
- 结果: WMT EN-DE 28.4 BLEU, EN-FR 41.0 BLEU,训练成本降低数倍
- 影响: 奠定了现代 NLP(BERT, GPT 系列)和 CV(ViT)的架构基础
笔记创建时间: 2026-04-03