長短期記憶網路(LSTM)
/ el-es-tee-EM /
LSTM 是「長短期記憶」(long short-term memory)的縮寫,是一種更聰明的循環網路,專為修補樸素 RNN 的健忘而造。基礎 RNN 把記憶全塞進一張便箋,每一步都被覆寫,於是早先的東西很快沖淡。LSTM 則另設了一條受保護的記憶線——「細胞狀態」——資訊幾乎可以原封不動地搭著它一路前行,像一條貫穿整個序列的輸送帶,只在被吩咐時才上貨、下貨。
負責吩咐的,是一組叫作「門」的小閥門,每一個都是一個微型的、可學習的控制器,輸出一個介於 0(完全關閉)到 1(完全打開)之間的數。遺忘門決定抹掉哪些舊記憶;輸入門決定哪些新資訊值得存入;輸出門決定當前這一步要把記憶透露多少。正因為這些門可以選擇「別動那條細胞狀態」,在第三個詞上學到的事實,能原封不動地活到第三百個詞——而且關鍵在於,訓練時的誤差信號也能沿這條受保護的線一路回傳而不褪去,從而繞開了那個曾讓樸素 RNN 癱瘓的「梯度消失」陷阱。
從二十世紀九十年代末,直到 2017 年前後 Transformer 崛起,LSTM 一直是序列學習的主力,撐起了整整一代的機器翻譯、語音辨識和文字預測。它並非魔法:門控機制更難訓練,它仍是一次只讀一步(所以在長輸入上很慢,也難以並行),而 Transformer 已在最大的語言模型上把它超越。但對於規模不大的有序資料——感測器流、時間序列、裝置端任務——LSTM 至今仍是一個穩妥而高效的選擇。
讀「櫥櫃的鑰匙們在桌上」時,LSTM 能把「鑰匙們」(複數)存到那條受保護的細胞狀態上,跨過中間的詞一直保留,於是正確地選出「在(複數)」而非「在(單數)」——這種遠距離的一致關係,樸素 RNN 常常會搞砸。
門控讓一個關鍵事實搭著記憶線,原封不動地跨過許多詞。
「長短期」這個名字不是寫錯了:它指的是一種能把「短期資訊」保留「很長時間」的記憶。細胞狀態是那條受保護的高速公路;門則是決定什麼上車、留下或下車的匝道。