成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

從RNN到LSTM,性能良好的神經(jīng)網(wǎng)絡(luò)到底是如何工作的?

sihai / 1659人閱讀

摘要:摘要在年率先發(fā)布上線了機(jī)器翻譯系統(tǒng)后,神經(jīng)網(wǎng)絡(luò)表現(xiàn)出的優(yōu)異性能讓人工智能專家趨之若鶩。目前在阿里翻譯平臺(tái)組擔(dān)任,主持上線了阿里神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng),為阿里巴巴國(guó)際化戰(zhàn)略提供豐富的語(yǔ)言支持。

摘要: 在2016年Google率先發(fā)布上線了機(jī)器翻譯系統(tǒng)后,神經(jīng)網(wǎng)絡(luò)表現(xiàn)出的優(yōu)異性能讓人工智能專家趨之若鶩。本文將借助多個(gè)案例,來(lái)帶領(lǐng)大家一同探究RNN和以LSTM為首的各類變種算法背后的工作原理。

本次直播視頻精彩回顧地址:http://click.aliyun.com/m/45430/
直播涉及到的PPT下載地址:http://click.aliyun.com/m/45431/

課程主講簡(jiǎn)介:

于恒,阿里巴巴機(jī)器智能技術(shù)實(shí)驗(yàn)室技術(shù)專家,中科院計(jì)算所博士,研究方向是機(jī)器翻譯,在自然語(yǔ)言處理和人工智能領(lǐng)域頂級(jí)國(guó)際會(huì)議ACL、EMNLP、COLING等發(fā)表多篇論文。曾在三星中國(guó)研究院和搜狗負(fù)責(zé)機(jī)器翻譯工作,參與上線搜狗翻譯和搜狗海外搜索等產(chǎn)品。目前在阿里翻譯平臺(tái)組擔(dān)任Tech-leader,主持上線了阿里神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng),為阿里巴巴國(guó)際化戰(zhàn)略提供豐富的語(yǔ)言支持。

以下內(nèi)容根據(jù)主講嘉賓視頻分享以及PPT整理而成。

2016年伊始,Google率先發(fā)布并上線了基于神經(jīng)網(wǎng)絡(luò)的機(jī)器翻譯系統(tǒng),其表現(xiàn)出的性能顯著超越了之前工業(yè)界的所有系統(tǒng),并且在某些特定領(lǐng)域已經(jīng)接近了人類的翻譯水準(zhǔn)。傳統(tǒng)翻譯系統(tǒng)和神經(jīng)網(wǎng)絡(luò)的翻譯系統(tǒng)之間的比較如下圖所示:

上圖中,藍(lán)色的部分代表傳統(tǒng)的phrase-based(基于短語(yǔ)的翻譯系統(tǒng)),而圖中綠色的部分代表基于neural神經(jīng)網(wǎng)絡(luò)的系統(tǒng)。顯然基于neural神經(jīng)網(wǎng)絡(luò)的系統(tǒng)在每個(gè)上語(yǔ)項(xiàng)都比傳統(tǒng)的PBMT模型要表現(xiàn)得更好,并且在英語(yǔ)>西班牙語(yǔ)、西班牙語(yǔ)>英語(yǔ)和法語(yǔ)>英語(yǔ)這三個(gè)特定語(yǔ)言對(duì)上的翻譯水準(zhǔn)已經(jīng)十分接近人類了。
具體的翻譯對(duì)比可以參看上圖中漢語(yǔ)>英語(yǔ)實(shí)際翻譯的例子。可以看到,向系統(tǒng)中輸入的中文語(yǔ)句中存在一個(gè)倒裝的句式。在經(jīng)過(guò)各自的翻譯后,phrase-based的系統(tǒng)只是逐字的進(jìn)行漢語(yǔ)>英語(yǔ)的翻譯,而基于神經(jīng)網(wǎng)絡(luò)的系統(tǒng)實(shí)現(xiàn)了基本的翻譯,還實(shí)現(xiàn)了語(yǔ)句的調(diào)序,使譯文顯得更加流利、更符合英文的表達(dá)特點(diǎn),更加貼近于人工翻譯,就仿佛機(jī)器理解了人類的對(duì)話一樣。
從系統(tǒng)的機(jī)理來(lái)講,傳統(tǒng)的基于短語(yǔ)的翻譯是基于詞語(yǔ)對(duì)齊來(lái)實(shí)現(xiàn)的,而神經(jīng)網(wǎng)絡(luò)NMT則是使用了RNN(Recurrent neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò)),借助于神經(jīng)網(wǎng)絡(luò)對(duì)原文和譯文同時(shí)進(jìn)行建模,實(shí)現(xiàn)了高效精準(zhǔn)的翻譯。這兩種方法大致的實(shí)現(xiàn)過(guò)程如下圖所示:

