《Attention Is All You Need》要点梳理

2026 / 10 / 15#transformer#论文#attention

一句话结论

抛弃循环(RNN)和卷积(CNN),只用注意力机制建模序列,训练可以高度并行,长距离依赖的处理也更直接。

结构

  • 编码器 / 解码器各 6 层(base 版本),每层是"子层 + 残差 + LayerNorm"
  • 编码器子层:多头自注意力 + 前馈网络
  • 解码器子层:掩码自注意力 + 交叉注意力 + 前馈网络
  • 解码器的自注意力带掩码,保证只能看到已生成的部分

三个关键设计

1. 多头注意力(Multi-Head Attention)

把表示切成多个子空间分别做注意力,再拼接。直觉是让不同的头关注不同类型的关系(语法、指代、位置等),而不是让一个头包办。

2. 位置编码(Positional Encoding)

自注意力本身对顺序不敏感 —— 打乱序列,算出来的注意力权重只跟着 token 对变,与位置无关。所以必须额外注入位置信息。原文用的是正弦/余弦函数生成的位置编码,不是可学习参数。

3. 缩放点积注意力

注意力权重 = softmax(QKᵀ / √d_k) · V。除以 √d_k 是为了防止维度大时点积过大,导致 softmax 进入梯度极小的饱和区。

为什么这很重要

RNN 的训练必须按时间步串行,长序列下 GPU 利用率很差。Transformer 把整段序列的注意力一次算完(矩阵乘法),这是"能训练超大模型"的前提条件之一,而不只是效果好的问题。

阅读顺序建议

如果只想过一遍,先看第 3 节(模型结构)和第 3.2 节(注意力),跳过训练细节和 BLEU 对比表。位置编码那一段建议手推一遍正弦公式,比读十遍描述管用。

本文为个人学习记录,可能存在错误或已过时,仅供参考。
← 返回笔记列表