循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和LSTM初學(xué)者指南-入門資料 | 資源

文章發(fā)布于公號(hào)【數(shù)智物語(yǔ)】?(ID:decision_engine),關(guān)注公號(hào)不錯(cuò)過每一篇干貨龟劲。

本文經(jīng)AI新媒體量子位(公眾號(hào) ID: QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處轴或。

最近昌跌,有一篇入門文章引發(fā)了不少關(guān)注。文章中詳細(xì)介紹了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)照雁,及其變體長(zhǎng)短期記憶(LSTM)背后的原理蚕愤。

具體內(nèi)容,從前饋網(wǎng)絡(luò)(Feedforward Networks)開始講起饺蚊,先后講述了循環(huán)神經(jīng)網(wǎng)絡(luò)萍诱、時(shí)序反向傳播算法(BPTT)、LSTM等模型的原理與運(yùn)作方式污呼。

在文章的最后裕坊,也給出了有關(guān)LSTM的代碼示例,以及LSTM超參數(shù)優(yōu)化的注意事項(xiàng)和相關(guān)的閱讀資料燕酷。

這篇文章來自Skymind籍凝,一家推動(dòng)數(shù)據(jù)項(xiàng)目從原型到落地的公司周瞎。獲得了YCombinator、騰訊等的投資饵蒂。

對(duì)于人工智能初學(xué)者來說声诸,是一份非常不錯(cuò)的入門資料。

循環(huán)網(wǎng)絡(luò)退盯,是一種人工神經(jīng)網(wǎng)絡(luò)(ANN)彼乌,用來識(shí)別數(shù)據(jù)序列中的模式。

比如文本渊迁、基因組囤攀、筆記、口語(yǔ)或來自傳感器宫纬、股票市場(chǎng)和政府機(jī)構(gòu)的時(shí)間序列數(shù)據(jù)焚挠。

它的算法考慮了時(shí)間和順序,具有時(shí)間維度漓骚。

研究表明蝌衔,RNN是最強(qiáng)大和最有用的神經(jīng)網(wǎng)絡(luò)之一,它甚至能夠適用于圖像處理蝌蹂。

把圖像分割成一系列的補(bǔ)丁噩斟,可以視為一個(gè)序列。

但是孤个,想要理解循環(huán)網(wǎng)絡(luò)剃允,首先要必須了解前饋網(wǎng)絡(luò)的基本知識(shí)。

01

前饋網(wǎng)絡(luò)回顧

前饋網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)的命名齐鲤,來自于它們?cè)趥鬟f信息時(shí)斥废,在網(wǎng)絡(luò)節(jié)點(diǎn)上執(zhí)行的一系列數(shù)學(xué)運(yùn)算的方式。

前饋網(wǎng)絡(luò)直接向前遞送信息(不會(huì)再次接觸已經(jīng)經(jīng)過的節(jié)點(diǎn))给郊,而循環(huán)網(wǎng)絡(luò)則是通過循環(huán)傳遞信息牡肉。

前饋網(wǎng)絡(luò)中的樣例,輸入網(wǎng)絡(luò)后被轉(zhuǎn)換成輸出淆九;在監(jiān)督學(xué)習(xí)中统锤,輸出將是一個(gè)標(biāo)簽,一個(gè)應(yīng)用于輸入的名稱炭庙。

也就是說饲窿,前饋網(wǎng)絡(luò)將原始數(shù)據(jù)映射到類別,識(shí)別出信號(hào)的模式焕蹄。例如逾雄,輸入圖像應(yīng)該被標(biāo)記為“貓”還是“大象”。

前饋網(wǎng)絡(luò)根據(jù)標(biāo)記的圖像進(jìn)行訓(xùn)練,直到猜測(cè)圖像類別時(shí)產(chǎn)生的錯(cuò)誤最小化嘲驾。 通過一組經(jīng)過訓(xùn)練的參數(shù)(或者稱為權(quán)重,統(tǒng)稱為模型) 迹卢,網(wǎng)絡(luò)就可以對(duì)它從未見過的數(shù)據(jù)進(jìn)行分類了辽故。

