循環神經網絡(RNN)


一、RNN簡介

循環神經網絡(Recurrent Neural Network,RNN)是一類專門用於處理時序數據樣本的神經網絡,它的每一層不僅輸出給下一層,同時還輸出一個隱狀態,給當前層在處理下一個樣本時使用。就像卷積神經網絡可以很容易地擴展到具有很大寬度和高度的圖像,而且一些卷積神經網絡還可以處理不同尺寸的圖像,循環神經網絡可以擴展到更長的序列數據,而且大多數的循環神經網絡可以處理序列長度不同的數據(for 循環,變量長度可變)。它可以看作是帶自循環反饋的全連接神經網絡。

 

RNN符合帶時間序列的任務場景,前后關聯強

  • 標准神經網絡做NLP的建模弊端:
  1. 輸入和輸出數據再不同例子中可能有不同的長度
  2. 不共享從文本的不同位置學到的特征
  3. 參數量巨大
  4. 沒有辦法體現時序上的前因后果
  • RNN特點:
  1. 串聯結構,體現出前因后果,后面結果的生成,要參考前面的信息
  2. 所有特征共享同一套參數
  • 缺點:
  1. 序列太長時,容易導致梯度消失。參數更新只能捕捉到局部依賴關系,沒法再捕捉序列之間的長期關聯或者依賴關系

  隨着距離的增加,RNN無法有效的利用歷史信息。在理論上,RNN絕對有能力處理這樣的“長依賴”問題。人們可以仔細挑選參數來解決這種形式的問題。 可悲的是,在實踐中,RNN似乎無法學習到這些特征。HochreiterBengio,曾經深入的研究過這個問題,他們發現一些根本性的原因,能夠解釋RNN為什么不work。

 二、LSTM

  • 可以有效的解決梯度消失、梯度爆炸問題
  • 長短記憶神經網絡——通常稱作LSTM,是一種特殊的RNN,能夠學習長的依賴關系。

 三、GRU

GRU(Gate Recurrent Unit)是循環神經網絡(Recurrent Neural Network, RNN)的一種。和LSTM(Long-Short Term Memory)一樣,也是為了解決長期記憶和反向傳播中的梯度等問題而提出來的。

GRU和LSTM在很多情況下實際表現上相差無幾

我們在我們的實驗中選擇GRU是因為它的實驗效果與LSTM相似,但是更易於計算。

相比LSTM,使用GRU能夠達到相當的效果,並且相比之下更容易進行訓練,能夠很大程度上提高訓練效率,因此很多時候會更傾向於使用GRU。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM