1. 程式人生 > >Recurrent Neural Network(1):Architecture

Recurrent Neural Network(1):Architecture

func isp ram soft 期望 UNC ural att 時間序列

Recurrent Neural Network是在單個神經元上,除了輸入與輸出外,添加了一條Recurrent回路。如下圖左側,將前一時刻神經元的輸出狀態s,作為下一時刻的一個輸入值,加權並入輸入U中。這一操作使得,某一時刻神經元的輸出狀態s,依賴於之前各個時刻的狀態st-1,st-2,...,st-n.從而,我們可以說該Recurrent path為神經網絡引入了一個新的維度: time dimension.

技術分享圖片

在上圖右側,我們看到將該neuron在time dimension上展開後的形式,xt是時間序列各個時間點的輸入,st是各個時間點上產生的輸出狀態,而ot則是各個時間點上該神經元的輸出。而在該結構中,參數共有3個:U,W,V,分別是input weight, state weight, and output weight。和CNN一樣,RNN同樣有parameter sharing的思想,即在時間維度上,共享這三個parameters.

輸出狀態st的計算公式為:

技術分享圖片

其中f是activation function,可以使sigmoid, tanh, relu等等。而在輸出端,如果我們使用Softmax去預測各個輸出值的概率,則:

技術分享圖片

下面是三種不同類型的RNN patterns:

Pattern 1: Hidden unit存在recurrent connections,每一個時間t上都有輸出,每個時刻都有輸出o,期望值y和Loss function

技術分享圖片

Pattern 2: Hidden Unit存在recurrent connections,讀取完整個序列後,最後產生一個輸出o,根據期望值y計算Loss function

技術分享圖片

Pattern 3: Output Unit對Hidden Unit有Recurrent Connection,每個時刻都有輸出o,期望值y和Loss function

技術分享圖片

Recurrent Neural Network(1):Architecture