好的,我来帮你系统梳理 《Attention is All You Need》 论文及其提出的 Transformer 模型,从背景、核心原理、结构到关键技术细节做详细解读。


1️⃣ 背景与意义

  • 传统 序列建模(如机器翻译)主要依赖:
    • RNN / LSTM / GRU:顺序处理序列,难以并行化,长序列易遗忘信息
    • CNN:可以并行处理,但感受野有限,建模长依赖需堆叠多层
  • Transformer 提出 完全基于注意力机制(Attention):
    • 无需循环或卷积
    • 可以 完全并行计算
    • 能高效捕捉全局依赖关系

论文提出后,Transformer 成为 NLP、CV 等领域的基础模型(BERT、GPT 系列、ViT 等均基于此)。


2️⃣ Transformer 模型概览

  • 核心思想:序列输入通过 自注意力(Self-Attention) 和前馈网络处理,生成输出序列
  • 结构
    1. Encoder-Decoder 架构
    2. Encoder:输入序列编码为连续表示
    3. Decoder:生成输出序列,带有掩码保证自回归
    4. Attention 替代 RNN,捕获序列中任意位置的依赖

3️⃣ Encoder-Decoder 结构

3.1 Encoder(堆叠 N 层)

每层包含:

  1. Multi-Head Self-Attention
  2. Feed Forward Network (FFN)
  3. Layer Normalization + Residual Connection

流程:

Input Embedding + Positional Encoding → Multi-Head Self-Attention → Add & Norm → FFN → Add & Norm → 输出


3.2 Decoder(堆叠 N 层)

每层包含:

  1. Masked Multi-Head Self-Attention(防止看到未来信息)
  2. Encoder-Decoder Attention(查询 Encoder 输出)
  3. Feed Forward Network + Residual + LayerNorm

流程:

Target Embedding + Positional Encoding → Masked Self-Attention → Add & Norm
→ Encoder-Decoder Attention → Add & Norm → FFN → Add & Norm → 输出


4️⃣ 核心技术:Attention

4.1 Scaled Dot-Product Attention

公式:Attention(Q,K,V)=softmax(QKTdk)V

  • Q(Query):查询向量
  • K(Key):键向量
  • V(Value):值向量
  • d_k:Key 向量维度,用于缩放防止梯度消失
  • 输出是 加权求和,权重来源 Q 与 K 的相似度

4.2 Multi-Head Attention

  • 同时执行 h 个注意力头

MultiHead(Q,K,V)=Concat(head1,…,headh)WO

  • 每个 head 可以关注序列不同子空间特征
  • 提升模型表达能力

5️⃣ Positional Encoding(位置编码)

  • 因 Transformer 无循环和卷积,需显式加入位置信息
  • 使用 正弦 / 余弦函数编码

PE(pos,2i)=sin⁡(pos/100002i/dmodel),PE(pos,2i+1)=cos⁡(pos/100002i/dmodel)

  • 与输入 embedding 相加,保留序列位置信息

6️⃣ Feed Forward Network (FFN)

  • 每层包含两个全连接层:

FFN(x)=max(0,xW1+b1)W2+b2

  • 作用:对每个位置进行非线性映射,提高表示能力

7️⃣ 训练细节

  • Optimizer:Adam
  • Learning rate schedule

lr=dmodel−0.5⋅min⁡(step−0.5,step⋅warmup−1.5)

  • Regularization:Dropout + Label Smoothing
  • 损失函数:交叉熵损失

8️⃣ Transformer 的优势

特性优势
并行计算无需循环,可 GPU 高效训练
长依赖建模Self-Attention 可捕捉任意位置依赖
表达能力强Multi-Head Attention + FFN
模块化Encoder / Decoder 易扩展

9️⃣ Transformer 的改进与应用

  • BERT:双向 Encoder 预训练
  • GPT 系列:单向 Decoder 生成模型
  • ViT:Transformer 应用于计算机视觉
  • T5 / ChatGPT:统一 Encoder-Decoder 架构处理多任务

10️⃣ 总结

  1. Transformer 摒弃 RNN/CNN,完全基于注意力机制
  2. Encoder-Decoder 架构
    • Encoder:提取输入序列特征
    • Decoder:生成输出序列
  3. 核心组件
    • Scaled Dot-Product Attention
    • Multi-Head Attention
    • Positional Encoding
    • Feed Forward Network
  4. 优势
    • 并行计算、高效训练
    • 捕捉长距离依赖
    • 可扩展性强,成为现代 NLP 基石