那么RNN是如何實(shí)現(xiàn)這種效果的呢?而這也是本次課程的重點(diǎn)所在。接下來(lái)將從以下幾個(gè)方面進(jìn)一步闡述RNN的原理及其更深層次的應(yīng)用:
1、RNN原理,包括網(wǎng)絡(luò)結(jié)構(gòu)和Attention機(jī)制。
2、RNN的不足之處,并且引申出它的一個(gè)變種——LSTM。
3、通過(guò)三個(gè)案例介紹RNNs的“不講理有效性”。
4、介紹RNN無(wú)法克服的問(wèn)題及相關(guān)的建設(shè)性的解決方案。

一、RNN的原理

1、RNN網(wǎng)絡(luò)結(jié)構(gòu)
RNN的循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:

如圖中左側(cè)所示,RNN主要包括以下幾個(gè)網(wǎng)絡(luò)層:第一層是輸入層,第二層是隱藏層(也叫context層),第三層輸出層。其中隱藏層是一個(gè)循環(huán)的結(jié)構(gòu),當(dāng)前t時(shí)刻的context(t),是由連接上一次訓(xùn)練的隱藏層context(t–1)生成。這樣設(shè)計(jì)的好處在于可以對(duì)任意長(zhǎng)度的sequence進(jìn)行建模,這也是它區(qū)別于傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)(要求輸入的sequence的長(zhǎng)度是固定已知的)的一個(gè)比較本質(zhì)的區(qū)別。因此RNN適用于處理人類自然語(yǔ)言或者語(yǔ)音等。
如果對(duì)RNN的循環(huán)結(jié)構(gòu)進(jìn)行分解,在展開(kāi)后,可以發(fā)現(xiàn)它其實(shí)是由很多神經(jīng)網(wǎng)絡(luò)堆砌在一起的,并且它每一層之間的參數(shù)都是共享的,導(dǎo)致RNN是一個(gè)非常深的網(wǎng)絡(luò)結(jié)構(gòu),這種神經(jīng)網(wǎng)絡(luò)的疊加的結(jié)構(gòu)也是它的優(yōu)點(diǎn)所在。
如果用形式化的語(yǔ)言對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行表述,可以表示成ht=fw(ht-1, xt)。如下圖所示:


顯然,當(dāng)前t時(shí)刻隱藏層的狀態(tài)ht,是由t-1時(shí)刻的隱藏層的狀態(tài)和t時(shí)刻的輸入xt通過(guò)函數(shù)fw來(lái)決定的。對(duì)該等式進(jìn)行進(jìn)一步拆分后,可以發(fā)現(xiàn)上述函數(shù)fw通常是用tanh函數(shù)來(lái)進(jìn)行數(shù)字變換,拆分后的等式如下圖所示:


t時(shí)刻的狀態(tài)ht,是由前一時(shí)刻的狀態(tài)ht-1與Whh做矩陣相乘,再加上t時(shí)刻的輸入xt與Wxh做矩陣相乘,將這兩者之和進(jìn)行tanh變換得到的。而t時(shí)刻的網(wǎng)絡(luò)層的輸出yt,是由t時(shí)刻的隱藏層狀態(tài)ht與Why做一個(gè)矩陣相乘得到的。
可以看到整個(gè)網(wǎng)絡(luò)中,所需要學(xué)習(xí)的參數(shù)有三個(gè),第一個(gè)是隱藏層和隱藏層之間的Whh,第二個(gè)是輸入層和隱藏層之間的Wxh,第三個(gè)是輸出層和隱藏層之間的Why。
如果對(duì)RNN的整個(gè)的計(jì)算過(guò)程進(jìn)行展開(kāi),如下圖所示:

