小白都理解的人工智慧系列(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螞蟻 不斷讀取文字資訊,前面的資訊都作為分線劇情給到主線,比如一道菜給到主線,美味給到主線......但是這些並非主要資訊,直到出現紅燒排骨,這個時候,忘記繼續進行更新,將主線更新為紅燒排骨即可,最後實現關鍵資訊的長期記憶!