欢迎回到我们的 Transformer 系列教程!在上一篇中,我们详细探讨了 Transformer 的编码器,它负责将输入的源序列(比如源语言句子)转换为一系列包含丰富上下文信息的向量表示。
现在,我们将把目光投向 Transformer 的另一半——解码器 (Decoder)。解码器负责接收编码器的输出,并自回归地 (auto-regressively) 生成目标序列(比如目标语言句子)。这意味着它一次生成一个 token,并且在生成当前 token 时,只能依赖于已经生成的先前 token 以及编码器的输出。
本篇博客,我们将:
- 理解 Transformer 解码器的整体结构。
- 深入解码器层内部的三个关键子层。
- 重点理解带掩码的多头自注意力和编码器-解码器注意力(交叉注意力)的作用和原理。
- 重温残差连接和层归一化。
- 动手实践:实现一个简单的 Transformer 解码器层和完整的解码器。
让我们深入解码器的世界吧!
1. Transformer 解码器整体结构
Transformer 解码器同样由 N 个完全相同的解码器层 (Decoder Layer)</