LSTM計(jì)算分析
普通的RNN,中間循環(huán)的就是一個(gè)tanh激活函數(shù)

LSTM也具有這種鏈?zhǔn)浇Y(jié)構(gòu),但重復(fù)模塊具有不同的結(jié)構(gòu)。有四個(gè)神經(jīng)網(wǎng)絡(luò)層,它們以一種非常特殊的方式相互作用,而不是只有一個(gè)單獨(dú)的神經(jīng)網(wǎng)絡(luò)層。
LSTM (Long Short-Term Memory)也稱長(zhǎng)短時(shí)記憶結(jié)構(gòu),它是傳統(tǒng)RNN的變體,與經(jīng)典RNN相比能夠有效捕捉長(zhǎng)序列之間的語(yǔ)義關(guān)聯(lián)緩解梯度消失或爆炸現(xiàn)象.
核心結(jié)構(gòu)可以分為四個(gè)部分:
- 遺忘門 (forget gate),它決定了上一時(shí)刻的單元狀態(tài)ct-1有多少保留到當(dāng)前時(shí)刻;
- 輸入門 (input gate),它決定了當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入c’t有多少保存到新的單元狀態(tài)ct中。
- 細(xì)胞狀態(tài)
- 輸出門 (output gate),它利用當(dāng)前時(shí)刻單元狀態(tài)cn對(duì)hn的輸出進(jìn)行控制。

遺忘門就是控制LSTM的長(zhǎng)時(shí)記憶部分,把以前的記憶和現(xiàn)在發(fā)生的事情做一次融合,記住重要的信息,忘記不重要的信息。

上面也提到了短時(shí)記憶就是把上一步的輸出h(t-1)和當(dāng)前輸入Xt做一次拼接 [Xt,h(t-1)],有了拼接的輸入信息后,我們就做一次全連接層FC,然后對(duì)結(jié)果做sigmod激活處理,最后與長(zhǎng)時(shí)記憶C(t-1) 做一次乘積
從上面的描述不難看出,參數(shù)就在全連接產(chǎn)生的參數(shù) Wf 和 bf,這樣說(shuō)吧,整個(gè)LSTM的參數(shù)是由4個(gè)全連接層產(chǎn)生的
輸入也就是詞向量為200維,每個(gè)token用一個(gè)200的向量表示 即 Xt
輸出ht為100維的向量, 則 [Xt,h(t-1)]=300維向量,即1×300
則 Wf 為 300 × 100的矩陣 Wf · [Xt,h(t-1)] = 1 ×300 · 300 ×100 = 1 × 100 然后進(jìn)行向量的sigmoid。也就是上次來(lái)的細(xì)胞狀態(tài)遺忘分?jǐn)?shù)
輸入門:當(dāng)前的信息是不是重要的,如果重要的,就多記住一些,如果是不重要的就少記住一些
輸入們和我們的理解東西也類似,這里引入了一個(gè)細(xì)胞狀態(tài)的概念C'(t),就是有多少信息保存到細(xì)胞狀態(tài)中,輸入的和遺忘門的信息和輸出們都一樣,都是把上一步的輸出h(t-1)和當(dāng)前輸入Xt做一次拼接 [Xt,h(t-1)],然后做一次全連接,所不同的是細(xì)胞狀態(tài)的激活函數(shù)是tanh。其他的都是sigmod.
輸入門還有另外一塊輸入信息i(t),這一部分就是拼接后的輸入信息做一次全連接,然后經(jīng)過(guò)sigmod激活函數(shù) 本次細(xì)胞狀態(tài)記憶的分?jǐn)?shù)

根據(jù)上面遺忘門的計(jì)算
i(t) C'(t) 的結(jié)構(gòu)也是 1 × 100
長(zhǎng)時(shí)記憶 C(t)
- 經(jīng)過(guò)了遺忘門和輸入門后,長(zhǎng)時(shí)記憶C(t)就可以計(jì)算出來(lái)了,計(jì)算比較簡(jiǎn)單,就是把遺忘門和輸入門的結(jié)果做一次加法
我們用公式說(shuō)明就是: 注意不是矩陣乘,是對(duì)應(yīng)位置乘
C(t) = ft*Ct-1 + it * C`t

對(duì)位置乘,不是矩陣乘
Ct = 1 × 100 * 1 × 100 + 1 × 100 * 1 × 100 = 1 × 100 + 1 × 100 = 1 × 100
輸出門

ot 也是 1 × 100
Ct經(jīng)過(guò)tanh后也是 1 × 100
ht 為兩者的對(duì)應(yīng)位置乘
即 ht = 1 × 100 * 1 × 100 = 1 × 100
計(jì)算完成后進(jìn)行下一個(gè)字的計(jì)算
參考資料:
Understanding LSTM Networks -- colah's blog
理解 LSTM 網(wǎng)絡(luò) - Alan Lee
LSTM單元結(jié)構(gòu)及參數(shù)計(jì)算 - 知乎 (zhihu.com)

浙公網(wǎng)安備 33010602011771號(hào)