複製鏈接
請複製以下鏈接發送給好友

循環神經網絡

鎖定
循環神經網絡(Recurrent Neural Network, RNN)是一類以序列(sequence)數據為輸入,在序列的演進方向進行遞歸(recursion)且所有節點(循環單元)按鏈式連接的遞歸神經網絡(recursive neural network) [1] 
對循環神經網絡的研究始於二十世紀80-90年代,並在二十一世紀初發展為深度學習(deep learning)算法之一 [2]  ,其中雙向循環神經網絡(Bidirectional RNN, Bi-RNN)和長短期記憶網絡(Long Short-Term Memory networks,LSTM)是常見的循環神經網絡 [3] 
循環神經網絡具有記憶性、參數共享並且圖靈完備(Turing completeness),因此在對序列的非線性特徵進行學習時具有一定優勢 [4]  。循環神經網絡在自然語言處理(Natural Language Processing, NLP),例如語音識別、語言建模、機器翻譯等領域有應用,也被用於各類時間序列預報。引入了卷積神經網絡(Convolutional Neural Network,CNN)構築的循環神經網絡可以處理包含序列輸入的計算機視覺問題。
中文名
循環神經網絡
外文名
Recurrent Neural Network, RNN
所屬學科
人工智能
類    型
機器學習算法,神經網絡算法
提出者
M. I. Jordan,Jeffrey Elman
提出時間
1986-1990年
應    用
自然語言處理,計算機視覺

循環神經網絡歷史

1933年,西班牙神經生物學家Rafael Lorente de Nó發現大腦皮層(cerebral cortex)的解剖結構允許刺激在神經迴路中循環傳遞,並由此提出反響迴路假設(reverberating circuit hypothesis) [5]  。該假説在同時期的一系列研究中得到認可,被認為是生物擁有短期記憶的原因 [6-7]  。隨後神經生物學的進一步研究發現,反響迴路的興奮和抑制受大腦阿爾法節律(α-rhythm)調控,並在α-運動神經(α-motoneurones )中形成循環反饋系統(recurrent feedback system) [8-9]  。在二十世紀70-80年代,為模擬循環反饋系統而建立的一些數學模型為RNN帶來了啓發 [10-12] 
1982年,美國學者John Hopfield基於Little (1974) [12]  的神經數學模型使用二元節點建立了具有結合存儲(content-addressable memory)能力的神經網絡,即Hopfield神經網絡 [13]  。Hopfield網絡是一個包含遞歸計算和外部記憶(external memory)的神經網絡,其內部所有節點都相互連接,並使用能量函數進行非監督學習 [14] 
1986年,Michael I. Jordan在分佈式並行處理(parallel distributed processing)理論下提出了Jordan網絡 [15]  。Jordan網絡的每個隱含層節點都與一個狀態單元(state units)相連以實現延時輸入,並使用logistic函數作為激勵函數 [15]  。Jordan網絡使用反向傳播算法(Back-Propagation, BP)進行學習,並在測試中提取了給定音節的語音學特徵 [15]  。之後在1990年,Jeffrey Elman提出了第一個全連接的RNN,即Elman網絡 [16]  。Jordan網絡和Elman網絡都從單層前饋神經網絡出發構建遞歸連接,因此也被稱為簡單循環網絡(Simple Recurrent Network, SRN) [4] 
在SRN出現的同一時期,RNN的學習理論也得到發展。在反向傳播算法被提出後 [17]  ,學界開始嘗試在BP框架下對循環神經網絡進行訓練 [15]  [2]  [18]  。1989年,Ronald Williams和David Zipser提出了RNN的實時循環學習(Real-Time Recurrent Learning, RTRL) [19]  。隨後Paul Werbos在1990年提出了隨時間反向傳播算法(BP Through Time,BPTT) [20] 
1991年,Sepp Hochreiter發現了循環神經網絡的長期依賴問題(long-term dependencies problem),即在對長序列進行學習時,循環神經網絡會出現梯度消失(gradient vanishing)和梯度爆炸(gradient explosion)現象,無法掌握長時間跨度的非線性關係 [21-22]  。為解決長期依賴問題,RNN的改進不斷出現,較重要的包括Jurgen Schmidhuber及其合作者在1992和1997年提出的神經歷史壓縮器(Neural History Compressor, NHC) [23]  和長短期記憶網絡(Long Short-Term Memory networks, LSTM) [24]  ,其中包含門控的LSTM受到了關注。
同在1997年,M. Schuster和K. Paliwal提出了具有深度結構的雙向循環神經網絡(Bidirectional RNN, BRNN),並對其進行了語音識別試驗 [25]  。雙向和門控構架的出現提升了RNN的學習表現,在一些綜述性研究中,被認為是RNN具有代表性的研究成果 [2] 
二十一世紀後,隨着深度學習理論的出現和數值計算能力的提升,擁有更高複雜度的RNN開始在自然語言處理問題中得到關注。2005年,Alex Graves等將雙向LSTM應用於語音識別,並得到了優於隱馬爾可夫模型(Hidden Markov Model, HMM)的表現 [26] 
2014年,K. Cho提出了門控循環單元網絡(Gated Recurrent Unit networks, GRU),該方法是LSTM之後另一個受到關注的RNN門控構架 [27] 
2010年,Tomas Mikolov及其合作者提出了基於RNN的語言模型 [28]  [29]  。2013-2015年, Y. Benjo、D. Bahdanau等提出了編碼器-解碼器、自注意力層等一系列RNN算法,並將其應用於機器翻譯問題 [30-31]  。為語言模型設計的RNN算法在隨後的研究中啓發了包括Transformers、XLNet、ELMo、BERT等複雜構築 [32-34] 

循環神經網絡結構

循環神經網絡循環單元

內部計算
全連接的循環單元 全連接的循環單元
RNN的核心部分是一個有向圖(directed graph)。有向圖展開中以鏈式相連的元素被稱為循環單元(RNN cell) [1]  [3]  。通常地,循環單元構成的鏈式連接可類比前饋神經網絡中的隱含層(hidden layer),但在不同的論述中,RNN的“層”可能指單個時間步的循環單元或所有的循環單元,因此作為一般性介紹,這裏避免引入“隱含層”的概念。給定按序列輸入的學習數據
,RNN的展開長度為
。待處理的序列通常為時間序列,此時序列的演進方向被稱為“時間步(time-step)”。對時間步
,RNN的循環單元有如下表示 [1] 
式中
稱為RNN的系統狀態(system status),在動力系統的觀點下,系統狀態描述了一個給定空間中所有點隨時間步的變化 [1] 
是內部狀態(internal status),與系統狀態有關
。由於求解當前的系統狀態需要使用前一個時間步的內部狀態,因此循環單元的計算包含遞歸(recursion)。在樹結構的觀點下,所有先前時間步的循環單元都是當前時間步循環單元的父節點。式中
激勵函數或一個封裝的前饋神經網絡,前者對應簡單循環網絡(SRN),後者對應門控算法和一些深度算法 [1]  。常見的激勵函數選擇包括logistic函數雙曲正切函數(hyperbolic tangent function)。
是循環單元內部的權重係數,與時間步無關,即對一組學習樣本,RNN使用共享的權重計算所有時間步的輸出 [1] 
僅由循環單元構成的RNN在理論上是可行的,但RNN通常另有輸出節點,其定義為一個線性函數 [1] 
式中
是權重係數。根據RNN結構的不同,一個或多個輸出節點的計算結果在通過對應的輸出函數後可得到輸出值
。例如對分類問題,輸出函數可以是歸一化指數函數(softmax function)或其它機器學習算法建立的分類器 [1]  [4] 
連接性
1. 循環單元-循環單元連接:也被稱為“隱含-隱含連接(hidden-hidden connection)”或全連接,此時每個循環單元當前時間步的狀態由該時間步的輸入和上一個時間步的狀態決定:
是循環節點的權重,前者稱為狀態-狀態權重,後者稱為狀態-輸入權重 [4]  。正向、反向遞歸的循環單元-循環單元連接相堆疊可以得到BRNN, [1] 
2. 輸出節點-循環單元連接:該連接方式下循環單元的狀態由該時間步的輸入和上一個時間步的輸出(而不是狀態)決定:
。由於潛在假設了前一個時間步的輸出節點能夠表徵先前所有時間步的狀態,輸出節點-循環單元連接的RNN不具有圖靈完備性,學習能力也低於全連接網絡。但其優勢是可以使用Teacher Forcing進行快速學習 [1] 
3. 基於上下文的連接:因為在圖網絡的觀點下呈現閉環結構,該連接方式也被稱為閉環連接(closed-loop connection),其中循環單元的系統狀態引入了其上一個時間步的真實值
。使用基於上下文連接的RNN由於訓練時將學習樣本的真實值作為輸入,因此是一個可以逼近學習目標概率分佈的生成模型(generative model)。基於上下文的連接有多種形式,其中常見的一類使用了該時刻的輸入、上一時刻的狀態和真實值:
。其它的類型可能使用固定長度的輸入,使用上一時刻的輸出代替真實值,或不使用該時刻的輸入 [1] 

循環神經網絡輸出模式

通過建立輸出節點,RNN可以有多種輸出模式,包括序列-分類器(單輸出)、序列-序列(同步多輸出)、編碼器-解碼器(異步多輸出)等 [4] 
序列-分類器
序列-分類器的輸出模式適用於序列輸入和單一輸出的機器學習問題,例如文本分類(sentiment classification)。給定學習數據和分類標籤:
,序列-分類器中循環單元的輸出節點會直接通過分類器,常見的選擇是使用最後一個時間步的輸出節點
,或遞歸計算中所有系統狀態的均值
[4]  。常見的序列-分類器使用全連接結構。
序列-序列
序列-序列的輸出模式中,序列的每個時間步對應一個輸出,即輸入和輸出的長度相同 [4]  。給定學習目標
,序列-序列的輸出模式在每個時間步都輸出結果
。循環單元-循環單元連接、輸出節點-循環單元連接和基於上下文的連接都支持序列-序列輸出,其中前兩者常見於詞性標註(part-of-speech tagging)問題,後者可被應用於文本生成(text generation)和音樂合成(music composition)。
編碼器-解碼器(encoder-decoder)
在輸入數據和學習目標都為序列且長度可變時,可以使用兩個相耦合的基於上下文連接的RNN,即編碼器-解碼器進行建模。編碼器-解碼器也被稱為“seq2seq”,是語言模型中的RNN構架。以機器翻譯為例。給定嵌入的原始文本和翻譯文本:
,編碼器在工作時對原始文本進行處理,並輸出
到解碼器,解碼器根據編碼器的輸出生成新序列。編碼器-解碼器結構的RNN以最大化
為目標更新權重係數 [1] 

循環神經網絡理論

循環神經網絡學習範式