一個(gè)訓(xùn)練好的前饋網(wǎng)絡(luò)可以應(yīng)用在任何隨機(jī)的照片數(shù)據(jù)集中,它識(shí)別的第一張照片腐碱,并不會(huì)影響它對(duì)第二張照片的預(yù)測(cè)誊垢。

看到一只貓的照片之后,不會(huì)導(dǎo)致網(wǎng)絡(luò)預(yù)下一張圖是大象症见。

也就是說喂走,前饋網(wǎng)絡(luò)沒有時(shí)間順序的概念,它考慮的唯一輸入就是它所接觸到的當(dāng)前的輸入樣例谋作。

02

循環(huán)網(wǎng)絡(luò)

與前饋網(wǎng)絡(luò)相比芋肠,循環(huán)網(wǎng)絡(luò)的輸入不僅包括當(dāng)前的輸入樣例,還包括之前的輸入信息遵蚜。

下面是美國(guó)加州大學(xué)圣地亞哥分校教授Jeffrey Elman提出的一個(gè)早期的簡(jiǎn)單循環(huán)網(wǎng)絡(luò)的示意圖帖池。

圖底部的BTSXPE代表當(dāng)前時(shí)刻的輸入樣例,而CONTEXT UNIT代表前一時(shí)刻的輸出吭净。

循環(huán)網(wǎng)絡(luò)在t-1個(gè)時(shí)間步的判定睡汹,會(huì)影響隨后在t時(shí)間步的判定。所以寂殉,循環(huán)網(wǎng)絡(luò)有兩個(gè)輸入源囚巴,現(xiàn)在和最近的過去,它們結(jié)合起來決定對(duì)新數(shù)據(jù)的反應(yīng)友扰,就像我們?cè)谏钪幸粯印?/p>

循環(huán)網(wǎng)絡(luò)與前饋網(wǎng)絡(luò)的區(qū)別在于彤叉,循環(huán)網(wǎng)絡(luò)的反饋循環(huán)會(huì)連接到它們過去的判定,將自己的輸出作為輸入村怪。

循環(huán)網(wǎng)絡(luò)是有記憶的姆坚。給神經(jīng)網(wǎng)絡(luò)增加記憶的目的在于:序列本身帶有信息,循環(huán)網(wǎng)絡(luò)用它來執(zhí)行前饋網(wǎng)絡(luò)不能執(zhí)行的任務(wù)实愚。

這些連續(xù)的信息被保存在循環(huán)網(wǎng)絡(luò)的隱藏狀態(tài)中兼呵,這種隱藏狀態(tài)管理跨越多個(gè)時(shí)間步,并一層一層地向前傳遞腊敲,影響網(wǎng)絡(luò)對(duì)每一個(gè)新樣例的處理击喂。

循環(huán)網(wǎng)絡(luò),需要尋找被許多時(shí)刻分開的各種事件之間的相關(guān)性碰辅,這些相關(guān)性被稱為“長(zhǎng)距離依賴”懂昂,因?yàn)闀r(shí)間下游的事件依賴于之前的一個(gè)或多個(gè)事件,并且是這些事件的函數(shù)没宾。

因此凌彬,你可以將RNN理解為是一種跨時(shí)間分享權(quán)重的方式沸柔。

正如人類的記憶在身體內(nèi)無(wú)形地循環(huán),影響我們的行為但不暴露全貌一樣铲敛,信息也在循環(huán)網(wǎng)絡(luò)的隱藏狀態(tài)中循環(huán)褐澎。

用數(shù)學(xué)的方式來描述記憶傳遞的過程是這樣的:

t代表時(shí)間步,ht代表第t個(gè)時(shí)間步的隱藏狀態(tài)伐蒋,是同一個(gè)時(shí)間步xt的輸入函數(shù)工三。W是權(quán)重函數(shù),用于修正xt先鱼。

