循環(huán)神經(jīng)網(wǎng)絡(luò)
- 什么是循環(huán)神經(jīng)網(wǎng)絡(luò)
下圖展示了如何基于循環(huán)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)語言模型吞获。我們的目的是基于當(dāng)前的輸入與過去的輸入序列斧账,預(yù)測序列的下一個(gè)字符。循環(huán)神經(jīng)網(wǎng)絡(luò)引入一個(gè)隱藏變量,用
表示
在時(shí)間步
的值燎潮。
的計(jì)算基于
和
惊奇,可以認(rèn)為
記錄了到當(dāng)前字符為止的序列信息朦佩,利用
對(duì)序列的下一個(gè)字符進(jìn)行預(yù)測捺萌。
- 循環(huán)神經(jīng)網(wǎng)絡(luò)構(gòu)造
由于引入了新博,
能夠捕捉截至當(dāng)前時(shí)間步的序列的歷史信息薪夕,就像是神經(jīng)網(wǎng)絡(luò)當(dāng)前時(shí)間步的狀態(tài)或記憶一樣。由于
的計(jì)算基于
赫悄,上式的計(jì)算是循環(huán)的原献,使用循環(huán)計(jì)算的網(wǎng)絡(luò)即循環(huán)神經(jīng)網(wǎng)絡(luò)馏慨,在時(shí)間步
,輸出層的輸出為:
- one-hot向量
假設(shè)詞典大小是N写隶,每次字符對(duì)應(yīng)一個(gè)從0到N-1的唯一的索引,則該字符的向量是一個(gè)長度為N的向量讲仰,若字符的索引是i慕趴,則該向量的第i個(gè)位置為1,其他位置為0鄙陡。 - 裁剪梯度
循環(huán)神經(jīng)網(wǎng)絡(luò)中較容易出現(xiàn)梯度衰減或梯度爆炸冕房,這會(huì)導(dǎo)致網(wǎng)絡(luò)幾乎無法訓(xùn)練。裁剪梯度(clip gradient)是一種應(yīng)對(duì)梯度爆炸的方法趁矾。假設(shè)我們把所有模型參數(shù)的梯度拼接成一個(gè)向量耙册,并設(shè)裁剪的閾值是
。裁剪后的梯度
-
GRU?控循環(huán)神經(jīng)?絡(luò)
RNN存在的問題:梯度較容易出現(xiàn)衰減或爆炸
?控循環(huán)神經(jīng)?絡(luò):捕捉時(shí)間序列中時(shí)間步距離較?的依賴關(guān)系
- 重置?有助于捕捉時(shí)間序列?短期的依賴關(guān)系毫捣;
- 更新?有助于捕捉時(shí)間序列??期的依賴關(guān)系详拙。
-
LSTM長短期記憶
遺忘門:控制上一時(shí)間步的記憶細(xì)胞 輸入門:控制當(dāng)前時(shí)間步的輸入
輸出門:控制從記憶細(xì)胞到隱藏狀態(tài)
記憶細(xì)胞:?種特殊的隱藏狀態(tài)的信息的流動(dòng)