第二部:《深度學習》37/100 教師強制與注意力機制 🎯 引導模型專注重要資訊!

更新 發佈閱讀 7 分鐘

AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》

37/100 第四週:📌 循環神經網路 RNN

37.教師強制與注意力機制 🎯 引導模型專注重要資訊!

______________________________________________

✅ 問題導入:RNN 有兩大訓練困難

1️⃣ 錯誤累積問題(Error Accumulation)

在訓練時,Decoder 若每步都用自己預測結果作下一步輸入,初期錯一個字,後面全錯!

2️⃣ 記憶瓶頸問題(Bottleneck)

Seq2Seq 模型將整句話壓成一個上下文向量 c,但如果輸入太長 → 容易「壓縮失真」!

________________________________________

🧪 教師強制(Teacher Forcing)

在訓練 Decoder 時,不使用模型預測的輸出來做下一步輸入,

而是直接餵給它正確答案(ground truth),加快訓練與穩定收斂。

🧠 為什麼這樣比較好?

減少早期預測錯誤對整體序列產生雪崩效應

提升訓練速度與準確度

但測試時還是得「靠自己走」

________________________________________

⚠️ 缺點與解法?

問題 說明

訓練測試不一致問題 訓練時看到真實答案,測試卻沒得看

解法:Scheduled Sampling 隨訓練進度逐步改用模型預測作為輸入

________________________________________

🎯 注意力機制(Attention)

模型是否應該一視同仁對待輸入序列中所有字詞?

當然不是!有些詞比較關鍵,就該注意力集中。

📌 Attention 能讓 Decoder 在每個時間步動態「看」Encoder 的不同部分。

________________________________________

🔍 Attention 的核心概念:

每個 Decoder 步驟都會:

1. 對 Encoder 所有輸出計算相似度(注意力分數)

2. 用 Softmax 得到「哪幾個字該關注多少」

3. 加權平均得到 新的上下文向量 context_t

________________________________________

🧠 注意力公式簡化(Bahdanau Attention):

在傳統的 Seq2Seq 模型中,整個輸入句子會被壓縮成一個「上下文向量」再交給解碼器,但如果輸入句子太長,重要資訊可能會被壓縮掉,造成翻譯不準。為了解決這個問題,注意力機制就登場了!

🔍 Bahdanau 注意力的三個步驟:

1️⃣ 對每個輸入單字「打分」

解碼器在每一個時間點都會去看整個輸入句子。

它會對輸入句子的每個單字做「打分」,決定哪些單字跟目前要產生的詞有關聯。

例如:當解碼器要產生「狗」這個字時,會特別注意 "dogs" 這個詞。

2️⃣ 將分數轉成權重(像分配注意力的比例)

打完分後,把這些分數轉成像「注意力比例」的東西。

比如:「dogs」得分最高,所以它可能會被分配最多的注意力。

3️⃣ 根據注意力權重,從輸入中「抽取重要資訊」

解碼器依據這些注意力比例,從輸入句子中「挑出」最重要的資訊來參考。

最後再結合這些資訊來產生對應的翻譯詞。

✅ 簡單比喻:

想像你在開會做筆記,每次寫下一句話前,你會快速回顧全場發言,然後根據目前想寫的內容,把最重要的幾句話挑出來參考——這就是注意力機制的原理!

________________________________________

📦 TensorFlow / Keras 實作簡要(基礎版)

python

from tensorflow.keras.layers import Attention

attention = Attention() # Keras 提供簡化版

context_vector = attention([decoder_query, encoder_outputs])

這段程式碼使用 Keras 提供的 Attention 層,實作一個簡化版的注意力機制。它的核心功能是:根據 Decoder 當前時間步的狀態 decoder_query,去「對齊」Encoder 輸出的所有時間步 encoder_outputs,計算出一個加權總結的語意向量(context_vector)。這個向量代表 Decoder 在產生當前詞時,最該「關注」輸入序列中的哪些部分。這種做法讓模型能根據不同輸出動態選擇輸入資訊,是改善翻譯與生成效果的關鍵機制。

________________________________________

📊 注意力帶來的效益:

效益 說明

✅ 強化長序列能力 模型不再被「一個壓縮向量」限制

✅ 解釋性強 可視化注意力權重,看到模型「看哪裡」

✅ 提升準確率 特別是在翻譯、摘要、QA 等任務中

________________________________________

📘 Attention 應用場景:

任務 說明

語言翻譯 注意力可對齊字對字對應位置

摘要生成 聚焦重點段落與關鍵詞

視覺問答(VQA) 對齊問題與圖像的對應區域

Transformer(預告) 全模型皆由 Attention 構成!

________________________________________

🎯 小結與啟示:

✅ 教師強制能幫助模型學得更快更準,但測試需注意落差

✅ 注意力機制突破 Seq2Seq 的記憶限制,是語言處理的革命

✅ 是通往 Transformer 與 GPT 系列的關鍵中繼站!


