1. 程式人生 > >序列模型(5)-----雙向神經網路(BRNN)和深層迴圈神經網路(Deep RNN)

序列模型(5)-----雙向神經網路(BRNN)和深層迴圈神經網路(Deep RNN)

一、雙向迴圈神經網路BRNN

採用BRNN原因:

雙向RNN,即可以從過去的時間點獲取記憶,又可以從未來的時間點獲取資訊。為什麼要獲取未來的資訊呢?

判斷下面句子中Teddy是否是人名,如果只從前面兩個詞是無法得知Teddy是否是人名,如果能有後面的資訊就很好判斷了,這就需要用的雙向迴圈神經網路。

至於網路單元到底是標準的RNN還是GRU或者是LSTM是沒有關係的,都可以使用。

(2)BRNN如下圖所示,每一個輸出都是綜合考慮兩個方向獲得的結果再輸出:

 

 (3)LSTM有一個缺點就是在使用時需要完整的資料序列,你才能預測任意位置。比如用來構建語音識別系統,需要人把話說完,才能進行處理。

 二、深度迴圈神經網路

(1)前面提到的其是都只有RNN的一單元或者說RNN單元只有一層隱藏層,可以想象將多個RNN單元堆疊在一起,那就形成了深度迴圈神經網路(deep RNN)。深層迴圈神經網路如下圖所示: