e58b95d227
将《设计人工智能:基础与应用》拆分为 38 个 Markdown 文件, 按 11 个部分(上篇6部分+下篇5部分)+ 3 个附录组织。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
158 lines
3.4 KiB
Markdown
158 lines
3.4 KiB
Markdown
|
||
### 学习目标
|
||
|
||
理解Transformer的Encoder-Decoder结构
|
||
|
||
掌握各组件的作用和连接方式
|
||
|
||
了解Token处理流程
|
||
|
||
### 整体架构
|
||
|
||
`输入``Token``序列`` → Encoder → ``编码表示`\
|
||
` ↓`\
|
||
`输出``Token``序列`` ← Decoder ← ``编码表示`
|
||
|
||
### Encoder层
|
||
|
||
单层结构
|
||
|
||
`输入``X`\
|
||
` ↓`\
|
||
`Multi-Head Self-Attention`\
|
||
` ↓`\
|
||
`Add & Norm (``残差连接`` + ``层归一化``)`\
|
||
` ↓`\
|
||
`Feed-Forward Network (FFN)`\
|
||
` ↓`\
|
||
`Add & Norm`\
|
||
` ↓`\
|
||
`输出``H`
|
||
|
||
#### 残差连接
|
||
|
||
`输出`` = F(x) + x`
|
||
|
||
作用: - 缓解梯度消失 - 便于训练深层网络
|
||
|
||
#### 层归一化
|
||
|
||
`输出`` = ``LayerNorm``(x + F(x))`
|
||
|
||
作用: - 稳定训练 - 加速收敛
|
||
|
||
#### FFN (前馈网络)
|
||
|
||
`FFN(x) = ``ReLU``(``xW``₁ + b₁)W₂ + b₂`
|
||
|
||
本质:两层全连接网络,非线性变换
|
||
|
||
### Decoder层
|
||
|
||
#### 结构
|
||
|
||
`输入``X`\
|
||
` ↓`\
|
||
`Masked Self-Attention (``只能看之前的位置``)`\
|
||
` ↓`\
|
||
`Add & Norm`\
|
||
` ↓`\
|
||
`Cross-Attention (Query``来自``Decoder, Key/Value``来自``Encoder)`\
|
||
` ↓`\
|
||
`Add & Norm`\
|
||
` ↓`\
|
||
`FFN`\
|
||
` ↓`\
|
||
`Add & Norm`\
|
||
` ↓`\
|
||
`输出`` (``接``Softmax``预测概率``)`
|
||
|
||
#### Cross-Attention
|
||
|
||
`Q: Decoder``的隐藏状态`\
|
||
`K, V: Encoder``的输出`
|
||
|
||
作用:让Decoder关注Encoder的相关部分
|
||
|
||
## Token处理流程
|
||
|
||
### 输入处理
|
||
|
||
`文本`` → Tokenize → Token IDs`\
|
||
` ↓`\
|
||
` Embedding``层`\
|
||
` ↓`\
|
||
` ``位置编码相加`\
|
||
` ↓`\
|
||
` Encoder/Decoder`
|
||
|
||
### 输出处理
|
||
|
||
`Decoder``输出`` → ``线性层`` → ``Softmax`` → ``概率分布`\
|
||
` ↓`\
|
||
` ``选择最大值`
|
||
|
||
## 训练与推理
|
||
|
||
训练阶段
|
||
|
||
`教师强制`` (Teacher Forcing)``:`\
|
||
` ``真实标签作为``Decoder``输入`\
|
||
` ``可以并行计算`
|
||
|
||
推理阶段
|
||
|
||
`自回归生成`` (Autoregressive)``:`\
|
||
` ``生成一个``Token → ``加入输入`` → ``生成下一个`\
|
||
` ``串行计算`
|
||
|
||
## Transformer变体
|
||
|
||
BERT (Encoder-only)
|
||
|
||
`输入`` → Encoder → [CLS]``表示`` / ``每个``Token``表示`
|
||
|
||
应用:分类、NER、问答
|
||
|
||
GPT (Decoder-only)
|
||
|
||
`输入`` → Decoder → ``下一个``Token``预测`
|
||
|
||
应用:文本生成
|
||
|
||
T5 (Encoder-Decoder)
|
||
|
||
`输入`` → Encoder → ``表示`` → Decoder → ``输出`
|
||
|
||
应用:翻译、摘要
|
||
|
||
## 思考与练习
|
||
|
||
1. 为什么Decoder需要Masked Attention?
|
||
|
||
2. Encoder-only和Decoder-only模型各有什么优势?
|
||
|
||
3. Transformer如何处理超长序列?
|
||
|
||
## 关键术语
|
||
|
||
----------------------------------------------------------
|
||
中文 英文 说明
|
||
--------------- --------------------- --------------------
|
||
残差连接 Residual Connection 跨层连接
|
||
|
||
层归一化 Layer Normalization 归一化层
|
||
|
||
教师强制 Teacher Forcing 训练时使用真实标签
|
||
|
||
自回归 Autoregressive 基于前序生成后续
|
||
|
||
编码器-解码器 Encoder-Decoder Seq2Seq架构
|
||
----------------------------------------------------------
|
||
|
||
## 延伸阅读
|
||
|
||
1. [The Annotated Transformer](https://nlp.seas.harvard.edu/2018/04/03/attention.html)
|
||
|
||
[Visualizing A Machine Learning Model](https://poloclub.github.io/transformer-explainer/) \# 03.3 大语言模型应用
|