概述
????????有了前面的簡單RNN后向傳播推導的鋪墊县钥,我們在來推導LSTM的后向傳播就有比較明確的思路了赘那;在宏觀上只是將RNN的循環(huán)單元換成LSTM的細胞帜讲。
? ? ? ? 雖然LSTM的公式看起來挺麻煩的脯爪,但是我們只要牢記鏈式法則:“復合函數(shù)的雅可比矩陣等于雅可比矩陣的復合”;并且像RNN中一樣昏翰,將“循環(huán)變量的遞歸梯度”小心地處理好即可浇辜。
? ? ? ? 其實再多看幾遍LSTM傳播公式,它們的形式幾乎一樣岖研,所以真的沒什么可怕的卿操。
LSTM前向傳播
????????這里我們仍然使用簡單RNN的后向傳播公式推導中的記號約定,并且我們仍然使用RNN后向傳播公式中的RNN結構孙援,只是將前兩行換成了如下新的6行害淤,后面的4行保持不變;即一個LSTM層加一個softmax分類層拓售。
LSTM后向傳播
????????由于后4行(網絡的第二層到損失函數(shù))與RNN推導中的一樣窥摄,后向傳播也一樣,我們直接從LSTM block開始础淤。一些求導結果也直接從RNN推導那邊借用過來崭放,不再詳述過程;激活函數(shù)求導從這里拿來用值骇;只是這里有個新的運算-“阿達瑪(Hadamard)乘積“莹菱,即”逐點相乘運算“移国。順便提一下吱瘩,下面所有的兩個向量相乘表示的就是阿達瑪乘積,這是記號的濫用而已迹缀。
令使碾,其中
均為長度相等的向量蜜徽,其定義為:
????????易知,其求導結果為:票摇,下面開始進入正題:
????????使用后向傳播的視角審視公式拘鞋,發(fā)現(xiàn)我們碰到的第一個問題是一個最重要的求導,即矢门;和RNN中的推導一樣盆色,由于涉及到循環(huán)鏈接,所以需要小心處理祟剔。先把整體公式擺出來:
????????為了搞清楚隔躲,先別著急,我們把前向傳播在t+1時刻的式子重新擺出來看看:
????????發(fā)現(xiàn)通過
分別直接影響著
物延,并且間接地影響著
宣旱,最終間接地影響著
;搞清楚函數(shù)的復合過程叛薯,我們可以開始求導了浑吟。
代入上面(1)式,就得到的表達式耗溜。并且當
時组力,第二項消失,有
抖拴,這是遞歸的起始步忿项。(注意,括號上的T表示矩陣轉置)
由于細胞態(tài)也存在循環(huán)結構城舞,因此同樣的思路再做一遍轩触;有了,這次就很簡單了:
和RNN求導中的情況一樣家夺,我們設輸出門中的預激活值為脱柱,所以有:
而,所以有:
TODO拉馋,類似的東西真是懶得寫
還有一些LSTM的變體榨为,例如在所有的控制門上加了peephole,后向傳播時不過是加了幾組參數(shù)煌茴。
參考:http://colah.github.io/posts/2015-08-Understanding-LSTMs/