循環神經網絡RNN公式推導走讀


0語言模型-N-Gram
語言模型就是給定句子前面部分,預測后面缺失部分
eg.我昨天上學遲到了,老師批評了____。
N-Gram模型: ,對一句話切詞 我 昨天 上學 遲到 了 ,老師 批評 了 ____。
2-N-Gram 會在語料庫中找 了 后面最可能的詞;
3-N-Gram 會在預料庫中找 批評了 后面最可能的詞;
4-N-Gram 的內存耗費就非常巨大了(語料庫中保存所有的四個詞的預料組合)。
 
 
1.1單向循環神經網絡
一個單隱層結構示意圖:
參數:輸入到隱層的權重U、隱層到輸出的權重V,自身遞歸的權重W
循環層輸出: f是激活函數;
輸出層(全連接) g是激活函數;
 
 
1.2雙向循環神經網絡
單向循環網絡是根據前文猜測空白詞語;雙向是根據前后文一起預測空白詞語。
eg 我的手機壞了,我打算____一部新手機。
雙向卷積神經網絡的隱藏層要保存兩個值,一個A參與正向計算,另一個值A'參與反向計算。
最終輸出 , 正向計算時,隱藏層的值與有關;反向計算時,隱藏層的值與有關;最終的輸出取決於正向和反向計算的 加和。
注:同向權重共享,異向權重不共享!
規范格式:
 
 
1.3深度循環網絡
堆疊多個隱層,示意圖如下:
  第i個隱藏層計算:
 
2訓練BPTT
同bp的訓練步驟
  
2.1 前向計算:
向量形式:
 
 
2.2 反向計算:分兩個方向考慮, 沿時間反向傳播(與W有關)傳遞到上一層網絡(與U有關)
2.2.1 第一個方向,沿時間傳遞一個時刻:同bp原理借用netj傳導
又t時刻和t-1時刻netj的關系:
因此梯度鏈
上式第一項:      第二項:
帶入求得
所以最終梯度計算得:
 
2.2.2 第二個方向:同bp
由l層和l-1層的netj關系:
因此梯度鏈
 
所以最終梯度計算得: 
 
2.3計算權重矩陣W
由nett計算公式:
求t時刻w的梯度:
所以 t時刻W的梯度為: 
最終 各個時刻W梯度之和:
 
2.4計算權重U:
同理W,求t時刻u的梯度: 
最終 各個時刻U梯度之和: 
 
 
 
3梯度爆炸和消失問題
由於RNN在訓練過程中容易發生梯度爆炸和消失問題,所以不適合處理較長序列。
梯度爆炸問題:設置閾值,直接截取;
梯度消失問題:1合理初始化權重,躲避梯度消失區域;
                       2用relu代替tanh和sigmoid作為激活函數;
                       3使用GRU或者LSTM結構。
 
 
4工程應用:
1 one-hot編碼:建立一個包含所有詞匯的字典,每個詞都是N維的二進制向量,排列在第幾個就第幾位為1,其余0;
缺點:得到高緯並且稀疏的向量
 
2softmax:可以得到輸出概率
 
 
3優化函數:soft max層對應交叉熵代替均方誤差MSE,研究證明更make sense
 
 
 
 
 
 
參考:網絡博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM