資料介紹
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)很難訓(xùn)練的原因?qū)е滤膶?shí)際應(yīng)用中很處理長(zhǎng)距離的依賴。本文將介紹改進(jìn)后的循環(huán)神經(jīng)網(wǎng)絡(luò):長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short Term Memory Network, LSTM),
原始RNN的隱藏層只有一個(gè)狀態(tài),即h,它對(duì)于短期的輸入非常敏感。那么如果我們?cè)僭黾右粋€(gè)狀態(tài),即c,讓它來保存長(zhǎng)期的狀態(tài),這就是長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)。

新增加的狀態(tài)c,稱為單元狀態(tài)。我們把上圖按照時(shí)間維度展開:

可以看到在 t 時(shí)刻,LSTM的輸入有三個(gè):當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸出值 xt 、上一時(shí)刻LSTM的輸出值 ht?1、以及上一時(shí)刻的單元狀態(tài) ct?1;LSTM的輸出有兩個(gè):當(dāng)前時(shí)刻LSTM輸出值 ht 、和當(dāng)前時(shí)刻的單元狀態(tài) xt 。注意 x、h、c 都是向量。
LSTM的關(guān)鍵,就是怎樣控制長(zhǎng)期狀態(tài)c。在這里,LSTM的思路是使用三個(gè)控制開關(guān)。第一個(gè)開關(guān),負(fù)責(zé)控制繼續(xù)保存長(zhǎng)期狀態(tài)c;第二個(gè)開關(guān),負(fù)責(zé)控制把即時(shí)狀態(tài)輸入到長(zhǎng)期狀態(tài)c;第三個(gè)開關(guān),負(fù)責(zé)控制是否把長(zhǎng)期狀態(tài)c作為當(dāng)前的LSTM的輸出。三個(gè)開關(guān)的作用如下圖所示:

接下來我們要描述一下,輸出h和單元狀態(tài)c的具體計(jì)算方法。
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的前向計(jì)算
我們引入“門(gate)”的概念。門實(shí)際上就是一層全連接層,它的輸入是一個(gè)向量,輸出是一個(gè)0到1之間的實(shí)數(shù)向量。假設(shè)W是門的權(quán)重向量,b是偏置項(xiàng),那么門可以表示為:

門的輸出是0到1之間的實(shí)數(shù)向量,用門向量的輸出向量按元素乘以我們需要控制的那個(gè)向量,當(dāng)門輸出為0時(shí),任何向量與之相乘都會(huì)得到0向量,這就相當(dāng)于啥都不能通過;輸出為1時(shí),任何向量與之相乘都不會(huì)有任何改變,這就相當(dāng)于啥都可以通過。因?yàn)棣遥ㄒ簿褪莝igmoid函數(shù))的值域是(0,1),所以門的狀態(tài)都是半開半閉的。
LSTM用兩個(gè)門來控制單元狀態(tài) c 的內(nèi)容,一個(gè)是遺忘門,它決定了上一時(shí)刻的單元狀態(tài) t?1 有多少保留到當(dāng)前時(shí)刻 ct ;另外一個(gè)是輸出門,他決定了當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入 xt 有多少保存到單元狀態(tài) ct 。LSTM用輸出門來控制單元狀態(tài) ct 有多少輸出到LSTM的當(dāng)前輸出值 ht 。LSTM用輸出門來控制單元狀態(tài) ct 有多少輸出到LSTM的當(dāng)前輸出值ht。
遺忘門的表達(dá)式是:

上式中,Wf 是遺忘門的權(quán)重矩陣,ht?1 , xt 表示把兩個(gè)向量連接成一個(gè)更長(zhǎng)的向量,bf 是遺忘門的偏置項(xiàng),σ是sigmoid函數(shù)。如果輸入的維度是dx,隱藏層的維度是 dh,單元狀態(tài)的維度是 dc( d_c = d_h ),則遺忘門的權(quán)重矩陣 Wf維度是 dcx(dh + dx ) 。事實(shí)上,權(quán)重矩陣 Wf 都是兩個(gè)矩陣拼接而成的:一個(gè)是Wfh,它對(duì)應(yīng)著輸入項(xiàng) ht?1 ,其維度為 dcxdh;一個(gè)是Wfx,它對(duì)應(yīng)著輸入項(xiàng) xt ,其維度為dcxdx。Wf 可以寫為:

下圖顯示了遺忘門的計(jì)算:

接下來看看輸入門:

上式中,Wi 是輸入門的權(quán)重矩陣,$b_i$是輸入門的偏置項(xiàng)。下圖表示了輸入門的計(jì)算:

接下來,我們計(jì)算用于描述當(dāng)前輸入的單元狀態(tài),它是根據(jù)上一次的輸出和本次輸入來計(jì)算的:

下圖是的計(jì)算:

現(xiàn)在,我們計(jì)算當(dāng)前時(shí)刻的單元狀態(tài) ct。它是由上一次的單元狀態(tài) ct?1 按元素乘以遺忘門 ft ,再用當(dāng)前輸入的單元狀態(tài)按元素乘以輸入門 it ,再將兩個(gè)積加和產(chǎn)生的:

符號(hào)O表示按元素乘。下圖是 ct 的計(jì)算:

