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深度循環網絡
堆疊多個隱層,示意圖如下:

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


參考:網絡博客