U是隱藏狀態(tài)矩陣俭正,也被稱為轉(zhuǎn)移矩陣,類似于馬爾可夫鏈焙畔。ht-1代表t的上一個(gè)時(shí)間步t-1的隱藏狀態(tài)掸读。

權(quán)重矩陣,是決定當(dāng)前輸入和過去隱藏狀態(tài)的重要程度的過濾器宏多。 它們產(chǎn)生的誤差會(huì)通過反向傳播返回寺枉,并用于調(diào)整相應(yīng)的權(quán)重,直到誤差不再降低绷落。

權(quán)重輸入(Wxt)和隱藏狀態(tài)(Uht-1)的總和被函數(shù)φ壓縮姥闪,可能是邏輯S形函數(shù)或者是雙曲正切(tanh)函數(shù),視情況而定砌烁。

這是一個(gè)標(biāo)準(zhǔn)工具筐喳,用于將非常大或非常小的值壓縮到邏輯空間中,并使梯度可用于反向傳播函喉。

因?yàn)檫@個(gè)反饋循環(huán)發(fā)生在序列中的每個(gè)時(shí)間步中避归,每個(gè)隱藏狀態(tài)不僅跟蹤前一個(gè)隱藏狀態(tài),只要記憶能夠持續(xù)存在管呵,它會(huì)還包含h_t-1之前的所有的隱藏狀態(tài)梳毙。

給定一系列字母,循環(huán)網(wǎng)絡(luò)將使用第一個(gè)字符來幫助確定它對(duì)第二個(gè)字符的感知捐下,比如账锹,首字母是q,可能會(huì)導(dǎo)致它推斷下一個(gè)字母是u坷襟,而首字母是t奸柬,可能會(huì)導(dǎo)致它推斷下一個(gè)字母是h。

由于循環(huán)網(wǎng)絡(luò)跨越時(shí)間婴程,用動(dòng)畫來說明可能會(huì)更好廓奕。(可以將第一個(gè)垂直節(jié)點(diǎn)看作是一個(gè)前饋網(wǎng)絡(luò),隨著時(shí)間的推移,它會(huì)變成循環(huán)網(wǎng)絡(luò))桌粉。

在上圖中蒸绩,每個(gè)x是一個(gè)輸入樣例,w是過濾輸入的權(quán)重铃肯,a是隱藏層的激活(加權(quán)輸入和先前隱藏狀態(tài)的和)患亿,b是隱藏層使用修正線性或sigmoid單元轉(zhuǎn)換或壓縮后的輸出。

03

時(shí)序反向傳播算法(BPTT)

循環(huán)網(wǎng)絡(luò)的目的是準(zhǔn)確地對(duì)序列輸入進(jìn)行分類缘薛。主要依靠誤差的反向傳播和梯度下降法來做到這一點(diǎn)窍育。

前饋網(wǎng)絡(luò)中的反向傳播從最后的誤差開始卡睦,經(jīng)過每個(gè)隱藏層的輸出宴胧、權(quán)重和輸入反向移動(dòng),將一定比例的誤差分配給每個(gè)權(quán)重表锻,方法是計(jì)算它們的偏導(dǎo)數(shù)?e/?w恕齐,或它們之間的變化率之間的關(guān)系。

隨后瞬逊,這些偏導(dǎo)數(shù)會(huì)被用到梯度下降算法中显歧,來調(diào)整權(quán)重減少誤差。

而循環(huán)網(wǎng)絡(luò)依賴于反向傳播的一種擴(kuò)展确镊,稱為時(shí)序反向傳播算法士骤,即BPTT。

在這種情況下蕾域,時(shí)間通過一系列定義明確拷肌、有序的計(jì)算來表達(dá),這些計(jì)算將一個(gè)時(shí)間步與下一個(gè)時(shí)間步聯(lián)系起來旨巷。

