AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
53/100 第六週:📌 轉換器架構與注意力機制(Transformers & Attention)🔍
53.Self-Attention 自我注意力機制 🧠 一句話內的詞也能彼此互相理解!
一、什麼是 Self-Attention?
Self-Attention(自我注意力)是 Transformer 中最關鍵的機制之一,它允許句子中的每個詞根據與其他詞的關聯,自主調整自己的表示方式。與傳統序列模型不同,Self-Attention 不受限於固定順序,而是一次性計算出所有詞之間的關係,使模型能捕捉到語句中的長距依賴與語意關係。
________________________________________
二、舉例說明
假設句子為:「貓追老鼠」
• 「貓」會去注意「追」與「老鼠」來了解自己在句中的角色
• 「老鼠」則會關注「貓」與「追」,理解句子的語意邏輯
• 經過 Self-Attention,每個詞都重新獲得語意強化的向量,具備上下文的理解力
________________________________________
✅ 案例一:翻譯系統(Google 翻譯 / DeepL)
📘 場景:翻譯句子「She gave her dog a bath」
👀 挑戰:在某些語言(如德語)中,詞序不同且需理解「her」是指主詞「she」還是別人。
🎯 Self-Attention 解法:
• 「her」的 Query 會對「she」做出高權重的 Attention
• 模型判斷「her」與「she」是同一人,翻譯成「她給自己的狗洗澡」而不是「她給她的(別人)狗洗澡」
💡 價值:增強語境理解、消除歧義,提高翻譯準確性。
________________________________________
✅ 案例二:對話系統(ChatGPT、Siri、客服 AI)
📘 場景:使用者說:「我想訂機票,然後去東京住三天。」
🧠 挑戰:系統要記得「訂機票」與「東京」、「三天」的關係,不可錯配時間或地點。
🎯 Self-Attention 解法:
• Attention 讓「三天」強烈關聯到「東京」而非「機票」
• 系統生成語句如:「幫您查找飛往東京的機票,以及三天的住宿資訊」
💡 價值:提升對多輪對話的理解與回應品質,支撐更自然的語言互動。
________________________________________
✅ 案例三:圖像字幕生成(Image Captioning)
📘 場景:輸入圖片為「一隻狗在草地上追球」
🎯 應用方式:
• 圖像由 CNN 或 Vision Transformer 轉為 patch 向量序列
• Text Decoder 使用 Self-Attention 理解上下文詞彙
• 當模型生成「狗在追...」,它會用 Attention 決定「球」是最合理的下一詞
💡 價值:Self-Attention 使文字描述語意連貫,能根據圖像與語句歷史精準補詞。
______________________________________
四、Self-Attention 的優點
✅ 可並行處理,計算速度快(不同於 RNN)
✅ 捕捉長距離關聯,不受位置限制
✅ 每個詞都能看見全句資訊,提高語意理解
✅ 可應用於文字、圖像、語音等多模態資料
________________________________________
五、延伸討論
📌 如果沒有引入位置編碼,Transformer 就無法知道詞序關係,因此 Self-Attention + Positional Encoding 是理解語意的黃金組合。
📌 Self-Attention 並非只在語言上有效,ViT(Vision Transformer)就將其成功應用於圖像分類,展現跨領域潛力。
________________________________________
🎯 小挑戰任務
1. 用自己的話解釋為何每個詞都要同時擔任 Q、K、V?
ANS:
因為 Self-Attention 的目的是讓每個詞都能「主動」去理解其他詞對自己有多重要。
它當 Query(Q) 是為了「提問」:我該注意誰?
它當 Key(K) 是為了「被提問」:你對我有多相關?
它當 Value(V) 是為了「提供訊息」:我要給你什麼語意?
👉 每個詞同時擔任 Q、K、V,能讓資訊雙向流通、語意更靈活,實現真正的上下文理解。
2. 試想一個例子,哪些詞在一句話中會產生強 Attention?
ANS:
句子例子:「雖然他很累,但他還是完成了報告。」
「他」與另一個「他」會產生強 Attention,因為它們是同一個主詞的指涉
「完成」與「報告」也會產生強 Attention,因為是動作與受詞的語意對應
📌 這些關聯有助模型了解句子邏輯與角色對應,避免誤解語意。
3. 你覺得 Self-Attention 能否取代 RNN?為什麼?
ANS:
在大多數 NLP 任務中,Self-Attention 可以取代 RNN,並表現更佳。
✅ 它能一次性看到整個句子,有效處理長距依賴問題
✅ 支援並行計算,比 RNN 快速許多
✅ 訓練更穩定、記憶更靈活
但在某些強調時間序列邏輯或資源受限的應用中,RNN 仍有其價值。
🎯 結論:Self-Attention 多數情況下能取代 RNN,但仍需依任務選擇。