摘要:摘要在年率先發(fā)布上線了機(jī)器翻譯系統(tǒng)后,神經(jīng)網(wǎng)絡(luò)表現(xiàn)出的優(yōu)異性能讓人工智能專家趨之若鶩。目前在阿里翻譯平臺組擔(dān)任,主持上線了阿里神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng),為阿里巴巴國際化戰(zhàn)略提供豐富的語言支持。
摘要: 在2016年Google率先發(fā)布上線了機(jī)器翻譯系統(tǒng)后,神經(jīng)網(wǎng)絡(luò)表現(xiàn)出的優(yōu)異性能讓人工智能專家趨之若鶩。本文將借助多個案例,來帶領(lǐng)大家一同探究RNN和以LSTM為首的各類變種算法背后的工作原理。
本次直播視頻精彩回顧地址:http://click.aliyun.com/m/45430/
直播涉及到的PPT下載地址:http://click.aliyun.com/m/45431/
于恒,阿里巴巴機(jī)器智能技術(shù)實驗室技術(shù)專家,中科院計算所博士,研究方向是機(jī)器翻譯,在自然語言處理和人工智能領(lǐng)域頂級國際會議ACL、EMNLP、COLING等發(fā)表多篇論文。曾在三星中國研究院和搜狗負(fù)責(zé)機(jī)器翻譯工作,參與上線搜狗翻譯和搜狗海外搜索等產(chǎn)品。目前在阿里翻譯平臺組擔(dān)任Tech-leader,主持上線了阿里神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng),為阿里巴巴國際化戰(zhàn)略提供豐富的語言支持。
以下內(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(基于短語的翻譯系統(tǒng)),而圖中綠色的部分代表基于neural神經(jīng)網(wǎng)絡(luò)的系統(tǒng)。顯然基于neural神經(jīng)網(wǎng)絡(luò)的系統(tǒng)在每個上語項都比傳統(tǒng)的PBMT模型要表現(xiàn)得更好,并且在英語>西班牙語、西班牙語>英語和法語>英語這三個特定語言對上的翻譯水準(zhǔn)已經(jīng)十分接近人類了。
具體的翻譯對比可以參看上圖中漢語>英語實際翻譯的例子??梢钥吹剑蛳到y(tǒng)中輸入的中文語句中存在一個倒裝的句式。在經(jīng)過各自的翻譯后,phrase-based的系統(tǒng)只是逐字的進(jìn)行漢語>英語的翻譯,而基于神經(jīng)網(wǎng)絡(luò)的系統(tǒng)實現(xiàn)了基本的翻譯,還實現(xiàn)了語句的調(diào)序,使譯文顯得更加流利、更符合英文的表達(dá)特點,更加貼近于人工翻譯,就仿佛機(jī)器理解了人類的對話一樣。
從系統(tǒng)的機(jī)理來講,傳統(tǒng)的基于短語的翻譯是基于詞語對齊來實現(xiàn)的,而神經(jīng)網(wǎng)絡(luò)NMT則是使用了RNN(Recurrent neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò)),借助于神經(jīng)網(wǎng)絡(luò)對原文和譯文同時進(jìn)行建模,實現(xiàn)了高效精準(zhǔn)的翻譯。這兩種方法大致的實現(xiàn)過程如下圖所示:
那么RNN是如何實現(xiàn)這種效果的呢?而這也是本次課程的重點所在。接下來將從以下幾個方面進(jìn)一步闡述RNN的原理及其更深層次的應(yīng)用:
1、RNN原理,包括網(wǎng)絡(luò)結(jié)構(gòu)和Attention機(jī)制。
2、RNN的不足之處,并且引申出它的一個變種——LSTM。
3、通過三個案例介紹RNNs的“不講理有效性”。
4、介紹RNN無法克服的問題及相關(guān)的建設(shè)性的解決方案。
1、RNN網(wǎng)絡(luò)結(jié)構(gòu)
RNN的循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
如圖中左側(cè)所示,RNN主要包括以下幾個網(wǎng)絡(luò)層:第一層是輸入層,第二層是隱藏層(也叫context層),第三層輸出層。其中隱藏層是一個循環(huán)的結(jié)構(gòu),當(dāng)前t時刻的context(t),是由連接上一次訓(xùn)練的隱藏層context(t–1)生成。這樣設(shè)計的好處在于可以對任意長度的sequence進(jìn)行建模,這也是它區(qū)別于傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)(要求輸入的sequence的長度是固定已知的)的一個比較本質(zhì)的區(qū)別。因此RNN適用于處理人類自然語言或者語音等。
如果對RNN的循環(huán)結(jié)構(gòu)進(jìn)行分解,在展開后,可以發(fā)現(xiàn)它其實是由很多神經(jīng)網(wǎng)絡(luò)堆砌在一起的,并且它每一層之間的參數(shù)都是共享的,導(dǎo)致RNN是一個非常深的網(wǎng)絡(luò)結(jié)構(gòu),這種神經(jīng)網(wǎng)絡(luò)的疊加的結(jié)構(gòu)也是它的優(yōu)點所在。
如果用形式化的語言對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行表述,可以表示成ht=fw(ht-1, xt)。如下圖所示:
顯然,當(dāng)前t時刻隱藏層的狀態(tài)ht,是由t-1時刻的隱藏層的狀態(tài)和t時刻的輸入xt通過函數(shù)fw來決定的。對該等式進(jìn)行進(jìn)一步拆分后,可以發(fā)現(xiàn)上述函數(shù)fw通常是用tanh函數(shù)來進(jìn)行數(shù)字變換,拆分后的等式如下圖所示:
t時刻的狀態(tài)ht,是由前一時刻的狀態(tài)ht-1與Whh做矩陣相乘,再加上t時刻的輸入xt與Wxh做矩陣相乘,將這兩者之和進(jìn)行tanh變換得到的。而t時刻的網(wǎng)絡(luò)層的輸出yt,是由t時刻的隱藏層狀態(tài)ht與Why做一個矩陣相乘得到的。
可以看到整個網(wǎng)絡(luò)中,所需要學(xué)習(xí)的參數(shù)有三個,第一個是隱藏層和隱藏層之間的Whh,第二個是輸入層和隱藏層之間的Wxh,第三個是輸出層和隱藏層之間的Why。
如果對RNN的整個的計算過程進(jìn)行展開,如下圖所示:
在t=0時刻,隨機(jī)初始化一個隱藏層的狀態(tài)h0,然后輸入x1,通過函數(shù)fw進(jìn)行數(shù)字變換后得到t=1時刻的隱藏層狀態(tài)h1。然后以此類推,計算出從t=0時刻到t=T時刻的全部隱藏層狀態(tài)。在這個過程中,每個time-step共用同一組權(quán)重矩陣W。對于每個time-step的隱藏層狀態(tài),還會借助于矩陣權(quán)重W計算得到輸出y1...yT。以上就是網(wǎng)絡(luò)的計算過程。
在實際的網(wǎng)絡(luò)訓(xùn)練過程當(dāng)中,可以根據(jù)每一個輸出y得到它對應(yīng)的Loss,將這些Loss組合在一起就可以得到所需的反向傳播的Loss,然后通過隨機(jī)梯度下降的方式進(jìn)行反向傳播并更新網(wǎng)絡(luò)中的參數(shù)W,這樣就完成了整個的訓(xùn)練過程。
如下圖所示是RNN循環(huán)結(jié)構(gòu):
圖中的每次循環(huán)都對應(yīng)著不同的time-step,其算法的名字叫做Backpropagation through time。即對于一個長sequence,從第一個時間點計算到最后一個時間點,得到所有Loss之后,從最后一個時間點開始回傳,直到到達(dá)最初的時間點,同時進(jìn)行權(quán)重更新。
這樣的算法其實存在一定的問題,當(dāng)序列過長的時候,一次回傳必須要等整個序列完成解碼之后才能開始,這樣會導(dǎo)致速度變慢,會影響整個模型收斂的速度。
所以產(chǎn)生了一種更加常用的算法——Truncated Backpropagation through time,如下圖所示:
它的思想是將長序列截斷成為多個短序列,然后對這些短序列進(jìn)行權(quán)值更新。這樣的好處在于,在對某個長序列進(jìn)行計算,在中間某個時刻的時候,可以先返回一批梯度對參數(shù)進(jìn)行更新,然后再此基礎(chǔ)上對剩余的部分進(jìn)行計算。這樣權(quán)值更新的次數(shù)會增多,收斂速度也會加快。
2、具體案例實現(xiàn)
下面借助一個具體的例子——字符級別的語言模型來實現(xiàn)上述的過程,如圖所示:
語言模型的思路與RNN是比較接近的,即當(dāng)前時刻輸出的概念是如之前的歷史時刻相關(guān)的。對于序列“hello”而言,它由五個字符組成,包含有四類字母——‘h’、‘e’‘l’‘o’,在實際的訓(xùn)練過程中,第一個輸入自然是‘h’,然后依次是‘e’、‘l’和‘l’,對于最
后一個字符‘o’,則不進(jìn)行建模。如上圖所示,先建立輸入層(input layer),然后根據(jù)不同的輸入得到其隱藏層(hidden layer)狀態(tài),即當(dāng)前隱藏層狀態(tài)是基于前一隱藏層狀態(tài)得到的,對于每一個隱藏層,通過計算得到一個輸出,該輸出代表著當(dāng)前字符可能生成的下一個字符,這樣就得到了上述的計算圖。在計算得到輸出后,可以根據(jù)該輸出已經(jīng)相應(yīng)的參考答案得到相應(yīng)的Loss,借此進(jìn)行參數(shù)更新。
以上是訓(xùn)練部分,具體的解碼過程如下圖:
假設(shè)拿到的第一個字符是‘h’,但是卻不知道該字符的后續(xù)字符是什么,然后借助模型,經(jīng)過隱藏層,得到輸出層的輸出,通過Softmax對輸出進(jìn)行概率化,然后取其中生成概率最大的字符作為輸出。顯然在輸入字符‘h’時,最后得到的概率最大的字符就是‘e’,然后以此類推,就可以得到“hello”這個序列的預(yù)測。整個流程就是通過當(dāng)前輸入的字符預(yù)測出下一個字符,最終預(yù)測出一個完整的序列。
3、Attention機(jī)制
注意力機(jī)制(Attention Mechanism)在很多任務(wù)中對性能有著很大的影響。例如在sequence to sequence model中(第一個sequence指原文,第二個sequence指譯文),如下圖所示:
圖中將英文的“I am a student”翻譯成法文,在即將生成目標(biāo)端的詞語的時候,RNN模型會將源端的所有信息壓縮在一個隱藏層當(dāng)中,然后將該信息輸入下一個sequence中進(jìn)行翻譯的預(yù)測。當(dāng)源端的序列很長的時候,一個隱藏層很難存放這么多源端的信息,這樣在信息嚴(yán)重壓縮之后,在目標(biāo)端生成翻譯的時候,會導(dǎo)致所需的上下文的信息是不夠的。這也是RNN在實際使用中常遇到的一個問題,在目前可以采用下圖中的方法進(jìn)行避免:
在生成第二個單詞的時候,根據(jù)目標(biāo)端的隱藏層狀態(tài)和源端的每一個隱藏層之間做相似度的計算,根據(jù)規(guī)劃得到一個權(quán)重的得分,接著生成一個上下文的Attention Layer,借助于這個Attention Layer作用于生成第二個詞的過程,進(jìn)而生成正確的翻譯。Attention的這種機(jī)制其實是很符合翻譯的這種直覺的,即生成每一個詞的時候,關(guān)注的源端位置是不一樣的。在實際的應(yīng)用中,Attention的這種機(jī)制的表現(xiàn)也非常好,這個也解決了RNN在長序列壓縮中造成的信息丟失的問題。
前文中介紹的Backpropagation,即從sequence的末尾將梯度傳回至sequence的開頭。但是在梯度回傳的過程中,它每一次的回傳都要與循環(huán)網(wǎng)絡(luò)的參數(shù)W(實際上是W的轉(zhuǎn)置矩陣)進(jìn)行矩陣相乘,其實際的數(shù)值轉(zhuǎn)換的公式如下圖:
由于在每一次回傳的過程中都需要與W進(jìn)行矩陣相乘,并且重復(fù)進(jìn)行tanh計算,如下圖所示:
這樣在訓(xùn)練上會帶來一些問題:
1、當(dāng)W的值大于1且這個序列足夠長的時候,這個回傳的梯度的數(shù)值就會變得無限大。
這種時候,可以采用Gradient clipping的方法解決,即將梯度重新進(jìn)行數(shù)值變換到一個可以接受的范圍。
2、如果W的數(shù)值小于1,就可能會造成梯度消失(導(dǎo)致完全無法更新)的問題。
這種時候,無論對梯度進(jìn)行什么數(shù)值操作,都無法使用梯度來對參數(shù)進(jìn)行更新,這時候可以考慮改變RNN的網(wǎng)絡(luò)結(jié)構(gòu)來克服這個缺陷,LSTM也就應(yīng)運而生了。
LSTM與RNN相比,它將原有的網(wǎng)絡(luò)結(jié)構(gòu)拆成了更細(xì)的結(jié)構(gòu),如下圖所示:
可以看到,LSTM引入幾個門的限制,例如keep gate、write gate和read gate。通過這些門來控制LSTM的信息傳輸量。其實際的結(jié)構(gòu)如下圖所示:
其中,f代表forget gate,i代表input gate,o代表output gate。上層的c在傳輸?shù)倪^程中,只與這些門限的值進(jìn)行數(shù)值變換,而不用跟整個網(wǎng)絡(luò)參數(shù)W進(jìn)行矩陣相乘,這樣就避免了RNN回傳梯度時可能發(fā)生的梯度爆炸或梯度消失的問題。
這些門限具體分為以下幾種:
1、Keep Gate:它的作用是使LSTM的cell根據(jù)不同的輸入去選擇記憶或者遺忘前一個狀態(tài)中的信息。
2、Write Gate:它用于控制LSTM的cell接受新的輸入的百分比。
3、Update Gate:它實際上是對cell的更新,用于綜合前一時刻狀態(tài)與當(dāng)前時刻狀態(tài)。
4、Read Gate:它用于控制當(dāng)前狀態(tài)與Ct的信息的輸入。
通過加入這幾個門限,實際在循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)ct-1到ct傳播的過程中,只有一些較少的線性操作,并沒有乘法操作。這樣的好處在于它的gradient flow沒有被過多的干擾,即整個流程中梯度的傳播是非常通暢的,這樣就解決了RNN中梯度爆炸或者梯度消失的問題。
而LSTM也存在一些變種:
1、peephole LSTM。在LSTM中,門限的數(shù)值和cell都是無關(guān)的。但其實這些cell是可以加入門限的計算過程中,去影響每個門限的值,這樣整體上信息的流動就會更加通暢,在門限的計算上也會更準(zhǔn)確一些,在某些任務(wù)上會取得更好的效果。
2、GRU。它將forget gate和input gate合成一個update gate,這個gate用于綜合控制cell的讀和寫,這樣可以簡化LSTM的參數(shù),此外它還將cell state和hidden state進(jìn)行合并??傮w而言,它是一個比LSTM更加簡化的結(jié)構(gòu),在訓(xùn)練上更加容易(參數(shù)少)。
3、Deep RNN。在RNN中,比較缺乏CNN中的層次化的結(jié)構(gòu),為了解決這個問題,它將多個RNN累積在一起,形成一種層次化的結(jié)構(gòu),并且不同層之間也存在網(wǎng)絡(luò)連接,這樣的好處在于每一層都可以代表一個信息抽象,另外它會吸收computation network的優(yōu)勢——同時兼容RNN和CNN。這種網(wǎng)絡(luò)結(jié)構(gòu)在機(jī)器翻譯、對話等領(lǐng)域都有很好的應(yīng)用。
1、Image Caption
Image Caption,即對圖片的文字解釋。如下圖所示:
可以看到,輸入是一張圖片,輸出是對該圖片的文字解釋。具體實現(xiàn)流程如下:首先使用CNN(卷積神經(jīng)網(wǎng)絡(luò))進(jìn)行建模,然后將這些信息綜合到Encoded state中,將其作為RNN的輸入,然后逐詞生成圖片的描述,最終得到完整的圖片描述。
具體來看,它結(jié)合CNN和RNN的網(wǎng)絡(luò)結(jié)構(gòu),如下圖所示:
之所以這么使用,是因為CNN適用于圖片的建模,而RNN適用于自然語言處理。因此可以先使用CNN對圖片中的信息進(jìn)行卷積,然后將得到的結(jié)果作為RNN的輸入,去不斷的生成圖片的描述。
當(dāng)然在這個過程中,也離不開Attention的機(jī)制,具體的流程如下圖:
因為在生成圖片的描述的時候,不同的詞對應(yīng)的圖片的位置是不同的,如果采用Attention的機(jī)制,會使得圖片信息的捕捉更為準(zhǔn)確,而不是將圖片的所有信息壓縮到一個隱藏層里面,使得上下文的信息會更加豐富。
下圖包含了一些有意思的例子:
第一幅圖片在生成frisbee這個單詞的時候,可以觀察到,frisbee那塊區(qū)域是高亮的,即它關(guān)注的區(qū)域十分正確。同樣,在第二個圖中的dog和第三個圖中的stop都是Attention機(jī)制良好作用的體現(xiàn)。
就實際而言,Image Caption是一個比較難的課題,上文中都是給的一個很好的例子,當(dāng)然也會存在一些很差的例子。如下圖所示:
第一幅圖中,這個女生穿的衣服十分像一只貓,在實際的圖像描述的生成過程中,這件衣服被錯誤的識別成了一只貓,最終才得到了圖中的錯誤的描述。又如最后一幅圖片中,運動員實際上在接球,但是他的運動形態(tài)沒能被捕捉到,才生成了他在扔球的這樣一個錯誤的描述??梢钥吹絀mage Caption目前還是處于一個實驗的階段,還沒有達(dá)到商業(yè)化的水平。
2、QA
在RNNs應(yīng)用中另外一個比較火的是QA(問答系統(tǒng))。它實現(xiàn)的鏈路跟上個例子有所類似,但是有一個不同之處在于:對于輸入的問題,它采用了RNN而不是CNN進(jìn)行建模,具體實現(xiàn)流程如下圖所示:
這就是人們常提到的Sequence to Sequence Model,即輸入是Sequence,輸出也是Sequence。對于輸入的問題,先通過循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行建模,然后將得到的Encoded state輸入到另一個循環(huán)神經(jīng)網(wǎng)絡(luò)中,然后逐詞的生成最終的回答。
在另一些例子里面,不僅會有文字的輸入,還有圖片等信息的輸入,并且這些問題是基于圖片中的場景來進(jìn)行提問的,這樣就會產(chǎn)生圖片和文字聯(lián)合組成QA的應(yīng)用。以下圖為例:
在LSTM建模的初始階段,是使用了CNN將圖片壓縮作為了第一個隱藏層的狀態(tài),并且將問題也通過LSTM進(jìn)行聯(lián)合的建模,最終將整體的信息融入到encoder里面,并生成對應(yīng)的翻譯。從圖中也可以看到,CNN和LSTM是可以緊密的聯(lián)合在一起共同工作的,并且還可以通過Attention機(jī)制達(dá)到更好的交互。
下圖是實際應(yīng)用中一個比較有意思的例子:
問A圖中是哪種動物,在Attention機(jī)制中,捕捉到的這個貓的位置(白色方框)是比較集中的,這對于解答這個問題會起到很好的作用。在圖B中問這個人拿到在切什么,顯然白色方框聚焦的位置也是正確的。
3、Machine Translation
下圖中這個例子就是機(jī)器翻譯的鏈路,也是通過多層的RNN進(jìn)行的建模,最終生成一個Final input matrix,然后借助Attention的機(jī)制,逐詞生成目標(biāo)翻譯。
上圖就是機(jī)器翻譯過程的整體示意圖。此外,Google提出的神經(jīng)網(wǎng)絡(luò)的翻譯的架構(gòu)如下圖所示:
在Encoder端有八層LSTM堆砌在一起的,這樣便于對輸入句子的含義進(jìn)行更好的理解。然后通過Attention連接到另外一個八層LSTM的Decoder端,最終將結(jié)果輸出到一個Softmax,來進(jìn)行翻譯的預(yù)測。
實際還有一種另外的交互的翻譯方式——Speech Translation,如下圖所示:
即通過一個語言的序列,通過一個神經(jīng)網(wǎng)絡(luò),得到語音識別的結(jié)果,然后對該結(jié)果進(jìn)行拼寫糾正、標(biāo)點處理等,得到一個較好的語音識別的text,再將其輸入到神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯系統(tǒng)中,生成對應(yīng)日文的翻譯,再借助于Text to Speech的系統(tǒng),生成對應(yīng)的日文的語言。
1、RNNs對層次信息的表示能力和卷積能力都存在一些不足。因此產(chǎn)生了一些如Deep RNN、Bidirectional RNN和Hierarchical RNN的變種,都希望通過更層次化的網(wǎng)絡(luò)結(jié)構(gòu)來彌補這種不足。
2、RNNs的并行度很低。它的當(dāng)前時刻的隱藏層的狀態(tài)依賴于之前時間的狀態(tài),并且訓(xùn)練和解碼的并行度都很低。
為了解決上面的問題,提出了一種新的神經(jīng)網(wǎng)絡(luò)的架構(gòu)——Transformer,如下圖所示:
Transformer使用簡單的FF-NN替代了GRU,這樣就直接解決了在訓(xùn)練中難以并行的問題。但是由于取代了循環(huán)的結(jié)構(gòu),也會導(dǎo)致網(wǎng)絡(luò)中各個位置的信息是缺乏的,也不知道序列的先后順序。這時引入了一個Positional Encoding,對于每個位置都有一個Embedding來存儲位置信息。在實際的網(wǎng)絡(luò)結(jié)構(gòu)中,可以分為幾個Sub-layer:
Sub-layer1:即全連接的FF網(wǎng)絡(luò)。
Sub-layer2:借助于sele-attention的機(jī)制來捕捉各個位置之間的關(guān)聯(lián)關(guān)系。
Between 1 and 2:加入了residual connection和layer normal。
綜上所述,而相比于RNN,Transformer有兩大優(yōu)點:
1、比RNN擁有更好的性能。
2、訓(xùn)練速度快了4倍。
閱讀原文
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/19727.html
摘要:之后,注意力模型出現(xiàn)了。等企業(yè)越來越多地使用了基于注意力模型的網(wǎng)絡(luò)。所有這些企業(yè)已經(jīng)將及其變種替換為基于注意力的模型,而這僅僅是個開始。比起基于注意力的模型,需要更多的資源來訓(xùn)練和運行。這樣的回溯前進(jìn)單元是神經(jīng)網(wǎng)絡(luò)注意力模型組。 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),長短期記憶(LSTM),這些紅得發(fā)紫的神經(jīng)網(wǎng)絡(luò)——是時候拋棄它們了!LSTM和RNN被發(fā)明于上世紀(jì)80、90年代,于2014年死而復(fù)生。接下...
摘要:作為解決方案的和和是解決短時記憶問題的解決方案,它們具有稱為門的內(nèi)部機(jī)制,可以調(diào)節(jié)信息流。隨后,它可以沿著長鏈序列傳遞相關(guān)信息以進(jìn)行預(yù)測,幾乎所有基于遞歸神經(jīng)網(wǎng)絡(luò)的技術(shù)成果都是通過這兩個網(wǎng)絡(luò)實現(xiàn)的。和采用門結(jié)構(gòu)來克服短時記憶的影響。 短時記憶RNN 會受到短時記憶的影響。如果一條序列足夠長,那它們將很難將信息從較早的時間步傳送到后面的時間步。 因此,如果你正在嘗試處理一段文本進(jìn)行預(yù)測,RNN...
摘要:有能力對元胞狀態(tài)添加或者刪除信息,這種能力通過一種叫門的結(jié)構(gòu)來控制。一個有個這種門,來保護(hù)和控制元胞狀態(tài)。輸出將會基于目前的元胞狀態(tài),并且會加入一些過濾。同時也將元胞狀態(tài)和隱狀態(tài)合并,同時引入其他的一些變化。 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)人們的每次思考并不都是從零開始的。比如說你在閱讀這篇文章時,你基于對前面的文字的理解來理解你目前閱讀到的文字,而不是每讀到一個文字時,都拋棄掉前面的思考,從頭開始...
摘要:在普通的全連接網(wǎng)絡(luò)或中,每層神經(jīng)元的信號只能向上一層傳播,樣本的處理在各個時刻獨立,因此又被成為前向神經(jīng)網(wǎng)絡(luò)。不難想象隨著深度學(xué)習(xí)熱度的延續(xù),更靈活的組合方式更多的網(wǎng)絡(luò)結(jié)構(gòu)將被發(fā)展出來。 從廣義上來說,NN(或是更美的DNN)確實可以認(rèn)為包含了CNN、RNN這些具體的變種形式。在實際應(yīng)用中,所謂的深度神經(jīng)網(wǎng)絡(luò)DNN,往往融合了多種已知的結(jié)構(gòu),包括卷積層或是LSTM單元。這里的DNN特指全連接...
摘要:網(wǎng)絡(luò)所有的神經(jīng)元都與另外的神經(jīng)元相連每個節(jié)點功能都一樣。訓(xùn)練的方法是將每個神經(jīng)元的值設(shè)定為理想的模式,然后計算權(quán)重。輸入神經(jīng)元在網(wǎng)絡(luò)整體更新后會成為輸入神經(jīng)元。的訓(xùn)練和運行過程與十分相似將輸入神經(jīng)元設(shè)定為固定值,然后任網(wǎng)絡(luò)自己變化。 新的神經(jīng)網(wǎng)絡(luò)架構(gòu)隨時隨地都在出現(xiàn),要時刻保持還有點難度。要把所有這些縮略語指代的網(wǎng)絡(luò)(DCIGN,IiLSTM,DCGAN,知道嗎?)都弄清,一開始估計還無從下...
閱讀 3400·2021-10-14 09:42
閱讀 3631·2019-08-26 13:56
閱讀 3700·2019-08-26 11:59
閱讀 1007·2019-08-23 18:00
閱讀 2296·2019-08-23 17:51
閱讀 3619·2019-08-23 17:17
閱讀 1543·2019-08-23 15:11
閱讀 5479·2019-08-23 15:05