搜尋意圖: 如果你在找「遺忘門 是什麼」或「遺忘門 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 長短期記憶網路(LSTM)的核心門機制,通過 sigmoid 激活函數產生 0-1 的控制信號,決定上一時步細胞狀態中有多少信息應被遺棄或保留,是解決梯度消失問題的關鍵元件。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
長短期記憶網路(LSTM)的核心門機制,通過 sigmoid 激活函數產生 0-1 的控制信號,決定上一時步細胞狀態中有多少信息應被遺棄或保留,是解決梯度消失問題的關鍵元件。
核心概念
遺忘門(Forget Gate)是 LSTM 最直觀卻也最深刻的創新。其名稱來自於它的主要功能:控制細胞狀態中應被遺棄的信息比例。這解決了傳統 RNN 的根本問題:梯度在反向傳播時通過多個時步積累,容易消失或爆炸。
遺忘門的數學形式為: f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
其中 f_t ∈ [0, 1]^n,σ 是 sigmoid 激活函數。細胞狀態更新為: C_t = f_t ⊙ C_{t-1} + i_t ⊙ c̃_t
⊙ 表示逐元素乘法(Hadamard product)。遺忘門的輸出直接與上一細胞狀態相乘,實現所謂的「加法型」梯度流,而非傳統 RNN 的乘法流。
運作原理
遺忘門在 LSTM 前向計算中的詳細步驟:
門值計算:將前一隱藏狀態 h_{t-1} 和當前輸入 x_t 連接,經線性變換和 sigmoid 激活,得到 f_t。sigmoid 的 S 形曲線將任意實數映射到 [0,1]。
選擇性遺忘:遺忘門的輸出與舊細胞狀態逐元素相乘。第 i 個維度的乘積為 f_t[i] × C_{t-1}[i],若 f_t[i] 接近 0,則該維度信息被大幅減弱;若接近 1,信息保留。
加法型梯度:反向傳播時,梯度通過 C_t = f_t ⊙ C_{t-1} 回傳。與傳統 RNN 的 h_t = f(h_{t-1}) 不同,這裡的連接是加法型,梯度流為 dL/dC_{t-1} = f_t · dL/dC_t,避免了乘法堆積導致的梯度消失。
時空多尺度:遺忘門可學習在不同時步選擇不同的遺忘率。短期依賴可設高遺忘率快速更新,長期依賴可設低遺忘率保留信息。
實際應用
遺忘門在各類序列任務中發揮核心作用:
機器翻譯:編碼器處理源語言長句子時,遺忘門幫助逐步淡化已處理的詞彙,同時保留語義核心。例如「A man walked down the street」中,動詞「walked」的信息被保留,早期冠詞逐步被遺忘。
語言建模與文本生成:遺忘門決定何時「翻篇」舊主題,何時繼續舊上下文。在長文本生成中,段落邊界處遺忘門值降低,新段落開始時遺忘門值提高。
對話系統:多輪對話中,遺忘門幫助模型在適當位置遺忘已解決的話題,專注於新問題。
時間序列預測:股票價格、天氣預報等數據中,遺忘門識別「季節轉折點」或「市場變化」,自動調整記憶保留程度。
語音識別:音頻幀序列中,遺忘門在音素邊界處快速更新,在音素內部保持穩定。
視頻分析:逐幀處理視頻時,場景變化時遺忘門值降低(遺棄舊場景),同場景內容時遺忘門值高(保留背景)。
常見誤區
對「遺忘」的誤解:遺忘門不是簡單地丟棄數據,而是通過加權削弱。即使遺忘門值為 0.1,也保留了 10% 的舊信息,這在某些微妙依賴中至關重要。
遺忘門與輸入門的職責混淆:遺忘門管理舊信息的去留,輸入門管理新信息的吸納。兩者必須協調:遺忘門保留有用舊信息,輸入門添加必要新信息。
過高初始化偏差的風險:LSTM 初始化時,遺忘門偏差通常設置較高值(如 +1),使初期大幅保留舊信息。若不知原由直接設為 0,模型會快速遺忘,導致無法學習長期依賴。
遺忘門能解決所有梯度問題的誤信:LSTM 顯著改善梯度消失,但在超長序列(>100 時步)或高複雜度任務中,梯度仍可能衰減,遺忘門無法完全解決。
與相關技術的比較
LSTM 遺忘門 vs GRU 重置門:GRU 用重置門(reset gate)和更新門(update gate)替代 LSTM 的三個門。重置門功能類似遺忘門但更激進,GRU 模型更簡潔,參數少 30%,訓練更快,但表達能力略低。
LSTM vs 標準 RNN:標準 RNN 隱狀態更新為 h_t = tanh(W·h_{t-1} + U·x_t),梯度反向傳播時通過連乘,容易消失。LSTM 的細胞狀態以加法更新,梯度流更穩定,可捕捉 100+ 時步的依賴。
遺忘門 vs 注意力機制:遺忘門是固定的時序管理機制,對每個時步應用統一的遺忘策略。注意力機制更靈活,根據當前查詢動態對所有過去時步加權,粒度更細,但計算成本更高。
加法梯度流 vs 乘法梯度流:LSTM 的加法梯度流(dL/dC_{t-1} = dL/dC_t + ...)本質上是跳躍連接(residual connection),使梯度能跨越多個時步。現代架構(Transformer)也利用跳躍連接實現類似的梯度穩定性。
常見問題
為什麼遺忘門偏差通常初始化為正值(如 +1),這會怎樣影響訓練初期?
遺忘門初始化為正偏差(如 +1)意味著在訓練初期,sigmoid(1 + ...) ≈ 0.73,遺忘門值較高,約保留 73% 的舊細胞狀態。這個設計幫助 LSTM 在訓練初期保留長期信息,避免信息立即遺失。如果偏差初始化為 0,遺忘門值約 0.5,信息更新更快,可能導致長期依賴無法建立。實踐中,這個初始化技巧對收斂速度有明顯幫助。
遺忘門值全是 0 或全是 1 分別代表什麼問題?
遺忘門全為 1 表示模型完全保留舊狀態,新信息無法更新細胞狀態,等效於沒有遺忘門的退化 RNN,無法學習動態變化。遺忘門全為 0 表示完全遺棄舊信息,無法建立長期依賴,即使短句也會信息丟失。理想情況下,遺忘門應根據序列內容動態變化。若訓練後遺忘門分佈不合理,通常指示數據質量差、超參數不當或過擬合。
遺忘門如何幫助 LSTM 解決梯度消失問題?
傳統 RNN 的梯度反向傳播為:dL/dh_{t-1} = dL/dh_t · ∂h_t/∂h_{t-1} = dL/dh_t · W^T · diag(tanh'(...),梯度必須通過權重矩陣的乘積逐時步回傳,會指數衰減(梯度消失)或爆炸。LSTM 的細胞狀態通過加法更新:C_t = f_t ⊙ C_{t-1} + i_t ⊙ c̃t,梯度回傳為 dL/dC{t-1} = dL/dC_t ⊙ f_t + dL/dC_t 的其他項,這是加法而非乘法。加法梯度流避免了長時間依賴的指數衰減,使梯度能流過 100+ 時步。