遞歸神經網絡

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

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

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

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

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

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

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

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

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

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

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

  總結:將數據經過在時間維度的展開,使得信息可以在時間維度上進行傳遞和積累,數據之間的聯繫表現爲在時間維度上的先後依賴關係。

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

 

 

 

 

補充閱讀:

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

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

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

 

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

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

相關文章
相關標籤/搜索