第 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的作用