🧠 图解记忆:注意力缩短信息路径,并行性改变训练效率;点击图片可查看原图。
💡 答案要点
Transformer = 基于自注意力机制的序列到序列模型
为什么需要Transformer?
RNN/LSTM 的问题:
| 问题 | 说明 | 影响 |
|---|---|---|
| 串行计算 | 必须逐个处理token | 训练慢,无法并行 |
| 长程依赖 | 梯度消失/爆炸 | 难以捕捉远距离关系 |
| 信息瓶颈 | 所有信息压缩到隐状态 | 信息丢失 |
Transformer 的优势:
┌─────────────────────────────────────────────────────────┐
│ Transformer 架构 │
└─────────────────────────────────────────────────────────┘
输入序列 → Embedding + 位置编码
↓
Encoder (N × 6 层)
├── Multi-Head Self-Attention
├── Add & Norm
├── Feed-Forward Network
└── Add & Norm
↓
Decoder (N × 6 层)
├── Masked Multi-Head Self-Attention
├── Add & Norm
├── Encoder-Decoder Cross-Attention
├── Add & Norm
├── Feed-Forward Network
└── Add & Norm
↓
Linear + Softmax → 输出概率分布核心创新:
Self-Attention(自注意力)
- 每个token都能直接"看到"所有其他token
- 复杂度:O(n²),但可以并行
Multi-Head Attention(多头注意力)
- 多个注意力头,捕捉不同维度的关系
- 8 或 16 个头
位置编码(Positional Encoding)
- 注入序列位置信息
- sin/cos 函数编码
残差连接 + Layer Norm
- 解决梯度消失
- 稳定训练
性能对比(机器翻译任务):
| 模型 | BLEU | 训练时间 | 参数量 |
|---|---|---|---|
| LSTM | 25.3 | 10天 | 200M |
| Transformer Base | 27.3 | 12小时 | 65M |
| Transformer Big | 28.4 | 3.5天 | 213M |
面试话术:
"Transformer 通过自注意力机制替代了RNN的串行计算。每个token可以直接关注所有其他token,实现了并行计算,训练速度提升10-100倍。虽然复杂度是O(n²),但在实际应用中,并行带来的收益远大于复杂度的损失。"