留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
17會員
510內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/09
Seq2Seq 模型透過編碼器將輸入序列轉換為隱含表示,再由解碼器生成輸出序列,能處理輸入與輸出長度不一致的任務,廣泛應用於語言翻譯、文本摘要、問答系統與語音轉文字等領域。
2025/09/09
Seq2Seq 模型透過編碼器將輸入序列轉換為隱含表示,再由解碼器生成輸出序列,能處理輸入與輸出長度不一致的任務,廣泛應用於語言翻譯、文本摘要、問答系統與語音轉文字等領域。
2025/09/09
在處理序列資料時,單層 RNN 難以捕捉複雜語境,多層 RNN 透過堆疊多層結構,可提取更深層次的序列特徵,適合長文本摘要與 seq2seq 任務。而雙向 RNN 則同時考慮前後文資訊,使模型能更完整理解語境,在情感分析、命名實體辨識與語音辨識中表現突出,成為提升自然語言處理與語音應用的重要方法。
2025/09/09
在處理序列資料時,單層 RNN 難以捕捉複雜語境,多層 RNN 透過堆疊多層結構,可提取更深層次的序列特徵,適合長文本摘要與 seq2seq 任務。而雙向 RNN 則同時考慮前後文資訊,使模型能更完整理解語境,在情感分析、命名實體辨識與語音辨識中表現突出,成為提升自然語言處理與語音應用的重要方法。
2025/09/09
RNN 雖能處理序列資料,但長期依賴問題嚴重,LSTM 雖解決卻結構複雜、計算量大。為兼顧效能與效率,GRU 應運而生,以更少的門控設計與輕量化結構,在保持長期記憶能力的同時降低計算成本,特別適合資源有限或需快速回應的應用場景。
2025/09/09
RNN 雖能處理序列資料,但長期依賴問題嚴重,LSTM 雖解決卻結構複雜、計算量大。為兼顧效能與效率,GRU 應運而生,以更少的門控設計與輕量化結構,在保持長期記憶能力的同時降低計算成本,特別適合資源有限或需快速回應的應用場景。
看更多
你可能也想看
Thumbnail
嗨~我是夢夢 ♡ 每年到這個時候,我都會默默開始列購物清單 畢竟「蝦皮雙11」真的太好買啦 🛒✨ 這次就想跟大家分享幾樣我自己平常有在用、也準備趁雙11補貨的好物, 順便聊聊我最近開始玩的「蝦皮分潤計畫」,怎麼讓分享變成小小被動收入 💰
Thumbnail
嗨~我是夢夢 ♡ 每年到這個時候,我都會默默開始列購物清單 畢竟「蝦皮雙11」真的太好買啦 🛒✨ 這次就想跟大家分享幾樣我自己平常有在用、也準備趁雙11補貨的好物, 順便聊聊我最近開始玩的「蝦皮分潤計畫」,怎麼讓分享變成小小被動收入 💰
Thumbnail
分享如何透過蝦皮解決毛孩(多芬)因換季和食物引發的皮膚過敏問題,從選用單一蛋白質的火雞肉主食,到利用寵物防舔衣舒緩傷口,並結合蝦皮雙11購物節的優惠資訊與蝦皮分潤計畫的實用教學。
Thumbnail
分享如何透過蝦皮解決毛孩(多芬)因換季和食物引發的皮膚過敏問題,從選用單一蛋白質的火雞肉主食,到利用寵物防舔衣舒緩傷口,並結合蝦皮雙11購物節的優惠資訊與蝦皮分潤計畫的實用教學。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 129 中說,Bidirectional Encoder Representations from Transformers (BER
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 129 中說,Bidirectional Encoder Representations from Transformers (BER
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 仔細看 AI說書 - 從0開始 - 66 中,Decoder 的 Multi-Head Attention 框框,會發現有一條線空接,其實它是有意義的,之所以空接,是因
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 仔細看 AI說書 - 從0開始 - 66 中,Decoder 的 Multi-Head Attention 框框,會發現有一條線空接,其實它是有意義的,之所以空接,是因
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 52 中,我們已經解析完 Attention 機制如何運作的,以下延伸至 Multi-Head Attention: Head 1
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 52 中,我們已經解析完 Attention 機制如何運作的,以下延伸至 Multi-Head Attention: Head 1
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
Thumbnail
感知器是一種基本的神經網路模型,用於二分類問題。它模擬了人腦神經元的工作原理,通過調整權重和偏差值來達到預測和分類的目的。 感知器流程 輸入 資料的輸入: 輸入層接受資料的輸入,每個輸入對應一個特徵,還有一個固定的偏差神經元。 資料經過每個神經元時,會乘上相應的
Thumbnail
感知器是一種基本的神經網路模型,用於二分類問題。它模擬了人腦神經元的工作原理,通過調整權重和偏差值來達到預測和分類的目的。 感知器流程 輸入 資料的輸入: 輸入層接受資料的輸入,每個輸入對應一個特徵,還有一個固定的偏差神經元。 資料經過每個神經元時,會乘上相應的
Thumbnail
本文介紹了self-attention在處理不固定大小輸入值時的應用,並討論瞭如何計算self-attention以及transformer中的multi-head self-attention。此外,文章還探討了在語音辨識和圖片處理中使用self-attention的方法,以及與CNN的比較。
Thumbnail
本文介紹了self-attention在處理不固定大小輸入值時的應用,並討論瞭如何計算self-attention以及transformer中的multi-head self-attention。此外,文章還探討了在語音辨識和圖片處理中使用self-attention的方法,以及與CNN的比較。
Thumbnail
這一節課說明,如何透過改變給模型的指示或咒語(prompt),來得到不同的結果 。如果直接說結論的話會是,在今天語言模型的能力之下,我們只要交代清楚任務就好,可以包括背景以及需求。而這節課很像是一堂模型咒語的歷史課 XD
Thumbnail
這一節課說明,如何透過改變給模型的指示或咒語(prompt),來得到不同的結果 。如果直接說結論的話會是,在今天語言模型的能力之下,我們只要交代清楚任務就好,可以包括背景以及需求。而這節課很像是一堂模型咒語的歷史課 XD
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News