?

循環神經網絡概述

2020-12-08 07:43馬姝穎王平陳妮文榮
科學導報·學術 2020年88期

馬姝穎 王平 陳妮 文榮

【摘? 要】循環神經網絡(RNN)[1]是一類以序列數據為輸入,在序列的演進方向進行遞歸,且所有節點按鏈式連接的遞歸神經網絡,具有記憶性、參數共享等特點?;诤唵窝h網絡,加上門控算法、深度算法、外部記憶等算法,循環神經網絡有了很多變體。目前循環神經網絡及其變體已經廣泛應用在自然語言處理、各類時間序列預測等領域。

【關鍵詞】循環神經網絡、長短時記憶網絡、門控循環單元

循環神經網絡概述

近年來,隨著計算機科學技術與硬件設備的蓬勃發展,神經網絡逐漸成為人工智能領域中的研究熱點。最基礎的神經網絡是全連接網絡(FCNN),它假設所有的輸入間是相互獨立的,因此FCNN只能單獨處理一個個的輸入,無法處理在時間或空間上有前后關聯的輸入問題[2]。然而許多學習任務都需要處理序列的信息,比如你想預測一個句子的下一個詞,之前的詞對后面的預測是有幫助的,這種情況下FCNN就不能很好的進行預測。為了應對序列輸入的需求,循環神經網絡(RNN)應運而生。

1.循環神經網絡(Recurrent Neural Network,RNN)

RNN被稱為循環(Recurrent)的原因就是它會對一個序列的每一個元素執行同樣的操作,并且前一個輸入和后一個輸入是有關系的。我們可以認為RNN有一些“記憶”能力,它能捕獲之前計算過的一些信息。RNN的結構圖如圖1所示。

圖1中,右方是左方圖的展開形式,是t時刻的輸入,是t時刻的隱狀態,是t時刻的輸出。通過以上結構圖,可以發現RNN有以下特點:1)對于每一個時刻t,都有來自前面時刻t-1的信息,并加上權重用于控制;2)可以看成是網絡的“記憶”,它捕獲了從開始到前一個時刻的所有(感興趣)的信息,輸出的是只基于當前時刻的記憶。3)傳統的神經網絡每層使用不同的參數,而RNN的參數(圖1中的U、V、W)是在所有時刻共享的。4)RNN有隱狀態(記憶),它能捕獲一個序列的信息。

2.雙向循環神經網絡(Bidirectional RNNs,BRNN)

在RNN網絡中,任一時刻處理時,只參考或獲取了前面時刻的特征,序列后方的信息特征沒有學習到,這無疑會造成問題,所以又出現了雙向循環神經網絡(BRNN)。BRNN的結構很簡單,它就是兩個RNN堆疊在一起,t時刻的輸出不但依賴于之前的元素,而且還依賴之后的元素。比如,我們做完形填空,在句子中“挖”掉一個詞,我們想預測這個詞,我們不但會看前面的詞,也會分析后面的詞。

BRNN解決了如何學習序列后面時刻特征的問題,但是無法解決RNN訓練過程中出現的梯度爆炸和梯度消失問題。1)梯度消失:隨著時間跨度增加,梯度會以指數級收斂于0,導致我們的神經網絡中前面層的網絡權重無法得到更新,學習停止。2)梯度爆炸:每一步的梯度更新可能會積累誤差,最終梯度變得非常大,以至于RNN的權值進行大幅更新,程序將會收到NaN錯誤。一般而言,梯度爆炸問題可以通過設置一個閾值來截取超過該閾值的梯度解決,而梯度消失的問題很難檢測,通常通過使用RNN各種變體來應對,例如長短期記憶網絡和門控循環單元。

3.長短時記憶網絡(Long Short Term Memory,LSTM)

由于存在梯度消失問題,RNN只能有短期記憶。LSTM是一種特殊的RNN網絡,它使用門控(Gate)的機制來解決“長期依賴”的問題。門控是一種可選地讓信息通過的方式,它由一個Sigmoid神經網絡層和一個點乘法運算組成。Sigmoid神經網絡層輸出0和1之間的數字,這個數字描述每個組件有多少信息可以通過,0表示不通過任何信息,1表示全部通過。LSTM單元中有三種類型的門控,分別為:輸入門、遺忘門和輸出門,LSTM對信息的存儲和更新正是由這些門控來實現,如下圖所示。

4.門控循環單元(Gated Recurrent Unit,GRU))

LSTM存在很多變體,其中較流行的一種就是GRU。GRU使用門控機制學習長期依賴關系的基本思想和LSTM一致,但還是有一些關鍵區別,如LSTM有三個門,而GRU只有兩個門。GRU把LSTM的遺忘門和輸入門合并成一個更新門,更新門定義了前面記憶保存到當前時刻的量;GRU沒有輸出門,有一個重置門,重置門決定了如何將新的輸入信息與前面的記憶相結合。由于GRU與LSTM的實驗效果相似,且更易于計算,目前已被廣泛使用到各個應用中。

總結與展望

本文簡述了RNN的結構及其各種變形,旨在為剛進入該領域的初學者提供參考資料。在RNN的未來發展中,需要通過改變RNN的參數、結構等方法來適應不同的應用需求,從而使RNN廣泛應用到NLP的眾多領域。

參考文獻:

[1]Lipton Z C. A Critical Review of Recurrent Neural Networks for Sequence Learning[OL].(2015)[2019]. https://arxiv. org / abs/1506.00019v1.

[2]夏瑜潞. 循環神經網絡的發展綜述[D]. 電腦知識與技術,2019,15(21)

項目支持:

成都工業學院校級項目:基于機器學習的聲紋識別關鍵技術研究(編號:2021ZR026)。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合