監督學習(supervised learning)
1. Teacher Forcing
Teacher Forcing是一種在序列-序列輸出模式下對RNN進行快速訓練的方法,常見於其理念是在每一個時間步的訓練中引入上一個時間步的學習目標(真實值)從而解耦誤差的反向傳播。具體地,Teacher Forcing是一種極大似然估計(Maximum Likelihood Estimation, MLE)方法,例如對序列的前兩個時間步,序列的對數似然有如下表示 [1] 
此時MLE將時間步
的學習轉化為求解權重係數
使
的似然取極大值的優化問題,因此不需要將神經網絡的誤差函數反向傳播至該時間步。
上述方法被稱為“嚴格的”Teacher Forcing,適用於輸出節點-循環單元連接的RNN,對循環單元-循環單元連接的RNN,只要輸出節點-循環單元可以連接,則Teacher Forcing可以和隨時間反向傳播(BPTT)一起使用 [1] 
嚴格的Teacher Forcing不適用於閉環連接的RNN,因為該連接方式在測試時會將前一個時間步的輸出作為當前時間步的輸入,而Teacher Forcing在學習時使用的真實值
和測試時神經網絡自身的輸出
往往有相當的差別。一個改進是對部分樣本進行自由學習,即使用神經網絡自身的輸出代替真實的學習目標加入Teacher Forcing中 [1]  。此外也可在Teacher Forcing的所有學習樣本中隨機混入
,並隨着學習過程不斷增加混入
的比例 [35] 
2. 隨時間反向傳播(BP Through Time, BPTT)
BPTT是反向傳播算法(BP)由前饋神經網絡向RNN的推廣 [1]  ,BPTT將RNN的鏈式連接展開,其中每個循環單元對應一個“層”,每個層都按前饋神經網絡的BP框架進行計算 [4]  。考慮RNN的參數共享性質,權重的梯度是所有層的梯度之和:
式中
為損失函數。這裏以循環單元-循環單元連接的多輸出網絡為例介紹BPTT的計算步驟。首先給定如下的更新方程 [1] 
式中需要求解的權重為
。對最末端的時間步
和其餘的時間步
,求解總損失函數對循環單元狀態的偏導數是一組遞歸計算:
由於RNN參數共享,因此在計算當前時間步的梯度時需要將共享的參數對其它時間步的損失函數的變化“固定”,這裏使用“
”表示該關係,在一些文獻中,該符號被稱為“實時導數(intermediate derivative)” [4]  [36]  。式中
為激勵函數的導數,
與輸出函數
有關。按上式對所有時間步反向傳播後,RNN的權重梯度更新按如下方式給出:
上述步驟為BPTT的標準求解框架,在理論上可以處理所有類型的RNN構築 [3]  。在實際應用中,由於損失函數對狀態的偏導數
需要被完整地保存直到該樣本的所有參數更新完畢,因此在學習長序列樣本時,BPTT的空間複雜度會對應地增加 [4]  。對BPTT按固定長度截斷,即截斷的BPTT(truncated BPTT)是被用於解決上述問題的方法之一 [37] 
3. 實時循環學習(Real-Time Recurrent Learning, RTRL)
RTRL通過前向傳播的方式來計算梯度,在得到每個時間步的損失函數後直接更新所有權重係數至下一個時間步,類似於自動微分的前向連鎖(forward accumulation)模式。這裏以BPTT中的狀態-狀態權重
為例做簡單介紹。在時間步
,損失函數
對權重中元素
的實時更新規則如下:
其它權重的更新可以按相近的方式導出。相比於BPTT,RTRL的計算量更大,但因為無需存儲反向傳播的誤差梯度,RTRL的內存開銷更小,更適用於在線學習或使用長序列學習樣本的問題 [4] 
非監督學習(unsupervised learning)
使用編碼器-解碼器結構的RNN能夠以自編碼器(Auto-Encoders, AE)的形式,即循環自編碼器(Recurrent AE)進行非監督學習 [38]  。RAE是對序列數據進行特徵學習(feature learning)的方法之一 [39]  ,其工作方式與編碼器-解碼器相近。具體地,RAE輸入端的編碼器會處理序列並將最後一個時間步的狀態傳遞至解碼器,解碼器使用編碼器的輸出重構序列。RAE以最小化原始序列和重構序列的差異為目標進行學習 [38]  。不同於一般的編碼器-解碼器結構,在學習完畢後,RAE只有編碼器部分會被取出使用,對輸入序列進行編碼 [38] 
非監督學習也可被應用於堆疊RNN,其中最早被提出的方法是神經歷史壓縮器(Neural History Compressor, NHC) [23]  [2]  。NHC是一個自組織階層系統(self-organized hierarchical system),在學習過程中,NHC內的每個RNN都以先前時間步的輸入
學習下一個時間步的輸入
,學習誤差(通常由長距離依賴產生)會輸入到更高階層的RNN中,在更長時間尺度下進行學習以 [23]  。最終輸入數據會在NHC的各個階層得到完整的表徵,上述過程在研究中被描述為“壓縮(compression)”或“蒸餾(distillation)” [23]  [40]  。NHC在本質上是階層結構的AE,對輸入數據進行壓縮即是其特徵學習的過程 [2]  。由於可以在多時間尺度上學習長距離依賴,因此NHC也被用於RNN在監督學習問題中的預學習(pre-training) [2]  。在Transformer出現後,NHC也被用於BERT的預學習 [41] 
除上述方法外,RNN有其它適用於特定問題的非監督學習方法。被用於聚類問題的BINGO(Binary Information Gain Optimization)算法 [42-43]  和NEO(Non-parametric Entropy Optimization)算法 [43-44] 

循環神經網絡優化

RNN在誤差梯度在經過多個時間步的反向傳播後容易導致極端的非線性行為,包括梯度消失(gradient vanishing)和梯度爆炸(gradient explosion)。不同於前饋神經網絡,梯度消失和梯度爆炸僅發生在深度結構中,且可以通過設計梯度比例得到緩解,對RNN,只要序列長度足夠,上述現象就可能發生 [1]  。在理解上,RNN的遞歸計算類似於連續的矩陣乘法,由於RNN使用固定的權重處理所有時間步,因此隨着時間步的推移,權重係數必然出現指數增長或衰減,引發梯度的大幅度變化 [1]  [4] 
在實踐中,梯度爆炸雖然對學習有明顯的影響,但較少出現,使用梯度截斷可以解決 [1]  。梯度消失是更常見的問題且不易察覺,發生梯度消失時,RNN在多個時間步後的輸出幾乎不與序列的初始值有關:
,因此無法模擬序列的長距離依賴(long-term dependency) [1]  。在數值試驗中,SRN對時間步跨度超過20的長距離依賴進行成功學習的概率接近於0 [45]  。恰當的權重初始化(weight initialization),或使用非監督學習策略例如神經歷史壓縮器(NHC)可提升RNN學習長距離依賴的能力 [46]  ,但對更一般的情形,RNN發展了一系列優化策略和構築。
梯度截斷
梯度截斷是處理RNN梯度爆炸現象的有效方法,具體分為兩種,一是設定閾值並逐個元素篩查,若梯度超過閾值則截斷至閾值 [47]  ;二是在參數更新前,若誤差對參數的梯度超過閾值,則按範數(norm)截斷 [48] 
式中
為梯度的閾值。比較可知,按範數截斷保持了截斷前後梯度的方向不變,因此邏輯上更合理,但試驗表明,兩種方法效果相當。事實上作為經驗方法,只要梯度截斷將權重係數帶離數值不穩定區域,就能很好地應對梯度爆炸現象 [1] 
正則化(regularization)
RNN的正則化是應對其長距離依賴問題的方法之一,其理念是控制循環節點末端狀態對初始狀態導數,即雅可比矩陣的範數以提升RNN對長距離誤差的敏感性 [36]  。在誤差反向傳播至第
個時間步時,其對應的正則化項有如下表示 [36] 
在BP中加入上述正則化項會提升計算複雜度,此時可將包含損失函數的項近似為常數,並引導雅可比矩陣的範數向1靠近 [36]  。研究表明,正則化和梯度截斷結合使用可以增加RNN學習長距離依賴的能力,但相比於門控單元,正則化沒有減少模型的冗餘 [1]  [36] 
在前饋神經網絡中被使用和證實有效的隨機失活(dropout)策略也可用於RNN。在輸入序列的維度大於1時,RNN在每個時間步的輸入和狀態的矩陣元素都可以被隨機歸零 [49]  [50] 
式中
為(0,1)-矩陣,也被稱為maxout矩陣(maxout array)隨機決定需要失活的連接。maxout矩陣可以對一組學習樣本的所有時間步保持不變,其中與系統狀態相乘的maxout矩陣也可隨時間步變化 [49]  [50]  。在長序列的學習中,不斷生成隨機數進行隨機失活會降低算法的運行效率,一個可能的改進是假設距離過長的元素影響很小,並只對與當前時間步相隔一定範圍的循環單元連接使用隨機失活 [49] 
層歸一化(Layer Normalization, LN)
應用於RNN時,LN將RNN的每個循環單元視為一個層進行歸一化。對時間步
,包含LN的循環節點的內部計算如下表示 [51] 
式中
為代表縮放和平移的參數,隨BP算法進行更新 [51]  。在RNN中,循環節點的均值和標準差會發生改變,產生協變漂移(covariate shift)現象,該現象會導致梯度爆炸和梯度消失,因此LN是緩解長距離依賴問題的方法之一 [52] 
儲層計算(reservoir computing)
儲層計算將RNN中鏈式連接轉變為一個“儲層(reservoir)”,儲層內循環單元的狀態在每個時間步更新。儲層與輸出層相連,其對應的輸出權重由學習數據求解 [1]  [53] 
式中
為儲層的輸入權重,在計算中隨機初始化並且固定,
為輸出權重,按線性參數模型的計算方法求解。注意到上式中
的遞歸是隨機的,因此儲層計算的構築本身緩解了RNN的長距離依賴問題。同時,為確保儲層不發生梯度爆炸,其輸出權重有兩個設定:
(1)使用稀疏矩陣特徵值的最大絕對值小於譜半徑(spectural radius)。譜半徑是一個超參數,用於控制
隨時間步的指數增長 [1]  [54] 
(2)稀疏矩陣控制儲層與輸出層間的鬆散連接,此時儲層中的信息只能在有限的輸出中“回聲”,不會擴散至網絡的所有輸出中 [53] 
儲層計算可以被視為RNN的學習理論或對RNN的結構優化 [53]  [55]  。使用儲層計算的RNN包括回聲狀態網絡(Echo State Network, ESN)和流體狀態機(liquid state machine),二者的不同點是流體狀態機的儲層單元是二元節點 [1]  。儲層計算中隨機初始化並固定隱含層輸入權重的方法接近於極限學習機(Extreme Learning Machine, ELM),但後者基於前饋神經網絡構建,其隱含層節點不是循環單元,不具有記憶性 [56] 
跳躍連接(skip connection)
梯度消失是時間步的函數,因此可以通過使用跳躍連接提高RNN學習長距離依賴的能力。跳躍連接是跨多個時間步的長距離連接,引入跳躍連接後,長時間尺度的狀態能夠更好地在神經網絡中傳遞,緩解梯度消失現象 [1]  。有研究在使用跳躍連接的同時直接刪除循環單元-循環單元連接,強迫RNN以階層結構在長時間尺度上運行 [57] 
滲漏單元(leaky unit)和門控單元(gated unit)
滲漏單元也被稱為線性自連接單元(linear self-connection unit)是在循環單元間模擬滑動平均(moving average)以保持RNN中長距離依賴的方法 [1] 
式中的權重
是預先給定的。由上式容易發現,滲漏單元會在迭代中優先記憶系統先前的狀態 ,因此提升了RNN建立長期依賴的能力 [1]  。研究表明ESN可以引入滲漏單元進行優化以提升其學習效果 [54] 
滲漏單元在應用中有兩個不足,一是人為給定的權重不是記憶系統狀態的最優方式,二是滲漏單元沒有遺忘功能,容易出現信息過載,在過去的狀態被循環單元充分使用後,將其遺忘可能是有利的 [1]  。 以此出發,門控單元是滲漏單元的推廣,門控單元的類型包括輸入門(input gate)、輸出門(output gate)和遺忘門(forget gate)。每個門都是一個封裝的神經網絡,其計算方式可參見算法部分。總體而言,門控單元是減少學習誤差的長距離依賴的有效方法,使用門控單元的算法,包括長短期記憶網絡(Long Short-Term Memory networks, LSTM)和門控循環單元網絡(Gated Recurrent Unit networks, GRU)被證實在各類問題中有優於SRN的表現 [1] 

