1. 程式人生 > >機器學習與Tensorflow(5)——迴圈神經網路、長短時記憶網路

機器學習與Tensorflow(5)——迴圈神經網路、長短時記憶網路

 

1.迴圈神經網路的標準模型

  • 前饋神經網路能夠用來建立資料之間的對映關係,但是不能用來分析過去訊號的時間依賴關係,而且要求輸入樣本的長度固定
  • 迴圈神經網路是一種在前饋神經網路中增加了分虧連結的神經網路,能夠產生對過去資料的記憶狀態,所以可以用於對序列資料的處理,並建立不同時段資料之間的依賴關係
  • 迴圈神經網路是一類允許節點連線成有向環的人工神經網路。如下圖:

2.迴圈神經網路與遞迴神經網路

 

  • 從廣義上說,遞迴神經網路可以分為結構遞迴神經網路和時間遞迴神經網路
  • 從狹義上說,遞迴神經網路可以通常就是指結構遞迴神經網路,而時間遞迴神經網路則被稱為迴圈神經網路


3.標準迴圈神經網路的結構型別(兩種)

不妨設t時刻,網路的輸入向量為x(t),隱含向量為h(t),網路的輸出向量是o(t),用V表示輸入層與隱含層之間的連線權值,U表示隱含層與隱含層之間的連線權值,W表示隱含層與輸出層之間的連線權值,b和a表示隱含層的輸出層的偏置

Elman網路:

  • 網路結構如下圖:

 

  • Elman網路包含從隱含節點到上下文節點的反饋連結,以及從上下文節點調到隱含節點的前饋連結,其中上下文節點的輸入是隱含層上一時刻的輸出
  • Elman網路從0時刻到T時刻的計算過程可以描述為:

 


Jordan網路:

  • 網路結構如下圖:

 

  • Jordan網路包含從輸出節點到上下文節點的反饋,以及從上下文節點到隱含節點的前饋連結,其中上下文節點的輸入是輸出層上一時刻的輸出。此外,Jordan網路的上下文節點允許自連線
  • Jordan網路從0時刻到T時刻的計算過程可以描述為:


4.長短時記憶網路(long short-term memory,LSTM)

 

  • 長短時記憶網路(LSTM network),又稱為長短時記憶迴圈網路,是一種在經典迴圈神經網路的基礎上發展起來的改進模型。
  • LSTM網路的特點在於利用記憶模組代替普通的隱含節點,確保梯度在傳遞跨越很多時間步驟之後不消失或爆炸,從而能夠克服傳統迴圈神經網路訓練中遇到的某些困難
  • 長短時記憶網路非常適合於從經驗中學習分類,以及處理和預測那些在重要事件之間存在未知時長延遲的時間序列
  • 迴圈神經網路和長短時記憶網路之間的對應關係如下圖所示:

 

5.傳統記憶塊組成

  • 傳統記憶塊有一個或者多個具有內部狀態的記憶細胞(memory sell)、一個輸入擠壓單元(input squashing unit)、一個輸入門控單元(input gating unit)、一個輸入門單元(input gate unit)、一個輸出門單元(output gate unit)、一個輸出擠壓單元(outnput squashing unit)、和一個輸出門控單元(output gating unit)幾部分組成。