循環神經網路(Recurrent Neural Network, RNN)是一類以序列(sequence)資料為輸入,在序列的演進方向進行遞歸(recursion)且所有節點(循環單元)按鍊式連接的遞歸神經網路(recursive neural network)。
對循環神經網路的研究始於二十世紀80-90年代,並在二十一世紀初發展為深度學習(deep learning)演算法之一,其中雙向循環神經網路(Bidirectional RNN, Bi-RNN)和長短期記憶網路(Long Short-Term Memory networks,LSTM)是常見的循環神經網路。 (推薦學習:web前端視訊教學)
循環神經網路具有記憶性、參數共享且圖靈完備(Turing completeness),因此在對序列的非線性特徵進行學習時具有一定優勢。
循環神經網路在自然語言處理(Natural Language Processing, NLP),例如語音辨識、語言建模、機器翻譯等領域有應用,也被用於各類時間序列預報。
引入了卷積神經網路(Convoutional Neural Network,CNN)構築的循環神經網路可以處理包含序列輸入的電腦視覺問題。
在SRN出現的同一時期,循環神經網路的學習理論也得到發展。在反向傳播演算法的研究受到關注後 [18] ,學界開始嘗試在BP框架下對循環神經網路進行訓練 。
1989年,Ronald Williams和David Zipser提出了循環神經網路的即時循環學習(Real-Time Recurrent Learning, RTRL)。隨後Paul Werbos在1990年提出了循環神經網路的隨時間反向傳播(BP Through Time,BPTT),RTRL和BPTT被沿用至今,是循環神經網路進行學習的主要方法。
1991年,Sepp Hochreiter發現了循環神經網路的長期依賴問題(long-term dependencies problem),即在對序列進行學習時,循環神經網路會出現梯度消失(gradient vanishing)和梯度爆炸(gradient explosion)現象,無法掌握長時間跨度的非線性關係。
為解決長期依賴問題,大量最佳化理論被引入並衍生出許多改進演算法,包括神經歷史壓縮器(Neural History Compressor, NHC) 、長短期記憶網路(Long Short-Term Memory networks, LSTM ) 、門控循環單元網路(Gated Recurrent Unit networks, GRU) 、迴聲狀態網路(echo state network)、獨立循環神經網路(Independent RNN)等。
以上是什麼是一種處理時序資料的神經網絡的詳細內容。更多資訊請關注PHP中文網其他相關文章!