深層學(xué)習(xí)開啟了人工智能的新時(shí)代。不論任何行業(yè)都害怕錯(cuò)過這一時(shí)代浪潮,因而大批資金和人才爭相涌入。但深層學(xué)習(xí)卻以“黑箱”而聞名,不僅調(diào)參難,訓(xùn)練難,“新型”網(wǎng)絡(luò)結(jié)構(gòu)的論文又如雨后春筍般地涌現(xiàn),使得對(duì)所有結(jié)構(gòu)的掌握變成了不現(xiàn)實(shí)。我們?nèi)鄙僖粋€(gè)對(duì)深層學(xué)習(xí)合理的認(rèn)識(shí)。
神經(jīng)網(wǎng)絡(luò)并不缺少新結(jié)構(gòu),但缺少一個(gè)該領(lǐng)域的
很多人在做神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)時(shí)會(huì)發(fā)現(xiàn)調(diào)節(jié)某些方式和結(jié)構(gòu)會(huì)產(chǎn)生意想不到的結(jié)果。但就我個(gè)人而言,這些發(fā)現(xiàn)并不會(huì)讓我感到滿足。我更關(guān)心這些新發(fā)現(xiàn)到底告訴我們了什么,造成這些現(xiàn)象的背后原因是什么。我會(huì)更想要將新的網(wǎng)絡(luò)結(jié)構(gòu)歸納到已有的體系當(dāng)中。這也是我更多思考“為何深層學(xué)習(xí)有效”的原因。下面便是目前YJango關(guān)于這方面的見解。
深層神經(jīng)網(wǎng)絡(luò)相比一般的統(tǒng)計(jì)學(xué)習(xí)擁有從數(shù)學(xué)的嚴(yán)謹(jǐn)中不會(huì)得出的關(guān)于物理世界的先驗(yàn)知識(shí)(非貝葉斯先驗(yàn))。該內(nèi)容也在Bengio大神的論文和演講中多次強(qiáng)調(diào)。大神也在Bay Area Deep Learning School 2016的Founda’ons and Challenges of Deep Learning pdf(這里也有視頻,需翻墻)中提到的distributed representations和compositionality兩點(diǎn)就是神經(jīng)網(wǎng)絡(luò)和深層神經(jīng)網(wǎng)絡(luò)高效的原因(若有時(shí)間,強(qiáng)烈建議看完演講再看該文)。雖然與大神的思考起點(diǎn)可能不同,但結(jié)論完全一致(看到Bengio大神的視頻時(shí)特別興奮)。下面就是結(jié)合例子分析:
1. 為什么神經(jīng)網(wǎng)絡(luò)高效
2. 學(xué)習(xí)的本質(zhì)是什么
3. 為什么深層神經(jīng)網(wǎng)絡(luò)比淺層神經(jīng)網(wǎng)絡(luò)更高效
4. 神經(jīng)網(wǎng)絡(luò)在什么問題上不具備優(yōu)勢
其他推薦讀物
Bengio Y. Learning deep architectures for AI[J]。 Foundations and trends? in Machine Learning, 2009, 2(1): 1-127.
Brahma P P, Wu D, She Y. Why Deep Learning Works: A Manifold Disentanglement Perspective[J]。 2015.
Lin H W, Tegmark M. Why does deep and cheap learning work so well?[J]。 arXiv preprint arXiv:1608.08225, 2016.
Bengio Y, Courville A, Vincent P. Representation learning: A review and new perspectives[J]。 IEEE transactions on pattern analysis and machine intelligence, 2013, 35(8): 1798-1828.
Deep Learning textbook by Ian Goodfellow and Yoshua Bengio and Aaron Courville
YJango的整個(gè)思考流程都圍繞減熵二字進(jìn)行。之前在《熵與生命》和《生物學(xué)習(xí)》中討論過,生物要做的是降低環(huán)境的熵,將不確定狀態(tài)變?yōu)榇_定狀態(tài)。通常機(jī)器學(xué)習(xí)是優(yōu)化損失函數(shù),并用概率來衡量模型優(yōu)劣。然而概率正是由于無法確定狀態(tài)才不得不用的衡量手段。生物真正想要的是沒有絲毫不確定性。
深層神經(jīng)網(wǎng)絡(luò)在自然問題上更具優(yōu)勢,因?yàn)樗蜕飳W(xué)習(xí)一樣,是找回使熵增加的“物理關(guān)系”(知識(shí),并非完全一樣),將變體()轉(zhuǎn)化回因素()附帶物理關(guān)系的形式,從源頭消除熵(假設(shè)每個(gè)因素只有兩種可能狀態(tài))。這樣所有狀態(tài)間的關(guān)系可以被確定,要么肯定發(fā)生,要么絕不發(fā)生,也就無需用概率來衡量。因此下面定義的學(xué)習(xí)目標(biāo)并非單純降低損失函數(shù),而從確定關(guān)系的角度考慮。一個(gè)完美訓(xùn)練好的模型就是兩個(gè)狀態(tài)空間內(nèi)所有可能取值間的關(guān)系都被確定的模型。
學(xué)習(xí)目標(biāo):是確定(determine)兩個(gè)狀態(tài)空間內(nèi)所有可能取值之間的關(guān)系,使得熵盡可能最低。
注:對(duì)熵不了解的朋友可以簡單記住,事件的狀態(tài)越確定,熵越小。如絕不發(fā)生(概率0)或肯定發(fā)生(概率為1)的事件熵小。而50%可能性事件的熵反而大。
為舉例說明,下面就一起考慮用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)以下兩個(gè)集合的不同關(guān)聯(lián)(OR gate和 XOR gate)。看看隨著網(wǎng)絡(luò)結(jié)構(gòu)和關(guān)聯(lián)的改變,會(huì)產(chǎn)生什么不同情況。尤其是最后網(wǎng)絡(luò)變深時(shí)與淺層神經(jīng)網(wǎng)絡(luò)的區(qū)別。
注:選擇這種XOR這種簡單關(guān)聯(lián)的初衷是輸入和輸出空間狀態(tài)的個(gè)數(shù)有限,易于分析變體個(gè)數(shù)和熵增的關(guān)系。
注:用“變體(variation)”是指同一類事物的不同形態(tài),比如10張狗的圖片,雖然外貌各異,但都是狗。
問題描述:集合有4個(gè)狀態(tài),集合有2個(gè)狀態(tài)。0和1只是用于表示不同狀態(tài)的符號(hào),也可以用0,1,2,3表示。狀態(tài)也并不一定表示數(shù)字,可以表示任何物理意義。
方式1:記憶
隨機(jī)變量:可能取值是
隨機(jī)變量:可能取值是
注:隨機(jī)變量(大寫)是將事件投射到實(shí)數(shù)的函數(shù)。用對(duì)應(yīng)的實(shí)數(shù)表示事件。而小寫字母表示對(duì)應(yīng)該實(shí)數(shù)的事件發(fā)生了,是一個(gè)具體實(shí)例。
網(wǎng)絡(luò)結(jié)構(gòu):暫且不規(guī)定要學(xué)習(xí)的關(guān)聯(lián)是OR還是XOR,先建立一個(gè)沒有隱藏層,僅有一個(gè)輸入節(jié)點(diǎn),一個(gè)輸出節(jié)點(diǎn)的神經(jīng)網(wǎng)絡(luò)。
表達(dá)式:, 表示sigmoid函數(shù)。
說明:下圖右側(cè)中的虛線表示的既不是神經(jīng)網(wǎng)絡(luò)的鏈接,也不是函數(shù)中的映射,而是兩個(gè)空間中,所有可能值之間的關(guān)系(relation)。學(xué)習(xí)的目的是確定這些狀態(tài)的關(guān)系。比如當(dāng)輸入00時(shí),模型要嘗試告訴我們00到1的概率為0,00到0的概率為1,這樣熵才會(huì)為零。
關(guān)系圖:左側(cè)是網(wǎng)絡(luò)結(jié)構(gòu),右側(cè)是狀態(tài)關(guān)系圖。輸入和輸出空間之間共有8個(gè)關(guān)系(非箭頭虛線表示關(guān)系)。除非這8個(gè)關(guān)系對(duì)模型來說都是相同的,否則用表示時(shí)的熵就會(huì)增加。(無法照顧到8個(gè)關(guān)系,若完美擬合一個(gè)關(guān)系,其余的關(guān)系就不準(zhǔn)確)
注:這里YJango是用表示的縮寫。
數(shù)據(jù)量:極端假設(shè),若用查找表來表示關(guān)系:需要用8個(gè)不同的數(shù)據(jù)來記住想要擬合的。
方式2:手工特征
特征:空間的4個(gè)狀態(tài)是由兩個(gè)0或1的狀態(tài)共同組成。我們可以觀察出來(計(jì)算機(jī)并不能),我們利用這種知識(shí)把中的狀態(tài)分解開(disentangle)。分解成兩個(gè)獨(dú)立的子隨機(jī)變量和。也就是用二維向量表示輸入。
網(wǎng)絡(luò)結(jié)構(gòu):由于分成了二維特征,這次網(wǎng)絡(luò)結(jié)構(gòu)的輸入需改成兩個(gè)節(jié)點(diǎn)。下圖中的上半部分是,利用人工知識(shí)將隨機(jī)變量無損轉(zhuǎn)變?yōu)楹偷墓餐磉_(dá)(representation)。這時(shí)和一起形成網(wǎng)絡(luò)輸入。
注:旁邊的黑線(實(shí)線表示確定關(guān)系)并非是真正的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),只是方便理解,可以簡單想象成神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)變的。
表達(dá)式:
注:方便起見,寫成了矩陣的表達(dá)形式,其中是標(biāo)量,而=,=
關(guān)系圖:由于固定,只考慮下半部分的關(guān)系。因?yàn)檫@時(shí)用了兩條線和來共同對(duì)應(yīng)關(guān)系。原本需要擬合的8個(gè)關(guān)系,現(xiàn)在變成了4個(gè)(兩個(gè)節(jié)點(diǎn)平攤)。同樣,除非右圖的4條紅色關(guān)系線對(duì)來說相同,并且4條綠色關(guān)系線對(duì)來說也相同,否則用和表示時(shí),一定會(huì)造成熵增加。
注:下圖中左側(cè)是網(wǎng)絡(luò)結(jié)構(gòu)圖。右側(cè)關(guān)系圖中,接觸的圓圈表示同一個(gè)節(jié)點(diǎn)的不同變體。分開的、并標(biāo)注為不同顏色的圓圈表示不同節(jié)點(diǎn),左右兩圖連線的顏色相互對(duì)應(yīng),如紅色的需要表示右側(cè)的4條紅色關(guān)系線。
關(guān)聯(lián)1:下面和YJango確定想要學(xué)習(xí)的關(guān)聯(lián)(函數(shù))。如果想學(xué)習(xí)的關(guān)聯(lián)是只取或者的值,那么該結(jié)構(gòu)可以輕松用兩條線和來表達(dá)這4個(gè)關(guān)系(讓其中一條線的權(quán)重為0,另一條為1)。
關(guān)聯(lián)2:如果想學(xué)習(xí)的關(guān)聯(lián)是或門,真值表和實(shí)際訓(xùn)練完的預(yù)測值對(duì)照如下。很接近,但有誤差。不過若要是分類的話,可以找到0.5這個(gè)超平面來分割。大于0.5的就是1,小于0.5的就是0,可以完美分開。
注:第一列是輸入,第二列是真實(shí)想要學(xué)習(xí)的輸出,第三列是訓(xùn)練后的網(wǎng)絡(luò)預(yù)測值。
關(guān)聯(lián)3:如果想學(xué)習(xí)的關(guān)聯(lián)是異或門(XOR),真值表和實(shí)際訓(xùn)練完的預(yù)測值對(duì)照如下。由于4條關(guān)系線無法用單個(gè)表達(dá),該網(wǎng)絡(luò)結(jié)構(gòu)連XOR關(guān)聯(lián)的分類都無法分開。
數(shù)據(jù)量:學(xué)習(xí)這種關(guān)聯(lián)至少需4個(gè)不同的來擬合。其中每個(gè)數(shù)據(jù)可以用于確定2條關(guān)系線。
方式3:加入隱藏層
網(wǎng)絡(luò)結(jié)構(gòu)1:現(xiàn)在直接把和作為輸入(用表示),不考慮。并且在網(wǎng)絡(luò)結(jié)構(gòu)中加入一個(gè)擁有2個(gè)節(jié)點(diǎn)(node)隱藏層(用表示)。
表達(dá)式:
關(guān)系圖1:乍一看感覺關(guān)系更難確定了。原來還是只有8條關(guān)系線,現(xiàn)在又多了16條。但實(shí)際上所需要的數(shù)據(jù)量絲毫沒有改變。因?yàn)橐韵聝蓷l先驗(yàn)知識(shí)的成立。
注:下圖最右側(cè)是表示:當(dāng)一個(gè)樣本進(jìn)入網(wǎng)絡(luò)后,能對(duì)學(xué)習(xí)哪些關(guān)系線起到作用。
1. 并行::和:的學(xué)習(xí)完全是獨(dú)立并行。這就是神經(jīng)網(wǎng)絡(luò)的兩條固有先驗(yàn)知識(shí)中的:并行:網(wǎng)絡(luò)可以同時(shí)確定和的關(guān)聯(lián)。也是Bengio大神所指的distributed representation。
注:有效的前提是所要學(xué)習(xí)的狀態(tài)空間的關(guān)聯(lián)是可以被拆分成并行的因素(factor)。
注::就沒有并行一說,因?yàn)槭且粋€(gè)節(jié)點(diǎn)擁有兩個(gè)變體,而不是兩個(gè)獨(dú)立的因素。但是也可以把拆開表示為one-hot-vector。這就是為什么分類時(shí)并非用一維向量表示狀態(tài)。更驗(yàn)證了YJango在機(jī)器學(xué)習(xí)中對(duì)學(xué)習(xí)定義:學(xué)習(xí)是將變體拆成因素附帶關(guān)系的過程。
迭代:第二個(gè)先驗(yàn)知識(shí)是:在學(xué)習(xí):的同時(shí),:和:也可以被學(xué)習(xí)。這就是神經(jīng)網(wǎng)絡(luò)的兩條固有先驗(yàn)知識(shí)中的:迭代:網(wǎng)絡(luò)可以在確定上一級(jí)的同時(shí)確定下一級(jí)的所有內(nèi)容。也是Bengio大神所指的compositionality。
注:有效的前提是所要學(xué)習(xí)的空間的關(guān)聯(lián)是由上一級(jí)迭代形成的。所幸的是,我們所生活的世界幾乎都符合這個(gè)前提(有特殊反例)。
關(guān)聯(lián):如果想學(xué)習(xí)的關(guān)聯(lián)是異或門(XOR),真值表和實(shí)際訓(xùn)練完的預(yù)測值對(duì)照如下。
和:期初若用兩條網(wǎng)絡(luò)連接表示的16個(gè)關(guān)系可能,那么熵會(huì)很高。但用兩條線表示的8個(gè)關(guān)系,模型的熵可以降到很低。下圖中的輸出值對(duì)應(yīng)紅色數(shù)字。對(duì)應(yīng)輸出值是由藍(lán)色數(shù)字表達(dá)。
:這時(shí)再看的關(guān)系,完全就是線性的。光靠觀察就能得出的一個(gè)表達(dá)。
數(shù)據(jù)量:如關(guān)系圖1中最右側(cè)圖所示,一個(gè)輸入會(huì)被關(guān)聯(lián)到。而這個(gè)數(shù)據(jù)可用于學(xué)習(xí)個(gè)關(guān)系。也就是說網(wǎng)絡(luò)變深并不需要更多數(shù)據(jù)。
模型的熵與用一條所要擬合的關(guān)系數(shù)量有關(guān)。也就是說,
變體(variation)越少,擬合難度越低,熵越低。
網(wǎng)絡(luò)結(jié)構(gòu)2:既然這樣,有4個(gè)變體,這次把節(jié)點(diǎn)增加到4。
關(guān)系圖2:與網(wǎng)絡(luò)結(jié)構(gòu)1不同,增加到4個(gè)節(jié)點(diǎn)后,每個(gè)節(jié)點(diǎn)都可以完全沒有變體,只取一個(gè)值。想法很合理,但實(shí)際訓(xùn)練時(shí),模型不按照該方式工作。
注:太多顏色容易眼花。這里不再用顏色標(biāo)注不同線之間的對(duì)應(yīng)關(guān)系,但對(duì)應(yīng)關(guān)系依然存在。
問題:因?yàn)闀?huì)出現(xiàn)右圖的情況:只有兩個(gè)節(jié)點(diǎn)在工作(線的粗細(xì)表示權(quán)重大小)。和的節(jié)點(diǎn)在濫竽充數(shù)。這就跟只有兩個(gè)節(jié)點(diǎn)時(shí)沒有太大別。原因是神經(jīng)網(wǎng)絡(luò)的權(quán)重的初始化是隨機(jī)的,數(shù)據(jù)的輸入順序也是隨機(jī)的。這些隨機(jī)性使得權(quán)重更新的方向無法確定。
討論:網(wǎng)絡(luò)既然選擇這種方式來更新權(quán)重,是否一定程度上說明,用較少的節(jié)點(diǎn)就可以表示該關(guān)聯(lián)?并不是,原因在于日常生活中的關(guān)聯(lián),我們無法獲得所有變體的數(shù)據(jù)。所得數(shù)據(jù)往往是很小的一部分。較少的節(jié)點(diǎn)可以表示這一小部分?jǐn)?shù)據(jù)的關(guān)聯(lián),但卻無法涵蓋所有變體情況。造成實(shí)際應(yīng)用時(shí)效果不理想。
緩解:緩解的方式有L2正則化(L2 regularization):將每層權(quán)重矩陣的平方和作為懲罰。
表達(dá)式:,是懲罰的強(qiáng)弱,可以調(diào)節(jié)。除以2是為了求導(dǎo)方便(與后邊的平方抵消)。
意義:當(dāng)同一層的權(quán)重有個(gè)別值過高時(shí),平方和就會(huì)增加。而模型在訓(xùn)練中會(huì)降低該懲罰。產(chǎn)生的作用是使所有權(quán)重平攤?cè)蝿?wù),讓都有值。以這樣的方式來使每個(gè)節(jié)點(diǎn)都工作,從而消除變體,可以緩解過擬合(overfitting)。
例如:
具有一個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)可以模擬任何函數(shù),最糟的情況需要個(gè)節(jié)點(diǎn)。
也叫Universal Approximation Theorem。但最糟的情況是輸入空間有多少個(gè)變體,就需要多少個(gè)節(jié)點(diǎn)。表示獨(dú)立因素的變體個(gè)數(shù),表示獨(dú)立因素的個(gè)數(shù)。上述的例子中最糟的情況需要個(gè)隱藏節(jié)點(diǎn)。而代價(jià)也是需要個(gè)不同數(shù)據(jù)才可以完美擬合。
使用條件:淺層神經(jīng)網(wǎng)絡(luò)可以分開幾乎所有自然界的關(guān)聯(lián)。因?yàn)樯窠?jīng)網(wǎng)絡(luò)最初就是由于可移動(dòng)的生物需要預(yù)測未來事件所進(jìn)化而來的。所學(xué)習(xí)的關(guān)聯(lián)是過去狀態(tài)到未來狀態(tài)。如下圖,物理中的力也可以分離成兩個(gè)獨(dú)立的分力來研究。
但有一種不適用的情況:非函數(shù)。
實(shí)例:函數(shù)的定義是:每個(gè)輸入值對(duì)應(yīng)唯一輸出值的對(duì)應(yīng)關(guān)系。為什么這么定義函數(shù)?對(duì)應(yīng)兩個(gè)以上的輸出值在數(shù)學(xué)上完全可以。但是在宏觀的世界發(fā)展中卻不常見。如下圖:
時(shí)間順流:不管從哪個(gè)起點(diǎn)開始,相同的一個(gè)狀態(tài)(不是維度)可以獨(dú)立發(fā)展到多個(gè)不同狀態(tài)(如氧原子可演變成氧分子和臭氧分子)。也就熱力學(xué)第二定律的自發(fā)性熵增:原始狀態(tài)通過物理關(guān)系,形成更多變體。
時(shí)間倒流:宏觀自然界中難以找到兩個(gè)以上的不同狀態(tài)共同收回到一個(gè)狀態(tài)的例子(如氧分子和臭氧分子無法合并成氧原子)。如果這個(gè)可以實(shí)現(xiàn),熵就會(huì)自發(fā)性減少。也就不需要生物來消耗能量減熵。我們的房間會(huì)向整齊的狀態(tài)發(fā)展。但這違背熱力學(xué)第二定律。至少在我們的宏觀世界中,這種現(xiàn)象不常見。所以進(jìn)化而來的神經(jīng)網(wǎng)絡(luò)可以擬合任何函數(shù),但在非函數(shù)上就沒有什么優(yōu)勢。畢竟生物的預(yù)測是從過去狀態(tài)到未來狀態(tài)。也說明神經(jīng)網(wǎng)絡(luò)并不違背無免費(fèi)午餐定理。
實(shí)例:XOR門的輸入空間和輸出空間若互換位置,則神經(jīng)網(wǎng)絡(luò)擬合出來的可能性就非常低(并非絕對(duì)無法擬合)。
4:繼續(xù)加深
淺層神經(jīng)網(wǎng)絡(luò)可以模擬任何函數(shù),但數(shù)據(jù)量的代價(jià)是無法接受的。深層解決了這個(gè)問題。相比淺層神經(jīng)網(wǎng)絡(luò),深層神經(jīng)網(wǎng)絡(luò)可以用更少的數(shù)據(jù)量來學(xué)到更好的擬合。上面的例子很特殊。因?yàn)椋容^不出來。下面YJango就換一個(gè)例子,并比較深層神經(jīng)網(wǎng)絡(luò)和淺層神經(jīng)網(wǎng)絡(luò)的區(qū)別。
問題描述:空間有8個(gè)可能狀態(tài),空間有2個(gè)可能狀態(tài):
網(wǎng)絡(luò)結(jié)構(gòu):
淺層神經(jīng)網(wǎng)絡(luò):8節(jié)點(diǎn)隱藏層
深層神經(jīng)網(wǎng)絡(luò):2節(jié)點(diǎn)隱藏層 3節(jié)點(diǎn)隱藏層
深淺對(duì)比:
淺層神經(jīng)網(wǎng)絡(luò):假如說輸入3和輸出0對(duì)應(yīng)。數(shù)據(jù)只能用于學(xué)習(xí)一個(gè)節(jié)點(diǎn)(如)前后的兩條關(guān)系線。完美學(xué)習(xí)該關(guān)聯(lián)需要所有8個(gè)變體。然而當(dāng)變體數(shù)為10^10時(shí),我們不可能獲得10^10個(gè)不同變體的數(shù)據(jù),也失去了學(xué)習(xí)的意義。畢竟我們是要預(yù)測沒見過的數(shù)據(jù)。所以與其說這是學(xué)習(xí),不如說這是強(qiáng)行記憶。好比一個(gè)學(xué)生做了100冊(cè)練習(xí)題,做過的題會(huì)解,遇到新題仍然不會(huì)。他不是學(xué)會(huì)了做題,而是記住了怎么特定的題。
深層神經(jīng)網(wǎng)絡(luò):如果只觀察輸入和輸出,看起來同樣需要8個(gè)不同的訓(xùn)練數(shù)據(jù)。但不同之間有共用部分。比如說,在確定3和0關(guān)系時(shí),也同時(shí)對(duì)所有共用連接的其他變體進(jìn)行確定。這樣就使得原本需要8個(gè)不同數(shù)據(jù)才能訓(xùn)練好的關(guān)聯(lián)變成只需要3,4不同數(shù)據(jù)個(gè)就可以訓(xùn)練好。(下圖關(guān)系線的粗細(xì)并非表示權(quán)重絕對(duì)值,而是共用度)
深層的前提:使用淺層神經(jīng)網(wǎng)絡(luò)好比是用解,需要2個(gè)不同數(shù)據(jù)。而深層神經(jīng)網(wǎng)絡(luò)好比用解,只需要一個(gè)數(shù)據(jù)。無免費(fèi)午餐定理告訴我們,優(yōu)化算法在一個(gè)任務(wù)上優(yōu)秀,就一定會(huì)在其他任務(wù)上有缺陷,深層同樣滿足該定理。如果用去解實(shí)際上有的,或者去解實(shí)際為的關(guān)聯(lián)時(shí),搜索效果只會(huì)更差。所以深層的前提是:空間中的元素可以由迭代發(fā)展而來的。換句話說中的所有變體,都有共用根源(root)。
我們的物理世界:幸運(yùn)的是,我們的物理世界幾乎都滿足迭代的先驗(yàn)知識(shí)。
實(shí)例:比如進(jìn)化。不同動(dòng)物都是變體,雖然大家現(xiàn)在的狀態(tài)各異,但在過去都有共同的祖先。
實(shí)例:又如細(xì)胞分裂。八卦中的8個(gè)變體是由四象中4個(gè)變體的基礎(chǔ)上發(fā)展而來,而四象又是由太極的2個(gè)變體演變而來。很難不回想起“無極生太極,太極生兩儀,兩儀生四象,四象生八卦”。(向中國古人致敬,雖然不知道他們的原意)
學(xué)習(xí)的過程是因素間的關(guān)系的拆分,關(guān)系的拆分是信息的回卷,信息的回卷是變體的消除,變體的消除是不確定性的縮減。
自然界兩個(gè)固有的先驗(yàn)知識(shí):
并行:新狀態(tài)是由若干舊狀態(tài)并行組合形成。
迭代:新狀態(tài)由已形成的狀態(tài)再次迭代形成。
為何深層學(xué)習(xí):深層學(xué)習(xí)比淺層學(xué)習(xí)在解決結(jié)構(gòu)問題上可用更少的數(shù)據(jù)學(xué)習(xí)到更好的關(guān)聯(lián)。
隨后的三篇文章正是用tensorflow實(shí)現(xiàn)上述討論的內(nèi)容,以此作為零基礎(chǔ)實(shí)現(xiàn)深層學(xué)習(xí)的起點(diǎn)。
* TensorFlow基本用法
* 代碼演示LV1
* 代碼演示LV2
最后總結(jié)一下開篇的問題:
1. 為什么神經(jīng)網(wǎng)絡(luò)高效:并行的先驗(yàn)知識(shí)使得模型可用線性級(jí)數(shù)量的樣本學(xué)習(xí)指數(shù)級(jí)數(shù)量的變體
2. 學(xué)習(xí)的本質(zhì)是什么:將變體拆分成因素和知識(shí)(Disentangle Factors of Variation)
* 稀疏表達(dá):一個(gè)矩陣被拆分成了稀疏表達(dá)和字典。
* one hot vector:將因素用不同維度分開,避免彼此糾纏。
3. 為什么深層神經(jīng)網(wǎng)絡(luò)比淺層神經(jīng)網(wǎng)絡(luò)更高效:迭代組成的先驗(yàn)知識(shí)使得樣本可用于幫助訓(xùn)練其他共用同樣底層結(jié)構(gòu)的樣本。
4. 神經(jīng)網(wǎng)絡(luò)在什么問題上不具備優(yōu)勢:不滿足并行與迭代先驗(yàn)的任務(wù)
* 非函數(shù):需要想辦法將問題轉(zhuǎn)化。
* 非迭代:該層狀態(tài)不是由上層狀態(tài)構(gòu)成的任務(wù)(如:很深的CNN因?yàn)橛衜ax pooling,信息會(huì)逐漸丟失。而residual network再次使得迭代的先驗(yàn)滿足)
到此我們討論完了神經(jīng)網(wǎng)絡(luò)最基礎(chǔ)的,也是最重要的知識(shí)。在實(shí)際應(yīng)用中仍會(huì)遇到很多問題(尤其是神經(jīng)網(wǎng)絡(luò)對(duì)noise的克服更加巧妙)。隨后YJango會(huì)再和大家一起分析過深后會(huì)產(chǎn)生什么效果,并一步步引出設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的本質(zhì)。
-
人工智能
+關(guān)注
關(guān)注
1804文章
48449瀏覽量
245009 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5547瀏覽量
122309
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
探討機(jī)器學(xué)習(xí)與深度學(xué)習(xí)基本概念與運(yùn)算過程

NVIDIA火熱招聘深度學(xué)習(xí) (Deep Learning) 達(dá)人
人工智能深度學(xué)習(xí)發(fā)展迅速,智能科技公司都已經(jīng)涉足人工智能產(chǎn)品的研發(fā)!
鄢志杰談深度學(xué)習(xí)要基于問題來選擇工具
谷歌為何對(duì)深度學(xué)習(xí)感興趣?
淺論學(xué)習(xí)深度學(xué)習(xí)的四個(gè)步驟
一份深度學(xué)習(xí)的學(xué)習(xí)筆記資料合集

《自動(dòng)化學(xué)報(bào)》—多Agent深度強(qiáng)化學(xué)習(xí)綜述

什么是深度學(xué)習(xí)(Deep Learning)?深度學(xué)習(xí)的工作原理詳解
四個(gè)理由告訴你,為何要學(xué)習(xí)FPGA
深度學(xué)習(xí)較著名軟件框架、庫

當(dāng)深度學(xué)習(xí)遇上TDA4

深度學(xué)習(xí)的定義和特點(diǎn) 深度學(xué)習(xí)典型模型介紹
深度解析深度學(xué)習(xí)下的語義SLAM

評(píng)論