Transformer 架构三剑客:Encoder、Decoder 与 Encoder-Decoder 的区别与应用
在深度学习自然语言处理(NLP)领域,Transformer 无疑是皇冠上的明珠。但Transformer 并不是只有一种形态。
根据任务需求的不同,它演化出了三个各具特色的分支。今天我们来拆解 Transformer 家族的三大主力:仅编码器(Encoder-only)、仅解码器(Decoder-only) 和 编解码器(Encoder-Decoder)。
一句话总结:
- Encoder-only 是“阅读理解大师”;
- Decoder-only 是“即兴演讲天才”;
- Encoder-Decoder 则是“同声传译专家”。
一、架构总览:一张图看懂三剑客
为了直观展示它们的区别,我们先看一张架构图:
graph TB
subgraph "仅编码器 (Encoder-only)"
E_IN[输入序列] --> E_ENC["编码器堆叠
(双向关注)"]
E_ENC --> E_OUT[特征向量/分类结果]
end
subgraph "仅解码器 (Decoder-only)"
D_IN[输入序列] --> D_DEC["解码器堆叠
(因果掩码/单向)"]
D_DEC --> D_OUT[输出序列]
end
subgraph "编解码器 (Encoder-Decoder)"
ED_IN[源序列] --> ED_ENC[编码器]
ED_ENC --> ED_CROSS[交叉注意力]
ED_DEC_IN[目标序列] --> ED_DEC[解码器]
ED_CROSS --> ED_DEC
ED_DEC --> ED_OUT[目标序列]
end
| 架构 | 核心公式 | 训练方式 |
|---|---|---|
| Encoder-only | H=Encoder(X)H=Encoder(X) | 掩码语言模型(MLM) |
| Decoder-only | P(yt∥y<t,X)P(y**t∥y<t,X) | 自回归语言模型(CLM) |
| Encoder-Decoder | H=Encoder(X);Y=Decoder(H,Y<t)H=Encoder(X);Y=Decoder(H,Y<t) | 去噪自编码器 / Seq2Seq |
核心特点
- 双向注意力机制(Bidirectional Attention):这是它的杀手锏。在处理句子中的某个词时,它能同时看到左边和右边的所有词。就像你阅读时,会结合上下文来理解一个多义词的含义。
- 擅长“读”而非“写”:它的强项在于把一段文字压缩成高质量的向量表示(Embedding),从中提取特征。它是天生的“分析型”选手。