當前位置:
首頁 > 科技 > LSTM、GRU、NTM,為何RNN在眾多ML方法中脫穎而出

LSTM、GRU、NTM,為何RNN在眾多ML方法中脫穎而出

GIF/1.7M

圖: pixabay

「機器人圈」導覽:近年來,循環神經網路(RNN)在眾多自然語言處理項目中取得重大突破得以成名。為什麼RNN可以在眾多機器學習方法中脫穎而出?本文編譯自machinelearningmastery.com,作者是Jason Brownlee。該作者以清晰的思路概括性地介紹了RNN的重要性和先進性,並詳細闡釋了幾種用於深度學習中的RNN模型。相信此文一定會使你對RNN的理解更加深入。文章略長,閱讀時長大約20分鐘。

循環神經網路(RNN)是一種人工神經網路,RNN在網路圖中添加附加權重,以在網路圖中創建周期,以維持內部狀態。

向神經網路添加狀態,他們將能夠明確地學習並利用序列預測問題中的環境。

在這篇文章中,你將學慣用於深度學習的經常性神經網路。

看完這篇文章後,你會了解:

用於深度學習的RNN,如LSTM、GRU和NTM。

RNN與人工神經網路中對於循環的更廣泛研究的相關性。

RNN的研究如何引發了一系列具有挑戰性問題。

注意,我們不會涉及所有循環神經網路。相反,我們將重點關注用於深度學習(LSTM、GRU和NTM)的循環神經網路,以及了解它們所需的環境。

概覽

我們將通過設置循環神經網路領域的場景開始。

接下來,我們將仔細研究用於深度學習的LSTM、GRU和NTM。

然後,我們花一些時間研究一些與RNN相關的高級話題。

完全循環網路(Fully Recurrent Networks)

遞歸神經網路(Recursive Neural Networks)

神經歷史壓縮器(Neural History Compressor)

循環神經網路RNN

我們先設置一個場景。普遍的看法表明,循環為網路拓撲提供了記憶。

理解這一點更好的方法是,訓練集包含了當前訓練示例的一組輸入的示例,常規上,比如傳統的多層感知器是這樣的。

X(i) -> y(i)

但是,訓練示例補充了前一個例子中的一組輸入。這是「非常規」,例如循環神經網路。

[X(i-1), X(i)] -> y(i)

與所有前饋網路範例一樣,問題是如何將輸入層連接到輸出層,包括反饋激活,然後訓練結構收斂。

現在我們來從非常簡單的概念開始,看看不同類型的循環神經網路。

全循環網路

該網路保留了多層感知器的分層拓撲,但是每個元素都具有與架構中每個其他元素的加權連接,並且具有與其自身關聯的單個反饋連接。

並不是所有的連接都會被訓練,並且誤差導數的極端非線性意味著傳統的反向傳播將不起作用,因此該網路採用BPTT(通過時間的反向傳播演算法)或隨機梯度下降。

另外,參見1991年由Bill Wilson發布的Tensor Product Networks。

遞歸循環網路

遞歸神經網路是遞歸網路的線性架構變體。

遞歸促進了分層特徵空間中的分支,同時,由此產生的網路架構在訓練進行時模仿它。

通過梯度梯度方法實現訓練。

該網路在2011年由R. Socher等人發布的的Paralsing Natural Scenes and Natural Language with Recursive Neural Networks(通過遞歸神經網路分析自然場景和自然語言)一文中,有詳細描述。

神經歷史壓縮器

LSTM之父Jürgen Schmidhuber曾於2001年首次報道了一個非常深度的學習器,通過無監督的RNN層次結構的預訓練,能夠對數百個神經層進行信用分配。

每個RNN被無監督地訓練,以預測下一個輸入。只有產生誤差的輸入才會向前推進,將新的信息傳送到層次結構中的下一個RNN,然後以較慢的自組織時間尺度進行處理。

結果顯示,沒有任何信息丟失,只是被壓縮了。RNN堆棧是數據的「深度生成模型」,我們可以從壓縮形式重建數據。

