當前位置:
首頁 > 最新 > 獨立循環神經網路:打造更長更深的RNN

獨立循環神經網路:打造更長更深的RNN

來源:arXiv

編譯:Bing

編者按:近日,中國電子科學技術大學和澳大利亞伍倫貢大學的研究者合作發表論文,介紹了他們創造的獨立循環神經網路(IndRNN),這種新型RNN能有效解決網路收斂時的梯度爆炸和消失問題,並能夠處理更長的序列。以下是論智對原文的大致編譯,如有不足之處還請指正。

循環神經網路(RNN)已經被廣泛用於序列數據的處理。然而,由於常見的梯度消失和爆炸問題以及很難學習長期模式,RNN通常難以訓練。為了解決這些問題,研究人員提出了長短期記憶(LSTM)和門控循環單元(GRU),但使用雙曲正切和Sigmoid函數又會使梯度隨圖層衰減。因此,構建高效可訓練的深度網路是具有挑戰性的任務。另外,RNN圖層中的所有神經元都糾纏在一起,它們的行為很難解釋。為了解決這些問題,本文提出了一種新型RNN模式,成為獨立循環神經網路(IndRNN),其中每層中的神經元都相互獨立,並且它們跨層連接。最終實驗結果表明,IndRNN管理起來很容易,能防止梯度爆炸和消失,同時還能讓網路長期學習。

獨立循環神經(IndRNN)網路介紹

在這片論文中,我們提出了獨立循環神經網路(IndRNN),用公式可以表示成:

其中循環權重u是一個向量,⊙表示阿達馬積(Hadamard product)。同一圖層中的每個神經元都與其他神經元不相連,通過疊加兩層或更多層的IndRNN,可以將神經元連接。對於第n個神經元,隱藏層hn,t可以通過以下公式得到:

其中wn和un分別表示第n行的輸入權重和當前權重。每個神經元只接收當前狀態隱藏層和輸入其中的信息。也就是說IndRNN中的每個神經元都有獨立的時空特徵。傳統上,隨著參數被共享,RNN被視為多層感知器。與傳統的RNN不同,這次提出的IndRNN將隨時間獨立地聚合空間模式。

IndRNN隨時間進行反向傳播

對於神經網路每一層隨時間進行的梯度反向傳播,IndRNN中的梯度可以對每個神經元單獨計算,因為一層網路之間沒有互相連接的部分。具體計算過程可參見原論文。

多層IndRNN

如上所說,IndRNN的同一個圖層中的神經元是彼此獨立的,通道間的信息會隨時間在多層IndRNN之間傳播探索。為了說明這一點,我們將一個雙層的IndRNN和傳統單層RNN進行比較。簡單起見,IndRNN和傳統RNN都忽略了偏差。假設一個有N個神經元的雙層神經網路,其中第二層的循環權重為零,那麼就表示第二層只是一個完全連接層。

考慮到參數的數量,對於一個有N個神經元的RNN網路來說,輸入的維數為M,則傳統RNN的參數數量為M×N+N×N。而只有一層的IndRNN的參數數量為M×N+N。對於一個兩層的IndRNN,其中每層都有N個神經元的網路來說,參數的數量為M×N+N×N+2×N。總之,雖然IndRNN的神經元是彼此獨立的,但多層IndRNN中跨層的信息可以很好地得到解釋。

基本的IndRNN結構如圖所示:

其中「weight」和「Recurrent+ReLU」表示每一步處理輸入的循環過程,ReLU是激活函數。通過堆疊這種基礎架構,可以建立一個深度IndRNN網路。由於權重層用來處理輸入,那麼它很自然地就擴展到其他多個圖層中加深處理過程。同樣,用來處理輸入的圖層也可以像CNN中的殘差結構一樣。由於IndRNN的簡單結構,我們可以很容易地將其擴展到不同的網路結構中。例如,除了簡單的堆疊IndRNN或者堆疊用於處理輸入的圖層,我們還可以以殘差網路的方式進行堆疊。下圖展示了殘差IndRNN的示例:

在每個步驟,梯度可以從恆等映射(identity mapping)直接傳播到其它層。由於IndRNN能隨時間的推移解決梯度爆炸和消失的問題,梯度可以在不同步驟之間高效傳播。因此,網路可以比傳統的RNN更深更長。和其他網路一樣,更深更長的IndRNN網路可以進行端對端訓練。

實驗過程

接下來,就要對IndRNN進行測試。首先是常用的adding problem,這是評估RNN模型性能的常用方法。兩個長度為T的序列被輸入到模型中,第一個序列在(0,1)範圍內均勻採樣,而第二個序列兩個入口處為1,其餘都為0。序列有三種長度,T=100、500和1000,分別用於實驗,測試模型是否有長期記憶的能力。

參與實驗對比的有傳統採用tanh的RNN、LSTM、IRNN(採用relu的RNN)。RNN、LSTM和IRNN都只有一層,而IndRNN有兩層。每個模型包含128個隱藏單元,RNN、LSTM和兩層IndRNN的參數數量分別為16k、67k和17k。最終測試結果如下:

首先,對短序列來說(T=100),大多數模型表現得很好(除了採用tanh的RNN),它們收斂到一個非常小的錯誤(比標準還要小)。

當序列長度增加時,IRNN和LSTM模型出現了收斂困難。當長度達到1000時,IRNN和LSTM無法減少錯誤。然而,IndRNN仍然可以將錯誤迅速收斂。這表明IndRNN的長期記憶優於傳統RNN和LSTM。

從表格中我們也能看出,傳統RNN和LSTM只能維持在中等長度記憶(500到1000)。為了研究IndRNN在超長序列上的記憶,我們又做了一個5000的實驗,如下圖所示:

可以看出,IndRNN仍然表現得很好。注意有噪音的出現,是因為IndRNN的初始學習速率(2×10-4)較大,一旦學習速率降低,模型性能就更加穩定。這說明IndRNN能有效地解決梯度爆炸和消失的問題。

序列MNIST分類

序列MNIST的分類是評估RNN模型的又一常用方法。網路按順序讀取MNIST數字的像素,之後執行分類。為了讓任務更加困難,MNIST的像素被隨機交換。由於採用tanh的RNN不會以高精度收斂,只有採用relu的IndRNN能被評估。這裡我們使用了6層IndRNN,每層有128個神經元。為了加速訓練,每層之後插入了批標準化(BN)。結果如下表所示,與現有方法相比,IndRNN的性能更好。

其他實驗

除了上述兩個實驗,研究人員還對IndRNN進行了語言建模測試和基於骨架的動作識別。語言建模是在辭彙數據集Treebank上進行的。結果如下:

與現有方法相比,IndRNN比傳統的RNN和LSTM表現的更好。

動作識別測試是在NTU RGB+D數據集上進行的,該數據及是目前動作識別最大的數據集,它包含56880個序列,其中包括60中動作類別。最終的評估及過如下:

IndRNN的性能比RNN和LSTM的性能明顯要好。

結語

這篇論文中,研究人員介紹了獨立循環神經網路(IndRNN),其中每個圖層中的神經元都是相互獨立的,並且它能很好地解決梯度爆炸和消失的問題,性能也比傳統的RNN和LSTM要好。

論文地址:arxiv.org/pdf/1803.04831.pdf

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

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


請您繼續閱讀更多來自 論智 的精彩文章:

集成學習入門
NLP選題:6大研究方向助你開啟科研之路

TAG:論智 |