💡一句話定義
🤔為什麼需要 Attention?
🎮互動:每個字在關注誰
把滑鼠移到句子裡的字(試試 it):上方弧線連到它最關注的字、線越粗代表權重越高,下方顯示前 5 名注意力分數。你會看到 "it" 強烈關注 "animal"(因為後面說 tired 累了)。
🔑Q、K、V:圖書館的比喻
自注意力給每個字算出三個向量,就像在圖書館找資料:
我手上的字在問:「誰跟我有關?」
每個字的索引標籤,拿來被 Query 匹配(點積)。
每個字的實際內容;Q、K 匹配度高就多取一點 V。
🧮核心公式(Scaled Dot-Product)
三步:① QKᵀ 算 Query 和每個 Key 的相似度分數;② softmax 把分數變成加起來為 1 的權重;③ 用權重對所有 Value 加權求和,得到這個位置的輸出。
📐為什麼要除以 √d_k(縮放)?
🔀自注意力 vs 跨注意力 vs 多頭
| 種類 | Q、K、V 來源 | 用途 |
|---|---|---|
| 自注意力 Self | 都來自同一序列 | 讓序列內部彼此關聯、理解上下文 |
| 跨注意力 Cross | Q 來自一邊、K/V 來自另一邊 | 翻譯時輸出關注輸入(如「愛」關注 love) |
| 多頭 Multi-Head | 拆成多組 Q/K/V | 各頭在不同子空間學不同關係,再合併 |
⚠️兩個易混點
② 高注意力 ≠ 因果重要性:注意力權重不能完全當成「模型為什麼這樣決定」的可靠解釋,別過度解讀。
✅自我檢測
Q1. 注意力機制解決了 RNN 的什麼問題?
Q2. Q、K、V 各是什麼角色?
Q3. 為什麼要除以 √d_k?
Q4. 自注意力和跨注意力差在哪?
🎯重點整理
- 是什麼:動態查看所有位置、依相關度加權取用。
- Q/K/V:查詢、標籤、內容;Q·K 算分、softmax、加權 V。
- 公式:softmax(QKᵀ/√d_k)·V,√d_k 縮放穩定梯度。
- 種類:自注意力、跨注意力、多頭。
- 易混:本身無順序(需位置編碼);權重≠因果解釋。