---
title: "自注意力機制（Self-Attention Mechanism）"
slug: self-attention-mechanism
language: zh-TW
source: https://aiterms.tw/terms/self-attention-mechanism
updated_at: 2026-06-22
tags: [深度學習, 自然語言處理, 大型語言模型, 神經網路]
ipas_term: false
---

# 自注意力機制（Self-Attention Mechanism）

深度學習中根據序列內不同位置的相關性動態分配權重的機制，通過計算查詢（Query）、鍵（Key）、值（Value）的交互，使模型能關注序列中任意位置的信息，無視距離限制。

## 完整說明

自注意力機制是 Transformer 等現代模型的核心，用於捕捉序列內任意兩位置間的依賴關係。相比循環神經網路逐步處理序列，自注意力通過並行計算所有位置間的相關性得分，動態決定每個位置應該關注序列中哪些其他位置。每個位置的輸出是所有位置值（Value）的加權和，權重由該位置的查詢（Query）與其他位置的鍵（Key）決定。自注意力打破了距離限制，使長程依賴學習更容易，已成為自然語言處理、電腦視覺等領域的標準組件。

## 常見問題

### 為什麼自注意力需要位置編碼，不能直接用 token 順序？

自注意力通過 Query-Key 點積計算相似度，純粹基於特徵匹配，完全無視位置信息。如果不加位置編碼，模型對 [「貓」、「坐」、「墊子」] 和 [「墊子」、「坐」、「貓」] 會產生相同的計算結果（只是最後輸出順序不同）。這導致模型無法區分語序帶來的語義差異。位置編碼（通常是正弦/餘弦函數或可學習向量）被加到輸入表示中，使模型能感知位置信息，實現順序敏感性。

### 多頭注意力為什麼比單頭更好？多頭間是否會重複？

多頭注意力允許模型同時從多個表示子空間捕捉不同的依賴模式。例如，一頭可能學到「詞序」的注意力模式（相鄰詞高權重），另一頭學到「語義關聯」（同義詞高權重）。即使不同頭學到相似的模式，這種冗余具有正則化效應，提高訓練穩定性。實踐中，8-16 個頭是常見配置，超過此數通常邊際收益遞減。頭數太多反而增加計算成本而改進有限。

### 為什麼自注意力的時間複雜度是 O(n²)，能改進嗎？

n² 來自於計算所有位置對的相似度：Query 矩陣（n × d）與 Key 矩陣（d × n）的點積得到 n × n 的得分矩陣。在序列長度為 10K 時，這意味著 1 億個計算，成本巨大。改進方向包括：1) 稀疏注意力（Sparse Attention），只計算相關位置對，複雜度降至 O(n log n) 或 O(n)；2) 線性注意力近似，用特徵映射替代 softmax；3) 局部窗口注意力，只關注鄰近位置。但這些方法通常犧牲表達能力。長序列仍是自注意力的實際瓶頸。

---

來源：https://aiterms.tw/terms/self-attention-mechanism
快查頁：https://aiterms.tw/terms/self-attention-mechanism
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-self-attention-mechanism