長短期記憶網路 是什麼?

Long Short-Term Memory:長短期記憶網路 的完整解釋

長短期記憶網路是一種改良的循環神經網路,透過門控機制來克服傳統 RNN 在長序列中容易遺忘的缺陷

容易混淆

LSTM vs 一般循環神經網路 一般 RNN 容易忘記遠處資訊,LSTM 用門控機制把記憶保住。 一個記性短,一個記性長。

LSTM vs Transformer LSTM 靠序列一步步傳遞,Transformer 靠注意力一次看全局。 一個慢慢傳話,一個直接看重點。

最關鍵的區別: 差別在記憶保留方式和看全局的能力。

記住這句就好

想記很久,就要有門幫忙選記憶。

實際案例

語音辨識 語音前後文會影響字詞判斷,LSTM 過去常被用來吃長序列聲學特徵。

時間序列預測 像電力、銷量或股價這種連續時間資料,LSTM 能保留前面狀態對後面的影響。

算法與應用

LSTM 透過輸入門、遺忘門和輸出門控制資訊流,讓重要訊息留下來。 它比傳統 RNN 更能處理長距離依賴,但訓練和推論成本也比較高。 現在很多場景會改用 Transformer,但理解 LSTM 仍然很重要。

三個閘門各自在做什麼

LSTM 之所以能記住長距離的資訊,靠的是一條貫穿時間的細胞狀態(cell state)加上三個閘門。閘門的輸出都是 0 到 1 之間的數字,用乘法決定資訊通過多少。

閘門 英文 決定什麼
遺忘閘 forget gate 舊的細胞狀態要保留多少
輸入閘 input gate 新的候選資訊要寫入多少
輸出閘 output gate 細胞狀態要輸出多少給下一層

更新的順序是:先用遺忘閘決定丟掉什麼,再用輸入閘決定寫入什麼,兩者相加得到新的細胞狀態,最後用輸出閘決定對外呈現多少。

關鍵在細胞狀態這條路徑上主要是加法與逐元素乘法,沒有反覆的矩陣相乘。反向傳播時梯度沿著這條路傳遞不會快速衰減,這就是它解決梯度消失的方式,跟 ResNet 的捷徑連接是同一個道理。

LSTM、GRU、RNN 怎麼選

項目 簡單 RNN LSTM GRU
閘門數 0 3 2
狀態 1 個隱藏狀態 隱藏狀態加細胞狀態 只有隱藏狀態
參數量 最少 最多 約 LSTM 的四分之三
長距離依賴 很差

GRU 把遺忘閘與輸入閘合併成更新閘,並拿掉獨立的細胞狀態。參數較少、訓練較快,多數任務上表現與 LSTM 相當。實務建議是先試 GRU,資料量大且序列很長時再試 LSTM 看有沒有差別。

現在還需要學 LSTM 嗎

Transformer 在多數序列任務上已經取代 LSTM,主因是 LSTM 必須逐步計算、無法在時間維度上平行,訓練速度差很多。

但 LSTM 沒有消失,它在三種情況仍有優勢:

序列很長而運算資源有限時,它的成本與長度成線性,Transformer 成平方。

需要即時逐筆處理的串流場景,例如感測器監控、線上異常偵測,它天生就是一步一步走的。

資料量很小的時候,Transformer 需要的資料量通常比 LSTM 大得多。

另外,理解 LSTM 的閘門機制對理解後來的架構有幫助,狀態空間模型(Mamba)的選擇性機制本質上就是在做同一件事:決定什麼該記、什麼該忘。

情境判斷

Q1(直覺題): 如果模型需要記住很前面的資訊,該考慮哪種結構?

→ LSTM 很適合,因為它專門處理長距離依賴。

Q2(判斷題): 只要是序列資料,就一定要用 LSTM 嗎?

→ 不一定,現在很多任務也可以用 Transformer 或其他序列模型。

相關術語

常見問題

LSTM 和 RNN 差在哪裡?

LSTM 多了門控和記憶單元,能減少長序列資訊消失。

LSTM 還常被用嗎?

有,特別是在某些時間序列和資源有限的任務裡還很實用。

LSTM 為什麼比傳統 RNN 穩?

因為它能選擇性保留和丟棄資訊,不會全靠單一路徑傳遞。