摘要:通過兩年的發(fā)展,今天我們可以肯定地說放棄你的和有證據(jù)表明,谷歌,,等企業(yè)正在越來越多地使用基于注意力模型的網(wǎng)絡(luò)。
摘要: 隨著技術(shù)的發(fā)展,作者覺得是時候放棄LSTM和RNN了!到底為什么呢?來看看吧~
遞歸神經(jīng)網(wǎng)絡(luò)(RNN),長期短期記憶(LSTM)及其所有變體:
現(xiàn)在是放棄它們的時候了!
在2014年,LSTM和RNN重新復(fù)活。我們都閱讀過Colah的博客和Karpathy對RNN的贊賞。但那個時候我們都很年輕,沒有經(jīng)驗。隨著這幾年的技術(shù)的發(fā)展,我們才慢慢發(fā)現(xiàn)序列變換(seq2seq)才是真正求解序列學(xué)習(xí)的真正模型,它在語音識別領(lǐng)域創(chuàng)造了驚人的結(jié)果,例如:蘋果的Siri,Cortana,谷歌語音助手Alexa。還有就是我們的機器翻譯,它可以將文檔翻譯成不同的語言。
然后在接下來的15年、16年,ResNet和Attention模型出現(xiàn)了。人們可以更好地認識到了LSTM其實就是一種巧妙的搭橋技術(shù)。注意,MLP網(wǎng)絡(luò)可以通過平均受上下文向量影響的網(wǎng)絡(luò)來取代,這個下文再談。
通過兩年的發(fā)展,今天我們可以肯定地說:“放棄你的RNN和LSTM!”
有證據(jù)表明,谷歌,F(xiàn)acebook,Salesforce等企業(yè)正在越來越多地使用基于注意力模型的網(wǎng)絡(luò)。所有的這些公司已經(jīng)取代了RNN和基于注意力模型的變體,而這只是一個開始,因為RNN相較于注意力模型需要更多的資源來訓(xùn)練。
為什么?RNN和LSTM及其變體主要是隨著時間的推移使用順序處理,請參閱下圖中的水平箭頭:
這個箭頭意味著,數(shù)據(jù)必須在到達當前處理單元之前順序穿過所有單元,這意味著它可以很容易出現(xiàn)梯度消失的問題。
為此,人們推出了LSTM模塊,它可以被看作是多個開關(guān)門的組合,ResNet就延續(xù)了它的設(shè)計,它可以繞過某些單元從而記住更長的時間步驟。因此,LSTM可以消除一些梯度消失的問題。
但并不是完全解決,正如你從上圖所看到的那樣。盡管如此,我們?nèi)匀挥幸粭l從過去的單元到現(xiàn)在的單元的順序路徑,實際上,現(xiàn)在這些路徑甚至變得更加復(fù)雜,因為路徑上還連接了加如記憶的分支和遺忘記憶的分支。毫無疑問,LSTM和GRU及變體能夠?qū)W習(xí)大量長期的信息!但他們只是可以記住100s的序列,而不是1000s或10000s甚至更多。
并且RNN的另一個問題是需要消耗大量的計算資源。在云中運行這些模型也需要大量資源,并且由于語音到文本的需求正在迅速增長,云能提供的計算能力慢慢的滿足不了它了。
我們應(yīng)該怎么辦?如果要避免順序處理,那么我們可以找到“向前預(yù)測”或更好的“向后回顧”的計算單元,因為我們處理的數(shù)據(jù)大部分都是實時因果數(shù)據(jù)。但在翻譯句子或分析錄制的視頻時并非如此,例如,我們擁有所有數(shù)據(jù)并且可以為其帶來更多時間。這樣的向前回溯/后向回顧單元就是神經(jīng)注意力模塊,我們此前在此解釋。
為了結(jié)合多個神經(jīng)注意力模塊,我們可以使用來自下圖所示的“ 層級神經(jīng)注意力編碼器”:
觀察過去信息的更好方式是使用注意力模塊將過去編碼向量匯總到上下文向量 C_t。請注意上面有一個層級注意力模塊,它和層級神經(jīng)網(wǎng)絡(luò)非常相似。這也類似于下面的備注3中的時間卷積網(wǎng)絡(luò)(TCN)。
在層級神經(jīng)注意力編碼器中,多層級關(guān)注可以查看最近過去的一小部分,比如說100個向量,而上面的層可以查看這100個關(guān)注模塊,有效地整合100 x 100個向量的信息。這將層級神經(jīng)注意力編碼器的能力擴展到10,000個以前的向量。但更重要的是查看表示向量傳播到網(wǎng)絡(luò)輸出所需的路徑長度:在分層網(wǎng)絡(luò)中,它與log(N)成正比,其中N是層次結(jié)構(gòu)層數(shù)。這與RNN需要做的T步驟形成對比,其中T是要記住的序列的最大長度,并且T >> N。
簡單的說就是回顧更多的歷史信息并預(yù)測未來!
這種架構(gòu)跟神經(jīng)圖靈機很相似,但可以讓神經(jīng)網(wǎng)絡(luò)通過注意力決定從內(nèi)存中讀出什么。這意味著一個實際的神經(jīng)網(wǎng)絡(luò)將決定哪些過去的向量對未來決策的重要性。
但是存儲到內(nèi)存呢?上述體系結(jié)構(gòu)將所有先前的表示存儲在內(nèi)存中,這可能是相當?shù)托У?。我們可以做的是添加另一個單元來防止相關(guān)數(shù)據(jù)被存儲。例如,不存儲與以前存儲的向量太相似的向量。最好的辦法就是讓應(yīng)用程序指導(dǎo)哪些載體應(yīng)該保存或不保存,這是當前研究的重點。
我們看到很多公司仍然使用RNN / LSTM來完成自然語言處理和語音識別等任務(wù)模型,但很多人不知道這些網(wǎng)絡(luò)如此低效且無法擴展。
總結(jié):關(guān)于訓(xùn)練RNN / LSTM:RNN和LSTM很難訓(xùn)練,因為它們需要內(nèi)存、帶寬、這些因素限制計算的效率,這對于硬件設(shè)計師來說是最糟糕的噩夢,并且最終限制了神經(jīng)網(wǎng)絡(luò)解決方案的適用性。簡而言之,每個LSTM單元需要的4個線性層(MLP層)在每個序列時間步上運行。線性層需要計算大量的內(nèi)存帶寬,事實上,他們并不能經(jīng)常使用很多計算單元,因為系統(tǒng)沒有足夠的內(nèi)存帶寬來提供計算單元。添加更多計算單元很容易,但很難增加更多的內(nèi)存帶寬。因此,RNN / LSTM和變體與硬件加速不太匹配,我之前曾討論過這個問題在這里和這里。
注:
注1:層級神經(jīng)注意力與WaveNet中的想法類似。但是我們不使用卷積神經(jīng)網(wǎng)絡(luò),而是使用層級神經(jīng)注意力模型。
注2:層級神經(jīng)注意力模型也可以是雙向的。
注3:這是一篇比較CNN和RNN的論文。時間卷積網(wǎng)絡(luò)(TCN)“在不同范圍的任務(wù)和數(shù)據(jù)集上優(yōu)于經(jīng)典的經(jīng)常性網(wǎng)絡(luò),如LSTM,同時展示更大的有效內(nèi)存。”
本文由@阿里云云棲社區(qū)組織翻譯。
文章原標題《the-fall-of-rnn-lstm》,
譯者:虎說八道,審校:袁虎。
詳情請閱讀原文
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19742.html
摘要:之后,注意力模型出現(xiàn)了。等企業(yè)越來越多地使用了基于注意力模型的網(wǎng)絡(luò)。所有這些企業(yè)已經(jīng)將及其變種替換為基于注意力的模型,而這僅僅是個開始。比起基于注意力的模型,需要更多的資源來訓(xùn)練和運行。這樣的回溯前進單元是神經(jīng)網(wǎng)絡(luò)注意力模型組。 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),長短期記憶(LSTM),這些紅得發(fā)紫的神經(jīng)網(wǎng)絡(luò)——是時候拋棄它們了!LSTM和RNN被發(fā)明于上世紀80、90年代,于2014年死而復(fù)生。接下...
摘要:要學(xué)習(xí)深度學(xué)習(xí),那么首先要熟悉神經(jīng)網(wǎng)絡(luò),簡稱的一些基本概念。網(wǎng)絡(luò)徑向基函數(shù)網(wǎng)絡(luò)是一種單隱層前饋神經(jīng)網(wǎng)絡(luò),它使用徑向基函數(shù)作為隱層神經(jīng)元激活函數(shù),而輸出層則是對隱層神經(jīng)元輸出的線性組合。 閱讀目錄1. 神經(jīng)元模型2. 感知機和神經(jīng)網(wǎng)絡(luò)3. 誤差逆?zhèn)鞑ニ惴?. 常見的神經(jīng)網(wǎng)絡(luò)模型5. 深度學(xué)習(xí)6. 參考內(nèi)容目前,深度學(xué)習(xí)(Deep Learning,簡稱DL)在算法領(lǐng)域可謂是大紅大紫,現(xiàn)在不只是...
摘要:首先是最頂層的抽象,這個里面最基礎(chǔ)的就是和,記憶中和的抽象是類似的,將計算結(jié)果和偏導(dǎo)結(jié)果用一個抽象類來表示了。不過,本身并沒有像其它兩個庫一樣提供,等模型的抽象類,因此往往不會直接使用去寫模型。 本文將從deep learning 相關(guān)工具庫的使用者角度來介紹下github上stars數(shù)排在前面的幾個庫(tensorflow, keras, torch, theano, skflow, la...
摘要:深度神經(jīng)網(wǎng)絡(luò)已經(jīng)成為解決計算機視覺語音識別和自然語言處理等機器學(xué)習(xí)任務(wù)的較先進的技術(shù)。圖深度壓縮的實驗結(jié)果訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)可以被大量剪枝和壓縮的事實意味著我們當前的訓(xùn)練方法具有一些局限性。 深度神經(jīng)網(wǎng)絡(luò)已經(jīng)成為解決計算機視覺、語音識別和自然語言處理等機器學(xué)習(xí)任務(wù)的較先進的技術(shù)。盡管如此,深度學(xué)習(xí)算法是計算密集型和存儲密集型的,這使得它難以被部署到只有有限硬件資源的嵌入式系統(tǒng)上。為了解決這個限...
摘要:毫無疑問,深度學(xué)習(xí)將驅(qū)動在公司中的應(yīng)用。在其價值評估和策略評估上使用的就是深度學(xué)習(xí)。端到端的深度學(xué)習(xí)是一個令人著迷的研究領(lǐng)域,但是迄今為止混合系統(tǒng)在應(yīng)用領(lǐng)域會更有效率。目前專注于深度學(xué)習(xí)模式,方法和戰(zhàn)略的研究。 在之前的博客中,我曾預(yù)言過未來幾年的發(fā)展趨勢。我記得上一篇博客的內(nèi)容是《2011年軟件開發(fā)趨勢和相關(guān)預(yù)言》(Software DevelopmentTrends and Predic...
閱讀 2624·2021-11-12 10:36
閱讀 2262·2021-08-23 09:47
閱讀 1683·2019-08-30 15:44
閱讀 1405·2019-08-30 14:10
閱讀 2246·2019-08-29 16:52
閱讀 2339·2019-08-29 16:40
閱讀 1590·2019-08-29 16:17
閱讀 2412·2019-08-26 13:21