當前位置:
首頁 > 知識 > IndRNN:構建更長更深的RNN,附GitHub實現

IndRNN:構建更長更深的RNN,附GitHub實現

導讀:最近,澳大利亞伍倫貢大學聯合電子科技大學提出一種新型的循環神經網路 IndRNN,不僅可以解決傳統 RNN 所存在的梯度消失和梯度爆炸問題,還學習長期依賴關係;此外,藉助 relu 等非飽和激活函數,訓練之後 IndRNN 會變得非常魯棒,並且通過堆疊多層 IndRNN 還可以構建比現有 RNN 更深的網路。與傳統的 RNN 和 LSTM 相比,使用 IndRNN 可以在各種任務中取得更好的結果。

循環神經網路 (RNN) 已在動作識別 、場景標註 、語言處理 等序列學習問題中獲得廣泛應用,並且成果顯著。與卷積神經網路 ( CNN ) 等前饋網路相比,RNN 具有循環連接,其中最後的隱藏狀態是到下一狀態的輸入。狀態更新可描述如下:

其中和分別為時間步 t 的輸入和隱藏狀態。、和分別為當前輸入的權重、循環輸入以及神經元偏差,σ 是神經元的逐元素激活函數,N 是該 RNN 層中神經元的數目。

由於循環權重矩陣不斷相乘,RNN 的訓練面臨著梯度消失和梯度爆炸的問題。長短期記憶 ( LSTM ) 和門控循環單元 ( GRU )等若干 RNN 模型可用來解決這些梯度問題。然而,在這些變體中使用雙曲正切和 Sigmoid 函數作為激活函數會導致網路層的梯度衰減。因此,構建和訓練基於 RNN 的深度 LSTM 或 GRU 其實存在困難。

相比之下,使用 relu 等非飽和激活函數的現有 CNN 可以堆棧到非常深的網路中 (例如,使用基本卷積層可以堆疊到 20 層以上;使用殘差連接可以到 100 層以上),並且仍然在接受高效的訓練。雖然在若干研究 [44, 36] 中已經嘗試把殘差連接用於 LSTM 模型,但情況並沒有明顯改善 (上述使用雙曲正切和 sigmoid 函數的 LSTM 的梯度衰減是主要原因)。

此外,現有的 RNN 模型在 ( 1 ) 中使用相同的,其中的循環連接連通所有神經元。這使得解釋和理解已訓練的神經元 (如每個神經元響應哪種模式) 的作用變得困難,因為單個神經元 的輸出的簡單可視化很難在不考慮其它神經元的情況下確定一個神經元的功能。

本文提出了一種新型循環神經網路——獨立循環神經網路(IndRNN)。在 IndRNN 中,循環輸入用 Hadamard 乘積處理為。與傳統 RNN 相比,它有許多優點,其中包括:

通過調節基於時間的梯度反向傳播,可以有效地解決梯度消失和爆炸問題。

利用 IndRNN 可以保留長期記憶,處理長序列。實驗表明,IndRNN 可以很好地處理 5000 步以上的序列,而 LSTM 能夠處理的序列還不到 1000 步。

IndRNN 可以很好地利用 relu 等非飽和函數作為激活函數,並且訓練之後非常魯棒。

IndRNN 可以實現高效的多層堆疊以增加網路的深度,尤其是在層上具有殘差連接的情況下。語言建模實驗給出了一個 21 層 IndRNN 的實例。

由於各層神經元相互獨立,就很容易解釋每層 IndRNN 神經元的行為。

實驗表明,IndRNN 在加法問題、序貫 MNIST 分類、語言建模和動作識別等方面的性能明顯優於傳統的 RNN 和 LSTM 模型。

3. 獨立循環神經網路(IndRNN)

本文提出了一種獨立循環神經網路 ( IndRNN ),具體描述如下:

其中循環權重 u 是向量,表示 Hadamard 乘積。每一層的每個神經元各自獨立,神經元之間的連接可以通過堆疊兩層或更多層的 IndRNNs 來實現(見下文)。對於第 n 個神經元,隱藏狀態 h_n,t 可以通過下式得出:

其中 w_n 和 u_n 分別是輸入權重和循環權重的第 n 行。每個神經元僅在前一時間步從輸入和它自己的隱藏狀態中接收信息。也就是說,IndRNN 中的每個神經元獨立地處理一種類型的時空模型。傳統上,RNN 被視為時間上的、共享參數的多層感知器。與傳統的 RNN 不同的是,本文提出的 IndRNN 神經網路為循環神經網路提供了一個新視角,即隨著時間的推移 (即通過 u ) 獨立地聚集空間模式 (即通過 w )。不同神經元之間的相關性可以通過兩層或多層的堆疊來加以利用。在這種情況下,下一層的每個神經元處理上一層所有神經元的輸出。

4. 多層 IndRNN

如上所述,同一 IndRNN 層中的神經元彼此獨立,時間上的跨通道信息通過多層 IndRNN 進行探索。

IndRNN 基本架構如圖 1(a) 所示,其中「weight」和「Recurrent+ ReLU」表示以 relu 作為激活函數的每個步驟的輸入處理和循環處理。通過堆疊此基本架構,可以構建深度 IndRNN 網路。

基於 [13] 中殘差層的「預激活」類型的殘差 IndRNN 實例見圖 1(b)。在每個時間步,梯度都可以從恆等映射直接傳播到其他層。由於 IndRNN 解決了隨時間累積的梯度爆炸和消失的問題,所以梯度可以在不同的時間步上有效地傳播。因此,網路可以更深更長。

圖 1:( a ) 為 IndRNN 基本架構圖解;( b ) 為殘差 IndRNN 架構圖解。

5. 實驗

-馬上學習挑戰百萬年薪-


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI講堂 的精彩文章:

Google 去年利用人工智慧移除超過 70 萬款惡意應用
2018年你必須關注的人工智慧學術會議匯總

TAG:AI講堂 |