循環神經網絡算法

循環神經網絡簡單循環網絡

簡單循環網絡(Simple Recurrent Network, SRN)是僅包含一組鏈式連接(單隱含層)的RNN,其中循環單元-循環單元連接的為Elman網絡,閉環連接的為Jordan網絡。對應的遞歸方式如下 [15]  [16] 
式中
為激勵函數,例如邏輯斯蒂函數或雙曲正切函數。SRN在提出時使用BPTT進行監督學習,但不包含任何優化理論,因此無法學習長距離依賴 [45]  ,在現代的機器學習問題中很少直接使用。

循環神經網絡門控算法

門控算法是RNN應對長距離依賴的可行方法,其設想是通過門控單元賦予RNN控制其內部信息積累的能力,在學習時既能掌握長距離依賴又能選擇性地遺忘信息防止過載 [1]  。門控算法使用BPTT和RTRL進行學習,其計算複雜度和學習表現均高於SRN [24]  [1] 
長短期記憶網絡(Long Short-Term Memory networks, LSTM)
LSTM單元的內部結構 LSTM單元的內部結構
LSTM是最早被提出的RNN門控算法,其對應的循環單元,LSTM單元包含3個門控:輸入門、遺忘門和輸出門。相對於RNN對系統狀態建立的遞歸計算,3個門控對LSTM單元的內部狀態建立了自循環(self-loop) [1]  。具體地,輸入門決定當前時間步的輸入和前一個時間步的系統狀態對內部狀態的更新;遺忘門決定前一個時間步內部狀態對當前時間步內部狀態的更新;輸出門決定內部狀態對系統狀態的更新。LSTM單元的更新方式如下 [1] 
式中
為系統狀態和內部狀態的激勵函數,通常為雙曲正切函數,
為隨時間步更新的門控,本質上是以Sigmoid函數為激勵函數的前饋神經網絡,使用Sigmoid函數的原因是其輸出在
區間,等效於一組權重。式中腳標
表示輸入門、遺忘門和輸出門。除上述更新規則外,LSTM也可進一步引入內部狀態更新門控,使用該策略的算法被稱“peephole LSTM” [4]  [58] 
最初版本的LSTM沒有遺忘門,以全連接的方式進行序列-序列輸出 [24]  ,但本質上LSTM單元可以被引入其它各類RNN構築中,例如LSTM自編碼器(LSTM Autoencoder) [59]  、堆疊LSTM(stacked LSTM) [60]  等。
對LSTM進行權重初始化時,需要為遺忘門設定較大的初始值,例如設定
。過小的值會使得遺忘門在學習中快速遺忘先前時間步的信息,不利於神經網絡學習長距離依賴, 並可能導致梯度消失 [61] 
門控循環單元網絡(Gated Recurrent Unit networks, GRU)
GRU的內部結構 GRU的內部結構
由於LSTM中3個門控對提升其學習能力的貢獻不同,因此略去貢獻小的門控和其對應的權重,可以簡化神經網絡結構並提升其學習效率 [1]  。GRU即是根據以上觀念提出的算法,其對應的循環單元僅包含2個門控:更新門和復位門,其中復位門的功能與LSTM單元的輸入門相近,更新門則同時實現了遺忘門和輸出門的功能 [1]  [27]  。GRU的更新方式如下 [27] 
式中符號含義參考LSTM,腳標
表示更新門和復位門。對比LSTM與GRU的更新規則可以發現,GRU的參數總量更小,且參數更新順序與LSTM不同,GRU先更新狀態再更新門控,因此當前時間步的狀態使用前一個時間步的門控參數,LSTM先更新門控,並使用當前時間步的門控參數更新狀態。GRU的2個門控不形成自循環,而是直接在系統狀態間遞歸,因此其更新方程也不包含內部狀態
LSTM和GRU有很多變體,包括在循環單元間共享更新門和復位門參數,以及對整個鏈式連接使用全局門控,但研究表明這些改進版本相比於標準算法未體現出明顯優勢,其可能原因是門控算法的表現主要取決於遺忘門,而上述變體和標準算法使用了的遺忘門機制相近 [62] 

