第 2 章

Transformer 的核心机制

深入理解 Attention 机制、Encoder-Decoder 架构、前馈网络与残差连接,掌握 Transformer 的工作原理。

Attention 机制:Transformer 的灵魂

Attention机制是Transformer的核心,它让模型能够"关注"输入序列的不同部分,理解它们之间的关系。

Self-Attention:自注意力

Self-Attention让序列中的每个位置都能直接关注到其他所有位置:

1
Query (Q):当前位置想要查询什么信息
2
Key (K):其他位置提供什么信息
3
Value (V):实际的信息内容
4
计算过程:Attention(Q, K, V) = softmax(QK^T / √d_k) V

Multi-Head Attention:多头注意力

多个Attention头并行工作,从不同角度理解信息:

  • 并行计算:多个头同时计算,互不干扰
  • 不同视角:每个头关注不同的关系(语法、语义、位置等)
  • 信息融合:多个头的输出拼接后经过线性变换
  • 表达能力:多头机制大大增强了模型的表达能力

位置编码(Positional Encoding)

Attention机制本身不包含位置信息,需要通过位置编码注入:

  • 正弦位置编码:使用sin/cos函数生成位置编码
  • 可学习位置编码:BERT等模型使用可学习的嵌入
  • 相对位置编码:关注相对位置而非绝对位置
  • 局限性:固定位置编码难以处理超长序列(如1M+ tokens)

荧光笔理论:理解 Attention 的直观方式

用荧光笔标记重点的比喻,帮助理解Attention机制的工作原理。

比喻解释

想象你在阅读一篇文章,用荧光笔标记重点:

1
阅读过程:你逐字阅读,理解每个词的含义
2
标记重点:遇到重要信息时,用荧光笔标记
3
关联理解:标记的词帮助你理解上下文关系
4
Attention的作用:Attention就是模型的"荧光笔",自动标记和关联重要信息

实际例子

句子:"The cat sat on the mat"
当模型处理"sat"时,Attention机制会:
• 高注意力权重 → "cat"(主语)
• 中注意力权重 → "on", "mat"(位置信息)
• 低注意力权重 → "The"(冠词)

Encoder-Decoder 架构

Transformer的原始架构包含Encoder和Decoder,但实际应用中出现了多种变体。

Encoder(编码器)

理解输入序列,生成中间表示:

  • Self-Attention:理解输入序列内部关系
  • Feed-Forward:非线性变换
  • 输出:每个位置的编码表示
  • 应用:BERT、RoBERTa等理解任务

Decoder(解码器)

基于Encoder输出生成目标序列:

  • Masked Self-Attention:只能看到已生成的部分
  • Cross-Attention:关注Encoder的输出
  • 生成:逐个生成目标序列的token
  • 应用:GPT、T5等生成任务

实际应用变体

GPT(Decoder Only)

架构:只有Decoder,移除Cross-Attention层

特点:自回归生成,从左到右生成文本

应用:文本生成、对话、代码生成

BERT(Encoder Only)

架构:只有Encoder,双向理解

特点:同时看到整个输入序列,双向上下文

应用:文本分类、问答、命名实体识别

T5(Encoder-Decoder)

架构:完整的Encoder-Decoder结构

特点:统一框架,所有NLP任务都转换为文本到文本

应用:翻译、摘要、问答等多种任务

前馈网络与残差连接

Feed-Forward Network、Residual Connection和Layer Normalization是Transformer稳定训练的关键组件。

Feed-Forward Network (FFN)

前馈网络对每个位置独立进行非线性变换:

  • 结构:两层全连接网络,中间有激活函数(通常是ReLU或GELU)
  • 作用:增强模型的非线性表达能力
  • 特点:每个位置独立处理,可以并行计算
  • 参数:FFN通常占用模型大部分参数(如GPT-3中占66%)

Residual Connection(残差连接)

将输入直接加到输出上,解决深度网络的梯度消失问题:

  • 公式:output = input + sublayer(input)
  • 作用:提供梯度传播的"高速公路"
  • 效果:让模型可以训练更深的网络(如GPT-3有96层)
  • 来源:借鉴自ResNet的成功经验

Layer Normalization(层归一化)

对每层的输出进行归一化,稳定训练过程:

  • 位置:在Attention和FFN之后,残差连接之前
  • 作用:稳定激活值的分布,加速训练收敛
  • 效果:允许使用更大的学习率,训练更稳定
  • 变体:Pre-LN(归一化在子层前)vs Post-LN(归一化在子层后)

Transformer Block 完整结构

Transformer Block:
1. Multi-Head Self-Attention
2. Add & Norm (残差连接 + 层归一化)
3. Feed-Forward Network
4. Add & Norm (残差连接 + 层归一化)

多个Transformer Block堆叠形成深度网络,每个Block都包含上述结构

学习成果

完成本章后,你将:

  • 1深入理解Attention机制的数学原理(Query、Key、Value)和计算过程
  • 2掌握Multi-Head Attention如何从多个角度理解信息,以及位置编码的作用
  • 3理解GPT(Decoder only)和BERT(Encoder only)的架构差异和应用场景
  • 4了解Feed-Forward Network、Residual Connection和Layer Normalization的作用