1. 程式人生 > >機器學習:深入理解 LSTM 網路 (一)

機器學習:深入理解 LSTM 網路 (一)

Recurrent Neural Network

Long Short Term Memory Networks (LSTMs) 最近獲得越來越多的關注,與傳統的前向神經網路 (feedforward network)不同,LSTM 可以對之前的輸入有選擇的記憶,從而有助於判斷當前的輸入, LSTM的這一特點在處理時序相關的輸入時,有著很大的優勢。

LSTM 由 Recurrent Neural Networks (RNN) 演化而來,所以在介紹LSTM之前,我們先來簡單瞭解一下RNN. 人類的思考不是每時每刻都會從頭開始,特別是在閱讀的時候,你對當前詞語的理解,於你之前閱讀的積累有關,換句話說,人類的思考有持續性。

在解決時序相關的輸入訊號時,傳統的神經網路無能為力,因為其直進直出的結構特性使其只能對當前的輸入做出處理,而無法利用之前的資訊。RNN的提出很好地解決了這個難題,RNN 與傳統的神經網路不同,RNN 是一個迴圈網路,可以很好的儲存資訊。

這裡寫圖片描述

上圖給出了一個 RNN 的網路結構,A 表示神經網路的一塊,Xt 表示當前的輸入,ht 表示當前的輸出,這個自迴圈的箭頭表示資訊可以從當前時刻傳遞到下一個時刻。

為了更加直觀的表示 RNN, 我們可以將上面的圖展開來,可以得到如下所示的圖:

這裡寫圖片描述

上圖表示RNN可以看成是同一個神經網路的多重複制,每一次都把當前的資訊傳遞到下一個。這種鏈式結構說明了RNN與時序訊號是緊密相連的,RNN 看起來似乎對處理時序訊號非常有效。確實如此,近些年,RNN 結構已經成功地應用於語音處理,文字翻譯,影象標註,語言模型等,這樣歸功於RNN中一種特別的網路結構,就是我們要重點介紹的LSTM。

The Problem of Long-Term Dependencies

RNN 結構的一個吸引人之處在於其可以利用之前的輸入資訊。但是一個關鍵的需要解決的問題是當前的資訊與之前的資訊的關聯度有長有短。有的時候,對於當前輸入輸入的資訊,我們只要利用最近的一段輸入資訊就可以做出判斷,但是有的時候,對於當前輸入的資訊,我們可能要之前輸入的更長的一段資訊才能做出判斷。下面兩個圖顯示了對於不同長度的資訊關聯度,RNN會有不同的結構:

這裡寫圖片描述

這個結構意味著,當前資訊與之前資訊的關聯度更短,只要最近的資訊就可以。

這裡寫圖片描述

這個結構意味著,當前資訊與之前資訊的關聯度要更長,需要更久遠的資訊才能做出判斷。

隨著,資訊關聯度越來越長,RNN 將變得無法去學習這些資訊之間的聯絡,從而完全失去作用,為了解決這個問題,所以提出了 LSTM 的結構。

我們要在下一篇裡詳細介紹LSTM 的結構。

參考來源: