新型RNN:将层内神经元相互独立以提高长程记忆 | CVPR 2018论文解读
在碎片化閱讀充斥眼球的時(shí)代,越來越少的人會(huì)去關(guān)注每篇論文背后的探索和思考。
在這個(gè)欄目里,你會(huì)快速 get 每篇精選論文的亮點(diǎn)和痛點(diǎn),時(shí)刻緊跟 AI 前沿成果。
點(diǎn)擊本文底部的「閱讀原文」即刻加入社區(qū),查看更多最新論文推薦。
這是 PaperDaily 的第?58?篇文章本期推薦的論文筆記來自 PaperWeekly 社區(qū)用戶 @Zsank。本文使用 Relu 等非飽和激活函數(shù)使網(wǎng)絡(luò)變得更具有魯棒性,可以處理很長(zhǎng)的序列(超過5000個(gè)時(shí)間步),可以構(gòu)建很深的網(wǎng)絡(luò)(實(shí)驗(yàn)中用了21層)。在各種任務(wù)中取得了比LSTM更好的效果。
如果你對(duì)本文工作感興趣,點(diǎn)擊底部的閱讀原文即可查看原論文。
關(guān)于作者:麥振生,中山大學(xué)數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院碩士生,研究方向?yàn)樽匀徽Z言處理和問答系統(tǒng)。
■?論文 | Independently Recurrent Neural Network (IndRNN): Building A Longer and Deeper RNN
■ 鏈接 | https://www.paperweekly.site/papers/1757
■ 源碼 | https://github.com/batzner/indrnn
論文亮點(diǎn)
傳統(tǒng) RNN 因?yàn)樵跁r(shí)間上參數(shù)共享,所以會(huì)出現(xiàn)梯度消失/爆炸問題。LSTM/GRU 在解決層內(nèi)梯度消失/爆炸問題時(shí),梯度仍然會(huì)在層間衰減,所以 LSTM/GRU 難以做成多層網(wǎng)絡(luò)。并且,LSTM/GRU 也存在著無法捕捉更長(zhǎng)的時(shí)序信息的問題。
此外,傳統(tǒng) RNN 由于層內(nèi)神經(jīng)元相互聯(lián)系,難以對(duì)神經(jīng)元的行為進(jìn)行合理的解釋。
基于上述問題,論文提出了 IndRNN,亮點(diǎn)在于:
1. 將 RNN 層內(nèi)神經(jīng)元解耦,使它們相互獨(dú)立,提高神經(jīng)元的可解釋性。
2. 有序列表能夠使用 Relu 等非飽和激活函數(shù),解決層內(nèi)和層間梯度消失/爆炸問題,同時(shí)模型也具有魯棒性。
3. 有序列表比 LSTM 能處理更長(zhǎng)的序列信息。
模型介紹
論文模型比較簡(jiǎn)單。介紹模型前,我們先來理一下 RNN 梯度的有關(guān)知識(shí)。
RNN梯度問題
先來看 RNN 隱狀態(tài)的計(jì)算:
設(shè) T 時(shí)刻的目標(biāo)函數(shù)為 J,則反向傳播時(shí)到 t 時(shí)刻的梯度計(jì)算:
其中 diag(σ′(hk+1) 是激活函數(shù)的雅可比矩陣。可以看到,RNN 的梯度計(jì)算依賴于對(duì)角矩陣 diag(σ′(hk+1))U^T 的連積,即求該對(duì)角陣的 n 次冪。
對(duì)角元素只要有一個(gè)小于 1,那么 n 次乘積后會(huì)趨近于 0;
對(duì)角元素只要有一個(gè)大于 1,那么 n 次乘積后會(huì)趨近無窮大。
RNN 常用的兩種激活函數(shù),tanh 的導(dǎo)數(shù)為 1?tanh2 ,最大值為 1,圖像兩端趨于 0;sigmoid 的導(dǎo)數(shù)為 sigmoid(1?sigmoid) ,最大值為 0.25,圖像兩端趨于 0。
可見兩種激活函數(shù)的導(dǎo)數(shù)取值絕大部分小于 1。因此它們與循環(huán)權(quán)重系數(shù)相乘構(gòu)成的對(duì)角矩陣元素絕大部分小于 1(可能會(huì)有等于 1 的情況,但不會(huì)大于 1),連積操作會(huì)導(dǎo)致梯度指數(shù)級(jí)下降,即“梯度消失”現(xiàn)象。對(duì)應(yīng)第一種情況。?
而在 RNN 中使用 Relu 函數(shù),由于 Relu 在 x>0 時(shí)導(dǎo)數(shù)恒為 1,因此若 U 中元素有大于 1 的,則構(gòu)成的對(duì)角矩陣會(huì)有大于 1 的元素,連積操作會(huì)造成梯度爆炸現(xiàn)象。對(duì)應(yīng)第二種情況。
解決方案
門控函數(shù)(LSTM/GRU)
引入門控的目的在于將激活函數(shù)導(dǎo)數(shù)的連乘變成加法。以 LSTM 為例:
反向傳播時(shí)有兩個(gè)隱態(tài):
其中僅 C(t) 參與反向傳播:
加號(hào)后的項(xiàng)就是 tanh 的導(dǎo)數(shù),這里起作用的是加號(hào)前的項(xiàng), f(t+1) 控制著梯度衰減的程度。當(dāng) f=1 時(shí),即使后面的項(xiàng)很小,梯度仍能很好地傳到上一時(shí)刻;f=0 時(shí),即上一時(shí)刻的信號(hào)對(duì)此刻不造成任何影響,因此可以為 0。?
門控函數(shù)雖然有效緩解了梯度消失的問題,但處理很長(zhǎng)序列的時(shí)候仍然不可避免。盡管如此,LSTM/GRU 在現(xiàn)有 NLP 任務(wù)上已經(jīng)表現(xiàn)很好了。論文提出門控函數(shù)最主要的問題是門的存在使得計(jì)算過程無法并行,且增大了計(jì)算復(fù)雜度。
并且,在多層 LSTM 中,由于還是采用 tanh 函數(shù),在層與層之間的梯度消失仍然沒有解決(這里主要是的影響),所以現(xiàn)階段的多層 LSTM 多是采用 2~3 層,最多不會(huì)超過 4 層。
初始化(IRNN)
Hinton 于 2015 年提出在 RNN 中用 Relu 作為激活函數(shù)。Relu 作為激活函數(shù)用在 RNN 中的弊端在前面已經(jīng)說明了。為了解決這個(gè)問題,IRNN 將權(quán)重矩陣初始化為單位矩陣并將偏置置 0(IRNN的 I 因此得名——Identity Matrix)。
此后,基于 IRNN,有人提出了改進(jìn),比如將權(quán)重矩陣初始化為正定矩陣,或者增加正則項(xiàng)。但 IRNN 對(duì)學(xué)習(xí)率很敏感,在學(xué)習(xí)率大時(shí)容易梯度爆炸。?
梯度截?cái)?/span>
在反向傳播中,梯度消失/爆炸前會(huì)有一個(gè)漸變的過程。梯度截?cái)嗟囊馑季褪?#xff0c;在漸變過程中,人為設(shè)定只傳遞幾步,即人為設(shè)定對(duì)角矩陣連乘幾次,然后強(qiáng)行拉回正常值水平,再進(jìn)行梯度下降。該方法對(duì)解決梯度問題比較有效,但總有人為的因素,且強(qiáng)行拉回的值不一定準(zhǔn)確。有沒有更優(yōu)雅的方法呢??
IndRNN
為了解決梯度消失/爆炸問題,IndRNN 引入了 Relu 作為激活函數(shù),并且將層內(nèi)的神經(jīng)元獨(dú)立開來。對(duì) RNN 的式子稍加改進(jìn),就變成了 IndRNN:
權(quán)重系數(shù)從矩陣 U 變成了向量 u 。⊙ 表示矩陣元素積。也即在 t 時(shí)刻,每個(gè)神經(jīng)元只接受此刻的輸入以及 t-1 時(shí)刻自身的狀態(tài)作為輸入。
而傳統(tǒng) RNN 在 t 時(shí)刻每一個(gè)神經(jīng)元都接受 t-1 時(shí)刻所有神經(jīng)元的狀態(tài)作為輸入。所以 IndRNN 中的每個(gè)神經(jīng)元可以獨(dú)立地處理一份空間 pattern,可視化也就變得可行了。 現(xiàn)在來看一下梯度問題:
與傳統(tǒng) RNN 的梯度作對(duì)比,可以發(fā)現(xiàn)此時(shí)的連積操作不再是矩陣操作,而是將激活函數(shù)的導(dǎo)數(shù)與循環(huán)權(quán)重系數(shù)獨(dú)立起來,使用 Relu 作為激活函數(shù)也就順理成章了。至此,梯度問題完美解決(作者在論文里有詳細(xì)的推導(dǎo)過程)。
神經(jīng)元之間的相互連接依賴層間交互來完成。也就是說,下一層的神將元會(huì)接受上一層所有神經(jīng)元的輸出作為輸入(相當(dāng)于全連接層)。
作者在論文里證明了兩層的 IndRNN 相當(dāng)于一層激活函數(shù)為線性函數(shù)、循環(huán)權(quán)重為可對(duì)角化矩陣的傳統(tǒng) RNN。
IndRNN 可實(shí)現(xiàn)多層堆疊。因?yàn)樵诙鄬佣询B結(jié)構(gòu)中,層間交互是全連接方式,因此可以進(jìn)行改進(jìn),比如改全連接方式為 CNN 連接,也可引入 BN、殘差連接等。
實(shí)驗(yàn)介紹
實(shí)驗(yàn)部分首先在三個(gè)評(píng)估 RNN 模型的常用任務(wù)上進(jìn)行,以驗(yàn)證 IndRNN 的長(zhǎng)程記憶能力和深層網(wǎng)絡(luò)訓(xùn)練的可行性,為驗(yàn)證性實(shí)驗(yàn)。然后在骨骼動(dòng)作識(shí)別任務(wù)上進(jìn)行預(yù)測(cè),為實(shí)驗(yàn)性實(shí)驗(yàn)。?
Adding Problem
任務(wù)描述:輸入兩個(gè)序列,第一個(gè)序列是一串在(0,1)之間均勻采樣的數(shù)字,第二個(gè)序列是一串同等長(zhǎng)度的、其中只有兩個(gè)數(shù)字為 1,其余為 0 的數(shù)字,要求輸出與第二個(gè)序列中兩個(gè)數(shù)字 1 對(duì)應(yīng)的第一個(gè)序列中的兩個(gè)數(shù)字的和。
實(shí)驗(yàn)的序列長(zhǎng)度分別為 100,500 和 1000,采用 MSE 作為目標(biāo)函數(shù)。
實(shí)驗(yàn)結(jié)果可以看出,IRNN 和 LSTM 都只能處理中等長(zhǎng)度的序列(500-1000步),而 IndRNN 可以輕松處理時(shí)間跨度 5000 步的序列數(shù)據(jù)。?
Sequential MNIST Classification
任務(wù)描述:輸入一串 MINIST 像素點(diǎn)的數(shù)據(jù),然后進(jìn)行分類。而 pMINIST 則在 MINIST 任務(wù)上增加了難度:像素點(diǎn)數(shù)據(jù)進(jìn)行了置換。
Language Modeling
任務(wù)描述:在字符級(jí)別 PTB 數(shù)據(jù)集上進(jìn)行語言模型的評(píng)估。在該任務(wù)中,為了驗(yàn)證 IndRNN 可以構(gòu)造深層網(wǎng)絡(luò),論文里給出了 21 層 IndRNN 的訓(xùn)練以及結(jié)果。
Skeleton Based Action Recognition
任務(wù)描述:使用了 NTU RGB+D 的數(shù)據(jù)庫,是目前為止最大的基于骨骼的動(dòng)作識(shí)別數(shù)據(jù)庫。
個(gè)人心得
論文里將層內(nèi)神經(jīng)元獨(dú)立開來的想法雖然看似簡(jiǎn)單,但要想出來還真的不容易。本文為理解 RNN 提供了一個(gè)新的角度,也讓 RNN 單個(gè)神經(jīng)元行為的解釋變得可行。此外,Relu 函數(shù)的使用也使得 RNN 堆疊結(jié)構(gòu)成為可能。
從實(shí)驗(yàn)結(jié)果來看,IndRNN 帶來的效果提升都比較顯著。但有一點(diǎn)是,Relu 函數(shù)可能會(huì)輸出 0,在序列數(shù)據(jù)里意味著之前的歷史信息全部丟棄。是否換成 Leaky Relu 會(huì)更好一點(diǎn)?
本文由 AI 學(xué)術(shù)社區(qū) PaperWeekly 精選推薦,社區(qū)目前已覆蓋自然語言處理、計(jì)算機(jī)視覺、人工智能、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘和信息檢索等研究方向,點(diǎn)擊「閱讀原文」即刻加入社區(qū)!
點(diǎn)擊標(biāo)題查看更多論文解讀:?
CycleGAN:圖片風(fēng)格,想換就換
基于GAN的字體風(fēng)格遷移
基于置信度的知識(shí)圖譜表示學(xué)習(xí)框架
基于文檔級(jí)問答任務(wù)的新注意力模型
#投 稿 通 道#
投稿須知 | 讓你的文字被很多很多很多人看到
??我是彩蛋?
解鎖新功能:熱門職位推薦!
PaperWeekly小程序升級(jí)啦
今日arXiv√猜你喜歡√熱門職位√
找全職找實(shí)習(xí)都不是問題
?
?解鎖方式?
1. 識(shí)別下方二維碼打開小程序
2. 用PaperWeekly社區(qū)賬號(hào)進(jìn)行登陸
3. 登陸后即可解鎖所有功能
?職位發(fā)布?
請(qǐng)?zhí)砑有≈治⑿?#xff08;pwbot02)進(jìn)行咨詢
?
長(zhǎng)按識(shí)別二維碼,使用小程序
*點(diǎn)擊閱讀原文即可注冊(cè)
? ? ? ? ???
? ? ? ? ???
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點(diǎn)擊 |?閱讀原文?| 查看原論文
總結(jié)
以上是生活随笔為你收集整理的新型RNN:将层内神经元相互独立以提高长程记忆 | CVPR 2018论文解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 投稿须知 | 让你的文字被很多很多很多人
- 下一篇: 胶囊网络(Capsule Network