這樣,我們就把LSTM關(guān)于當(dāng)前的記憶和長(zhǎng)期的記憶 ct?1 組合在一起,形成了新的單元狀態(tài) ct 。由于遺忘門的控制,它可以保存很久很久之前的信息,由于輸入門的控制,它又可以避免當(dāng)前無關(guān)緊要的內(nèi)容進(jìn)入記憶。下面,我們要看看輸出門,它控制了長(zhǎng)期記憶對(duì)當(dāng)前輸出的影響:

下面表示輸出門的計(jì)算:

LSTM最終的輸出,是由輸出門和單元狀態(tài)共同確定的:

下圖表示LSTM最終輸出的計(jì)算:

式1到式6就是LSTM前向計(jì)算的全部公式。至此,我們就把LSTM前向計(jì)算講完了。
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的訓(xùn)練
LSTM訓(xùn)練算法框架
LSTM的訓(xùn)練算法仍然是反向傳播算法,對(duì)于這個(gè)算法,我們已經(jīng)非常熟悉了。主要有下面三個(gè)步驟:
1、前向計(jì)算每個(gè)神經(jīng)元的輸出值,對(duì)于LSTM來說,即 ft、it、ct、ot、ht 五個(gè)向量的值。計(jì)算方法已經(jīng)在上一節(jié)中描述過了。
2、反向計(jì)算每個(gè)神經(jīng)元的誤差項(xiàng)δ值。與循環(huán)神經(jīng)網(wǎng)絡(luò)一樣,LSTM誤差項(xiàng)的反向傳播也是包括兩個(gè)方向:一個(gè)是沿時(shí)間的反向傳播,即從當(dāng)前t時(shí)刻開始,計(jì)算每個(gè)時(shí)刻的誤差項(xiàng);一個(gè)是將誤差項(xiàng)向上一層傳播。
3、根據(jù)相應(yīng)的誤差項(xiàng),計(jì)算每個(gè)權(quán)重的梯度。
作者:凌逆戰(zhàn)
來源:博客園
原文鏈接:https://www.cnblogs.com/LXP-Never/p/10398531.html
歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處。 限于本人水平,如果文章和代碼有表述不當(dāng)之處,還請(qǐng)不吝賜教。 本文章不做任何商業(yè)用途,僅作為自學(xué)所用,文章后面會(huì)有參考鏈接,我可能會(huì)復(fù)制原作者的話,如果介意,我會(huì)修改或者刪除。
- PyTorch教程之長(zhǎng)短期記憶(LSTM)
- 基于LSTM模型的信號(hào)調(diào)制類型識(shí)別方法 26次下載
- 融合EMD與LSTM網(wǎng)絡(luò)的頻譜占用度預(yù)測(cè)模型 11次下載
- 基于雙向長(zhǎng)短時(shí)記憶的序列標(biāo)注神經(jīng)網(wǎng)絡(luò)模型 15次下載
- 基于長(zhǎng)短期記憶網(wǎng)絡(luò)的長(zhǎng)距離股票趨勢(shì)預(yù)測(cè) 7次下載
- 使用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)檢測(cè)跨站腳本攻擊 10次下載
- 基于改進(jìn)長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的兒童語音情感識(shí)別模型 14次下載
- 基于PCA和LSTM神經(jīng)網(wǎng)絡(luò)的硬件木馬檢測(cè)方法 18次下載
- 基于PCA和LSTM神經(jīng)網(wǎng)絡(luò)的硬件木馬檢測(cè)方法 10次下載
- 基于長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的自適應(yīng)零速檢測(cè)算法 8次下載
- 如何使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)實(shí)體屬性情感分析 7次下載
- 如何使用多注意力長(zhǎng)短時(shí)記憶進(jìn)行實(shí)體屬性的情感分析 5次下載
- 如何使用深度長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)模型進(jìn)行心律失常檢測(cè)算法的資料說明 3次下載
- 一種新的查詢意圖識(shí)別模型 0次下載
- 基于長(zhǎng)短期記憶模型的多維主題模型 1次下載
- LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與工作機(jī)制 526次閱讀
- LSTM模型的基本組成 1487次閱讀
- 如何理解RNN與LSTM神經(jīng)網(wǎng)絡(luò) 679次閱讀
- 用于自然語言處理的神經(jīng)網(wǎng)絡(luò)有哪些 1354次閱讀
- 影響閃存遺忘的主要因素 849次閱讀
- 基于CNN-LSTM網(wǎng)絡(luò)的電力負(fù)荷預(yù)測(cè) 3252次閱讀
- 長(zhǎng)短鏈接原理案例 872次閱讀
- 使用三種不同結(jié)構(gòu)的LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)觸覺力進(jìn)行動(dòng)態(tài)重建 1603次閱讀
- LSTM的硬件加速方式 3046次閱讀
- 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和(LSTM)初學(xué)者指南 968次閱讀
- LSTM隱層神經(jīng)元結(jié)構(gòu)分析,及應(yīng)用的程序詳細(xì)概述 9381次閱讀
- RNN及其變體LSTM和GRU 1.6w次閱讀
- 長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)的算法 4768次閱讀
- 人工智能的重要算法之一--LSTM算法 1.9w次閱讀
- 深度解析LSTM的全貌 1w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論