mobile wallpaper 1
1410 字
4 分钟
Transformer
2026-05-19

Transformer 论文链接

Keywords: 并行序列建模、自注意力、多头注意力、位置编码、弱归纳偏置

1. Background#

在 2017 年之前,主流 seq2seq 模型主要依赖于 RNNCNN,但都存在缺陷。

  • RNN:计算是时序性的,必须从左往右一步步计算隐藏状态 hth_t,这导致难以并行计算,此外长距离信息传递容易丢失,若要保留则需极大的内存开销。
  • CNN:卷积核窗口有限,需要堆叠多层卷积才能关联距离较远的单词/像素。

需要一种架构,既能有效处理长距离依赖,又能实现高度并行化以提升训练速度。

2. Methods#

Transformer 完全舍弃循环和卷积,提出第一个纯基于注意力机制的序列转录模型。

  • 解决长距离依赖:利用注意力机制,序列中任何位置的交互距离缩短为常数 O(1)O(1),不同于 CNN,Transformer 没有任何关于距离的先验假设。
  • 多头机制 (Multi-Head):注意力机制的副作用是“有效分辨率”降低 (多个不同维度的信息被压缩进一个向量),因此引入 Multi-Head Attention,灵感来源于 CNN 的多输出通道,希望通过不同的 head 来识别序列中不同的模式。
  • 并行性:核心的注意力计算为矩阵乘法,不再有时序依赖,训练时可以在 GPU 中被并行,而推理过程为自回归,仍需要 KV Cache 等优化。 Image1

3. Model Design#

采用经典的 Encoder-Decoder 架构。 Image2

3.1 Encoder#

6 个相同的层堆叠而成。每层包含两个子层:

  1. Multi-Head Self-Attention:抓取全局信息。
  2. Position-wise FFN:对每个词独立进行非线性转换,从 512 维投影至 2048 维再投回 512 维。
  • 每个子层后都使用 残差连接 (Residual Connection)层归一化 (Layer Normalization)
  • Layer Norm:不同于 Batch Norm,Layer Norm 对于单个样本内部进行归一化,以避开句子长度不同的干扰。

3.2 Decoder#

同样由 6 个相同的层组成。每层包含三个子层:

  1. Masked Multi-Head Attention:确保预测 tt 时刻时不会看到之后的输出信息,保证自回归属性。
  2. Multi-Head Cross-Attention:Query 来自解码器,Key 和 Value 来自编码器输出,用于在两者间传递信息。
  3. Position-wise FFN
  • 每个子层后 Residual & Layer Norm

3.3 Attention#

Attention(Q,K,V)=softmax(QKTdk)VAttention(Q,K,V)=softmax(\frac{QK^{T}}{\sqrt{d_{k}}})V

对 Query 和 Key 做点积 (矩阵乘法) 计算相似度,缩放后 softmax 得到总和为 1 的注意力分布,再将计算结果对 Value 做加权求和。
如果计算 Masked Attention,会在 softmax 之前加入 mask。

  • 缩放因子:除以 dk\sqrt{d_k} 是为了防止在维度较大时 (如 512),点积结果过大导致 Softmax 梯度消失。

Multi-Head Attention 则在上面的基础上,先将 QKV 通过线性层投影到低维空间,再各自通过点积注意力层,将结果 concat 后再投影回高维。 Image3

3.4 Positional Encoding#

由于 Attention 本身不包含时序信息 (打乱顺序结果一致),Transformer 利用三角函数生成的固定位置向量加到词嵌入中,显式引入位置信息。
我们会将 Embedding 的数值乘以 dmodel\sqrt{d_{model}},以平衡与 Positional Encoding 的强度。

4. Training#

为了保证模型能顺利收敛并防止过拟合,论文引入了以下几项关键的训练与优化策略:

  • Optimizer:使用带 Warmup 的 Adam 优化器。训练初期线性调大智能学习率以稳定初速度,后期按步数的负二次方根反比例衰减。 lrate=dmodel0.5min(step_num0.5,step_numwarmup_steps1.5)\text{lrate} = d_{model}^{-0.5} \cdot \min(\text{step\_num}^{-0.5}, \text{step\_num} \cdot \text{warmup\_steps}^{-1.5})
  • Dropout:在每一层子层的输出加到残差连接前,以及 Embedding 与位置编码相加后,均应用了率为 0.1 的 Dropout,用于破坏神经元协同适应性。
  • Label Smoothing:引入平滑因子 ϵls=0.1\epsilon_{ls} = 0.1,换取更强的泛化能力与更优的 BLEU 得分。

5. Result#

在 WMT 2014 英德翻译任务中达到 28.4 BLEU,比当时的 SOTA 模型高出 2 个 BLEU 分数。
由于高度并行,Big Model 在 8 个 P100 GPU 上仅训练 3.5 天即可达到顶尖效果。
主要可调参数仅为层数 NN、模型宽度 dmodeld_{model} 和头数 hh,后续的 BERT 和 GPT 均沿用此设计。

6. Reflection#

Transformer 的提出,使 Attention 首次成为深度学习中的核心计算范式。其高度并行、可扩展且通用的架构,不仅统一了 NLP 中的大多数任务,也推动了 Transformer 向视觉、语音以及多模态领域的全面扩展。
Transformer 的成功,很大程度上来源于其相比 RNN 与 CNN 更弱的归纳偏置。它几乎不对输入结构作额外假设,而是通过 Attention 直接学习任意位置之间的关系,因此具有更强的通用性与扩展性。
但与此同时,更弱的归纳偏置也意味着 Transformer 更依赖大规模数据与计算资源,许多原本由先验结构直接编码的信息,需要通过数据驱动的方式自行学习。这也是 Transformer 在大规模预训练时代到来后才真正展现出巨大潜力的重要原因。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Transformer
https://kisaragi-irona.top/posts/paper-reading/transformer/blog/
作者
Kisaragi
发布于
2026-05-19
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录