詳情可參見J.Schmidhuber等人2014年撰寫的Deep Learning in Neural Networks:An Overview。

反向傳播則失敗了,即使有一些可能性,由於非線性導數的極值的計算增加,誤差通過大型拓撲反向傳播,使信用分配非常困難。

長短期記憶網路

通過傳統的反向傳播時間(BPTT)或實時循環學習(RTTL),時間流逝的誤差信號往往會爆炸或消失。

反向傳播誤差的時間演化很大程度上取決於權重的大小。權重爆炸可能引起權重振蕩,而消失的原因,則是因為學習過程長時間延遲,並且花費太多的時間,或者根本不起作用。

LSTM是一種具有一定的基於梯度的學習演算法的新型循環網路架構訓練。

LSTM旨在克服誤差迴流問題。它可以學習跨越超過1000步的時間間隔。

雜訊、不可壓縮的輸入序列是的確存在的,同時還不會失去短期延遲能力。

誤差的迴流問題是通過一種高效的,基於梯度的演算法來克服的,這種演算法用於通過特殊單元的內部狀態的體系結構執行常數(從而不會爆炸或消失)的誤差。這些單元會減少「輸入量衝突」和「輸出權重衝突」的影響。

輸入權重衝突:如果輸入非零,則必須使用相同的輸入權重來存儲某些輸入並忽略其他輸入,然後經常會收到衝突的加權更新信號。

這些信號將嘗試使權重參與存儲輸入並保護輸入。這種衝突使得學習過程變得困難,並且需要一個更加環境敏感的機制來通過輸入權重來控制「寫入操作」。

輸出權重衝突:只要單元的輸出不為零,來自該單元的輸出連接的權重將吸引在序列處理期間產生的衝突加權更新信號。

這些信號將嘗試使輸出權重參與訪問存儲在處理單元中的信息,並且在不同時間保護隨後的單元免受被饋送的單元的輸出的干擾。

這些衝突並不是長期延遲的特殊情況,也可能同樣影響到短期延遲。值得注意的是,隨著延遲的增加,存儲的信息必須保護免受擾動,特別是在學習過程的高級階段。

網路架構:不同類型的單元可能傳達關於網路當前狀態的有用信息。例如,輸入門(輸出門)可以使用來自其他存儲器單元的輸入以決定是否在其存儲器單元中存儲(訪問)某些信息。

存儲單元包含門。門是具體到他們調解的連接。輸入門用於糾正輸入重量衝突,同時輸出門可以消除輸出重量衝突。

門:具體來說,為了減輕輸入和輸出權重的衝突和擾動,引入乘法輸入門單元以保護存儲的內容不受干擾輸入的擾動,乘法輸出門單元通過存儲的當前不相關的存儲器內容保護其他單元免受干擾。

具有8個輸入單元、4個輸出單元和2個大小為2的存儲單元塊的LSTM網路的示例.in1標記輸入門,out1標記輸出門,cell1 = block1標記塊1的第一個存儲單元。

由於處理元件的多樣性,同時包含反饋連接,LSTM的連接性與多層感知器相比是複雜的。

存儲單元塊:共享相同輸入門和相同輸出門的存儲單元形成稱為「存儲單元塊」的結構。

存儲單元塊有助於信息存儲,與傳統的神經網路一樣,在單個小區內對分布式輸入進行編碼並不容易。尺寸為1的存儲單元塊僅僅是一個簡單的存儲單元。

學習:由輸入和輸出門引起的改變的乘法動力學的實時循環學習(RTRL)的變體被用於確保通過存儲器單元的內部狀態到達「存儲器單元網路」的反向傳播的非衰減誤差投入「不要及時傳播」。

猜測:這種隨機方法可以勝過許多術語延遲演算法。我們可以確定,之前的工作中使用的許多長時間延遲的任務可以通過簡單的隨機權重猜測比通過所提出的演算法更快地得到解決。

詳見1997年S.Hochreiter和J.Schmidhuber撰寫的Long-Short Term Memory。

LSTM循環神經網路最有趣的應用是自然語言處理。請參閱下列文章以獲得全面的描述。

