資料介紹
長短時記憶網絡
循環神經網絡很難訓練的原因導致它的實際應用中很處理長距離的依賴。本文將介紹改進后的循環神經網絡:長短時記憶網絡(Long Short Term Memory Network, LSTM),
原始RNN的隱藏層只有一個狀態,即h,它對于短期的輸入非常敏感。那么如果我們再增加一個狀態,即c,讓它來保存長期的狀態,這就是長短時記憶網絡。
新增加的狀態c,稱為單元狀態。我們把上圖按照時間維度展開:
可以看到在 t 時刻,LSTM的輸入有三個:當前時刻網絡的輸出值 xt 、上一時刻LSTM的輸出值 ht?1、以及上一時刻的單元狀態 ct?1;LSTM的輸出有兩個:當前時刻LSTM輸出值 ht 、和當前時刻的單元狀態 xt 。注意 x、h、c 都是向量。
LSTM的關鍵,就是怎樣控制長期狀態c。在這里,LSTM的思路是使用三個控制開關。第一個開關,負責控制繼續保存長期狀態c;第二個開關,負責控制把即時狀態輸入到長期狀態c;第三個開關,負責控制是否把長期狀態c作為當前的LSTM的輸出。三個開關的作用如下圖所示:
接下來我們要描述一下,輸出h和單元狀態c的具體計算方法。
長短時記憶網絡的前向計算
我們引入“門(gate)”的概念。門實際上就是一層全連接層,它的輸入是一個向量,輸出是一個0到1之間的實數向量。假設W是門的權重向量,b是偏置項,那么門可以表示為:
門的輸出是0到1之間的實數向量,用門向量的輸出向量按元素乘以我們需要控制的那個向量,當門輸出為0時,任何向量與之相乘都會得到0向量,這就相當于啥都不能通過;輸出為1時,任何向量與之相乘都不會有任何改變,這就相當于啥都可以通過。因為σ(也就是sigmoid函數)的值域是(0,1),所以門的狀態都是半開半閉的。
LSTM用兩個門來控制單元狀態 c 的內容,一個是遺忘門,它決定了上一時刻的單元狀態 t?1 有多少保留到當前時刻 ct ;另外一個是輸出門,他決定了當前時刻網絡的輸入 xt 有多少保存到單元狀態 ct 。LSTM用輸出門來控制單元狀態 ct 有多少輸出到LSTM的當前輸出值 ht 。LSTM用輸出門來控制單元狀態 ct 有多少輸出到LSTM的當前輸出值ht。
遺忘門的表達式是:
上式中,Wf 是遺忘門的權重矩陣,ht?1 , xt 表示把兩個向量連接成一個更長的向量,bf 是遺忘門的偏置項,σ是sigmoid函數。如果輸入的維度是dx,隱藏層的維度是 dh,單元狀態的維度是 dc( d_c = d_h ),則遺忘門的權重矩陣 Wf維度是 dcx(dh + dx ) 。事實上,權重矩陣 Wf 都是兩個矩陣拼接而成的:一個是Wfh,它對應著輸入項 ht?1 ,其維度為 dcxdh;一個是Wfx,它對應著輸入項 xt ,其維度為dcxdx。Wf 可以寫為:
下圖顯示了遺忘門的計算:
接下來看看輸入門:
上式中,Wi 是輸入門的權重矩陣,$b_i$是輸入門的偏置項。下圖表示了輸入門的計算:
接下來,我們計算用于描述當前輸入的單元狀態,它是根據上一次的輸出和本次輸入來計算的:
下圖是的計算:
現在,我們計算當前時刻的單元狀態 ct。它是由上一次的單元狀態 ct?1 按元素乘以遺忘門 ft ,再用當前輸入的單元狀態按元素乘以輸入門 it ,再將兩個積加和產生的:
符號O表示按元素乘。下圖是 ct 的計算:
這樣,我們就把LSTM關于當前的記憶和長期的記憶 ct?1 組合在一起,形成了新的單元狀態 ct 。由于遺忘門的控制,它可以保存很久很久之前的信息,由于輸入門的控制,它又可以避免當前無關緊要的內容進入記憶。下面,我們要看看輸出門,它控制了長期記憶對當前輸出的影響:
下面表示輸出門的計算:
LSTM最終的輸出,是由輸出門和單元狀態共同確定的:
下圖表示LSTM最終輸出的計算:
式1到式6就是LSTM前向計算的全部公式。至此,我們就把LSTM前向計算講完了。
長短時記憶網絡的訓練
LSTM訓練算法框架
LSTM的訓練算法仍然是反向傳播算法,對于這個算法,我們已經非常熟悉了。主要有下面三個步驟:
1、前向計算每個神經元的輸出值,對于LSTM來說,即 ft、it、ct、ot、ht 五個向量的值。計算方法已經在上一節中描述過了。
2、反向計算每個神經元的誤差項δ值。與循環神經網絡一樣,LSTM誤差項的反向傳播也是包括兩個方向:一個是沿時間的反向傳播,即從當前t時刻開始,計算每個時刻的誤差項;一個是將誤差項向上一層傳播。
3、根據相應的誤差項,計算每個權重的梯度。
作者:凌逆戰
來源:博客園
原文鏈接:https://www.cnblogs.com/LXP-Never/p/10398531.html
歡迎任何形式的轉載,但請務必注明出處。 限于本人水平,如果文章和代碼有表述不當之處,還請不吝賜教。 本文章不做任何商業用途,僅作為自學所用,文章后面會有參考鏈接,我可能會復制原作者的話,如果介意,我會修改或者刪除。
- PyTorch教程之長短期記憶(LSTM)
- 基于LSTM模型的信號調制類型識別方法 26次下載
- 融合EMD與LSTM網絡的頻譜占用度預測模型 11次下載
- 基于雙向長短時記憶的序列標注神經網絡模型 15次下載
- 基于長短期記憶網絡的長距離股票趨勢預測 7次下載
- 使用雙向長短時記憶網絡檢測跨站腳本攻擊 10次下載
- 基于改進長短時記憶網絡的兒童語音情感識別模型 14次下載
- 基于PCA和LSTM神經網絡的硬件木馬檢測方法 18次下載
- 基于PCA和LSTM神經網絡的硬件木馬檢測方法 10次下載
- 基于長短時記憶網絡的自適應零速檢測算法 8次下載
- 如何使用神經網絡實現實體屬性情感分析 7次下載
- 如何使用多注意力長短時記憶進行實體屬性的情感分析 5次下載
- 如何使用深度長短時記憶神經網絡模型進行心律失常檢測算法的資料說明 3次下載
- 一種新的查詢意圖識別模型 0次下載
- 基于長短期記憶模型的多維主題模型 1次下載
- LSTM模型的基本組成 557次閱讀
- 如何理解RNN與LSTM神經網絡 236次閱讀
- 用于自然語言處理的神經網絡有哪些 306次閱讀
- 影響閃存遺忘的主要因素 566次閱讀
- 基于CNN-LSTM網絡的電力負荷預測 3252次閱讀
- 長短距離循環更新(LRRU)網絡的輕量級深度網絡框架介紹 788次閱讀
- 長短鏈接原理案例 629次閱讀
- 使用三種不同結構的LSTM神經網絡結構對觸覺力進行動態重建 1336次閱讀
- LSTM的硬件加速方式 2935次閱讀
- 循環神經網絡(RNN)和(LSTM)初學者指南 839次閱讀
- LSTM隱層神經元結構分析,及應用的程序詳細概述 9212次閱讀
- RNN及其變體LSTM和GRU 1.6w次閱讀
- 長短時記憶神經網絡的算法 4605次閱讀
- 人工智能的重要算法之一--LSTM算法 1.9w次閱讀
- 深度解析LSTM的全貌 1w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多