天天看點

深度學習算法原理——循環神經網絡RNN1. 概述2. 算法原理參考文獻

1. 概述

循環神經網絡(Recurrent Neural Networks, RNN)主要用于時序資料,最常見的時序資料如文章,視訊等,t時刻的資料與t−1時刻的資料存在内在的聯系。RNN模型能夠對這樣的時序資料模組化。

2. 算法原理

RNN模型的基本結構如下所示(圖檔來自參考文獻):

深度學習算法原理——循環神經網絡RNN1. 概述2. 算法原理參考文獻

如上圖所示,循環神經網絡通過使用自帶回報的神經元,能夠處理任意長度的時序資料,對此結構按照時間展開的形式如下所示(圖檔來自參考文獻):

深度學習算法原理——循環神經網絡RNN1. 概述2. 算法原理參考文獻

2.1. RNN的結構

上圖中給出了RNN的内部結構,RNN根據輸入輸出主要可以分為以下三種:

  • 多輸入單輸出,如文本的分類問題;
  • 單輸入多輸出,如描述圖像;
  • 多輸入多輸出,又分為等長或者不等長兩種情況,等長如機器作詩,不等長如seq2seq模型;

這裡以多輸入單輸出的情況為例,多輸入單輸出的具體結構如下所示:

深度學習算法原理——循環神經網絡RNN1. 概述2. 算法原理參考文獻

2.2. RNN的計算過程

深度學習算法原理——循環神經網絡RNN1. 概述2. 算法原理參考文獻

2.3. RNN中參數的求解

深度學習算法原理——循環神經網絡RNN1. 概述2. 算法原理參考文獻

2.4. RNN存在的問題

從上述的BPTT過程來看,RNN存在長期依賴的問題,由于反向傳播的過程中存在梯度消失或者爆炸的問題,簡單的RNN很難模組化長距離的依賴關系。

參考文獻

  • Understanding LSTM Networks