F. Gers和J. Schmidhuber,LSTM Recurrent Networks Learn Simple Context Free and Context Sensitive Languages, 2001年。

F. Gers,Long Short Memory in Recurrent Neural Networks,Ph.D.論文,2001年。

LSTM的限制

LSTM的高效截斷版本不會輕易解決類似於「強烈延遲XOR」的問題。

每個存儲單元塊需要一個輸入門和一個輸出門。其他循環方法則不需要。

存儲單元內部的「Constant Error Carrousels」的恆定誤差流量與傳統的前饋架構一樣產生與整個輸入串相同的效果。

LSTM與「regency」的概念是其他前瞻性方法一樣有缺陷。如果需要精密計數時間步長,可能需要額外的計數機制。

LSTM優點

橋接長時間延遲的演算法能力是架構內存單元中反向傳播的不間斷誤差的結果。LSTM可以近似於雜訊問題域、分布式表示和連續值。LSTM概述了應該考慮的問題,這非常重要,因為一些任務對於已經建立的循環網路來說是棘手的。

網路參數在問題域上的微調顯然是不必要的。在每個權重和時間步長的更新複雜性方面,LSTM基本上等同於BPTT。LSTM顯示出強大的功能,在機器翻譯等領域獲得了最先進的成果。

門控循環單元神經網路

門控循環神經網路已成功應用於順序或時間數據。它最適合用於語音識別、自然語言處理和機器翻譯,與LSTM一樣在長序列問題域表現良好。

在LSTM主題中考慮了門控,同時還包含了門控網路生成信號,該信號用於控制當前輸入以及先前的存儲器如何用於更新當前激活,從而更新當前的網路狀態。

門自身被加權,並且在整個學習階段根據演算法選擇性地更新。門控網路以增加的複雜性的形式引入增加的計算消耗,因此增加了參數化。

LSTM RNN架構使用簡單RNN的計算作為內部存儲器單元(狀態)的中間候選。門控循環單元(GRU)RNN將門控信號從LSTM RNN模型中減少到兩個。這兩個門被稱為更新門和複位門。

GRU(和LSTM)RNN中的選通機制是對簡單RNN在參數化方面的複製。使用BPTT隨機梯度下降來更新對應於這些門的權重,因為它試圖使成本函數最小化。

每個參數更新將涉及與整個網路的狀態有關的信息。這可能會產生不利影響。

門控的概念進一步被探索,擴展出三種新的變數門控機制。涉及的三個門控變數是GRU1,其中每個門僅使用先前的隱藏狀態和偏差來計算;GRU2,其中每個門僅使用先前的隱藏狀態計算;以及GRU3,其中每個門僅使用偏置來計算。我們會觀察到,GRU3產生最小數量的參數顯著降低。

這三個變體和GRU RNN使用來自MNIST資料庫的手寫數字和IMDB電影評論數據集的數據進行基準測試。

從MNIST數據集生成了兩個序列長度,一個是從IMDB數據集生成的。

門的主要驅動信號似乎是(循環)狀態,因為它包含有關其他信號的基本信息。

隨機梯度下降的使用隱含地攜帶有關網路狀態的信息。這可能解釋了在柵極信號中單獨使用偏置的相對成功,因為其可自適應更新攜帶有關網路狀態的信息。

門控變體探索出了門控機制,並對拓撲結構進行了有限的評估。

有關更多信息,請參閱:

R.Dey和F.M.Salem於2017年撰寫的,門控循環單元(GRU)神經網路的門控變體。

J.Chung等人於2014年撰寫的,「經驗評估門控循環神經網路對序列建模」。

神經圖靈機

神經圖靈機通過將神經網路耦合到外部存儲器資源來擴展神經網路的能力,它們可以通過關注過程進行交互。

組合系統類似於圖靈機(Vuring Neumann)或馮諾依曼(Von Neumann)結構,但是它是可以實現端對端的,可以通過梯度下降進行有效的訓練。

