-
循環神經網絡
鎖定
循環神經網絡(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]
。
- 中文名
- 循環神經網絡
- 外文名
- 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]
。
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]
:
連接性
1. 循環單元-循環單元連接:也被稱為“隱含-隱含連接(hidden-hidden connection)”或全連接,此時每個循環單元當前時間步的狀態由該時間步的輸入和上一個時間步的狀態決定:
,
是循環節點的權重,前者稱為狀態-狀態權重,後者稱為狀態-輸入權重
[4]
。正向、反向遞歸的循環單元-循環單元連接相堆疊可以得到BRNN,
[1]
。
2. 輸出節點-循環單元連接:該連接方式下循環單元的狀態由該時間步的輸入和上一個時間步的輸出(而不是狀態)決定:
。由於潛在假設了前一個時間步的輸出節點能夠表徵先前所有時間步的狀態,輸出節點-循環單元連接的RNN不具有圖靈完備性,學習能力也低於全連接網絡。但其優勢是可以使用Teacher Forcing進行快速學習
[1]
。
3. 基於上下文的連接:因為在圖網絡的觀點下呈現閉環結構,該連接方式也被稱為閉環連接(closed-loop connection),其中循環單元的系統狀態引入了其上一個時間步的真實值
。使用基於上下文連接的RNN由於訓練時將學習樣本的真實值作為輸入,因此是一個可以逼近學習目標概率分佈的生成模型(generative model)。基於上下文的連接有多種形式,其中常見的一類使用了該時刻的輸入、上一時刻的狀態和真實值:
。其它的類型可能使用固定長度的輸入,使用上一時刻的輸出代替真實值,或不使用該時刻的輸入
[1]
。
循環神經網絡輸出模式
序列-分類器
序列-分類器的輸出模式適用於序列輸入和單一輸出的機器學習問題,例如文本分類(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]
:
上述方法被稱為“嚴格的”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]
:
上述步驟為BPTT的標準求解框架,在理論上可以處理所有類型的RNN構築
[3]
。在實際應用中,由於損失函數對狀態的偏導數
需要被完整地保存直到該樣本的所有參數更新完畢,因此在學習長序列樣本時,BPTT的空間複雜度會對應地增加
[4]
。對BPTT按固定長度截斷,即截斷的BPTT(truncated BPTT)是被用於解決上述問題的方法之一
[37]
。
3. 實時循環學習(Real-Time Recurrent Learning, RTRL)
RTRL通過前向傳播的方式來計算梯度,在得到每個時間步的損失函數後直接更新所有權重係數至下一個時間步,類似於自動微分的前向連鎖(forward accumulation)模式。這裏以BPTT中的狀態-狀態權重
為例做簡單介紹。在時間步
,損失函數
對權重中元素
的實時更新規則如下:
非監督學習(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]
:
正則化(regularization)
RNN的正則化是應對其長距離依賴問題的方法之一,其理念是控制循環節點末端狀態對初始狀態導數,即雅可比矩陣的範數以提升RNN對長距離誤差的敏感性
[36]
。在誤差反向傳播至第
個時間步時,其對應的正則化項有如下表示
[36]
:
在BP中加入上述正則化項會提升計算複雜度,此時可將包含損失函數的項近似為常數,並引導雅可比矩陣的範數向1靠近
[36]
。研究表明,正則化和梯度截斷結合使用可以增加RNN學習長距離依賴的能力,但相比於門控單元,正則化沒有減少模型的冗餘
[1]
[36]
。
層歸一化(Layer Normalization, LN)
儲層計算(reservoir computing)
儲層計算可以被視為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)
滲漏單元在應用中有兩個不足,一是人為給定的權重不是記憶系統狀態的最優方式,二是滲漏單元沒有遺忘功能,容易出現信息過載,在過去的狀態被循環單元充分使用後,將其遺忘可能是有利的
[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]
:
循環神經網絡門控算法
門控算法是RNN應對長距離依賴的可行方法,其設想是通過門控單元賦予RNN控制其內部信息積累的能力,在學習時既能掌握長距離依賴又能選擇性地遺忘信息防止過載
[1]
。門控算法使用BPTT和RTRL進行學習,其計算複雜度和學習表現均高於SRN
[24]
[1]
。
長短期記憶網絡(Long Short-Term Memory networks, LSTM)
LSTM是最早被提出的RNN門控算法,其對應的循環單元,LSTM單元包含3個門控:輸入門、遺忘門和輸出門。相對於RNN對系統狀態建立的遞歸計算,3個門控對LSTM單元的內部狀態建立了自循環(self-loop)
[1]
。具體地,輸入門決定當前時間步的輸入和前一個時間步的系統狀態對內部狀態的更新;遺忘門決定前一個時間步內部狀態對當前時間步內部狀態的更新;輸出門決定內部狀態對系統狀態的更新。LSTM單元的更新方式如下
[1]
:
門控循環單元網絡(Gated Recurrent Unit networks, 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]
。
堆疊循環神經網絡(Stacked Recurrent Neural Network, SRNN)
式中符號含義參見循環單元部分,上標
分別表示時間步和層數。參與構建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]
:
循環神經網絡擴展算法
外部記憶
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]
。
遞歸神經網絡和圖網絡
遞歸神經網絡是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與卷積神經網絡向結合的系統可被應用於在計算機視覺問題,例如在字符識別(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]
。
包含循環神經網絡的編程模塊
現代主流的機器學習庫和界面,包括TensorFlow、Keras、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.
- 收起