比較長短期記憶模型 (LSTM) 與改良後的遞歸神經網路模型:GRU
論文出處:Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling
上一篇文章中,簡單介紹了遞歸神經網路 (RNN) 和長短期記憶模型 (LSTM) 的概念。LSTM 試著解決傳統 RNN 在長期記憶表現不好的問題,這篇文章則摘要一篇論文,介紹另一個新的改良後的 RNN 模型。
遞歸神經網路 (RNN) 不論是在研究或是實務上的應用,在解決一些問題例如語音轉文字或是翻譯上,都已經展現出相當好的效果。然而,卻沒有任何好的效果是透過簡單的 RNN 模型 (vanilla RNN) 所達成的,決大部分都會再改良其中的遞歸神經單元,其中最有名的,就是兩位德國科學家 Hochreiter 和 Schmidhuber 於 1997 年提出的長短期記憶模型 (LSTM)。
傳統的 RNN 在長時間的記憶表現並不好
在實作上,傳統的 RNN 很難捕捉到長期的記憶,數學上所產生的梯度消失的問題造成長時間的記憶會被短時間的記憶所隱藏。要解決這個問題,通常有兩個方向:
- 設計一個較好的梯度下降演算法
- 為神經單元中,設計較佳的激勵函數 (activation function)
長短期記憶模型 (LSTM) 都這篇論文選擇第二個方向來改善 RNN。LSTM 創新的地方在於,他在神經單元中加入了遺忘,更新,以及輸出三個步驟,進而大幅提高了其在長期記憶的表現。這些步驟如同下圖的紅色圓圈,他稱之為 “閥 (gate)”,透過數學函數來控制有多少的資料會被更新到單元狀態 (cell state) 中。單元狀態是最上方的水平線,連接所有的神經單元。
設計改良後的神經單元:Gated Recurrent Unit (GRU)
但 LSTM 也有個問題就是執行速度較慢,因此本篇論文的作者在 2014 年提出了 Gated Recurrent Unit,用來加快執行速度及減少記憶體的耗用。
GRU 則將 LSTM 中的遺忘閥 (forget gate) 與輸入閥 (input gate) 用一個更新閥 (update gate) 取代,並把單元狀態 (cell state) 和隱藏狀態 (ht) 進行合併,計算新資訊的方式和 LSTM 也有所不同。這部影片則用詳細的步驟來拆解 GRU,值得一看。
更快,更好的 GRU
最後,將三種方法 (傳統的 RNN,LSTM,以及 GRU) 各訓練大小類似的模型,並觀察他們在音樂和弦的辨認以及語言訊號的辨識上的表現。
上圖是各個模型在語言訊號辨識上的結果。可以發現 GRU 與 LSTM 不論在最後的結果,或是收斂速度上,表現都比傳統的 RNN (tanh,藍色的線圖) 來得好。但 LSTM 和 GRU 在不同的資料及和任務上雖然互有優劣,但差異不大,實務上要使用 LSTM 還是 GRU ,還需視視情況而定。
傳統的 RNN 大約在 1980 年代後期被提出,而 LSTM 是在 1997 年由兩位德國科學家 Hochreiter 和 Schmidhuber 提出,用來改善 RNN 於長期記憶上表現不佳的問題,之後就開始有各種變形的 LSTM 相繼出現。本文中的 GRU 則是在 2014 年由韓國科學家 Kyunghyun Cho 在加拿大蒙特羅大學於 Yoshua Bengio 實驗室做博士後研究時所發表。Kyunghyun Cho 目前是 NYU 的助理教授。