LSTM(Long Short-Term Memory)是一種特殊的循環神經網路(RNN),也就是昨天提到的RNN的變形,主要用來解決傳統RNN在處理長期依賴問題時遇到的梯度消失問題。
而LSTM最早由Hochreiter和Schmidhuber在1997年提出,並在之後的深度學習應用中獲得廣泛使用,特別是在自然語言處理、時間序列預測、語音識別等任務中。
前面說到,傳統的 RNN 模型在反向傳播中會面臨一個很嚴重的問題梯度消失
。隨著序列長度的增加,反向傳播過程中,梯度會逐漸消失,導致模型無法有效更新早期time step的權重,因此忽略長期依賴的關鍵訊息。
所以這時候就需要LSTM,LSTM他的解決方法就是引入了「記憶單元」(Cell State),這是一個可以長時間保留訊息的機制,並且透過Gating Mechanism(如遺忘門、輸入門和輸出門),來選擇性的更新和保留訊息,有效的避免梯度消失和梯度爆炸問題。
剛剛說到LSTM透過Gating Mechanism來選擇性的更新和保留訊息,有效的避免梯度消失和梯度爆炸問題,那這個厲害的Gating Mechanism到底是甚麼呢?
Gating Mechanism 是 LSTM(Long Short-Term Memory)和其他類型的循環神經網路(如 GRU)的核心結構,主要用於控制訊息在神經網路中的流動。
首先我們先來看看LSTM的記憶體單元的內部結構:
在這張圖片中,可以注意到Gating Mechanism由三個主要門組成:
遺忘門(Forget Gate):
輸入門(Input Gate):
輸出門(Output Gate):
偏移項(Bias Term) 是神經網路中的一個參數,用來調整輸入到神經元的加權和(weighted sum)
作用是讓模型的預測不會被強迫通過原點(即在輸入為零時,輸出也必須為零),增加模型的表現力。
再回到剛剛前面的圖片,我們就能知道記憶單元的內部結構,也能知道一個訊息如何在LSTM 單元中通過不同的門(Gating Mechanism)來處理。這種架構使 LSTM 能夠有效保留長期記憶,同時能夠動態處理短期依賴。
LSTM 之所以被廣泛使用,還因為它在許多現實應用中的表現非常優秀,特別是在需要捕捉長期依賴關係的任務中。例如:
今天介紹到這裡,我們知道了傳統RNN在長期依賴問題上出現的劣勢的解決方法LSTM,接下來的幾天又將開始我們的實作課程,明天我會透過介紹簡單的CNN操作來帶領大家更加深入了解深度學習其中的奧秘。