1. 程式人生 > >小白都理解的人工智慧系列(5)—— 長短期迴圈神經網路LSTM RNN NO4

小白都理解的人工智慧系列(5)—— 長短期迴圈神經網路LSTM RNN NO4

問題1:什麼是LSTM RNN?

LSTM(Long Short-Term Memory)——意思是長短期記憶,LSTM RNN即長短期記憶迴圈神經網路。

問題2:傳統RNN有什麼弊端?

傳統的迴圈神經網路(RNN)是有弊端的——無法進行長久記憶!

我們知道,迴圈神經網路是需要有記憶功能的。之前說到的都是短期記憶,為什麼RNN無法進行長久記憶呢?看下圖:

加入這句話中間省略了5000字,如果要理解X的輸入,我們應該輸出的是紅燒排骨這道菜,但是紅燒排骨這個關鍵資訊是在這麼長句子的最開頭......


傳統的RNN通過處理這麼長的資訊,很容易出現以下兩個問題:

舉個栗子,Alpha螞蟻每次只能處理3個字,每次往前處理資訊都要乘以1個大於或小於1的引數(統一的大於或小於),按照這個思路,就會出現以下兩個問題——

比如最後三個字是“出鍋了”,要追溯到“紅燒排骨”,假如出鍋了”是19.9,結果就是19.9*0.8*0.7*0.67......*0.2當乘以很多次之後,結果到了“紅燒排骨”引數就接近於0了,這種稱為梯度消失現象!再比如,19.9*1.01*1.12*......*1.32當乘以很多次之後,結果到了“紅燒排骨”引數就接近於無窮大了,這種稱為梯度爆炸現象

存在梯度消失現象(或者梯度彌散);


梯度爆炸現象;


LSTM RNN為了解決這些弊端而生。

問題3:LSTM RNN如何解決傳統RNN的弊端的?

長短期記憶的迴圈神經網路,有兩條線,一條主線,一條分線,一個忘記控制,一個輸入,一個輸出;主要通過忘記進行相關不重要資訊的更新,把重要的資訊替換到主線不重要的資訊上去,這樣就能時刻更新主線的關鍵資訊,最後,輸出端讀取的是主線的資訊!


舉個栗子:隨著Alpha螞蟻 不斷讀取文字資訊,前面的資訊都作為分線劇情給到主線,比如一道菜給到主線,美味給到主線......但是這些並非主要資訊,直到出現紅燒排骨,這個時候,忘記繼續進行更新,將主線更新為紅燒排骨即可,最後實現關鍵資訊的長期記憶!