初步結果表明,神經圖靈機可以從輸入和輸出示例中推導出簡單的演算法,如複製、排序和關聯召回。

RNN從其他機器學習方法中脫穎而出,因為它們具備在長時間內學習並進行複雜的數據轉換的能力。

擴展標準RNN的能力,以簡化演算法任務的解決方案,這種豐富性主要是通過一個龐大的可定址記憶實現的,因此,通過類比圖靈的通過無限的存儲磁帶豐富有限狀態機器,該演算法被稱為「神經圖靈機」(NTM)。

與圖靈機不同,NTM是可以通過梯度下降訓練的可微分計算機,為學習程序提供了實用的機制。

NTM架構如上所示。在每個更新周期期間,控制器網路接收來自外部環境的輸入並作為響應發出輸出。它還通過一組並行讀寫頭讀取和寫入存儲器矩陣。虛線表示NTM線路與外界的劃分。

至關重要的是,架構的每一個組成部分都是可以區分的,直接用梯度下降訓練。這是通過定義「模糊」讀寫操作來實現的,這些操作與內存中的所有元素或多或少地相互作用(而不是像正常的圖靈機或數字計算機那樣處理單個元素)。

有關更多信息,請參閱:

A.Graves等人於2014年撰寫的Neural Turing Machines。

R. Greve等人於2016年撰寫的Evolving Neural Turing Machines for Reward-based Learning。

NTM實驗:

這個複製任務測試NTM是否可以存儲並調用長序列的任意信息。網路呈現隨機二進位向量的輸入序列,後跟分隔符標誌。

訓練網路以用來複制8位隨機向量的序列,其中序列長度在1和20之間隨機化。目標序列僅僅是輸入序列的拷貝(沒有定界符標誌)。

重複複製任務通過要求網路將複製的序列輸出指定次數來擴展副本,然後發出序列結束標記。它的主要動機是看看NTM是否可以學習一個簡單的嵌套函數。

網路接收隨機二進位向量的隨機長度序列,隨後是表示所需份數的標量值,其出現在單獨的輸入信道上。

關聯召回任務涉及組織「間接」產生的數據,即一個數據項指向另一個數據項。構建項目列表,使得與其中一個項目的查詢需要網路返回後續項目。

由分隔符符號左右限制的二進位向量序列被定義。在將多個項目傳播到網路之後,通過顯示隨機項目查看該網路,並查看該網路是否可以產生下一個項目。

動態N-gram任務測試,如果NTM可以通過使用內存作為可重寫表來快速適應新的預測分布,它可以用於保持轉換統計數據,從而模擬常規的N-Gram模型。

考慮一下二進位序列中所有可能的6-gram分布的集合。每個6-gram分布可以表示為32個數字的表格,指定下一位將為1的概率,給定所有可能的長度五個二進位歷史。通過使用當前查找表繪製200個連續位來生成特定的訓練序列。網路一次觀察序列一位,然後被要求預測下一位。

優先排序任務測試NTM的排序能力。將隨機二進位向量序列與每個向量的標量優先等級一起輸入到網路中。優先順序從[-1,1]範圍內均勻繪製。目標序列包含根據其優先順序排序的二進位向量。作為其組成部分之一,NTM具有LSTM的前端架構。

概要

在這篇文章中,你已經了解了用於深度學習的循環神經網路(RNN)。

具體來說,你學到了:

用於深度學習工作的RNN,如LSTM、GRU和NTM。

RNN與人工神經網路中對於循環的更廣泛研究的相關性。

RNN的研究如何引發了一系列具有挑戰性的問題。

對於深入學習,你對循環神經網路是否已經掌握了許多知識?希望本文可以幫助到你。


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

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


請您繼續閱讀更多來自 機器人圈 的精彩文章:

科沃斯機器人董事長錢東奇:數據、技術和場景缺一不可
基於Keras的Deep Learning學習入門指南
英特爾以技術創新+生態合作 擁抱AI時代
60年了,LISP語言的進化史是否會引發你對AI未來的新思考
鄧志東:人工智慧將助力自動駕駛產業落地

TAG:機器人圈 |