前面图解了Transformer整体架构和编码器,今天图解解码器。
先来个整体视角:
再逐步分解开来:
1️⃣ WHAT'S THE DECODER? 🎯
解码器是将编码输入和先前生成的标记转换为上下文感知输出的关键所在。
可以把它想象成艺术家,从草图中绘制出最终的画作。🖌️
🔄 STEP 1 - PROCESSING THE TARGET SEQUENCE
STEP 1.1 Target Sequence Embedding
解码器首先对需要处理的序列进行嵌入,将原始数据转换为其能够理解的格式。
STEP 1.2 Positional Encoding
由于 Transformers 不像RNN等时序模型那样依赖序列顺序,它们使用位置编码。
这为‘what’添加了一层‘where’——这对全面理解序列至关重要!
🔗 STEP 2 - LAYERING THE DECODERS
解码器由多个层组成,每一层都会精炼输出:
• Masked Self-Attention
• Cross-Attention.
• Normalization and Residuals.
STEP 2.1 MASKED SELF-ATTENTION
在自注意力步骤中,解码器确保不会提前查看。可以把它想象成解谜时不跳过去看整个图案。
STEP 2.2 CROSS-ATTENTION
在这里,解码器将编码器的输入与其处理对齐,确保每个信息片段都完美同步。
STEP 2.3 NORMALIZATION AND RESIDUALS
归一化保持数据平滑和统一,防止任何部分压倒其他部分。
STEP 2.4 FEED-FORWARD NEURAL NETWORK
这一步通过前馈网络增强解码器的预测。
这确保了一切都经过调整并与后续步骤保持同步。
STEP 2.5 LINEAR CLASSIFIER AND SOFTMAX
将分数转换为概率,这一步决定最可能的下一个词。它作为分类器,概率最高的词就是解码器的最终输出。
STEP 3 FINAL OUTPUT
解码器将所有处理过的信息编织在一起,以预测序列的下一部分。
这个过程持续进行,直到序列完成,生成一个完整且富有上下文的信息输出。🔄