摘要:在普通的全連接網(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特指全連接的神經(jīng)元結(jié)構(gòu),并不包含卷積單元或是時(shí)間上的關(guān)聯(lián)。因此,一定要將DNN、CNN、RNN等進(jìn)行對(duì)比,也未嘗不可。
其實(shí),如果我們順著神經(jīng)網(wǎng)絡(luò)技術(shù)發(fā)展的脈絡(luò),就很容易弄清這幾種網(wǎng)絡(luò)結(jié)構(gòu)發(fā)明的初衷,和他們之間本質(zhì)的區(qū)別。
神經(jīng)網(wǎng)絡(luò)技術(shù)起源于上世紀(jì)五、六十年代,當(dāng)時(shí)叫感知機(jī)(perceptron),擁有輸入層、輸出層和一個(gè)隱含層。輸入的特征向量通過(guò)隱含層變換達(dá)到輸出層,在輸出層得到分類結(jié)果。早期感知機(jī)的推動(dòng)者是Rosenblatt。
但是,Rosenblatt的單層感知機(jī)有一個(gè)嚴(yán)重得不能再嚴(yán)重的問(wèn)題,即它對(duì)稍復(fù)雜一些的函數(shù)都無(wú)能為力(比如更為典型的“異或”操作)。連異或都不能擬合,你還能指望這貨有什么實(shí)際用途么o(╯□╰)o
隨著數(shù)學(xué)的發(fā)展,這個(gè)缺點(diǎn)直到上世紀(jì)八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)發(fā)明的多層感知機(jī)(multilayer perceptron)克服。多層感知機(jī),顧名思義,就是有多個(gè)隱含層的感知機(jī)(廢話……)。好好,我們看一下多層感知機(jī)的結(jié)構(gòu):
圖1上下層神經(jīng)元全部相連的神經(jīng)網(wǎng)絡(luò)——多層感知機(jī)
多層感知機(jī)可以擺脫早期離散傳輸函數(shù)的束縛,使用sigmoid或tanh等連續(xù)函數(shù)模擬神經(jīng)元對(duì)激勵(lì)的響應(yīng),在訓(xùn)練算法上則使用Werbos發(fā)明的反向傳播BP算法。
對(duì),這貨就是我們現(xiàn)在所說(shuō)的神經(jīng)網(wǎng)絡(luò)NN——神經(jīng)網(wǎng)絡(luò)聽起來(lái)不知道比感知機(jī)高端到哪里去了!這再次告訴我們起一個(gè)好聽的名字對(duì)于研(zhuang)究(bi)很重要!
多層感知機(jī)解決了之前無(wú)法模擬異或邏輯的缺陷,同時(shí)更多的層數(shù)也讓網(wǎng)絡(luò)更能夠刻畫現(xiàn)實(shí)世界中的復(fù)雜情形。相信年輕如Hinton當(dāng)時(shí)一定是春風(fēng)得意。
多層感知機(jī)給我們帶來(lái)的啟示是,神經(jīng)網(wǎng)絡(luò)的層數(shù)直接決定了它對(duì)現(xiàn)實(shí)的刻畫能力——利用每層更少的神經(jīng)元擬合更加復(fù)雜的函數(shù)[1]。
(Bengio如是說(shuō):functions that can be compactly represented by a depth k architecture might require an exponential number of computational elements to be represented by a depth k ? 1 architecture.)
即便大牛們?cè)缇皖A(yù)料到神經(jīng)網(wǎng)絡(luò)需要變得更深,但是有一個(gè)夢(mèng)魘總是縈繞左右。隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的加深,優(yōu)化函數(shù)越來(lái)越容易陷入局部最優(yōu)解,并且這個(gè)“陷阱”越來(lái)越偏離真正的全局最優(yōu)。
利用有限數(shù)據(jù)訓(xùn)練的深層網(wǎng)絡(luò),性能還不如較淺層網(wǎng)絡(luò)。同時(shí),另一個(gè)不可忽略的問(wèn)題是隨著網(wǎng)絡(luò)層數(shù)增加,“梯度消失”現(xiàn)象更加嚴(yán)重。具體來(lái)說(shuō),我們常常使用sigmoid作為神經(jīng)元的輸入輸出函數(shù)。
對(duì)于幅度為1的信號(hào),在BP反向傳播梯度時(shí),每傳遞一層,梯度衰減為原來(lái)的0.25。層數(shù)一多,梯度指數(shù)衰減后低層基本上接受不到有效的訓(xùn)練信號(hào)。
2006年,Hinton利用預(yù)訓(xùn)練方法緩解了局部最優(yōu)解問(wèn)題,將隱含層推動(dòng)到了7層[2],神經(jīng)網(wǎng)絡(luò)真正意義上有了“深度”,由此揭開了深度學(xué)習(xí)的熱潮。這里的“深度”并沒(méi)有固定的定義——在語(yǔ)音識(shí)別中4層網(wǎng)絡(luò)就能夠被認(rèn)為是“較深的”,而在圖像識(shí)別中20層以上的網(wǎng)絡(luò)屢見不鮮。
為了克服梯度消失,ReLU、maxout等傳輸函數(shù)代替了sigmoid,形成了如今DNN的基本形式。單從結(jié)構(gòu)上來(lái)說(shuō),全連接的DNN和圖1的多層感知機(jī)是沒(méi)有任何區(qū)別的。
值得一提的是,今年出現(xiàn)的高速公路網(wǎng)絡(luò)(highway network)和深度殘差學(xué)習(xí)(deep residual learning)進(jìn)一步避免了梯度消失,網(wǎng)絡(luò)層數(shù)達(dá)到了前所未有的一百多層(深度殘差學(xué)習(xí):152層)[3,4]!具體結(jié)構(gòu)題主可自行搜索了解。
如果你之前在懷疑是不是有很多方法打上了“深度學(xué)習(xí)”的噱頭,這個(gè)結(jié)果真是深得讓人心服口服。
圖2縮減版的深度殘差學(xué)習(xí)網(wǎng)絡(luò),僅有34層,終極版有152層
如圖1所示,我們看到全連接DNN的結(jié)構(gòu)里下層神經(jīng)元和所有上層神經(jīng)元都能夠形成連接,帶來(lái)的潛在問(wèn)題是參數(shù)數(shù)量的膨脹。假設(shè)輸入的是一幅像素為1K*1K的圖像,隱含層有1M個(gè)節(jié)點(diǎn),光這一層就有10^12個(gè)權(quán)重需要訓(xùn)練,這不僅容易過(guò)擬合,而且極容易陷入局部最優(yōu)。
另外,圖像中有固有的局部模式(比如輪廓、邊界,人的眼睛、鼻子、嘴等)可以利用,顯然應(yīng)該將圖像處理中的概念和神經(jīng)網(wǎng)絡(luò)技術(shù)相結(jié)合。此時(shí)我們可以祭出題主所說(shuō)的卷積神經(jīng)網(wǎng)絡(luò)CNN。
對(duì)于CNN來(lái)說(shuō),并不是所有上下層神經(jīng)元都能直接相連,而是通過(guò)“卷積核”作為中介。同一個(gè)卷積核在所有圖像內(nèi)是共享的,圖像通過(guò)卷積操作后仍然保留原先的位置關(guān)系。兩層之間的卷積傳輸?shù)氖疽鈭D如下:
圖3卷積神經(jīng)網(wǎng)絡(luò)隱含層
通過(guò)一個(gè)例子簡(jiǎn)單說(shuō)明卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。假設(shè)圖3中m-1=1是輸入層,我們需要識(shí)別一幅彩色圖像,這幅圖像具有四個(gè)通道ARGB(透明度和紅綠藍(lán),對(duì)應(yīng)了四幅相同大小的圖像),假設(shè)卷積核大小為100*100,共使用100個(gè)卷積核w1到w100(從直覺來(lái)看,每個(gè)卷積核應(yīng)該學(xué)習(xí)到不同的結(jié)構(gòu)特征)。
用w1在ARGB圖像上進(jìn)行卷積操作,可以得到隱含層的第一幅圖像;這幅隱含層圖像左上角第一個(gè)像素是四幅輸入圖像左上角100*100區(qū)域內(nèi)像素的加權(quán)求和,以此類推。同理,算上其他卷積核,隱含層對(duì)應(yīng)100幅“圖像”。
每幅圖像對(duì)是對(duì)原始圖像中不同特征的響應(yīng)。按照這樣的結(jié)構(gòu)繼續(xù)傳遞下去。CNN中還有max-pooling等操作進(jìn)一步提高魯棒性。
圖4一個(gè)典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
注意到最后一層實(shí)際上是一個(gè)全連接層,在這個(gè)例子里,我們注意到輸入層到隱含層的參數(shù)瞬間降低到了100*100*100=10^6個(gè)!
這使得我們能夠用已有的訓(xùn)練數(shù)據(jù)得到良好的模型。題主所說(shuō)的適用于圖像識(shí)別,正是由于CNN模型限制參數(shù)了個(gè)數(shù)并挖掘了局部結(jié)構(gòu)的這個(gè)特點(diǎn)。順著同樣的思路,利用語(yǔ)音語(yǔ)譜結(jié)構(gòu)中的局部信息,CNN照樣能應(yīng)用在語(yǔ)音識(shí)別中。
全連接的DNN還存在著另一個(gè)問(wèn)題——無(wú)法對(duì)時(shí)間序列上的變化進(jìn)行建模。然而,樣本出現(xiàn)的時(shí)間順序?qū)τ谧匀徽Z(yǔ)言處理、語(yǔ)音識(shí)別、手寫體識(shí)別等應(yīng)用非常重要。對(duì)了適應(yīng)這種需求,就出現(xiàn)了題主所說(shuō)的另一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)——循環(huán)神經(jīng)網(wǎng)絡(luò)RNN。
在普通的全連接網(wǎng)絡(luò)或CNN中,每層神經(jīng)元的信號(hào)只能向上一層傳播,樣本的處理在各個(gè)時(shí)刻獨(dú)立,因此又被成為前向神經(jīng)網(wǎng)絡(luò)(Feed-forward Neural Networks)。
而在RNN中,神經(jīng)元的輸出可以在下一個(gè)時(shí)間戳直接作用到自身,即第i層神經(jīng)元在m時(shí)刻的輸入,除了(i-1)層神經(jīng)元在該時(shí)刻的輸出外,還包括其自身在(m-1)時(shí)刻的輸出!表示成圖就是這樣的:
圖5 RNN網(wǎng)絡(luò)結(jié)構(gòu)
我們可以看到在隱含層節(jié)點(diǎn)之間增加了互連。為了分析方便,我們常將RNN在時(shí)間上進(jìn)行展開,得到如圖6所示的結(jié)構(gòu):
圖6 RNN在時(shí)間上進(jìn)行展開
Cool,(t+1)時(shí)刻網(wǎng)絡(luò)的最終結(jié)果O(t+1)是該時(shí)刻輸入和所有歷史共同作用的結(jié)果!這就達(dá)到了對(duì)時(shí)間序列建模的目的。
不知題主是否發(fā)現(xiàn),RNN可以看成一個(gè)在時(shí)間上傳遞的神經(jīng)網(wǎng)絡(luò),它的深度是時(shí)間的長(zhǎng)度!正如我們上面所說(shuō),“梯度消失”現(xiàn)象又要出現(xiàn)了,只不過(guò)這次發(fā)生在時(shí)間軸上。
對(duì)于t時(shí)刻來(lái)說(shuō),它產(chǎn)生的梯度在時(shí)間軸上向歷史傳播幾層之后就消失了,根本就無(wú)法影響太遙遠(yuǎn)的過(guò)去。因此,之前說(shuō)“所有歷史”共同作用只是理想的情況,在實(shí)際中,這種影響也就只能維持若干個(gè)時(shí)間戳。
為了解決時(shí)間上的梯度消失,機(jī)器學(xué)習(xí)領(lǐng)域發(fā)展出了長(zhǎng)短時(shí)記憶單元LSTM,通過(guò)門的開關(guān)實(shí)現(xiàn)時(shí)間上記憶功能,并防止梯度消失,一個(gè)LSTM單元長(zhǎng)這個(gè)樣子:
圖7 LSTM的模樣
除了題主疑惑的三種網(wǎng)絡(luò),和我之前提到的深度殘差學(xué)習(xí)、LSTM外,深度學(xué)習(xí)還有許多其他的結(jié)構(gòu)。舉個(gè)例子,RNN既然能繼承歷史信息,是不是也能吸收點(diǎn)未來(lái)的信息呢?因?yàn)樵谛蛄行盘?hào)分析中,如果我能預(yù)知未來(lái),對(duì)識(shí)別一定也是有所幫助的。因此就有了雙向RNN、雙向LSTM,同時(shí)利用歷史和未來(lái)的信息。
圖8雙向RNN
事實(shí)上,不論是那種網(wǎng)絡(luò),他們?cè)趯?shí)際應(yīng)用中常常都混合著使用,比如CNN和RNN在上層輸出之前往往會(huì)接上全連接層,很難說(shuō)某個(gè)網(wǎng)絡(luò)到底屬于哪個(gè)類別。不難想象隨著深度學(xué)習(xí)熱度的延續(xù),更靈活的組合方式、更多的網(wǎng)絡(luò)結(jié)構(gòu)將被發(fā)展出來(lái)。
盡管看起來(lái)千變?nèi)f化,但研究者們的出發(fā)點(diǎn)肯定都是為了解決特定的問(wèn)題。題主如果想進(jìn)行這方面的研究,不妨仔細(xì)分析一下這些結(jié)構(gòu)各自的特點(diǎn)以及它們達(dá)成目標(biāo)的手段。入門的話可以參考:
Ng寫的Ufldl:UFLDL教程 - Ufldl
也可以看Theano內(nèi)自帶的教程,例子非常具體:Deep Learning Tutorials歡迎大家繼續(xù)推薦補(bǔ)充。
參考文獻(xiàn):
[1] Bengio Y. Learning Deep Architectures for AI[J]. Foundations & Trends? in Machine Learning, 2009, 2(1):1-127.
[2] Hinton G E, Salakhutdinov R R. Reducing the Dimensionality of Data with Neural Networks[J]. Science, 2006, 313(5786):504-507.
[3] He K, Zhang X, Ren S, Sun J. Deep Residual Learning for Image Recognition. arXiv:1512.03385, 2015.
[4] Srivastava R K, Greff K, Schmidhuber J. Highway networks. arXiv:1505.00387, 2015.
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/4437.html
摘要:監(jiān)督學(xué)習(xí)里典型的例子就是。這聽起來(lái)似乎有點(diǎn)不可思議,但是在我們自身認(rèn)識(shí)世界的過(guò)程中很多處都用到了無(wú)監(jiān)督學(xué)習(xí)。增強(qiáng)學(xué)習(xí)背后的人工智能深度學(xué)習(xí)原理初探 CNN http://blog.csdn.net/darkprin... http://blog.csdn.net/darkprin... http://blog.csdn.net/darkprin... http://blog.csdn....
摘要:監(jiān)督學(xué)習(xí)里典型的例子就是。這聽起來(lái)似乎有點(diǎn)不可思議,但是在我們自身認(rèn)識(shí)世界的過(guò)程中很多處都用到了無(wú)監(jiān)督學(xué)習(xí)。增強(qiáng)學(xué)習(xí)背后的人工智能深度學(xué)習(xí)原理初探 CNN http://blog.csdn.net/darkprin... http://blog.csdn.net/darkprin... http://blog.csdn.net/darkprin... http://blog.csdn....
摘要:用離散信一文清晰講解機(jī)器學(xué)習(xí)中梯度下降算法包括其變式算法無(wú)論是要解決現(xiàn)實(shí)生活中的難題,還是要?jiǎng)?chuàng)建一款新的軟件產(chǎn)品,我們最終的目標(biāo)都是使其達(dá)到最優(yōu)狀態(tài)。 提高駕駛技術(shù):用GAN去除(愛情)動(dòng)作片中的馬賽克和衣服 作為一名久經(jīng)片場(chǎng)的老司機(jī),早就想寫一些探討駕駛技術(shù)的文章。這篇就介紹利用生成式對(duì)抗網(wǎng)絡(luò)(GAN)的兩個(gè)基本駕駛技能: 1) 去除(愛情)動(dòng)作片中的馬賽克 2) 給(愛情)動(dòng)作片中...
閱讀 3040·2023-04-26 00:49
閱讀 3719·2021-09-29 09:45
閱讀 964·2019-08-29 18:47
閱讀 2738·2019-08-29 18:37
閱讀 2723·2019-08-29 16:37
閱讀 3286·2019-08-29 13:24
閱讀 1773·2019-08-27 10:56
閱讀 2344·2019-08-26 11:42