雙向循環神經網絡
外觀
雙向循環神經網絡(英語: Bidirectional recurrent neural networks,BRNN)將兩個方向相反的隱藏層連接到同一個輸出。通過這種形式的生成式深度學習,輸出層可以同時獲得來自過去(後向)和未來(前向)狀態的信息。雙向循環神經網絡由Schuster和Paliwal於1997發明,[1]BRNN的出現增加了網絡可用的輸入信息量。由於要求固定形式的輸入數據,多層感知器(MLP)和時間延遲神經網絡(TDNN)並不靈活,而標準的循環神經網絡(RNNs)具有「因果」結構,即當前的輸出只能取決於當前和過去的信息,所以也具有一定的限制。相反,循環神經網絡不要求其輸入數據的形式,同時其輸入數據可以包含未來的信息。[2]
當需要考慮整個輸入序列的信息時,雙向循環神經網絡尤其有用。例如,在手寫識別任務中,可以通過考慮前後字母的信息增加對當前字母預測的表現。
結構
[編輯]![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Structural_diagrams_of_unidirectional_and_bidirectional_recurrent_neural_networks.png/350px-Structural_diagrams_of_unidirectional_and_bidirectional_recurrent_neural_networks.png)
雙向神經網絡的原理是將標準循環神經網絡的神經元分成正時間方向(前向)和負時間方向(後向)。這兩種狀態的輸出僅與同樣方向狀態的輸入相連。循環神經網絡和雙向循環神經網絡的一般結構如圖所示。通過使用兩個時間方向,雙向循環神經網絡可以使用當前、過去和未來時間下的輸入信息,而不像標準的循環神經網絡需要通過延遲來使用將來時間的信息。[1]
參考
[編輯]- ^ 1.0 1.1 1.2 Schuster, M.; Paliwal, K.K. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing. 1997-11, 45 (11) [2022-05-29]. ISSN 1941-0476. doi:10.1109/78.650093. (原始內容存檔於2022-06-05).
- ^ Salehinejad, Hojjat; Sankar, Sharan; Barfett, Joseph; Colak, Errol; Valaee, Shahrokh. Recent Advances in Recurrent Neural Networks. arXiv:1801.01078 [cs]. 2018-02-22 [2022-05-29]. (原始內容存檔於2022-06-07).