在t=0時(shí)刻,隨機(jī)初始化一個(gè)隱藏層的狀態(tài)h0,然后輸入x1,通過(guò)函數(shù)fw進(jìn)行數(shù)字變換后得到t=1時(shí)刻的隱藏層狀態(tài)h1。然后以此類推,計(jì)算出從t=0時(shí)刻到t=T時(shí)刻的全部隱藏層狀態(tài)。在這個(gè)過(guò)程中,每個(gè)time-step共用同一組權(quán)重矩陣W。對(duì)于每個(gè)time-step的隱藏層狀態(tài),還會(huì)借助于矩陣權(quán)重W計(jì)算得到輸出y1...yT。以上就是網(wǎng)絡(luò)的計(jì)算過(guò)程。
在實(shí)際的網(wǎng)絡(luò)訓(xùn)練過(guò)程當(dāng)中,可以根據(jù)每一個(gè)輸出y得到它對(duì)應(yīng)的Loss,將這些Loss組合在一起就可以得到所需的反向傳播的Loss,然后通過(guò)隨機(jī)梯度下降的方式進(jìn)行反向傳播并更新網(wǎng)絡(luò)中的參數(shù)W,這樣就完成了整個(gè)的訓(xùn)練過(guò)程。
如下圖所示是RNN循環(huán)結(jié)構(gòu):

圖中的每次循環(huán)都對(duì)應(yīng)著不同的time-step,其算法的名字叫做Backpropagation through time。即對(duì)于一個(gè)長(zhǎng)sequence,從第一個(gè)時(shí)間點(diǎn)計(jì)算到最后一個(gè)時(shí)間點(diǎn),得到所有Loss之后,從最后一個(gè)時(shí)間點(diǎn)開(kāi)始回傳,直到到達(dá)最初的時(shí)間點(diǎn),同時(shí)進(jìn)行權(quán)重更新。
這樣的算法其實(shí)存在一定的問(wèn)題,當(dāng)序列過(guò)長(zhǎng)的時(shí)候,一次回傳必須要等整個(gè)序列完成解碼之后才能開(kāi)始,這樣會(huì)導(dǎo)致速度變慢,會(huì)影響整個(gè)模型收斂的速度。
所以產(chǎn)生了一種更加常用的算法——Truncated Backpropagation through time,如下圖所示:

它的思想是將長(zhǎng)序列截?cái)喑蔀槎鄠€(gè)短序列,然后對(duì)這些短序列進(jìn)行權(quán)值更新。這樣的好處在于,在對(duì)某個(gè)長(zhǎng)序列進(jìn)行計(jì)算,在中間某個(gè)時(shí)刻的時(shí)候,可以先返回一批梯度對(duì)參數(shù)進(jìn)行更新,然后再此基礎(chǔ)上對(duì)剩余的部分進(jìn)行計(jì)算。這樣權(quán)值更新的次數(shù)會(huì)增多,收斂速度也會(huì)加快。

2、具體案例實(shí)現(xiàn)
下面借助一個(gè)具體的例子——字符級(jí)別的語(yǔ)言模型來(lái)實(shí)現(xiàn)上述的過(guò)程,如圖所示:

語(yǔ)言模型的思路與RNN是比較接近的,即當(dāng)前時(shí)刻輸出的概念是如之前的歷史時(shí)刻相關(guān)的。對(duì)于序列“hello”而言,它由五個(gè)字符組成,包含有四類字母——‘h’、‘e’‘l’‘o’,在實(shí)際的訓(xùn)練過(guò)程中,第一個(gè)輸入自然是‘h’,然后依次是‘e’、‘l’和‘l’,對(duì)于最
后一個(gè)字符‘o’,則不進(jìn)行建模。如上圖所示,先建立輸入層(input layer),然后根據(jù)不同的輸入得到其隱藏層(hidden layer)狀態(tài),即當(dāng)前隱藏層狀態(tài)是基于前一隱藏層狀態(tài)得到的,對(duì)于每一個(gè)隱藏層,通過(guò)計(jì)算得到一個(gè)輸出,該輸出代表著當(dāng)前字符可能生成的下一個(gè)字符,這樣就得到了上述的計(jì)算圖。在計(jì)算得到輸出后,可以根據(jù)該輸出已經(jīng)相應(yīng)的參考答案得到相應(yīng)的Loss,借此進(jìn)行參數(shù)更新。
以上是訓(xùn)練部分,具體的解碼過(guò)程如下圖:

假設(shè)拿到的第一個(gè)字符是‘h’,但是卻不知道該字符的后續(xù)字符是什么,然后借助模型,經(jīng)過(guò)隱藏層,得到輸出層的輸出,通過(guò)Softmax對(duì)輸出進(jìn)行概率化,然后取其中生成概率最大的字符作為輸出。顯然在輸入字符‘h’時(shí),最后得到的概率最大的字符就是‘e’,然后以此類推,就可以得到“hello”這個(gè)序列的預(yù)測(cè)。整個(gè)流程就是通過(guò)當(dāng)前輸入的字符預(yù)測(cè)出下一個(gè)字符,最終預(yù)測(cè)出一個(gè)完整的序列。

3、Attention機(jī)制
注意力機(jī)制(Attention Mechanism)在很多任務(wù)中對(duì)性能有著很大的影響。例如在sequence to sequence model中(第一個(gè)sequence指原文,第二個(gè)sequence指譯文),如下圖所示:

圖中將英文的“I am a student”翻譯成法文,在即將生成目標(biāo)端的詞語(yǔ)的時(shí)候,RNN模型會(huì)將源端的所有信息壓縮在一個(gè)隱藏層當(dāng)中,然后將該信息輸入下一個(gè)sequence中進(jìn)行翻譯的預(yù)測(cè)。當(dāng)源端的序列很長(zhǎng)的時(shí)候,一個(gè)隱藏層很難存放這么多源端的信息,這樣在信息嚴(yán)重壓縮之后,在目標(biāo)端生成翻譯的時(shí)候,會(huì)導(dǎo)致所需的上下文的信息是不夠的。這也是RNN在實(shí)際使用中常遇到的一個(gè)問(wèn)題,在目前可以采用下圖中的方法進(jìn)行避免:

在生成第二個(gè)單詞的時(shí)候,根據(jù)目標(biāo)端的隱藏層狀態(tài)和源端的每一個(gè)隱藏層之間做相似度的計(jì)算,根據(jù)規(guī)劃得到一個(gè)權(quán)重的得分,接著生成一個(gè)上下文的Attention Layer,借助于這個(gè)Attention Layer作用于生成第二個(gè)詞的過(guò)程,進(jìn)而生成正確的翻譯。Attention的這種機(jī)制其實(shí)是很符合翻譯的這種直覺(jué)的,即生成每一個(gè)詞的時(shí)候,關(guān)注的源端位置是不一樣的。在實(shí)際的應(yīng)用中,Attention的這種機(jī)制的表現(xiàn)也非常好,這個(gè)也解決了RNN在長(zhǎng)序列壓縮中造成的信息丟失的問(wèn)題。

二、RNN存在的問(wèn)題及其變種——LSTM

前文中介紹的Backpropagation,即從sequence的末尾將梯度傳回至sequence的開(kāi)頭。但是在梯度回傳的過(guò)程中,它每一次的回傳都要與循環(huán)網(wǎng)絡(luò)的參數(shù)W(實(shí)際上是W的轉(zhuǎn)置矩陣)進(jìn)行矩陣相乘,其實(shí)際的數(shù)值轉(zhuǎn)換的公式如下圖:

由于在每一次回傳的過(guò)程中都需要與W進(jìn)行矩陣相乘,并且重復(fù)進(jìn)行tanh計(jì)算,如下圖所示:

這樣在訓(xùn)練上會(huì)帶來(lái)一些問(wèn)題:
1、當(dāng)W的值大于1且這個(gè)序列足夠長(zhǎng)的時(shí)候,這個(gè)回傳的梯度的數(shù)值就會(huì)變得無(wú)限大。
這種時(shí)候,可以采用Gradient clipping的方法解決,即將梯度重新進(jìn)行數(shù)值變換到一個(gè)可以接受的范圍。
2、如果W的數(shù)值小于1,就可能會(huì)造成梯度消失(導(dǎo)致完全無(wú)法更新)的問(wèn)題。
這種時(shí)候,無(wú)論對(duì)梯度進(jìn)行什么數(shù)值操作,都無(wú)法使用梯度來(lái)對(duì)參數(shù)進(jìn)行更新,這時(shí)候可以考慮改變RNN的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)克服這個(gè)缺陷,LSTM也就應(yīng)運(yùn)而生了。

LSTM與RNN相比,它將原有的網(wǎng)絡(luò)結(jié)構(gòu)拆成了更細(xì)的結(jié)構(gòu),如下圖所示:

可以看到,LSTM引入幾個(gè)門的限制,例如keep gate、write gate和read gate。通過(guò)這些門來(lái)控制LSTM的信息傳輸量。其實(shí)際的結(jié)構(gòu)如下圖所示:

其中,f代表forget gate,i代表input gate,o代表output gate。上層的c在傳輸?shù)倪^(guò)程中,只與這些門限的值進(jìn)行數(shù)值變換,而不用跟整個(gè)網(wǎng)絡(luò)參數(shù)W進(jìn)行矩陣相乘,這樣就避免了RNN回傳梯度時(shí)可能發(fā)生的梯度爆炸或梯度消失的問(wèn)題。
這些門限具體分為以下幾種:

1、Keep Gate:它的作用是使LSTM的cell根據(jù)不同的輸入去選擇記憶或者遺忘前一個(gè)狀態(tài)中的信息。
2、Write Gate:它用于控制LSTM的cell接受新的輸入的百分比。

3、Update Gate:它實(shí)際上是對(duì)cell的更新,用于綜合前一時(shí)刻狀態(tài)與當(dāng)前時(shí)刻狀態(tài)。
4、Read Gate:它用于控制當(dāng)前狀態(tài)與Ct的信息的輸入。
通過(guò)加入這幾個(gè)門限,實(shí)際在循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)ct-1到ct傳播的過(guò)程中,只有一些較少的線性操作,并沒(méi)有乘法操作。這樣的好處在于它的gradient flow沒(méi)有被過(guò)多的干擾,即整個(gè)流程中梯度的傳播是非常通暢的,這樣就解決了RNN中梯度爆炸或者梯度消失的問(wèn)題。

而LSTM也存在一些變種:
1、peephole LSTM。在LSTM中,門限的數(shù)值和cell都是無(wú)關(guān)的。但其實(shí)這些cell是可以加入門限的計(jì)算過(guò)程中,去影響每個(gè)門限的值,這樣整體上信息的流動(dòng)就會(huì)更加通暢,在門限的計(jì)算上也會(huì)更準(zhǔn)確一些,在某些任務(wù)上會(huì)取得更好的效果。

2、GRU。它將forget gate和input gate合成一個(gè)update gate,這個(gè)gate用于綜合控制cell的讀和寫,這樣可以簡(jiǎn)化LSTM的參數(shù),此外它還將cell state和hidden state進(jìn)行合并??傮w而言,它是一個(gè)比LSTM更加簡(jiǎn)化的結(jié)構(gòu),在訓(xùn)練上更加容易(參數(shù)少)。

3、Deep RNN。在RNN中,比較缺乏CNN中的層次化的結(jié)構(gòu),為了解決這個(gè)問(wèn)題,它將多個(gè)RNN累積在一起,形成一種層次化的結(jié)構(gòu),并且不同層之間也存在網(wǎng)絡(luò)連接,這樣的好處在于每一層都可以代表一個(gè)信息抽象,另外它會(huì)吸收computation network的優(yōu)勢(shì)——同時(shí)兼容RNN和CNN。這種網(wǎng)絡(luò)結(jié)構(gòu)在機(jī)器翻譯、對(duì)話等領(lǐng)域都有很好的應(yīng)用。

三、RNNs的“不講理有效性”

1、Image Caption
Image Caption,即對(duì)圖片的文字解釋。如下圖所示:

可以看到,輸入是一張圖片,輸出是對(duì)該圖片的文字解釋。具體實(shí)現(xiàn)流程如下:首先使用CNN(卷積神經(jīng)網(wǎng)絡(luò))進(jìn)行建模,然后將這些信息綜合到Encoded state中,將其作為RNN的輸入,然后逐詞生成圖片的描述,最終得到完整的圖片描述。
具體來(lái)看,它結(jié)合CNN和RNN的網(wǎng)絡(luò)結(jié)構(gòu),如下圖所示:

之所以這么使用,是因?yàn)镃NN適用于圖片的建模,而RNN適用于自然語(yǔ)言處理。因此可以先使用CNN對(duì)圖片中的信息進(jìn)行卷積,然后將得到的結(jié)果作為RNN的輸入,去不斷的生成圖片的描述。
當(dāng)然在這個(gè)過(guò)程中,也離不開(kāi)Attention的機(jī)制,具體的流程如下圖:

因?yàn)樵谏蓤D片的描述的時(shí)候,不同的詞對(duì)應(yīng)的圖片的位置是不同的,如果采用Attention的機(jī)制,會(huì)使得圖片信息的捕捉更為準(zhǔn)確,而不是將圖片的所有信息壓縮到一個(gè)隱藏層里面,使得上下文的信息會(huì)更加豐富。
下圖包含了一些有意思的例子:


第一幅圖片在生成frisbee這個(gè)單詞的時(shí)候,可以觀察到,frisbee那塊區(qū)域是高亮的,即它關(guān)注的區(qū)域十分正確。同樣,在第二個(gè)圖中的dog和第三個(gè)圖中的stop都是Attention機(jī)制良好作用的體現(xiàn)。
就實(shí)際而言,Image Caption是一個(gè)比較難的課題,上文中都是給的一個(gè)很好的例子,當(dāng)然也會(huì)存在一些很差的例子。如下圖所示:

第一幅圖中,這個(gè)女生穿的衣服十分像一只貓,在實(shí)際的圖像描述的生成過(guò)程中,這件衣服被錯(cuò)誤的識(shí)別成了一只貓,最終才得到了圖中的錯(cuò)誤的描述。又如最后一幅圖片中,運(yùn)動(dòng)員實(shí)際上在接球,但是他的運(yùn)動(dòng)形態(tài)沒(méi)能被捕捉到,才生成了他在扔球的這樣一個(gè)錯(cuò)誤的描述??梢钥吹絀mage Caption目前還是處于一個(gè)實(shí)驗(yàn)的階段,還沒(méi)有達(dá)到商業(yè)化的水平。

2、QA
在RNNs應(yīng)用中另外一個(gè)比較火的是QA(問(wèn)答系統(tǒng))。它實(shí)現(xiàn)的鏈路跟上個(gè)例子有所類似,但是有一個(gè)不同之處在于:對(duì)于輸入的問(wèn)題,它采用了RNN而不是CNN進(jìn)行建模,具體實(shí)現(xiàn)流程如下圖所示:

這就是人們常提到的Sequence to Sequence Model,即輸入是Sequence,輸出也是Sequence。對(duì)于輸入的問(wèn)題,先通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行建模,然后將得到的Encoded state輸入到另一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)中,然后逐詞的生成最終的回答。
在另一些例子里面,不僅會(huì)有文字的輸入,還有圖片等信息的輸入,并且這些問(wèn)題是基于圖片中的場(chǎng)景來(lái)進(jìn)行提問(wèn)的,這樣就會(huì)產(chǎn)生圖片和文字聯(lián)合組成QA的應(yīng)用。以下圖為例:

在LSTM建模的初始階段,是使用了CNN將圖片壓縮作為了第一個(gè)隱藏層的狀態(tài),并且將問(wèn)題也通過(guò)LSTM進(jìn)行聯(lián)合的建模,最終將整體的信息融入到encoder里面,并生成對(duì)應(yīng)的翻譯。從圖中也可以看到,CNN和LSTM是可以緊密的聯(lián)合在一起共同工作的,并且還可以通過(guò)Attention機(jī)制達(dá)到更好的交互。
下圖是實(shí)際應(yīng)用中一個(gè)比較有意思的例子:

問(wèn)A圖中是哪種動(dòng)物,在Attention機(jī)制中,捕捉到的這個(gè)貓的位置(白色方框)是比較集中的,這對(duì)于解答這個(gè)問(wèn)題會(huì)起到很好的作用。在圖B中問(wèn)這個(gè)人拿到在切什么,顯然白色方框聚焦的位置也是正確的。

