深度學習 · 自然語言處理

多頭注意力 Multi-Head Attention

與其用一顆腦袋硬扛全部,不如找一組專家分工——每個「頭」在不同的表示子空間學一種關係,再把發現拼起來。

多個頭平行表示子空間各學不同關係拼接+投影Transformer 核心

💡一句話定義

多頭注意力(Multi-Head Attention)= 把注意力機制平行做多份(多個頭),每個頭在不同的表示子空間用各自的 Q/K/V 學不同的關係,最後把各頭結果拼接、再線性投影合併。它是 Transformer 的核心元件。

👥為什麼要多頭?

單一注意力頻寬有限,只能學一種關注模式,像瞎子摸象——可能只抓到字面語意、卻漏掉語氣。多頭讓模型同時關注不同面向:一個頭看語法、一個看語意、一個看指代或不同距離的依賴,像「專家會診」,表達力遠比單頭豐富。

🎮互動:單頭 vs 多頭聽出「反諷」

切換兩種模式,看模型怎麼理解「你真聰明~」這句(拖長音的反諷)。單頭只聽懂字面、誤判成稱讚;多頭分別抓咬字、語速、語意,拼起來才聽出是嘲諷

Transformer:多頭注意力機制
從「瞎子摸象」到「專家會診」,看懂表示子空間的威力!
語音輸入 "你真聰明~" 單頭注意力 (嘗試一口氣抓所有特徵) 結果:顧此失彼 Head 1 (子空間) 專注:發音與聲學特徵 Head 2 (子空間) 專注:語速變化與情緒 Head 3 (子空間) 專注:語意脈絡 拼接 最終理解 只聽懂字面意思 誤判為「稱讚」

🔧一個頭實際在做什麼

重點:每個頭的 Q/K/V 是各自獨立的,不是重複同一份——這才讓不同頭能學到不同關係。

🔢頭數怎麼選?

通常把總維度平均切給各頭:例如 512 維分 8 頭、每頭 64 維。頭太多→每頭維度太小、學不到東西;頭太少→表達不足。實務常見 8 到 16 個頭。合起來的計算量和單頭相近,但表達力更強。

🆚單頭 vs 多頭

面向單頭注意力多頭注意力
關注模式只能學一種同時學多種(語法/語意/指代…)
Q/K/V一組每頭各一組獨立
表達力有限、易顧此失彼豐富、多面向
輸出直接輸出各頭串接後線性投影

自我檢測

Q1. 多頭注意力是什麼?為什麼比單頭好?
把注意力平行做多份,每頭在不同子空間用各自 Q/K/V 學不同關係,再合併。單頭只能學一種關注模式,多頭能同時關注多個面向、表達更豐富。
Q2. 一個頭實際流程?
各自把輸入投影成 Q/K/V → 在低維子空間算注意力 → 各頭輸出串接(Concat)→ 再線性投影回原維度。
Q3. 頭的數量怎麼選?
把總維度切給各頭(如 512 分 8 頭、各 64 維)。頭太多每頭維度太小、太少表達不足,常見 8~16 個。
Q4. 多頭和自注意力的關係?
多頭注意力是把自注意力(或跨注意力)做多份的版本。Transformer 編碼器用的就是多頭自注意力。

🎯重點整理

📝 iPAS 考點提醒

多頭注意力是 Transformer 的核心機制,iPAS 中級科目一考點。重點:把注意力拆成多組頭平行運算,各自關注不同面向(語法、語意、指代)再合併,表達力比單頭強。易混點:每個頭用各自的 Query、Key、Value,不是重複同一份;注意力本身不含順序,需配位置編碼。情境:理解 BERT、GPT 等如何同時捕捉多種詞間關係。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

多頭注意力(Multi-Head Attention)是什麼?

把注意力機制平行做多份(多個頭),每個頭在不同子空間學不同關係,再把結果合併,是 Transformer 的核心元件。

為什麼要多頭而非單一注意力?

單一注意力只能學一種關注模式;多頭讓模型同時關注不同面向(語法、語意、不同距離的依賴),表達更豐富。

每個頭在做什麼?

各自用獨立的 Q、K、V 投影,在較低維子空間計算注意力;最後把各頭輸出串接再線性投影回原維度。

頭的數量怎麼選?

總維度切分給各頭(如 512 維分 8 頭、各 64 維);頭太多每頭維度太小、太少表達不足,常見 8 到 16。

和自注意力的關係?

多頭注意力是把自注意力或跨注意力做多份的版本;Transformer 編碼器用的就是多頭自注意力。

🧭 相關主題

← 返回 AI 學習與考證地圖