神經(jīng)網(wǎng)絡(luò)巨缘,無(wú)論是循環(huán)的還是非循環(huán)的,都是簡(jiǎn)單的嵌套復(fù)合函數(shù)采呐,比如f(g(h(x))若锁。添加時(shí)間元素,只是擴(kuò)展了我們用鏈?zhǔn)椒▌t計(jì)算導(dǎo)數(shù)的函數(shù)序列斧吐。

·

截?cái)嗍紹PTT

截?cái)嗍紹PTT(Truncated BPTT)是完整BPTT的近似方法又固,是處理是長(zhǎng)序列的首選。

在時(shí)間步較多的序列中煤率,完整BPTT的每個(gè)參數(shù)更新的正向/反向運(yùn)算成本變得非常高口予。

截?cái)嗍紹PTT的缺點(diǎn)是,由于截?cái)嗵槌蓿荻确聪蛞苿?dòng)的距離有限沪停,因此網(wǎng)絡(luò)無(wú)法學(xué)習(xí)與完整BPTT一樣長(zhǎng)的依賴。

04

梯度消失和梯度爆炸

和大多數(shù)神經(jīng)網(wǎng)絡(luò)一樣,循環(huán)網(wǎng)絡(luò)也有了一定的歷史木张。 到1990年代初众辨,梯度消失問題成為影響網(wǎng)絡(luò)性能的主要障礙。

就像直線表示x的變化和y的變化一樣舷礼,梯度表示所有權(quán)重隨誤差變化的變化鹃彻。如果我們不知道梯度,我們就不能在減少誤差的方向上調(diào)整權(quán)重妻献,網(wǎng)絡(luò)也就會(huì)停止學(xué)習(xí)蛛株。

循環(huán)網(wǎng)絡(luò),在最終的輸入和之前許多時(shí)間步之間建立聯(lián)系時(shí)育拨,也遇到了問題谨履。因?yàn)楹茈y知道一個(gè)遠(yuǎn)距離的輸入有多么重要。

就像向前追溯曾曾曾曾曾……祖父母兄弟的數(shù)量一樣熬丧,會(huì)越來越多笋粟,越來越多。

這在一定程度上是因?yàn)槲龊ㄟ^神經(jīng)網(wǎng)絡(luò)傳遞的信息要經(jīng)過多個(gè)乘法階段害捕。

每個(gè)研究過復(fù)利的人都知道,任何數(shù)量循環(huán)乘以略大于一的量闷畸,都會(huì)變得不可估量的大(實(shí)際上尝盼,簡(jiǎn)單的數(shù)學(xué)真理支撐著網(wǎng)絡(luò)效應(yīng)和社會(huì)不平等)。

反過來佑菩,乘以小于1的量盾沫,也會(huì)變得非常非常小。如果賭徒們每投入一美元倘待,只能贏得97美分疮跑,那么他們很快就會(huì)破產(chǎn)。

由于深度神經(jīng)網(wǎng)絡(luò)的層和時(shí)間步通過乘法相互關(guān)聯(lián)凸舵,導(dǎo)數(shù)很容易消失或爆炸祖娘。

梯度爆炸時(shí),每一個(gè)權(quán)重就像諺語(yǔ)中的蝴蝶一樣啊奄,它拍打的翅膀會(huì)引起遠(yuǎn)處的颶風(fēng)渐苏。

但是梯度爆炸解決起來相對(duì)容易,因?yàn)樗鼈兛梢员唤財(cái)嗷驂嚎s菇夸。

梯度消失正好相反琼富,是導(dǎo)數(shù)變得非常小,使計(jì)算機(jī)無(wú)法工作庄新,網(wǎng)絡(luò)也無(wú)法學(xué)習(xí)鞠眉。這是一個(gè)更難解決的問題薯鼠。

下面你可以看到一遍又一遍應(yīng)用S形函數(shù)的效果。 數(shù)據(jù)曲線越來越平緩械蹋,直至在較長(zhǎng)的距離上無(wú)法檢測(cè)到斜率出皇。 這類似于通過許多層的梯度消失。

05

長(zhǎng)短期記憶(LSTM)

在90年代中期哗戈,德國(guó)研究人員Sepp Hochreiter和Juergen Schmidhuber提出了一種具有長(zhǎng)短期記憶單元( LSTM )的循環(huán)網(wǎng)絡(luò)變體郊艘,作為梯度消失問題的解決方案。

LSTM有助于保留可以通過時(shí)間和層進(jìn)行反向傳播的誤差唯咬。

通過保留一個(gè)更為恒定的誤差纱注,它們使循環(huán)網(wǎng)絡(luò)能夠在有許多時(shí)間步(超過1000步)的情況下繼續(xù)學(xué)習(xí),從而打開一個(gè)遠(yuǎn)程鏈接因果關(guān)系的通道胆胰。

這是機(jī)器學(xué)習(xí)和人工智能面臨的主要挑戰(zhàn)之一狞贱,因?yàn)樗惴ń?jīng)常遇到獎(jiǎng)勵(lì)信號(hào)稀疏和延遲的環(huán)境。

LSTM將信息存放在循環(huán)網(wǎng)絡(luò)正常信息流之外的門控單元中。信息可以像計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)一樣存儲(chǔ)行楞、寫入單元,或者從單元中讀取。

單元通過打開和關(guān)閉的門來決定存儲(chǔ)什么砸泛,以及何時(shí)允許讀取、寫入和忘記锁施。

但與計(jì)算機(jī)上的數(shù)字存儲(chǔ)器不同墩剖,這些門是模擬的,通過范圍在0~1之間的sigmoid函數(shù)的逐元素相乘來實(shí)現(xiàn)痒筒。

與數(shù)字信號(hào)相比宰闰,模擬信號(hào)的優(yōu)勢(shì)是可微分,因此適用于反向傳播簿透。

這些門類似于神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)移袍,會(huì)根據(jù)它們接收到的信號(hào)決定開關(guān),它們根據(jù)信息的強(qiáng)度和重要性來阻止或傳遞信息老充,然后用它們自己的權(quán)重過濾這些信息葡盗。

這些權(quán)重,就像調(diào)整輸入和隱藏狀態(tài)的權(quán)重一樣啡浊,可以在循環(huán)網(wǎng)絡(luò)學(xué)習(xí)過程中進(jìn)行調(diào)整觅够。

也就是說,記憶單元學(xué)習(xí)會(huì)通過猜測(cè)巷嚣、反向傳播誤差和梯度下降法調(diào)整權(quán)重的迭代過程喘先,來決定何時(shí)允許數(shù)據(jù)進(jìn)入、離開或刪除廷粒。

下圖說明了數(shù)據(jù)如何通過記憶單元窘拯,以及門如何控制數(shù)據(jù)流動(dòng)红且。

如果你剛剛接觸LSTM,不要著急涤姊,仔細(xì)研究一下直焙。只需要幾分鐘,就能揭開其中的秘密砂轻。

從底部開始奔誓,三個(gè)箭頭顯示,信息由多個(gè)點(diǎn)流入記憶單元搔涝。 當(dāng)前輸入和過去單元狀態(tài)的組合不僅反饋到單元本身厨喂,而且反饋到它的三個(gè)門中的每一個(gè),這將決定它們?nèi)绾翁幚磔斎搿?/p>

黑點(diǎn)是門本身庄呈,決定是否讓新的輸入進(jìn)入蜕煌、遺忘當(dāng)前的狀態(tài),還是讓這一狀態(tài)在當(dāng)前時(shí)間步影響網(wǎng)絡(luò)的輸出诬留。

Sc是記憶單元的當(dāng)前狀態(tài)斜纪,g_y_in是記憶單元的當(dāng)前輸入。

請(qǐng)記住文兑,每個(gè)門都可以打開或關(guān)閉盒刚,它們會(huì)在每一步重新組合它們的打開和關(guān)閉狀態(tài)。記憶單元绿贞,在每個(gè)時(shí)間步都可以決定因块,是否遺忘、寫入籍铁、讀取它的狀態(tài)涡上,這些流都表示出來了。

大的拒名、加粗的字母吩愧,給出了每個(gè)操作的結(jié)果。

下面是另一個(gè)示意圖增显,對(duì)比了簡(jiǎn)單的循環(huán)網(wǎng)絡(luò)(左)和 LSTM 單元(右)雁佳。

值得注意的是,LSTM的記憶單元在輸入轉(zhuǎn)換中賦予加法和乘法不同的角色甸怕。

兩個(gè)圖中的中心加號(hào)甘穿,本質(zhì)上就是 LSTM 的秘密。

雖然這看起來非常非常簡(jiǎn)單梢杭,但當(dāng)必須在深度上反向傳播時(shí)温兼,這種變化有助于保持恒定的誤差。

LSTM不是將當(dāng)前狀態(tài)乘以新的輸入來確定后續(xù)的單元狀態(tài)武契,而是將兩者相加募判,這就產(chǎn)生了差異荡含。 (用于遺忘的門仍然依賴于乘法。)

不同的權(quán)重集對(duì)輸入信息進(jìn)行篩選届垫,決定是否輸入释液、輸出或遺忘。

不同的權(quán)重集對(duì)輸入信息進(jìn)行過濾装处,決定是否輸出或遺忘误债。遺忘門被表示為一個(gè)線性恒等式函數(shù),因?yàn)槿绻T是打開的妄迁,那么記憶單元的當(dāng)前狀態(tài)就會(huì)被簡(jiǎn)單地乘以1寝蹈,從而向前傳播一個(gè)時(shí)間步。

此外登淘,有一個(gè)簡(jiǎn)單的竅門箫老。將每個(gè)LSTM記憶單元遺忘門的偏差設(shè)定為1,可以提升網(wǎng)絡(luò)性能黔州。(但另一方面耍鬓,Sutskever建議將偏差設(shè)定為5。)

你可能會(huì)問流妻,LSTM的目的是將遠(yuǎn)距離事件與最終的輸出聯(lián)系起來牲蜀,為什么它們會(huì)有一個(gè)遺忘門?

好吧合冀,有時(shí)候遺忘是件好事各薇。

如果分析一個(gè)文本語(yǔ)料庫(kù)项贺,在到達(dá)一個(gè)文檔的末尾時(shí)君躺,下一個(gè)文檔基本上跟它沒有關(guān)系,因此开缎,在網(wǎng)絡(luò)攝取下一個(gè)文檔的第一個(gè)元素之前棕叫,應(yīng)該將記憶單元設(shè)置為零。

以分析一個(gè)文本語(yǔ)料庫(kù)為例奕删,在到達(dá)文檔的末尾時(shí)俺泣,你可能會(huì)認(rèn)為下一個(gè)文檔與這個(gè)文檔肯定沒有任何聯(lián)系,所以記憶單元在開始吸收下一個(gè)文檔的第一項(xiàng)元素前應(yīng)當(dāng)先歸零完残。

在下圖中伏钠,你可以看到在工作的門,直線表示關(guān)閉的門谨设,空白圓圈代表打開的門熟掂。沿著隱藏層水平延伸的線條和圓圈是表示遺忘門。

需要注意的是扎拣,前饋網(wǎng)絡(luò)只是一對(duì)一赴肚,即將一個(gè)輸入映射到一個(gè)輸出素跺。但循環(huán)網(wǎng)絡(luò)可以一對(duì)多,多對(duì)多誉券,多對(duì)一指厌。

06

涵蓋不同時(shí)間尺度和遠(yuǎn)距離依賴

你可能還想知道,保護(hù)記憶單元不受新數(shù)據(jù)進(jìn)入的輸入門和防止它影響 RNN 的某些輸出的輸出門的精確值是多少踊跟。你可以把 LSTM 看作是踩验,允許一個(gè)神經(jīng)網(wǎng)絡(luò)同時(shí)在不同的時(shí)間尺度上運(yùn)行。

讓我們以一個(gè)人的生命為例商玫,想象一下我們?cè)谝粋€(gè)時(shí)間序列中收到了關(guān)于那個(gè)生命的各種數(shù)據(jù)流晰甚。

每個(gè)時(shí)間步的地理位置,對(duì)于下一個(gè)時(shí)間步來說都非常重要决帖,因此時(shí)間尺度總是對(duì)最新信息開放的厕九。

也許這個(gè)人是一個(gè)勤奮的公民,每?jī)赡晖镀币淮蔚鼗亍T诿裰鲿r(shí)代扁远,我們會(huì)特別關(guān)注他們?cè)谶x舉前后的所作所為。我們不想讓地理位置持續(xù)產(chǎn)生噪音影響我們的政治分析刻像。

如果這個(gè)人也是一個(gè)勤奮的女兒畅买,那么也許我們可以構(gòu)建一個(gè)家庭時(shí)間,學(xué)習(xí)每周日定期打電話的模式细睡,每年假期前后谷羞,打電話的數(shù)量都會(huì)激增。這與政治周期或地理位置無(wú)關(guān)溜徙。

其他的數(shù)據(jù)也是這樣湃缎。音樂是多節(jié)奏的。文本中包含不同時(shí)間間隔的重復(fù)主題蠢壹。股票市場(chǎng)和經(jīng)濟(jì)會(huì)有更長(zhǎng)的波動(dòng)周期嗓违。它們?cè)诓煌臅r(shí)間尺度上同時(shí)運(yùn)行,LSTM可以捕捉到這些時(shí)間尺度图贸。

·

門控循環(huán)單元(GRU)

門控循環(huán)單元( GRU )基本上是沒有輸出門的LSTM蹂季,因此在每個(gè)時(shí)間步,它都將內(nèi)容從其記憶單元完全寫入到較大的網(wǎng)絡(luò)中疏日。

07

代碼示例

這里示例偿洁,是一個(gè)LSTM如何學(xué)習(xí)復(fù)制莎士比亞戲劇的評(píng)論,使用Deeplearning4j實(shí)現(xiàn)沟优。在難以理解的地方涕滋,都有相應(yīng)的注釋。

傳送門:

https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/recurrent/character/LSTMCharModellingExample.java

08

LSTM超參數(shù)調(diào)整

以下是手動(dòng)優(yōu)化RNN超參數(shù)時(shí)需要注意的一些情況:

1. 小心過擬合净神,神經(jīng)網(wǎng)絡(luò)基本在“記憶”訓(xùn)練數(shù)據(jù)時(shí)何吝,就會(huì)發(fā)生過擬合溉委。過擬合意味著你在訓(xùn)練數(shù)據(jù)上有很好的表現(xiàn),在其他數(shù)據(jù)集上基本無(wú)用爱榕。

2. 正則化有好處:方法包括 l1瓣喊、 l2和dropout等。

3. 要有一個(gè)單獨(dú)的測(cè)試集黔酥,不要在這個(gè)測(cè)試集上訓(xùn)練網(wǎng)絡(luò)藻三。

4. 網(wǎng)絡(luò)越大,功能就越強(qiáng)跪者,但也更容易過擬合棵帽。 不要試圖從10000個(gè)示例中學(xué)習(xí)一百萬(wàn)個(gè)參數(shù),參數(shù)>樣例=麻煩渣玲。

5. 數(shù)據(jù)越多越好逗概,因?yàn)樗兄诜乐惯^度擬合。

6. 訓(xùn)練要經(jīng)過多個(gè)epoch(算法遍歷訓(xùn)練數(shù)據(jù)集)忘衍。

