文章目录
- 13|Transformer是什么,为什么它能读懂语言?
- 一、语言建模的关键难点:顺序 + 上下文依赖
- 二、Transformer革新点:Attention is All You Need
- 三、整体结构图(简化版)
- 四、Transformer的关键模块解释
- 1. **Embedding + Position Encoding**
- 2. **Self-Attention机制**
- 3. **Multi-Head Attention**
- 4. **前馈神经网络 + 残差连接 + LayerNorm**
- 五、为什么Transformer比RNN强?
- 六、Decoder结构与GPT的区别
- 七、注意力图的可解释性
- 八、结语:Transformer不是结构叠加,而是语言结构建模范式转变
13|Transformer是什么,为什么它能读懂语言?
副标题:从Attention结构到语言理解,一种彻底颠覆RNN的神经网络设计
一、语言建模的关键难点:顺序 + 上下文依赖
人类理解语言时,依赖:
- 顺序(“你爱我” ≠ “我爱你”)
- 依赖(“他” → “去学校”,存在主谓关系)
传统模型如RNN/LSTM只能一个词一个词读下去,难以记住长距离关系,训练也不稳定。
二、Transformer革新点:Attention is All You Need
2017年,Google提出Transformer,彻底取消了RNN结构:
不用“记忆”上一个词,而是“同时看到所有词”来建模关系。
它的结构具备:
- 完全并行 → 训练快;
- 可全局建模 → 任意两词都可互相注意;
- 容易扩展 → 多层堆叠+多头建模。
三、整体结构图(简化版)
输入 token → Embedding → 加位置编码 → 多层 Encoder → 输出向量
↓
Attention
↓
输出 logits → softmax → 预测下一个 token
核心是 Self-Attention 模块,每层都在重建“token之间的关系图”。
四、Transformer的关键模块解释
1. Embedding + Position Encoding
- 把token转成向量(如768维)
- 加入顺序信息(正余弦编码或RoPE)
2. Self-Attention机制
每个token生成:
- Query(我想看谁)
- Key(我能被谁看)
- Value(我能提供什么)
用 Q·K^T
计算相关性,再加权聚合V。
3. Multi-Head Attention
- 多组Q/K/V并行工作;
- 每组学不同类型的依赖结构(语法、语义、修饰…);
- 最后拼接+线性变换形成输出。
4. 前馈神经网络 + 残差连接 + LayerNorm
- 增强非线性;
- 保持梯度稳定;
- 模块组合成层,支持堆叠。
五、为什么Transformer比RNN强?
对比维度 | RNN / LSTM | Transformer |
---|---|---|
顺序处理 | 逐词处理,串行 | 全词同时处理,完全并行 |
长依赖建模 | 越长越弱,梯度消失 | 任意两词之间直接Attention连接 |
可解释性 | 黑盒 | 可输出Attention矩阵,可视化关系 |
扩展能力 | 不易加深 | 支持任意层数、任意token长度 |
六、Decoder结构与GPT的区别
Transformer最初包含Encoder + Decoder双结构:
- BERT只用Encoder → 做理解任务;
- GPT系列只用Decoder → 做生成任务;
- 二者都继承了Transformer的Attention机制,但方向不同:
模型 | 结构 | 用途 |
---|---|---|
BERT | Encoder | 分类、问答 |
GPT | Decoder | 生成、续写 |
T5 | 编码器-解码器全结构 | 翻译、摘要、多任务 |
七、注意力图的可解释性
每一层、每一个head的Attention矩阵都是一个[seq_len × seq_len]
的“关系图”:
- 行:当前token;
- 列:被关注的其他token;
- 权重值:注意力程度。
→ 可以用热力图/箭头图展示:模型是如何一步步“看懂”语言的。
八、结语:Transformer不是结构叠加,而是语言结构建模范式转变
Transformer真正解决了一个问题:
“如何在向量空间中建模结构化的语言关系?”
它不是在模仿语言,而是在重构语言本质的结构表达方式。