iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0
AI & Data

30 天入門常見的機器學習演算法系列 第 27

(Day 27) 閘控循環單元 (Gated Recurrent Unit)

  • 分享至 

  • xImage
  •  

在前兩篇文章,我們分別介紹了 RNN (Recurrent Neural Network) 與 LSTM (Long Short-Term Memory)。RNN 為序列建模提供了基礎架構,但受限於梯度消失與爆炸問題,難以捕捉長距離依賴;LSTM 則透過引入 記憶單元 (Cell State) 與 門控機制 (Gating Mechanism),成功緩解了這一問題。

然而,LSTM 的設計相對複雜,每個時間步需要更新三個門 (遺忘門、輸入門、輸出門) 與一個記憶單元,計算成本高且參數量龐大。2014 年,Cho 等人在處理機器翻譯問題時提出了一種更簡化的替代方案——GRU (Gated Recurrent Unit)。

GRU 的核心思想是: 保留 LSTM 的核心優勢 (門控記憶機制),但去除冗餘設計,讓模型更輕量、更高效。

GRU 的設計動機

LSTM 雖然強大,但存在兩個痛點:

  • 參數多,訓練慢: 每個 LSTM 單元有三個門與一個記憶單元,計算開銷大。
  • 模型過於複雜: 在某些任務中,LSTM 的輸出門設計顯得多餘,因為輸出與記憶單元的分離未必必要。

GRU 將 LSTM 的「遺忘門」與「輸入門」合併為「更新門 (Update Gate)」,並去掉獨立的記憶單元,直接用隱藏狀態 $h_t$ 來承載資訊。這樣的設計大幅簡化了結構,同時保留了建模長距依賴的能力。

GRU 的結構直觀理解

可以用「筆記本」的比喻來理解:

  • 更新門: 決定要不要覆蓋舊的內容。
  • 重置門: 決定在寫新內容時,要不要忽略舊的資訊。
  • 隱藏狀態: 同時扮演了 LSTM 的「記憶單元」與「輸出」,簡化了設計。

因此,GRU 本質上是 LSTM 的精簡版,保留長期記憶能力,但運算量較小。

GRU 與 LSTM 的比較

特性 LSTM GRU
記憶單元 有獨立的 Cell State $C_t$ 無,僅用隱藏狀態 $h_t$
門的數量 三個門 (輸入、遺忘、輸出) 兩個門 (更新、重置)
參數量 較多 較少
訓練速度 較慢 較快
表現 適合複雜長序列 在多數任務上與 LSTM 相近
應用 NLP、翻譯、語音辨識 NLP、時間序列、邊緣運算

研究結果顯示,在許多應用中,GRU 與 LSTM 的表現非常接近,有時甚至更好;但在特別長的序列上,LSTM 仍可能優於 GRU。

GRU 的優點

  • 結構簡單,訓練更快
    • 門數少,參數更少,計算量更低。
  • 效果接近 LSTM
    • 多數 NLP 與語音任務中,GRU 與 LSTM 準確率相差不大。
  • 記憶力強於 RNN
    • 能有效捕捉長距依賴。

GRU 的缺點

  • 靈活性略低於 LSTM
    • 由於沒有獨立的記憶單元,對特別長的序列可能不如 LSTM 表現穩定。
  • 缺乏標準共識
    • 在某些任務上,研究者仍更偏好使用 LSTM 作為基準模型。

實務應用

  • 自然語言處理 (NLP)
    • 機器翻譯 (GRU Encoder-Decoder)
    • 聊天機器人
    • 文本情感分析
  • 語音任務
    • 語音辨識
    • 語音合成
  • 時間序列分析
    • 股價、天氣、IoT 感測器預測
  • 邊緣運算環境
    • 計算資源有限時,GRU 相較 LSTM 更高效。

GRU 在深度學習發展中的地位

GRU 的誕生可以看作是 RNN → LSTM 的進一步演化:

  • RNN: 基礎的序列建模,但梯度消失嚴重。
  • LSTM: 透過門控與記憶單元,解決長期依賴問題。
  • GRU: 在保留門控機制的同時,簡化結構、減少參數。

雖然近年來 Transformer 已經取代了 LSTM/GRU,成為 NLP 的主流,但在計算資源有限、序列長度中等的情境下,GRU 仍然是一個高性價比的選擇。

結語

GRU (Gated Recurrent Unit) 是 LSTM 的簡化版本,將遺忘門與輸入門合併為更新門,並移除了獨立的記憶單元,直接使用隱藏狀態 $h_t$ 來同時承擔「記憶」與「輸出」。

這樣的設計讓 GRU 在保有建模長距依賴能力的同時,參數更少、訓練更快,特別適合於 資源受限的應用場景。在大部分任務中,GRU 的表現與 LSTM 相差無幾,是一個實務上非常有吸引力的選擇。

然而,隨著 Transformer 的興起,LSTM 與 GRU 在 NLP 領域的應用逐漸退居次要地位。但在 時間序列預測、語音處理、邊緣設備 等任務中,GRU 依然有不可替代的價值。

下一篇,我們將延伸到 序列到序列 (Seq2Seq) 架構,看看如何將 LSTM 或 GRU 應用在機器翻譯等多對多的序列建模任務中。


上一篇
(Day 26) 長短期記憶網路 (Long Short-Term Memory)
下一篇
(Day 28) Seq2Seq (Encoder Decoder with RNN, LSTM, GRU)
系列文
30 天入門常見的機器學習演算法30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言