傳統的神經網絡,層與層之間是全連接配接的,但是每層内部的節點是無連接配接的,是以無法利用上下文關系。
1.RNN
RNN最大的不同之處就是在每層内部的節點之間也建立起權連接配接。

- 針對問題:訓練樣本是序列資料
- 模型思想:循環回報
-
模型特點:
(1)目前時間的隐藏狀态是由上一時間的隐藏狀态和目前時間的輸入x共同決定的
(2)U、V、W權值共享
- 模型缺點:梯度消失,無法處理長序列資料(解決:LSTM、GRU)
RNN的前向傳播
基于時間反向傳播BPTT
循環神經網絡(RNN)模型與前向反向傳播算法 - 劉建平Pinard - 部落格園
https://www.cnblogs.com/pinard/p/6509630.html
RNN的缺點
梯度爆炸/消失、很難學到長距離的資訊依賴
2.LSTM
使用LSTM模型可以更好的捕捉到較長距離的依賴關系。因為LSTM通過訓練過程可以學到記憶哪些資訊和遺忘哪些資訊。
針對RNN梯度消失問題,LSTM對序列索引位置t的隐藏結構做改進:
- 新增另一個隐藏狀态,稱為細胞狀态(LSTM的核心思想)
- 設定門控結構控制細胞狀态:遺忘門、輸入門、輸出門
2.1 遺忘門
遺忘門決定了上一時刻的細胞狀态 C ( t − 1 ) C^{(t-1)} C(t−1)(代表長期的記憶) 有多少保留到目前時刻的細胞狀态 C ( t ) C^{(t)} C(t)。
遺忘門 f ( t ) f^{(t)} f(t)的公式形式和RNN的隐藏狀态 h ( t ) h^{(t)} h(t)更新公式一緻,差別在于激活函數,RNN是tanh激活函數,取值[-1,1],遺忘門是sigmoid函數,取值[0,1]代表遺忘機率。
2.2 輸入門
輸入門決定了目前時刻的輸入 x ( t ) x^{(t)} x(t)(代表目前記憶) 有多少儲存到目前時刻的細胞狀态 C ( t ) C^{(t)} C(t)
輸入門的第一部分 i ( t ) i^{(t)} i(t)表示儲存機率,取值[0,1],公式形式和遺忘門完全一樣,第二部分 a ( t ) a^{(t)} a(t)代表目前的記憶,公式形式則和RNN的隐藏狀态 h ( t ) h^{(t)} h(t)更新公式完全一緻。
2.3 細胞狀态更新
在研究LSTM輸出門之前,我們要先看看LSTM之細胞狀态。前面的遺忘門和輸入門的結果都會作用于細胞狀态 C ( t ) C^{(t)} C(t)。
2.4 輸出門
輸出門決定了目前細胞狀态 C ( t ) C^{(t)} C(t) 有多少輸出到 LSTM 的目前輸出值 h ( t ) h^{(t)} h(t)。
輸出門的第一部分 o ( t ) o^{(t)} o(t)表示儲存機率,公式形式和遺忘門完全一樣
LSTM的前向傳播
LSTM的反向傳播
LSTM模型與前向反向傳播算法 - 劉建平Pinard - 部落格園
https://www.cnblogs.com/pinard/p/6519110.html
LSTM的缺點:
利用LSTM對句子進行模組化時無法編碼從後到前的資訊
3.雙向長短期記憶網絡(BiLSTM)
通過BiLSTM可以更好的捕捉雙向的語義依賴。