3、Machine Translation
下圖中這個(gè)例子就是機(jī)器翻譯的鏈路,也是通過(guò)多層的RNN進(jìn)行的建模,最終生成一個(gè)Final input matrix,然后借助Attention的機(jī)制,逐詞生成目標(biāo)翻譯。

上圖就是機(jī)器翻譯過(guò)程的整體示意圖。此外,Google提出的神經(jīng)網(wǎng)絡(luò)的翻譯的架構(gòu)如下圖所示:

在Encoder端有八層LSTM堆砌在一起的,這樣便于對(duì)輸入句子的含義進(jìn)行更好的理解。然后通過(guò)Attention連接到另外一個(gè)八層LSTM的Decoder端,最終將結(jié)果輸出到一個(gè)Softmax,來(lái)進(jìn)行翻譯的預(yù)測(cè)。
實(shí)際還有一種另外的交互的翻譯方式——Speech Translation,如下圖所示:

即通過(guò)一個(gè)語(yǔ)言的序列,通過(guò)一個(gè)神經(jīng)網(wǎng)絡(luò),得到語(yǔ)音識(shí)別的結(jié)果,然后對(duì)該結(jié)果進(jìn)行拼寫糾正、標(biāo)點(diǎn)處理等,得到一個(gè)較好的語(yǔ)音識(shí)別的text,再將其輸入到神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng)中,生成對(duì)應(yīng)日文的翻譯,再借助于Text to Speech的系統(tǒng),生成對(duì)應(yīng)的日文的語(yǔ)言。

四、RNNs的阿喀琉斯之踵

1、RNNs對(duì)層次信息的表示能力和卷積能力都存在一些不足。因此產(chǎn)生了一些如Deep RNN、Bidirectional RNN和Hierarchical RNN的變種,都希望通過(guò)更層次化的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)彌補(bǔ)這種不足。
2、RNNs的并行度很低。它的當(dāng)前時(shí)刻的隱藏層的狀態(tài)依賴于之前時(shí)間的狀態(tài),并且訓(xùn)練和解碼的并行度都很低。
為了解決上面的問(wèn)題,提出了一種新的神經(jīng)網(wǎng)絡(luò)的架構(gòu)——Transformer,如下圖所示:

Transformer使用簡(jiǎn)單的FF-NN替代了GRU,這樣就直接解決了在訓(xùn)練中難以并行的問(wèn)題。但是由于取代了循環(huán)的結(jié)構(gòu),也會(huì)導(dǎo)致網(wǎng)絡(luò)中各個(gè)位置的信息是缺乏的,也不知道序列的先后順序。這時(shí)引入了一個(gè)Positional Encoding,對(duì)于每個(gè)位置都有一個(gè)Embedding來(lái)存儲(chǔ)位置信息。在實(shí)際的網(wǎng)絡(luò)結(jié)構(gòu)中,可以分為幾個(gè)Sub-layer:
Sub-layer1:即全連接的FF網(wǎng)絡(luò)。
Sub-layer2:借助于sele-attention的機(jī)制來(lái)捕捉各個(gè)位置之間的關(guān)聯(lián)關(guān)系。
Between 1 and 2:加入了residual connection和layer normal。

綜上所述,而相比于RNN,Transformer有兩大優(yōu)點(diǎn):
1、比RNN擁有更好的性能。
2、訓(xùn)練速度快了4倍。

閱讀原文

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19727.html

