遞歸神經網絡


遞歸神經網絡(RNN)是兩類人工神經網絡的總稱,分別是時間遞歸神經網絡和結構遞歸神經網絡。(ps:也有很多文獻稱之為遞歸神經網絡循環神經網絡)。

  RNN在基礎研究領域和工程領域都取得了很多突破性進展。在自然語言處理領域,采用神經網絡模型來改進傳統的N元統計模型。還應用於機器翻譯領域、語音識別和個性化推薦領域等。

  RNN處理的對象是一種時間序列數據,它將數據信息流以一種循環的方式進行傳遞處理。具備兩個特點:

  1. 持續性:在時間序列信息中,前后數據見不是相互獨立,而是相互依賴的,當前階段的輸出結果受到過去的決策影響,同理,當前節點的輸出也會影響到后面的決策。

  2. 記憶性:RNN可以保留序列的“記憶”信息。例如:在序列式的個性化推薦場景中,為了在當前時刻給用戶行為記錄為“記憶”,類似於人的大腦機制,這些記憶將有助於對信息進行篩選。

  BPTT,(BackPropagation Through Time)時間反向傳播,是訓練RNN網絡模型的標准算法。它的流程與反向傳播算法很相似。與BP算法一樣,利用BPTT求解遞歸神經網絡之所以會導致梯度消失,主要是由於激活函數的導數所引發的梯度下降疊加。在RNN網絡中,梯度消失導致的后果是模型無法保證前面較遠時間的記憶,因此,在實際得到應用中效果不甚理想。-----后面介紹兩種改進的RNN模型,它們有效克服了梯度消失的缺點,對於捕獲長時間的記憶信息效果非常顯著。

-----長短時記憶網絡(long Short Term Memory, LSTM)是時間遞歸神經網絡的一種變種形態,目前已經被廣泛應用於機器翻譯、語音識別等自然語言處理領域。LSTM對隱藏層的設計做了相應的改進以有效地保留長時間的記憶信息,有效地克服了梯度消失問題。特別地,LSTM隱藏層的核心設計,是一種叫記憶體的信息流,它負責把記憶信息從序列的初始位置傳遞到序列的末端,並通過4個相互交互的“門”單元,來控制着在每一時間步t對記憶信息值的修改。

      1. 忘記門:其作用是控制着要從前面的記憶中丟棄多少信息。

      2. 輸入門:它決定了當前時刻的輸入信息,有多少信息將被添加到記憶信息流中,與忘記門的計算公式幾乎一致,輸入門同樣通過一個激活函數來實現。

      3. 候選門:它用來計算當前的輸入與過去的記憶所具有的信息總量。

      4. 輸出門:它控制着有多少記憶信息將被用於下一階段的更新中。

  總結:將數據通過在時間維度的展開,使得信息能夠在時間維度上進行傳遞和積累,數據之間的聯系表現為在時間維度上的前后依賴關系。

-----結構遞歸神經網絡:是將數據在空間維度上展開,並以一種樹結構的形式展示,數據之間的聯系表現為整體與局部之間的空間組合關系。被廣泛用於句子的分塊和語法處理中。在自然語言文本中,語法的規則是一種遞歸的結構,一個句子可以由名詞短語和動詞短語構成,而名詞短語又可以繼續分解為其他的短語子結構。一個亟待解決的問題是,需要選擇一個評價標准,並按照這個標准,構建出句子的最優語法遞歸樹。采用beam search的方法構造出最優語法樹,思想是對於當前的所有可能候選對,選擇分數最高的候選對進行合並。

 

 

 

 

補充閱讀:

  語言模型是一個概率模型,利用該模型可以對任意給定的一個句子序列數據,得到該序列的合理性概率估計。在語音識別、機器翻譯中扮演着非常重要的角色。語言模型的形式化定義為

 設S表示一個句子序列,它由單詞序列構成,n表示句子的長度,則語言模型的任務是構建成這樣的概率模型。由條件概率公式,可以得到計算語言模型最簡單的概率統計算法如公式12.32:

式子12.34對應的語言模型為N元統計模型,該模型為構建語言模型提供了一種有效的解決方案,但N元統計模型也存在着幾個缺點:第一,空間復雜度高;第二,稀疏性,語言模型是針對共同出現的次數,很多詞對沒有出現過,造成很多零概率。稀疏性也會導致數據結構的置信度不高,解決方法是使用平滑技術:拉普拉斯平滑、古德-圖靈平滑、線性插值平滑、卡茨平滑。

 

基於LSTM構建語言模型:將句子拆分為單詞的組合,句子中的每一個單詞,按其出現的先后順序作為輸入層中每一時間步的輸入數據,整個過程不需要關心輸入數據是否在語料中出現。

利用遞歸神經網絡構建語言模型,最核心的設計是中間的隱藏層,上圖中設置了LSTM隱藏單元,通過前向操作,將句子中單詞之間的聯系信息,以記憶信息流的形態不斷向后傳遞,影響每一個新輸入數據的處理和每一階段的輸出。

 


免責聲明!

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



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