AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
34/100 第四週:📌 循環神經網路 RNN
34.門控循環單元 GRU ⛩ 輕量替代 LSTM 的智慧選擇!
____________________________________
✅ 問題背景:LSTM 雖強,但太重
雖然 LSTM 解決了 RNN 記憶力不足的問題,但它的三個門控 + 一個記憶單元讓結構變得非常複雜,訓練也更耗時。
📌 為此,Kyunghyun Cho 等人於2014 年提出了一種更簡單、更輕量的替代方案:GRU
________________________________________
🧠 GRU 是什麼?
GRU(Gated Recurrent Unit)是 LSTM 的簡化版本,僅使用兩個門控(重置門 + 更新門),
能達到與 LSTM 相近甚至更好的效果,但參數更少,訓練更快。
________________________________________
🧩 GRU 結構核心圖解:
xt ──┬──────────────────┐
│ ▼
[更新門 z_t] [重置門 r_t]
│ │
└─────┬────────────┘
▼
候選記憶 h~t(用 rt 控制)
最終隱藏狀態 ht = zt * h{t-1} + (1 - zt) * h~t
________________________________________
🔍 GRU 的兩個門控機制:
門控名稱 功能 公式簡述
更新門(zt) 決定保留多少舊記憶 zt=σ(Wz⋅[ht−1,xt])
重置門(rt) 決定忽略多少舊記憶以產生候選記憶 rt=σ(Wr⋅[ht−1,xt])
這兩個公式是 GRU(門控循環單元)中的核心機制,用於控制記憶的更新與遺忘。更新門(zt ) 控制當前時間步要保留多少前一時間步的隱藏狀態,決定資訊記憶的長期保存程度;而 重置門(rt) 則決定要忽略多少過去的狀態,以便產生新的候選記憶,幫助模型聚焦在當前輸入的重要性,。這兩道「門」讓 GRU 能夠有效處理長序列中的依賴關係,同時比 LSTM 結構更簡潔。
________________________________________
⚙️ 最終記憶更新公式:
ht=zt⋅ht−1+(1−zt)ht⋅
📌 zt 接近 1 → 保留舊記憶
📌 zt 接近 0 → 接納新資訊
________________________________________
📦 GRU 與 LSTM 對比:
LSTM 擁有三個門(遺忘門、輸入門、輸出門)和雙重記憶機制(隱藏狀態 h 與記憶單元 c),雖然計算較複雜、參數較多,但在處理長序列(如語音生成、長篇翻譯)時具有更強的記憶與控制能力。相對地,GRU 結構較簡潔,僅使用更新門與重置門,將記憶簡化為單一隱藏狀態 h,因此運算速度更快、參數更少,特別適合資源受限或對延遲敏感的場景,例如手機應用、即時回應或嵌入式裝置。兩者各有優勢,選擇時可依資料長度與應用需求權衡取捨。
________________________________________
⚙️ TensorFlow / Keras 實作 GRU:
python
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import GRU, Dense
model = Sequential([
GRU(128, input_shape=(100, 64)), # 100 時間步、64 維特徵
Dense(1, activation='sigmoid')
])
這段程式碼建立了一個以 GRU(門控循環單元)為核心的序列模型,用於處理具有時間依賴性的資料。輸入為長度 100 的時間序列,每個時間步有 64 維特徵;GRU(128) 表示使用 128 個單元來學習序列中的動態模式與記憶關係;接著接上一個 Dense 層並使用 sigmoid 激活函數輸出一個機率值,適用於二分類任務,如情感分析、趨勢預測或異常偵測等。GRU 結構簡潔、計算效率高,是 LSTM 的高效替代方案。
✅ 適用於:情感分析、時間序列預測、簡易語音辨識等
________________________________________
🧠 GRU 應用場景舉例:
領域 GRU 應用說明
手機語音輸入 即時語音轉文字,模型要快又準
股票走勢預測 幾天內的時間序列關係,GRU 足以處理
聊天機器人 應答速度需快,記憶中短句即可
小型裝置預測 運算資源有限,LSTM 太重,GRU 更適合
________________________________________
🎯 小結與啟示:
✅ GRU 是 LSTM 的「輕巧替身」,適合中等長度的序列問題
✅ 只有兩個門,但仍具備記憶控制與長期依賴學習能力
✅ 若資源有限、序列長度不過長,GRU 是首選!








