Lstm(循环神经网络)
算法模型Lstm(循環(huán)神經(jīng)網(wǎng)絡(luò)):
簡介
LSTM和RNN相似,它們都是在前向傳播的過程中處理流經(jīng)細(xì)胞的數(shù)據(jù),不同之處在于 LSTM 中細(xì)胞的結(jié)構(gòu)和運算有所變化。
LSTM結(jié)構(gòu):
遺忘門:
遺忘門的功能是決定應(yīng)丟棄或保留哪些信息。來自前一個隱藏狀態(tài)的信息和當(dāng)前輸入的信息同時傳遞到 sigmoid 函數(shù)中去,輸出值介于0和1之間,越接近0意味著越應(yīng)該丟棄,越接近 1 意味著越應(yīng)該保留。如圖遺忘門:
遺忘門圖
遺忘門的輸入信息,分別是ht-1,xt,從公式上我們可以看到是這兩個值與權(quán)重矩陣Wf相乘,我們可以理解為ht-1與xt的拼接,拼接以后再與Wf相乘,然后加上一個偏置bf,最后經(jīng)過一個激活函數(shù)sigmoid,使得線性變換變成非線性變換,此時ft的取值為(1,0),這個值決定了Ct-1的值是否被記憶或者遺忘,或者說記住多少,這就是這個遺忘門的作用。
輸入門:
輸入門用于更新細(xì)胞狀態(tài)。首先將前一層隱藏狀態(tài)的信息和當(dāng)前輸入的信息傳遞到 sigmoid 函數(shù)中去。將值調(diào)整到 0~1 之間來決定要更新哪些信息。0 表示不重要,1 表示重要。
其次還要將前一層隱藏狀態(tài)的信息和當(dāng)前輸入的信息傳遞到 tanh 函數(shù)中去,創(chuàng)造一個新的侯選值向量。最后將 sigmoid 的輸出值與 tanh 的輸出值相乘,sigmoid 的輸出值將決定 tanh 的輸出值中哪些信息是重要且需要保留下來的。
如圖輸入門:
輸入門圖
it和ft公式是一樣的,這就說明,it也具有遺忘的功能,比如,Ct-1在遇到ft的時候,ft決定保留Ct-1的記憶,則此時,it則決定著對Ct的遺忘能力,Ct是LSTM需要記憶的新的值
記憶單元:
如圖 記憶單元:
記憶單元圖
Ct-1遺忘剩余的部分,與新的要記憶的部分C~t相加,就是要輸出的Ct
輸出門:
輸出門用來確定下一個隱藏狀態(tài)的值,隱藏狀態(tài)包含了先前輸入的信息。首先,我們將前一個隱藏狀態(tài)和當(dāng)前輸入傳遞到sigmoid函數(shù)中,然后將新得到的細(xì)胞狀態(tài)傳遞給tanh函數(shù)。
最后將tanh的輸出與sigmoid的輸出相乘,以確定隱藏狀態(tài)應(yīng)攜帶的信息。再將隱藏狀態(tài)作為當(dāng)前細(xì)胞的輸出,把新的細(xì)胞狀態(tài)和新的隱藏狀態(tài)傳遞到下一個時間步長中去。
圖 輸出門:
輸出門圖
最后來到了輸出門,本次輸出的結(jié)果就從這個地方輸出,我們可以看到ht是由Ot與tanh(Ct) 相乘得來,也就是說本次需要多少為我所用的含義。
如圖6LSTM結(jié)構(gòu)圖:
LSTM結(jié)構(gòu)圖
總結(jié)
以上是生活随笔為你收集整理的Lstm(循环神经网络)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天翼网关安装php,AC双频光猫拆机:天
- 下一篇: matlab画线不同颜色_怎样画线框图才