循環神經網絡深度算法

RNN的“深度”包含兩個層面,即序列演進方向的深度和每個時間步上輸入與輸出間的深度。對前者,循環神經網絡的深度取決於其輸入序列的長度,因此在處理長序列時可以被認為是直接的深度網絡;對後者,循環神經網絡的深度取決於其鏈式連接的數量,單鏈的循環神經網絡可以被認為是“單層”的 [4] 
RNN能夠以多種方式由單層加深至多層 [63]  ,其中最常見的策略是使用堆疊的循環單元 [64]  [3] 
堆疊循環神經網絡(Stacked Recurrent Neural Network, SRNN)
SRNN是在全連接的單層RNN的基礎上堆疊形成的深度算法。SRNN內循環單元的狀態更新使用了其前一層相同時間步的狀態和當前層前一時間步的狀態 [4]  [64] 
式中符號含義參見循環單元部分,上標
分別表示時間步和層數。參與構建SRNN的RNN可以是簡單循環網絡(SRN)或門控算法。使用SRN構建的SRNN也被稱為循環多層感知器(Recurrent Multi-Layer Perceptron,RMLP),是1991年被提出的深度RNN [65] 
雙向循環神經網絡(bidirectional recurrent neural network, BRNN)
BRNN是至少包含兩層的深度RNN,被應用於學習目標與完整(而不是截止至當前時間步)輸入序列相關的場合。例如在語音識別中,當前語音對應的詞彙可能與其後出現的詞彙有對應關係,因此需要以完整的語音作為輸入 [1]  。Bi-RNN的兩個鏈式連接按相反的方向遞歸,輸出的狀態會進行矩陣拼接並通過輸出節點,其更新規則如下 [25]  [4] 
式中符號含義參見循環單元部分,
表示矩陣拼接。和SRNN類似,Bi-RNN也可以由各種類型的循環單元構成,例如由LSTM構成的版本被稱為雙向LSTM [26] 

循環神經網絡擴展算法

外部記憶
RNN在處理長序列時有信息過載的問題,例如對編碼器-解碼器結構,編碼器末端的輸出可能無法包含序列的全部有效信息 [1]  。門控算法的遺忘門/更新門可以有選擇地丟棄信息,減緩循環單元的飽和速度,但更進一步地,有研究通過注意力和自注意力(self-attention)機制將信息保存在外部記憶(external memory)中,並在需要時再進行讀取,以提高RNN的網絡容量(network capacity) [1]  [14]  。在RNN框架下使用注意力機制的例子包括Hopfield神經網絡 [14]  、神經圖靈機(Neural Turing Machine, NTM) [66]  等。
與卷積神經網絡相結合
RNN與卷積神經網絡相結合的常見例子是循環卷積神經網絡(Recurrent CNN, RCNN)。RCNN將卷積神經網絡的卷積層替換為內部具有遞歸結構的循環卷積層(Recurrent Convolutional Layer, RCL),並按前饋連接建立深度結構 [67] 
除RCNN外,RNN和卷積神經網絡還可以通過其它方式相結合,例如使用卷積神經網絡在每個時間步上對序列化的格點輸入進行特徵學習(time-distributed),並將結果輸入RNN [68] 
遞歸神經網絡和圖網絡
一般的遞歸神經網絡(左),結構退化後的循環神經網絡(右) 一般的遞歸神經網絡(左),結構退化後的循環神經網絡(右)
RNN按序列演進方向的遞歸可以被擴展到(tree)結構和(graph)結構中,得到遞歸神經網絡(recursive neural network)和圖網絡(Graph Network, GN)。
遞歸神經網絡是RNN由鏈式結構向樹狀結構的推廣 [69]  。不同於RNN的鏈式連接,遞歸神經網絡的每個子節點都可以和多個父節點相連並傳遞狀態。當其所有子節點都僅與一個父節點相連時,遞歸神經網絡退化為RNN [4]  。遞歸神經網絡的節點可加入門控機制,例如通過LSTM門控得到樹狀長短期記憶網絡(tree-structured LSTM) [70]  。圖網絡是RNN和遞歸神經網絡的推廣,或者説後兩者是圖網絡在特定結構下的神經網絡實現 [71]  。在圖網絡觀點下,全連接的RNN是一個有向無環圖,而上下文連接的RNN是一個有向環圖。遞歸神經網絡和圖網絡通常被用於學習數據具有結構關係的場合,例如語言模型中的語法結構 [72] 

循環神經網絡性質

權重共享:RNN的權重係數是共享的,即在一次迭代中,循環節點使用相同的權重係數處理所有的時間步。相比於前饋神經網絡,權重共享降低了RNN的總參數量。權重共享也意為着RNN可以提取序列中隨時間變化的特徵,因此其在學習和測試序列具有不同長度時可表現出泛化能力 [3] 
計算能力:一個循環單元間完全連接的RNN滿足通用近似定理,即全聯接循環神經網可以按任意精度逼近任意非線性系統,且對狀態空間的緊緻性沒有限制,只要其擁有足夠多的非線性節點。在此基礎上,任何圖靈可計算函數(Turing computable function)都可以由有限維的全聯接計算,因此RNN是圖靈完備(Turing completeness)的 [4] 
作為時間序列模型的性質:在時間序列建模的觀點下,RNN是一個無限衝激響應濾波器(Infinite Impulse Response filter, IIR) [73]  。這將RNN與其它應用於序列數據的權重共享模型,例如一維的卷積神經網絡相區分,後者以時間延遲網絡為代表,是有限衝激響應濾波器(Finite Impulse Response filter, FIR) [73] 

循環神經網絡應用

循環神經網絡自然語言處理

RNN在NLP問題中有得到應用。在語音識別(speech recognition)中,有研究使用L雙向STM對英語文集TIMIT進行語音識別,其表現超過了同等複雜度的隱馬爾可夫模型(Hidden Markov Model, HMM)和深度前饋神經網絡 [64]  。RNN是機器翻譯(Machine Translation, MT)的算法之一 [3]  ,並形成了區別於“統計機器翻譯”的“神經機器翻譯(neural machine translation)”方法 [31]  。有研究使用端到端學習的LSTM成功對法語-英語文本進行了翻譯 [38]  ,也有研究將卷積n元模型(convolutional n-gram model)與RNN相結合進行機器翻譯 [74]  。有研究認為,按編碼器-解碼器形式組織的LSTM能夠在翻譯中考慮語法結構 [75] 
基於上下文連接的RNN被用於語言建模(language modeling)問題 [3]  [28]  [76]  。有研究在字符層面(character level)的語言建模中,將RNN與卷積神經網絡相結合 [68]  。RNN也是語義分析( sentiment analysis)的工具之一,被應用於文本分類 [77]  、社交網站數據挖掘 [78-79]  等場合。
語音合成(speech synthesis)領域,有研究將多個雙向LSTM相組合建立了低延遲的語音合成系統,成功將英語文本轉化為接近真實的語音輸出 [80]  。RNN也被用於端到端文本-語音(Text-To-Speech, TTS)合成工具的開發,例子包括Tacotron [81]  、Merlin [82]  等。
RNN也被用於與自然語言處理有關的異常值檢測問題,例如社交網絡中虛假信息/賬號的檢測 [83-84] 