相關(guān)文章

  • RNNLSTM弱!爆!了!注意力模型才王道

    摘要:之后,注意力模型出現(xiàn)了。等企業(yè)越來(lái)越多地使用了基于注意力模型的網(wǎng)絡(luò)。所有這些企業(yè)已經(jīng)將及其變種替換為基于注意力的模型,而這僅僅是個(gè)開(kāi)始。比起基于注意力的模型,需要更多的資源來(lái)訓(xùn)練和運(yùn)行。這樣的回溯前進(jìn)單元是神經(jīng)網(wǎng)絡(luò)注意力模型組。 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),長(zhǎng)短期記憶(LSTM),這些紅得發(fā)紫的神經(jīng)網(wǎng)絡(luò)——是時(shí)候拋棄它們了!LSTM和RNN被發(fā)明于上世紀(jì)80、90年代,于2014年死而復(fù)生。接下...

    YancyYe 評(píng)論0 收藏0
  • 難以置信!LSTM和GRU解析未如此清晰

    摘要:作為解決方案的和和是解決短時(shí)記憶問(wèn)題的解決方案,它們具有稱為門的內(nèi)部機(jī)制,可以調(diào)節(jié)信息流。隨后,它可以沿著長(zhǎng)鏈序列傳遞相關(guān)信息以進(jìn)行預(yù)測(cè),幾乎所有基于遞歸神經(jīng)網(wǎng)絡(luò)的技術(shù)成果都是通過(guò)這兩個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)的。和采用門結(jié)構(gòu)來(lái)克服短時(shí)記憶的影響。 短時(shí)記憶RNN 會(huì)受到短時(shí)記憶的影響。如果一條序列足夠長(zhǎng),那它們將很難將信息從較早的時(shí)間步傳送到后面的時(shí)間步。 因此,如果你正在嘗試處理一段文本進(jìn)行預(yù)測(cè),RNN...

    MrZONT 評(píng)論0 收藏0
  • 如果你還沒(méi)搞懂LSTM 網(wǎng)絡(luò),那本文絕對(duì)值得一看

    摘要:有能力對(duì)元胞狀態(tài)添加或者刪除信息,這種能力通過(guò)一種叫門的結(jié)構(gòu)來(lái)控制。一個(gè)有個(gè)這種門,來(lái)保護(hù)和控制元胞狀態(tài)。輸出將會(huì)基于目前的元胞狀態(tài),并且會(huì)加入一些過(guò)濾。同時(shí)也將元胞狀態(tài)和隱狀態(tài)合并,同時(shí)引入其他的一些變化。 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)人們的每次思考并不都是從零開(kāi)始的。比如說(shuō)你在閱讀這篇文章時(shí),你基于對(duì)前面的文字的理解來(lái)理解你目前閱讀到的文字,而不是每讀到一個(gè)文字時(shí),都拋棄掉前面的思考,從頭開(kāi)始...

    shadowbook 評(píng)論0 收藏0
  • 一文讀懂 CNN、DNN、RNN 內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)區(qū)別

    摘要:在普通的全連接網(wǎng)絡(luò)或中,每層神經(jīng)元的信號(hào)只能向上一層傳播,樣本的處理在各個(gè)時(shí)刻獨(dú)立,因此又被成為前向神經(jīng)網(wǎng)絡(luò)。不難想象隨著深度學(xué)習(xí)熱度的延續(xù),更靈活的組合方式更多的網(wǎng)絡(luò)結(jié)構(gòu)將被發(fā)展出來(lái)。 從廣義上來(lái)說(shuō),NN(或是更美的DNN)確實(shí)可以認(rèn)為包含了CNN、RNN這些具體的變種形式。在實(shí)際應(yīng)用中,所謂的深度神經(jīng)網(wǎng)絡(luò)DNN,往往融合了多種已知的結(jié)構(gòu),包括卷積層或是LSTM單元。這里的DNN特指全連接...

    cheng10 評(píng)論0 收藏0
  • 美麗神經(jīng)網(wǎng)絡(luò):13種細(xì)胞構(gòu)筑深度學(xué)習(xí)世界

    摘要:網(wǎng)絡(luò)所有的神經(jīng)元都與另外的神經(jīng)元相連每個(gè)節(jié)點(diǎn)功能都一樣。訓(xùn)練的方法是將每個(gè)神經(jīng)元的值設(shè)定為理想的模式,然后計(jì)算權(quán)重。輸入神經(jīng)元在網(wǎng)絡(luò)整體更新后會(huì)成為輸入神經(jīng)元。的訓(xùn)練和運(yùn)行過(guò)程與十分相似將輸入神經(jīng)元設(shè)定為固定值,然后任網(wǎng)絡(luò)自己變化。 新的神經(jīng)網(wǎng)絡(luò)架構(gòu)隨時(shí)隨地都在出現(xiàn),要時(shí)刻保持還有點(diǎn)難度。要把所有這些縮略語(yǔ)指代的網(wǎng)絡(luò)(DCIGN,IiLSTM,DCGAN,知道嗎?)都弄清,一開(kāi)始估計(jì)還無(wú)從下...

    zsirfs 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<