💡一句話定義
Transformer 的核心是自注意力(Self-Attention):讓每個詞直接關注序列中所有其他詞,因此能捕捉長距離關係、又能高度平行運算。每個詞算 Q、K、V,用 Q 與各 K 的相似度當權重加權彙整 V,得到融入上下文的表示。
🚀為什麼這麼重要?
🎮互動:資料如何在架構裡流
按「發送訊號」看資料從 Encoder 上升、經 Cross-Attention 把 Key/Value 交給 Decoder,最後 Softmax 出下一個字的機率。也可切「只看 Encoder(BERT)」或「只看 Decoder(GPT)」。
Transformer (Attention Is All You Need) 架構互動演示
點擊按鈕以查看資料流向與架構區別
🔀Encoder vs Decoder(BERT vs GPT 的分家)
| 面向 | Encoder(BERT) | Decoder(GPT) |
|---|---|---|
| 負責 | 輸入與理解 | 輸出與生成 |
| 看的方向 | 雙向(看得到整句上下文) | 單向(Masked,只看前面) |
| 擅長 | 分類、問答、語意理解 | 對話、續寫、寫程式 |
| 兩者都用 | 機器翻譯用完整 Encoder-Decoder:左讀原文、右生成譯文,靠 Cross-Attention 溝通 | |
🧩核心組件
👁️多頭自注意力
每個詞關注全句、多個頭學不同關係。
每個詞關注全句、多個頭學不同關係。
📍位置編碼
補上詞序,因為注意力本身沒有順序。
補上詞序,因為注意力本身沒有順序。
🛣️殘差 + LayerNorm
Add & Norm 讓深層也訓練得動。
Add & Norm 讓深層也訓練得動。
🔗Cross-Attention
Decoder 拿翻譯進度(Q)查 Encoder 原文(K/V)。
Decoder 拿翻譯進度(Q)查 Encoder 原文(K/V)。
📐為什麼需要位置編碼?
自注意力只算「誰跟誰相關」,不含順序——「貓追狗」和「狗追貓」在它眼裡會被當成一樣。所以要在輸入裡加上每個詞的位置座標(Positional Encoding),模型才知道 "I" 在 "love" 前面。核心公式:
Attention(Q, K, V) = softmax( QKᵀ / √d_k ) · V
✅自我檢測
Q1. Transformer 的核心是什麼?為何取代 RNN?
核心是自注意力,讓每個詞直接關注所有詞、捕捉長距離關係且可平行。RNN 得循序處理、慢又長句易忘,因此被取代。
Q2. Encoder 和 Decoder 差在哪?
Encoder 雙向、負責理解(BERT);Decoder 用 Masked Attention 單向、負責生成(GPT)。完整 Encoder-Decoder 用於翻譯,靠 Cross-Attention 溝通。
Q3. 為什麼需要位置編碼?
自注意力不含順序,「貓追狗」與「狗追貓」會被當一樣。位置編碼把每個詞的位置加進輸入,讓模型知道詞序。
Q4. Cross-Attention 在翻譯裡做什麼?
Decoder 拿目前的翻譯進度當 Query,去查 Encoder(原文)的 Key/Value,決定現在該對齊、翻譯原文的哪個詞。
🎯重點整理
- 核心:自注意力,一次看全句、可平行、抓長距離。
- Encoder:雙向理解 → BERT。
- Decoder:Masked 單向生成 → GPT。
- 組件:多頭注意力、位置編碼、Add&Norm、Cross-Attention。
- 地位:BERT、GPT、ViT、多模態的共同祖先。