Techapple.com
技術詳解AI時代

甚麼是 Attention Mechanism(注意力機制)?改寫 AI 歷史的 Transformer 核心技術詳解

如果你用過 ChatGPT、Claude 或 Google Gemini,你已經親身體驗過 Attention Mechanism 的威力。它是當今所有大型語言模型的核心技術,亦是 2017 年那篇經典論文〈Attention Is All You Need〉所提出的 Transformer 架構的中樞。本文將從直觀比喻入手,一步步拆解注意力機制的運作原理。

一句話理解:AI 如何「選擇性閱讀」

試想像你正在閱讀一段長文字。當你讀到「她把咖啡放在桌上,然後拿起書本」時,你的大腦會自動將「她」與前面出現的人物聯繫起來,而不是漫無目的地掃描整篇文章。這就是人類的「注意力」:在眾多資訊中,聚焦在最相關的部分。

注意力機制正是模擬這個過程。它讓 AI 模型在處理每一個詞語時,能夠同時「回望」整段文字,找出與當前詞語最相關的其他詞語,並根據相關性高低賦予不同的權重。換句話說,AI 學會了在閱讀時「劃重點」。

注意力機制的數學直覺:Query、Key、Value

在技術層面,注意力機制基於三個核心概念:Query(查詢)、Key(鍵)和 Value(值)。這個架構借鑒了資料庫檢索系統的設計理念。

試想像你在圖書館檢索系統中輸入關鍵字(Query),系統將其與資料庫中的索引(Key)進行匹配,並返回最相關的書籍內容(Value)。注意力機制以類似方式運作:每一個詞的 Query 與整段文字中所有詞的 Key 進行相似度計算,得出一個注意力分數,然後根據這些分數加權匯總所有詞的 Value,作為當前詞的「上下文理解」。

這個過程在數學上使用點積(dot product)和 Softmax 函數來實現。點積用於衡量兩個向量之間的相似度,Softmax 則將分數轉換為機率分佈,確保所有注意力權重加起來等於一。

Self-Attention:讓詞語互相「交流」

現代 Transformer 模型使用的是自注意力(Self-Attention),也就是說 Query、Key 和 Value 全部來自同一段輸入文字。這使得每個詞都能與句子中所有其他詞建立直接的聯繫,無論它們之間距離多遠。

在自注意力出現之前,序列模型(如 RNN 和 LSTM)需要按順序處理詞語,距離較遠的詞之間的關係往往被「遺忘」。自注意力完全打破了這個限制:第一個詞和第一千個詞可以直接計算相關性,中間沒有資訊衰減。

以一句中英混合的例子來說明:「The cat sat on the mat because it was tired」。自注意力機制能幫模型判斷 “it” 指的是 “cat” 還是 “mat”。它為 “cat” 賦予更高的注意力權重,因為從語義上來說貓比墊子更有可能是「疲倦」的主體。

Multi-Head Attention:多角度同時觀察

單一注意力頭只能捕捉一種關係模式。為了讓模型從多個角度理解文字,Transformer 使用了多頭注意力(Multi-Head Attention)。

想像一個翻譯場景。當翻譯「我昨天在餐廳吃了一碗很好吃的拉麵」時,不同的注意力頭可能分別關注:語法結構(主謂賓)、時間關係(昨天)、地點(餐廳)、形容詞與名詞的搭配(很好吃 + 拉麵)。將這些不同角度的理解合併起來,就能得到一個更豐富、更全面的語義表示。

標準的 Transformer 模型通常配置 8 到 16 個注意力頭,每個頭獨立計算注意力,最後將結果拼接在一起。這也是為什麼大型語言模型需要大量計算資源的原因之一。

從注意力機制到大型語言模型

注意力機制之所以具革命性,不僅在於它提高了翻譯和文本生成的品質,更在於它帶來了極佳的並行計算能力。由於每個詞的注意力計算彼此獨立,整個序列可以同時處理,而不需要像 RNN 那樣等待前一個詞處理完畢。

這直接催生了 GPT、BERT、Claude、Gemini 等一系列大規模語言模型。注意力機制的並行性使得在數千顆 GPU 上同時訓練包含數萬億參數的模型成為可能。

常見問題 FAQ

注意力機制和 Transformer 有甚麼關係?

注意力機制是 Transformer 架構的其中一個核心組件(另一個是前饋神經網絡)。Transformer 由多層堆疊的注意力層和前饋層組成,注意力機制負責處理詞語之間的關係,前饋層負責進行非線性轉換。2017 年的論文〈Attention Is All You Need〉提出完全基於注意力機制的 Transformer,徹底拋棄了當時主流使用的 RNN 和 LSTM。

注意力機制和人類的注意力有甚麼不同?

人類的注意力是選擇性的、有限的。我們一次只能專注在少數幾件事物上。AI 的注意力機制則可以同時「注意」到序列中的所有詞語,只是對不同詞語賦予不同的權重。這更像是一種「加權匯總」而非真正的「選擇性忽略」。此外,人類注意力受到疲勞、情緒等因素影響,AI 則沒有這些限制。

為甚麼注意力機制的計算成本這麼高?

自注意力的計算複雜度是 O(n²),其中 n 是輸入序列的長度。換句話說,處理 1000 個詞所需的計算量是處理 100 個詞的 100 倍。這也是為甚麼長文本處理(如 Claude 的 200K tokens 上下文窗口)需要大量記憶體和計算力。研究人員正在探索各種降低注意力計算成本的方法,包括稀疏注意力(Sparse Attention)和線性注意力(Linear Attention)等技術。

注意力權重可以視覺化嗎?

可以。許多研究工具(如 BertViz 和 TransformerLens)可以將注意力權重以熱圖(heatmap)的形式呈現出來。透過可視化,你可以直觀地看到模型在生成每個詞時「參考」了哪些上文詞語。這對於除錯和理解模型行為非常有價值。

有沒有不使用注意力機制的 AI 模型?

有。雖然注意力機制是目前主流,但部分新興架構正嘗試替代方案。例如 Mamba 模型使用的狀態空間模型(State Space Model,SSM)在某些場景下可達到與注意力機制相當的效果,同時具有更低的計算複雜度。此外,Liquid AI 提出的非 Transformer 架構也值得關注。不過,在可預見的未來,注意力機制仍將是主流 AI 模型的核心技術。

資料來源:Attention Is All You Need (Vaswani et al., 2017) · The Illustrated Transformer (Jay Alammar)

Shadow (TechApple.com 編輯)

擁有超過10年線上內容經營經驗,參予大量科技推廣活動,熱心於和大家分享最新科技資訊。 電郵:editor@techapple.com