大白话理解LSTM神经网络(附实例讲解)
前言
本文章為個人學習筆記整理,所學習的內(nèi)容來自b站up主@老弓的學習日記,附有實例講解。
?
歸類
長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。原始的RNN在訓練中,隨著訓練時間的加長以及網(wǎng)絡(luò)層數(shù)的增多,容易出現(xiàn)梯度爆炸或梯度消失的問題,導致無法處理較長序列數(shù)據(jù),從而無法獲取長距離數(shù)據(jù)的信息。為解決該問題,提出了它的改進方案,即LSTM神經(jīng)網(wǎng)絡(luò)。
?
設(shè)計思路
RNN神經(jīng)網(wǎng)絡(luò):記住所有信息,無論是有用的還是無用的。
LSTM神經(jīng)網(wǎng)絡(luò):選擇一個記憶細胞,對信息有選擇性地記憶。
LSTM的前向傳播
其中,?t為時刻,為記憶細胞,為狀態(tài),為輸入,為遺忘門,為更新門,為輸出門。
運算過程如下所示:
(注:公式中的與圖中tanh上方的一致)?
實例講解?
以上內(nèi)容看不懂沒關(guān)系,這里會用簡單的例子來講解,讓我們回到這個圖:
假設(shè)現(xiàn)在是期末考試周且你的腦容量有限,昨天你考完了高等數(shù)學,后天將考線性代數(shù),你的線性代數(shù)老師也為你貼心地劃好了考試重點。上文已經(jīng)提到過,RNN會記住所有的信息,無論是有用信息還是無用信息,即你復習了整本線性代數(shù)的書本,并將其內(nèi)容與上一門高等數(shù)學的內(nèi)容全部記憶了下來。而對于LSTM來說,你將遺忘大部分高等數(shù)學的內(nèi)容,而只保留基礎(chǔ)數(shù)學運算等通用內(nèi)容,并且只復習記憶線性代數(shù)書本中老師劃出的重點。
圖中的會生成一系列0-1之間的數(shù),如[0,1,0.7,0,0.3,1],對其賦權(quán)重后,進行選擇性遺忘。對應剛才的例子,此處為剛考完的高等數(shù)學,的處理結(jié)果為:遺忘大部分高等數(shù)學的知識,記憶能夠用到線代考試中的基礎(chǔ)數(shù)學運算等知識。
那么如何理解更新門呢?老師所劃出的重點并不會全部出現(xiàn)在試卷上,你可以在復習的過程中根據(jù)自己的理解,判斷哪些內(nèi)容可能考,哪些內(nèi)容肯定不考,由此再進行篩選過濾。這就是更新門的作用。
在LSTM的每個時間步里,都有一個記憶cell,給予LSTM選擇記憶的功能。
LSTM的反向傳播(能夠解決梯度消失問題的原因)?
通過調(diào)節(jié)、、?,可以靈活控制的值,當要從n時刻長期記憶某個東西直到m時刻時,該路徑上的,從而大大緩解了梯度消失。
(原up有這部分的具體公式推導,感興趣的小伙伴可以去看一下)
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的大白话理解LSTM神经网络(附实例讲解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL对一行多列求和
- 下一篇: solr原理详解