歡迎回到我們的 Transformer 系列教程!在上一篇中,我們詳細探討了 Transformer 的編碼器,它負責將輸入的源序列(比如源語言句子)轉換為一系列包含豐富上下文信息的向量表示。
現在,我們將把目光投向 Transformer 的另一半——解碼器 (Decoder)。解碼器負責接收編碼器的輸出,并自回歸地 (auto-regressively) 生成目標序列(比如目標語言句子)。這意味著它一次生成一個 token,并且在生成當前 token 時,只能依賴于已經生成的先前 token 以及編碼器的輸出。
本篇博客,我們將:
- 理解 Transformer 解碼器的整體結構。
- 深入解碼器層內部的三個關鍵子層。
- 重點理解帶掩碼的多頭自注意力和編碼器-解碼器注意力(交叉注意力)的作用和原理。
- 重溫殘差連接和層歸一化。
- 動手實踐:實現一個簡單的 Transformer 解碼器層和完整的解碼器。
讓我們深入解碼器的世界吧!
1. Transformer 解碼器整體結構
Transformer 解碼器同樣由 N 個完全相同的解碼器層 (Decoder Layer)</