7. 每個(gè)epoch之后逾苫,評(píng)估測(cè)試集表現(xiàn),以了解何時(shí)停止(要提前停止)枚钓。

8. 學(xué)習(xí)速率是最重要的超參數(shù)铅搓。

9. 總體而言,堆疊層會(huì)有幫助搀捷。

10. 對(duì)于LSTM星掰,可以使用softsign(而不是softmax)函數(shù)替代雙曲正切函數(shù),它更快嫩舟,更不容易飽和( 梯度大概為0 )氢烘。

11. 更新器:RMSProp、AdaGrad或Nesterovs通常是不錯(cuò)的選擇至壤。AdaGrad也會(huì)降低學(xué)習(xí)率威始,這有時(shí)會(huì)有所幫助。

12. 記住像街,要將數(shù)據(jù)標(biāo)準(zhǔn)化、MSE損失函數(shù)+恒等激活函數(shù)用于回歸晋渺、Xavier權(quán)重初始化镰绎。

09

資源推薦

DRAW: A Recurrent Neural Network For Image Generation(論文)

https://arxiv.org/pdf/1502.04623v2.pdf

Gated Feedback Recurrent Neural Networks(論文)

https://arxiv.org/pdf/1502.02367v4.pdf

Recurrent Neural Networks;Juergen Schmidhuber(博客)

http://people.idsia.ch/~juergen/rnn.html

The Unreasonable Effectiveness of Recurrent Neural Networks; Andrej Karpathy(博客)

https://karpathy.github.io/2015/05/21/rnn-effectiveness/

Understanding LSTMs; Christopher Olah(博客)

https://colah.github.io/posts/2015-08-Understanding-LSTMs/

Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling; Cho et al(論文)

https://arxiv.org/pdf/1412.3555v1.pdf

Training Recurrent Neural Networks; Ilya Sutskever’s Dissertation(博士論文)

https://www.cs.utoronto.ca/~ilya/pubs/ilya_sutskever_phd_thesis.pdf

Long Short-Term Memory in Recurrent Neural Networks; Felix Gers(博士論文)

http://www.felixgers.de/papers/phd.pdf

LSTM: A Search Space Oddyssey; Klaus Greff et al(論文)

https://arxiv.org/pdf/1503.04069.pdf

原文鏈接:https://skymind.ai/wiki/lst

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末木西,一起剝皮案震驚了整個(gè)濱河市畴栖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌八千,老刑警劉巖吗讶,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燎猛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡照皆,警方通過查閱死者的電腦和手機(jī)重绷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來膜毁,“玉大人昭卓,你說我怎么就攤上這事∥帘酰” “怎么了候醒?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)杂瘸。 經(jīng)常有香客問我倒淫,道長(zhǎng),這世上最難降的妖魔是什么败玉? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任昌简,我火速辦了婚禮,結(jié)果婚禮上绒怨,老公的妹妹穿的比我還像新娘纯赎。我一直安慰自己,他們只是感情好南蹂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布犬金。 她就那樣靜靜地躺著,像睡著了一般六剥。 火紅的嫁衣襯著肌膚如雪晚顷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天疗疟,我揣著相機(jī)與錄音该默,去河邊找鬼。 笑死策彤,一個(gè)胖子當(dāng)著我的面吹牛栓袖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播店诗,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼裹刮,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了庞瘸?” 一聲冷哼從身側(cè)響起捧弃,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后违霞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘴办,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年买鸽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涧郊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡癞谒,死狀恐怖底燎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情弹砚,我是刑警寧澤双仍,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站桌吃,受9級(jí)特大地震影響朱沃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜茅诱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一逗物、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瑟俭,春花似錦翎卓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至微饥,卻和暖如春逗扒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背欠橘。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工矩肩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肃续。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓黍檩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親痹升。 傳聞我的和親對(duì)象是個(gè)殘疾皇子建炫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容