循環神經網絡計算機視覺

RNN與卷積神經網絡向結合的系統可被應用於在計算機視覺問題,例如在字符識別(text recognition)中,有研究使用卷積神經網絡對包含字符的圖像進行特徵提取,並將特徵輸入LSTM進行序列標註 [85]  。對基於視頻的計算機視覺問題,例如行為認知(action recognition)中,RNN可以使用卷積神經網絡逐幀提取的圖像特徵進行學習 [86] 

循環神經網絡其它

計算生物學(computational biology)中,RNN被用於分析包含生物信息的序列數據,例如在DNA序列中識別分割外顯子(exon)和內含子(intron)的斷裂基因(split gene) [87]  、通過RNA序列識別小分子RNA(microRNA) [88]  、使用蛋白質序列進行蛋白質亞細胞定位(subcellular location of proteins)預測 [89]  等。
地球科學(earth science)領域,RNN被用於時間序列變量的建模和預測。使用LSTM建立的水文模型(hydrological model)對土壤濕度的模擬效果與陸面模式相當 [90]  。基於LSTM的降水-徑流模式(rainfall-runoff model)所輸出的徑流量與美國各流域的觀測結果十分接近 [91]  。在預報方面,有研究將地面遙感數據作為輸入,使用循環卷積神經網絡進行單點降水的臨近預報(nowcast) [92] 
包含循環神經網絡的編程模塊
現代主流的機器學習庫和界面,包括TensorFlowKeras、Thenao、Microsoft-CNTK等都支持RNN層或循環單元。此外有基於特定數據的RNN構建工具,例如面向音頻數據開發的auDeep [93]  等。
參考資料
  • 1.    Goodfellow, I., Bengio, Y., Courville, A..Deep learning (Vol. 1):Cambridge:MIT Press,2016:367-415
  • 2.    Schmidhuber, J., 2015. Deep learning in neural networks: An overview. Neural networks, 61, pp.85-117.
  • 3.    Ng, A., Kian, K. and Younes, B., Sequence Models, Deep learning.  .Coursera and deeplearning.ai.2018[引用日期2018-11-29]
  • 4.    邱錫鵬 著,神經網絡與深度學習,第六章 循環神經網絡  .Github Inc..2020-06-14[引用日期2020-10-16]
  • 5.    Lorente de Nó, R., 1933. Studies on the structure of the cerebral cortex. I: the area entorhinalis. Journal für Psychologie und Neurologie, 45, pp.381-438.
  • 6.    Mackay, R.P., 1953. Memory as a biological function. American Journal of Psychiatry, 109(10), pp.721-728.
  • 7.    Gerard, R. W., 1963. The material basis of memory. Journal of verbal learning and verbal behavior, 2, pp.22-33.
  • 8.    Cullheim, S., Kellerth, J.O. and Conradi, S., 1977. Evidence for direct synaptic interconnections between cat spinal α-motoneurons via the recurrent axon collaterals: a morphological study using intracellular injection of horseradish peroxidase. Brain research, 132(1), pp.1-10.
  • 9.    Windhorst, U., 1996. On the role of recurrent inhibitory feedback in motor control. Progress in neurobiology, 49(6), pp.517-587.
  • 10.    Windhorst, U., 1979. Auxiliary spinal networks for signal focussing in the segmental stretch reflex system. Biological Cybernetics, 34(3), pp.125-135.
  • 11.    Wigström, H., 1973. A neuron model with learning capability and its relation to mechanisms of association. Kybernetik, 12(4), pp.204-215.
  • 12.    Little, W.A., 1974. The existence of persistent states in the brain. In From High-Temperature Superconductivity to Microminiature Refrigeration (pp. 145-164). Springer, Boston, MA.
  • 13.    Hopfield, J.J., 1982. Neural networks and physical systems with emergent collective computational abilities. Proceedings of the national academy of sciences, 79(8), pp.2554-2558.
  • 14.    邱錫鵬 著,神經網絡與深度學習,第八章 注意力機制與外部記憶  .Github Inc..2020-06-14[引用日期2020-10-16]
  • 15.    Jordan, M.I., 1986. Serial order: A parallel distributed processing approach (Tech. Rep. No. 8604). San Diego: University of California, Institute for Cognitive Science.
  • 16.    Elman, J.L., 1990. Finding structure in time. Cognitive science, 14(2), 179-211.
  • 17.    Rumelhart, D.E., Hinton, G.E. and Williams, R.J., 1986. Learning representations by back-propagating errors. nature, 323(6088), p.533.
  • 18.    Almeida, L.B., 1987. A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. In Proceedings, 1st First International Conference on Neural Networks (Vol. 2, pp. 609-618). IEEE.
  • 19.    Williams, R.J., Zipser, D., 1989. A learning algorithm for continually running fully recurrent neural networks. Neural computation, 1(2), pp.270-280.
  • 20.    Werbos, P.J., 1990. Backpropagation through time: what it does and how to do it. Proceedings of the IEEE, 78(10), pp.1550-1560.
  • 21.    Hochreiter, S., 1991. Untersuchungen zu dynamischen neuronalen Netzen. Diploma, Technische Universität München, 91(1).
  • 22.    Sepp Hochreiter's Fundamental Deep Learning Problem (1991)  .IDSIA, Scuola Universitaria della Svizzera Italiana.2013[引用日期2018-11-28]
  • 23.    Schmidhuber, J., 1992. Learning complex, extended sequences using the principle of history compression. Neural Computation, 4(2), pp.234-242.
  • 24.    Hochreiter, S. and Schmidhuber, J., 1997. Long short-term memory. Neural computation, 9(8), pp.1735-1780.
  • 25.    Schuster, M. and Paliwal, K.K., 1997. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing, 45(11), pp.2673-2681.
  • 26.    Graves, A., Fernández, S. and Schmidhuber, J., 2005. Bidirectional LSTM networks for improved phoneme classification and recognition. In International Conference on Artificial Neural Networks (pp. 799-804). Springer, Berlin, Heidelberg.
  • 27.    Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H. and Bengio, Y., 2014. Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.
  • 28.    Mikolov, T., Karafiát, M., Burget, L., Černocký, J. and Khudanpur, S., 2010. Recurrent neural network based language model. In Eleventh Annual Conference of the International Speech Communication Association.
  • 29.    Mikolov, T., Kombrink, S., Burget, L., Černocký, J. and Khudanpur, S., 2011, May. Extensions of recurrent neural network language model. In 2011 IEEE international conference on acoustics, speech and signal processing (ICASSP) (pp. 5528-5531). IEEE.
  • 30.    Vinyals, O., Bengio, S. and Kudlur, M., 2015. Order matters: Sequence to sequence for sets. arXiv preprint arXiv:1511.06391.
  • 31.    Bahdanau, D., Cho, K. and Bengio, Y., 2014. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473.
  • 32.    Yang, Z., Dai, Z., Yang, Y., Carbonell, J., Salakhutdinov, R.R. and Le, Q.V., 2019. Xlnet: Generalized autoregressive pretraining for language understanding. In Advances in neural information processing systems (pp. 5753-5763).
  • 33.    Peters, M.E., Neumann, M., Iyyer, M., Gardner, M., Clark, C., Lee, K. and Zettlemoyer, L., 2018. Deep contextualized word representations. arXiv preprint arXiv:1802.05365.
  • 34.    Devlin, J., Chang, M.W., Lee, K. and Toutanova, K., 2018. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.
  • 35.    Bengio, S., Vinyals, O., Jaitly, N. and Shazeer, N., 2015. Scheduled sampling for sequence prediction with recurrent neural networks. In Advances in Neural Information Processing Systems (pp. 1171-1179).
  • 36.    Pascanu, R., Mikolov, T. and Bengio, Y., 2013. On the difficulty of training recurrent neural networks. In International Conference on Machine Learning (pp. 1310-1318).
  • 37.    Sutskever, I., 2013. Training recurrent neural networks. Doctor of Philosophy Thesis, University of Toronto.
  • 38.    Sutskever, I., Vinyals, O. and Le, Q.V., 2014. Sequence to sequence learning with neural networks. In Advances in neural information processing systems (pp. 3104-3112).
  • 39.    Bengio, Y., Courville, A. and Vincent, P., 2013. Representation learning: A review and new perspectives. IEEE transactions on pattern analysis and machine intelligence, 35(8), pp.1798-1828.
  • 40.    Srivastava, R.K., Greff, K. and Schmidhuber, J., 2015. Training very deep networks. In Advances in neural information processing systems (pp. 2377-2385).
  • 41.    Sanh, V., Debut, L., Chaumond, J. and Wolf, T., 2019. DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv preprint arXiv:1910.01108.
  • 42.    Schraudolph, N.N. and Sejnowski, T.J., 1993. Unsupervised discrimination of clustered data via optimization of binary information gain. In Advances in neural information processing systems (pp. 499-506).
  • 43.    Klapper-Rybicka, M., Schraudolph, N.N. and Schmidhuber, J., 2001. Unsupervised learning in LSTM recurrent neural networks. In International Conference on Artificial Neural Networks (pp. 684-691). Springer, Berlin, Heidelberg.
  • 44.    Viola, P.A., Schraudolph, N.N. and Sejnowski, T.J., 1996. Empirical entropy manipulation for real-world problems. In Advances in neural information processing systems (pp. 851-857).
  • 45.    Bengio, Y., Simard, P., Frasconi, P., 1994. Learning long-term dependencies with gradient descent is difficult. IEEE transactions on neural networks, 5(2), 157-166.
  • 46.    Mikolov, T., Joulin, A., Chopra, S., Mathieu, M. and Ranzato, M.A., 2014. Learning longer memory in recurrent neural networks. arXiv preprint arXiv:1412.7753.
  • 47.    Mikolov, T., 2012. Statistical language models based on neural networks. Doctor of Philosophy Thesis. Brno University of Technology.
  • 48.    Pascanu, R., Mikolov, T., Bengio, Y., 2012. Understanding the exploding gradient problem. CoRR, abs/1211.5063.
  • 49.    Gal, Y. and Ghahramani, Z., 2016. A theoretically grounded application of dropout in recurrent neural networks. In Advances in neural information processing systems (pp. 1019-1027).
  • 50.    Zaremba, W., Sutskever, I. and Vinyals, O., 2014. Recurrent neural network regularization. arXiv preprint arXiv:1409.2329.
  • 51.    Ba, J.L., Kiros, J.R. and Hinton, G.E., 2016. Layer normalization. arXiv preprint arXiv:1607.06450.
  • 52.    邱錫鵬 著,神經網絡與深度學習,第七章 網絡優化與正則化  .Github Inc..2020-06-14[引用日期2020-10-16]
  • 53.    Jaeger, H., 2001. The "echo state" approach to analysing and training recurrent neural networks-with an erratum note. Bonn, Germany: German National Research Center for Information Technology GMD Technical Report, 148(34), p.13.
  • 54.    Jaeger, H., Lukoševičius, M., Popovici, D. and Siewert, U., 2007. Optimization and applications of echo state networks with leaky-integrator neurons. Neural networks, 20(3), pp.335-352.
  • 55.    Sutskever, I., Martens, J., Dahl, G. and Hinton, G., 2013. On the importance of initialization and momentum in deep learning. In International conference on machine learning (pp. 1139-1147).
  • 56.    Huang, G.B., Zhu, Q.Y. and Siew, C.K., 2006. Extreme learning machine: theory and applications. Neurocomputing, 70(1-3), pp.489-501.
  • 57.    El Hihi, S. and Bengio, Y., 1996. Hierarchical recurrent neural networks for long-term dependencies. In Advances in neural information processing systems (pp. 493-499).
  • 58.    Gers, F.A. and Schmidhuber, J., 2000. Recurrent nets that time and count. In International Joint Conference on Neural Networks, IJCNN (p. 3189). IEEE.
  • 59.    Srivastava, N., Mansimov, E. and Salakhudinov, R., 2015. Unsupervised learning of video representations using lstms. In International conference on machine learning (pp. 843-852).
  • 60.    Malhotra, P., Vig, L., Shroff, G. and Agarwal, P., 2015. Long short term memory networks for anomaly detection in time series. In Proceedings (p. 89). Presses Universitaires de Louvain.
  • 61.    Gers, F.A., Schmidhuber, J. and Cummins, F., 1999. Learning to forget: Continual prediction with LSTM. Neural computation, 12(10), pp.2451–2471.
  • 62.    Greff, K., Srivastava, R.K., Koutník, J., Steunebrink, B.R. and Schmidhuber, J., 2017. LSTM: A search space odyssey. IEEE transactions on neural networks and learning systems, 28(10), pp.2222-2232.
  • 63.    Pascanu, R., Gulcehre, C., Cho, K. and Bengio, Y., 2013. How to construct deep recurrent neural networks. arXiv preprint arXiv:1312.6026.
  • 64.    Graves, A., Mohamed, A.R. and Hinton, G., 2013. Speech recognition with deep recurrent neural networks. In Acoustics, speech and signal processing (icassp), 2013 ieee international conference on (pp. 6645-6649). IEEE.
  • 65.    Parlos, A., Atiya, A., Chong, K., Tsai, W. and Fernandez, B., 1991. Recurrent multilayer perceptron for nonlinear system identification. In Neural Networks, 1991., IJCNN-91-Seattle International Joint Conference on (Vol. 2, pp. 537-540). IEEE.
  • 66.    Graves, A., Wayne, G. and Danihelka, I., 2014. Neural turing machines. arXiv preprint arXiv:1410.5401.
  • 67.    Liang, M. and Hu, X., 2015. Recurrent convolutional neural network for object recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 3367-3375).
  • 68.    Kim, Y., Jernite, Y., Sontag, D. and Rush, A.M., 2016. Character-Aware Neural Language Models. In AAAI(pp. 2741-2749).
  • 69.    Pollack, J.B., 1990. Recursive distributed representations. Artificial Intelligence, 46(1-2), pp.77-105.
  • 70.    Tai, K.S., Socher, R. and Manning, C.D., 2015. Improved semantic representations from tree-structured long short-term memory networks. arXiv preprint arXiv:1503.00075.
  • 71.    Battaglia, P.W., Hamrick, J.B., Bapst, V., Sanchez-Gonzalez, A., Zambaldi, V., Malinowski, M., Tacchetti, A., Raposo, D., Santoro, A., Faulkner, R. and Gulcehre, C., 2018. Relational inductive biases, deep learning, and graph networks. arXiv preprint arXiv:1806.01261.
  • 72.    Socher, R., Lin, C.C.Y., Ng, A.Y. and Manning, C.D., 2018. Parsing natural scenes and natural language with recursive neural networks.
  • 73.    Miljanovic, M., 2012. Comparative analysis of Recurrent and Finite Impulse Response Neural Networks in Time Series Prediction. Indian Journal of Computer Science and Engineering, pp.180-191.
  • 74.    Kalchbrenner, N. and Blunsom, P., 2013. Recurrent continuous translation models. In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing (pp. 1700-1709).
  • 75.    Cho, K., Van Merriënboer, B., Bahdanau, D. and Bengio, Y., 2014. On the properties of neural machine translation: Encoder-decoder approaches. arXiv preprint arXiv:1409.1259.
  • 76.    Sundermeyer, M., Schlüter, R. and Ney, H., 2012. LSTM neural networks for language modeling. In Thirteenth annual conference of the international speech communication association.
  • 77.    Lai, S., Xu, L., Liu, K. and Zhao, J., 2015. Recurrent Convolutional Neural Networks for Text Classification. In AAAI(Vol. 333, pp. 2267-2273).
  • 78.    Nakov, P., Ritter, A., Rosenthal, S., Sebastiani, F. and Stoyanov, V., 2016. SemEval-2016 task 4: Sentiment analysis in Twitter. In Proceedings of the 10th international workshop on semantic evaluation (semeval-2016) (pp. 1-18).
  • 79.    Zhang, M., Zhang, Y. and Vo, D.T., 2016. Gated Neural Networks for Targeted Sentiment Analysis. In AAAI(pp. 3087-3093).
  • 80.    Zen, H. and Sak, H., 2015. Unidirectional long short-term memory recurrent neural network with recurrent output layer for low-latency speech synthesis. In Acoustics, Speech and Signal Processing (ICASSP), 2015 IEEE International Conference on (pp. 4470-4474). IEEE.
  • 81.    Wang, Y., Skerry-Ryan, R.J., Stanton, D., Wu, Y., Weiss, R.J., Jaitly, N., Yang, Z., Xiao, Y., Chen, Z., Bengio, S. and Le, Q.V., 2017. Tacotron: A fully end-to-end text-to-speech synthesis model. arXiv preprint.
  • 82.    Wu, Z., Watts, O. and King, S., 2016. Merlin: An open source neural network speech synthesis system. Proc. SSW, Sunnyvale, USA.
  • 83.    Gong, Q., Chen, Y., He, X., Zhuang, Z., Wang, T., Huang, H., Wang, X. and Fu, X., 2018. DeepScan: Exploiting deep learning for malicious account detection in location-based social networks. IEEE Communications Magazine, 56(11), pp.21-27.
  • 84.    Ruchansky, N., Seo, S. and Liu, Y., 2017, November. Csi: A hybrid deep model for fake news detection. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management (pp. 797-806).
  • 85.    He, P., Huang, W., Qiao, Y., Loy, C.C. and Tang, X., 2016. Reading Scene Text in Deep Convolutional Sequences. In AAAI (Vol. 16, pp. 3501-3508).
  • 86.    Donahue, J., Anne Hendricks, L., Guadarrama, S., Rohrbach, M., Venugopalan, S., Saenko, K. and Darrell, T., 2015. Long-term recurrent convolutional networks for visual recognition and description. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 2625-2634).
  • 87.    Lee, B., Lee, T., Na, B. and Yoon, S., 2015. DNA-level splice junction prediction using deep recurrent neural networks. arXiv preprint arXiv:1512.05135.
  • 88.    Park, S., Min, S., Choi, H. and Yoon, S., 2016. deepMiRGene: Deep neural network based precursor microrna prediction. arXiv preprint arXiv:1605.00017.
  • 89.    Sønderby, S.K., Sønderby, C.K., Nielsen, H. and Winther, O., 2015. Convolutional LSTM networks for subcellular localization of proteins. In International Conference on Algorithms for Computational Biology (pp. 68-80). Springer, Cham.
  • 90.    Fang, K., Shen, C., Kifer, D. and Yang, X., 2017. Prolongation of SMAP to spatiotemporally seamless coverage of continental US using a deep learning neural network. Geophysical Research Letters, 44(21), pp.11-030.
  • 91.    Kratzert, F., Klotz, D., Brenner, C., Schulz, K. and Herrnegger, M., 2018. Rainfall-Runoff modelling using Long-Short-Term-Memory (LSTM) networks. Hydrology and Earth System Sciences Discussions, pp.1-26.
  • 92.    Xingjian, S.H.I., Chen, Z., Wang, H., Yeung, D.Y., Wong, W.K. and Woo, W.C., 2015. Convolutional LSTM network: A machine learning approach for precipitation nowcasting. In Advances in neural information processing systems (pp. 802-810).
  • 93.    Freitag, M., Amiriparian, S., Pugachevskiy, S., Cummins, N. and Schuller, B., 2017. audeep: Unsupervised learning of representations from audio with deep recurrent neural networks. The Journal of Machine Learning Research, 18(1), pp.6340-6344.
展開全部 收起