久久精品无码视频|精产国品色情一二三区在线观看|国产性爱自拍视频|亚洲av韩国av|日韩美女一级AAA大片|少妇无码激情诱惑|日韩AV在线播放有码|一级黄片一级黄片|av上一页亲亲久草av|aaa在线观看国产做爱

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開(kāi)發(fā)者 正文
發(fā)私信給AI研習(xí)社
發(fā)送

1

為什么要用深度學(xué)習(xí)?

本文作者: AI研習(xí)社 2017-08-04 15:39
導(dǎo)語(yǔ):雷鋒網(wǎng)按:本文原作者 YJango,本文原載于其知乎專(zhuān)欄——超智能體。雷鋒網(wǎng) (公眾號(hào):雷鋒網(wǎng))已獲得原作者授權(quán)。為何深層學(xué)習(xí)深層學(xué)習(xí)開(kāi)啟了

雷鋒網(wǎng)按:本文原作者 YJango,本文原載于其知乎專(zhuān)欄——超智能體。雷鋒網(wǎng)已獲得原作者授權(quán)。

為何深層學(xué)習(xí)

深層學(xué)習(xí)開(kāi)啟了人工智能的新時(shí)代。不論任何行業(yè)都害怕錯(cuò)過(guò)這一時(shí)代浪潮,因而大批資金和人才爭(zhēng)相涌入。但深層學(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)域的為什么要用深度學(xué)習(xí)?

很多人在做神經(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ì)讓我感到滿(mǎn)足。我更關(guān)心這些新發(fā)現(xiàn)到底告訴我們了什么,造成這些現(xiàn)象的背后原因是什么。我會(huì)更想要將新的網(wǎng)絡(luò)結(jié)構(gòu)歸納到已有的體系當(dāng)中。這也是我更多思考 “為何深層學(xué)習(xí)有效” 的原因。下面便是目前 YJango 關(guān)于這方面的見(jià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ò)在什么問(wèn)題上不具備優(yōu)勢(shì)

其他推薦讀物

  • 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í)》中討論過(guò),生物要做的是降低環(huán)境的熵,將不確定狀態(tài)變?yōu)榇_定狀態(tài)。通常機(jī)器學(xué)習(xí)是優(yōu)化損失函數(shù),并用概率來(lái)衡量模型優(yōu)劣。然而概率正是由于無(wú)法確定狀態(tài)才不得不用的衡量手段。生物真正想要的是沒(méi)有絲毫不確定性。

為什么要用深度學(xué)習(xí)?

深層神經(jīng)網(wǎng)絡(luò)在自然問(wèn)題上更具優(yōu)勢(shì),因?yàn)樗蜕飳W(xué)習(xí)一樣,是找回使熵增加的 “物理關(guān)系”(知識(shí),并非完全一樣),將變體(為什么要用深度學(xué)習(xí)?)轉(zhuǎn)化回因素(為什么要用深度學(xué)習(xí)?)附帶物理關(guān)系的形式,從源頭消除熵(假設(shè)每個(gè)因素只有兩種可能狀態(tài))。這樣所有狀態(tài)間的關(guān)系可以被確定,要么肯定發(fā)生,要么絕不發(fā)生,也就無(wú)需用概率來(lái)衡量。因此下面定義的學(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ì)熵不了解的朋友可以簡(jiǎn)單記住,事件的狀態(tài)越確定,熵越小。如絕不發(fā)生(概率 0)或肯定發(fā)生(概率為 1)的事件熵小。而 50% 可能性事件的熵反而大。

為舉例說(shuō)明,下面就一起考慮用神經(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 這種簡(jiǎn)單關(guān)聯(lián)的初衷是輸入和輸出空間狀態(tài)的個(gè)數(shù)有限,易于分析變體個(gè)數(shù)和熵增的關(guān)系。

注:用 “變體(variation)” 是指同一類(lèi)事物的不同形態(tài),比如 10 張狗的圖片,雖然外貌各異,但都是狗。

問(wèn)題描述:集合 A 有 4 個(gè)狀態(tài),集合 B 有 2 個(gè)狀態(tài)。0 和 1 只是用于表示不同狀態(tài)的符號(hào),也可以用 0,1,2,3 表示。狀態(tài)也并不一定表示數(shù)字,可以表示任何物理意義。

為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?

方式 1:記憶

  • 隨機(jī)變量X:可能取值是 為什么要用深度學(xué)習(xí)?

  • 隨機(jī)變量 Y:可能取值是 為什么要用深度學(xué)習(xí)?

    注:隨機(jī)變量(大寫(xiě) X)是將事件投射到實(shí)數(shù)的函數(shù)。用對(duì)應(yīng)的實(shí)數(shù)表示事件。而小寫(xiě)字母 x 表示對(duì)應(yīng)該實(shí)數(shù)的事件發(fā)生了,是一個(gè)具體實(shí)例。

  • 網(wǎng)絡(luò)結(jié)構(gòu):暫且不規(guī)定要學(xué)習(xí)的關(guān)聯(lián)是 OR 還是 XOR,先建立一個(gè)沒(méi)有隱藏層,僅有一個(gè)輸入節(jié)點(diǎn),一個(gè)輸出節(jié)點(diǎn)的神經(jīng)網(wǎng)絡(luò)。

  • 表達(dá)式:為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?表示 sigmoid 函數(shù)。(只要是非線性即可,relu 是目前的主流)

  • 說(shuō)明:下圖右側(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,這樣熵為什么要用深度學(xué)習(xí)?才會(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ì)模型來(lái)說(shuō)都是相同的,否則用為什么要用深度學(xué)習(xí)?表示為什么要用深度學(xué)習(xí)?時(shí)的熵為什么要用深度學(xué)習(xí)?就會(huì)增加。(為什么要用深度學(xué)習(xí)?無(wú)法照顧到 8 個(gè)關(guān)系,若完美擬合一個(gè)關(guān)系,其余的關(guān)系就不準(zhǔn)確)

    注:這里 YJango 是為什么要用深度學(xué)習(xí)?用表示為什么要用深度學(xué)習(xí)?的縮寫(xiě)。為什么要用深度學(xué)習(xí)?

  • 數(shù)據(jù)量:極端假設(shè),若用查找表來(lái)表示關(guān)系:需要用 8 個(gè)不同的為什么要用深度學(xué)習(xí)?數(shù)據(jù)來(lái)記住想要擬合的為什么要用深度學(xué)習(xí)?。

方式 2:手工特征

  • 特征:空間 A 的 4 個(gè)狀態(tài)是由兩個(gè) 0 或 1 的狀態(tài)共同組成。我們可以觀察出來(lái)(計(jì)算機(jī)并不能),我們利用這種知識(shí)為什么要用深度學(xué)習(xí)?把 A 中的狀態(tài)分解開(kāi)(disentangle)。分解成兩個(gè)獨(dú)立的子隨機(jī)變量為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?。也就是用二維向量表示輸入。

  • 網(wǎng)絡(luò)結(jié)構(gòu):由于分成了二維特征,這次網(wǎng)絡(luò)結(jié)構(gòu)的輸入需改成兩個(gè)節(jié)點(diǎn)。下圖中的上半部分是,利用人工知識(shí)為什么要用深度學(xué)習(xí)?將隨機(jī)變量為什么要用深度學(xué)習(xí)?無(wú)損轉(zhuǎn)變?yōu)?img src="https://www.zhihu.com/equation?tex=H_%7B1%7D" alt="為什么要用深度學(xué)習(xí)?" eeimg="1" style="font-size:16px;font-style:normal;font-weight:normal;color:rgb(51, 51, 51);"/>和為什么要用深度學(xué)習(xí)?的共同表達(dá)(representation)。這時(shí)為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?一起形成網(wǎng)絡(luò)輸入。

    注:k() 旁邊的黑線(實(shí)線表示確定關(guān)系)并非是真正的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),只是方便理解,可以簡(jiǎn)單想象成神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)變的。

  • 表達(dá)式為什么要用深度學(xué)習(xí)?

    注:方便起見(jiàn),為什么要用深度學(xué)習(xí)?寫(xiě)成了矩陣的表達(dá)形式為什么要用深度學(xué)習(xí)?,其中為什么要用深度學(xué)習(xí)?是標(biāo)量,而為什么要用深度學(xué)習(xí)?,為什么要用深度學(xué)習(xí)?

  • 關(guān)系圖:由于為什么要用深度學(xué)習(xí)?固定,只考慮下半部分的關(guān)系。因?yàn)檫@時(shí)用了兩條線為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?來(lái)共同對(duì)應(yīng)關(guān)系。原本需要擬合的 8 個(gè)關(guān)系,現(xiàn)在變成了 4 個(gè)(兩個(gè)節(jié)點(diǎn)平攤)。同樣,除非右圖的 4 條紅色關(guān)系線對(duì)為什么要用深度學(xué)習(xí)?來(lái)說(shuō)相同,并且 4 條綠色關(guān)系線對(duì)為什么要用深度學(xué)習(xí)?來(lái)說(shuō)也相同,否則用為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?
    表示為什么要用深度學(xué)習(xí)?時(shí),一定會(huì)造成熵為什么要用深度學(xué)習(xí)?增加。

    注:下圖中左側(cè)是網(wǎng)絡(luò)結(jié)構(gòu)圖。右側(cè)關(guān)系圖中,接觸的圓圈表示同一個(gè)節(jié)點(diǎn)的不同變體。分開(kāi)的、并標(biāo)注為不同顏色的圓圈表示不同節(jié)點(diǎn),左右兩圖連線的顏色相互對(duì)應(yīng),如紅色的為什么要用深度學(xué)習(xí)?需要表示右側(cè)的 4 條紅色關(guān)系線。

    為什么要用深度學(xué)習(xí)?

  • 關(guān)聯(lián) 1:下面和 YJango 確定想要學(xué)習(xí)的關(guān)聯(lián)(函數(shù))。如果想學(xué)習(xí)的關(guān)聯(lián)是只取為什么要用深度學(xué)習(xí)?或者為什么要用深度學(xué)習(xí)?的值,那么該結(jié)構(gòu)可以輕松用兩條線為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?來(lái)表達(dá)這 4 個(gè)關(guān)系 (讓其中一條線的權(quán)重為 0,另一條為 1)。

  • 關(guān)聯(lián) 2 :如果想學(xué)習(xí)的關(guān)聯(lián)是或門(mén),真值表和實(shí)際訓(xùn)練完的預(yù)測(cè)值對(duì)照如下。很接近,但有誤差。不過(guò)若要是分類(lèi)的話(huà),可以找到 0.5 這個(gè)超平面來(lái)分割。大于 0.5 的就是 1,小于 0.5 的就是 0,可以完美分開(kāi)。

    為什么要用深度學(xué)習(xí)?

    注: 第一列是輸入,第二列是真實(shí)想要學(xué)習(xí)的輸出,第三列是訓(xùn)練后的網(wǎng)絡(luò)預(yù)測(cè)值。

  • 關(guān)聯(lián) 3 :如果想學(xué)習(xí)的關(guān)聯(lián)是異或門(mén)(XOR),真值表和實(shí)際訓(xùn)練完的預(yù)測(cè)值對(duì)照如下。由于 4 條關(guān)系線無(wú)法用單個(gè)為什么要用深度學(xué)習(xí)?表達(dá),該網(wǎng)絡(luò)結(jié)構(gòu)連 XOR 關(guān)聯(lián)的分類(lèi)都無(wú)法分開(kāi)。

    為什么要用深度學(xué)習(xí)?

  • 數(shù)據(jù)量:學(xué)習(xí)這種關(guān)聯(lián)至少需 4 個(gè)不同的為什么要用深度學(xué)習(xí)?來(lái)擬合為什么要用深度學(xué)習(xí)?。其中每個(gè)數(shù)據(jù)可以用于確定 2 條關(guān)系線。

方式 3:加入隱藏層

  • 網(wǎng)絡(luò)結(jié)構(gòu) 1:現(xiàn)在直接把為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?作為輸入(用為什么要用深度學(xué)習(xí)?,為什么要用深度學(xué)習(xí)?表示),不考慮為什么要用深度學(xué)習(xí)?。并且在網(wǎng)絡(luò)結(jié)構(gòu)中加入一個(gè)擁有 2 個(gè)節(jié)點(diǎn)(node)隱藏層(用為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?表示)。

  • 表達(dá)式:為什么要用深度學(xué)習(xí)?

  • 關(guān)系圖 1:乍一看感覺(jué)關(guān)系更難確定了。原來(lái)還是只有 8 條關(guān)系線,現(xiàn)在又多了 16 條。但實(shí)際上所需要的數(shù)據(jù)量絲毫沒(méi)有改變。因?yàn)橐韵?strong>兩條先驗(yàn)知識(shí)的成立。

    注:下圖最右側(cè)是表示:當(dāng)一個(gè)樣本進(jìn)入網(wǎng)絡(luò)后,能對(duì)學(xué)習(xí)哪些關(guān)系線起到作用。

    為什么要用深度學(xué)習(xí)?

  • 1. 并行:為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?的學(xué)習(xí)完全是獨(dú)立并行。這就是神經(jīng)網(wǎng)絡(luò)的兩條固有先驗(yàn)知識(shí)中的:并行:網(wǎng)絡(luò)可以同時(shí)確定為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?的關(guān)聯(lián)。也是 Bengio 大神所指的 distributed representation。

    注:有效的前提是所要學(xué)習(xí)的狀態(tài)空間的關(guān)聯(lián)是可以被拆分成并行的因素(factor)。

    注:為什么要用深度學(xué)習(xí)?就沒(méi)有并行一說(shuō),因?yàn)?img src="https://www.zhihu.com/equation?tex=Y" alt="為什么要用深度學(xué)習(xí)?" eeimg="1" style="font-size:16px;font-style:normal;font-weight:normal;color:rgb(51, 51, 51);"/>是一個(gè)節(jié)點(diǎn)擁有兩個(gè)變體,而不是兩個(gè)獨(dú)立的因素。但是也可以把為什么要用深度學(xué)習(xí)?拆開(kāi)表示為 one-hot-vector。這就是為什么分類(lèi)時(shí)并非用一維向量表示狀態(tài)。更驗(yàn)證了 YJango 在機(jī)器學(xué)習(xí)中對(duì)學(xué)習(xí)定義:學(xué)習(xí)是將變體拆成因素附帶關(guān)系的過(guò)程。

  • 迭代:第二個(gè)先驗(yàn)知識(shí)是:在學(xué)習(xí)為什么要用深度學(xué)習(xí)?同時(shí)為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?也可以被學(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)是異或門(mén)(XOR),真值表和實(shí)際訓(xùn)練完的預(yù)測(cè)值對(duì)照如下。

    為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?:期初若用兩條網(wǎng)絡(luò)連接表示為什么要用深度學(xué)習(xí)?的 16 個(gè)關(guān)系可能,那么熵會(huì)很高。但用兩條線表示為什么要用深度學(xué)習(xí)?的 8 個(gè)關(guān)系,模型的熵可以降到很低。下圖中為什么要用深度學(xué)習(xí)?的輸出值對(duì)應(yīng)紅色數(shù)字。為什么要用深度學(xué)習(xí)?對(duì)應(yīng)輸出值是由藍(lán)色數(shù)字表達(dá)。

    為什么要用深度學(xué)習(xí)?: 這時(shí)再看為什么要用深度學(xué)習(xí)?的關(guān)系,完全就是線性的。光靠觀察就能得出為什么要用深度學(xué)習(xí)?的一個(gè)表達(dá)。

    為什么要用深度學(xué)習(xí)?

  • 數(shù)據(jù)量:如關(guān)系圖 1 中最右側(cè)圖所示,一個(gè)輸入 [0,0] 會(huì)被關(guān)聯(lián)到 0。而這個(gè)數(shù)據(jù)可用于學(xué)習(xí) 2+4 個(gè)關(guān)系。也就是說(shuō)網(wǎng)絡(luò)變深并不需要更多數(shù)據(jù)。

模型的熵為什么要用深度學(xué)習(xí)?與用一條為什么要用深度學(xué)習(xí)?所要擬合的關(guān)系數(shù)量有關(guān)。也就是說(shuō),

變體(variation)越少,擬合難度越低,熵越低。

  • 網(wǎng)絡(luò)結(jié)構(gòu) 2:既然這樣,為什么要用深度學(xué)習(xí)?有 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)都可以完全沒(méi)有變體,只取一個(gè)值。想法很合理,但實(shí)際訓(xùn)練時(shí),模型不按照該方式工作。

    注:太多顏色容易眼花。這里不再用顏色標(biāo)注不同線之間的對(duì)應(yīng)關(guān)系,但對(duì)應(yīng)關(guān)系依然存在。

    為什么要用深度學(xué)習(xí)?


  • 問(wèn)題:因?yàn)闀?huì)出現(xiàn)右圖的情況:只有兩個(gè)節(jié)點(diǎn)在工作(線的粗細(xì)表示權(quán)重大小)。a和c的節(jié)點(diǎn)在濫竽充數(shù)。這就跟只有兩個(gè)節(jié)點(diǎn)時(shí)沒(méi)有太大別。原因是神經(jīng)網(wǎng)絡(luò)的權(quán)重的初始化是隨機(jī)的,數(shù)據(jù)的輸入順序也是隨機(jī)的。這些隨機(jī)性使得權(quán)重更新的方向無(wú)法確定

討論:網(wǎng)絡(luò)既然選擇這種方式來(lái)更新權(quán)重,是否一定程度上說(shuō)明,用較少的節(jié)點(diǎn)就可以表示該關(guān)聯(lián)?并不是,原因在于日常生活中的關(guān)聯(lián),我們無(wú)法獲得所有變體的數(shù)據(jù)。所得數(shù)據(jù)往往是很小的一部分。較少的節(jié)點(diǎn)可以表示這一小部分?jǐn)?shù)據(jù)的關(guān)聯(lián),但卻無(wú)法涵蓋所有變體情況。造成實(shí)際應(yīng)用時(shí)效果不理想。

    • 緩解:緩解的方式有 L2 正則化(L2 regularization):將每層權(quán)重矩陣的平方和作為懲罰。

    • 表達(dá)式:為什么要用深度學(xué)習(xí)?,為什么要用深度學(xué)習(xí)?是懲罰的強(qiáng)弱,可以調(diào)節(jié)。除以 2 是為了求導(dǎo)方便(與后邊的平方抵消)。

    • 意義:當(dāng)同一層的權(quán)重有個(gè)別值過(guò)高時(shí),平方和就會(huì)增加。而模型在訓(xùn)練中會(huì)降低該懲罰。產(chǎn)生的作用是使所有權(quán)重平攤?cè)蝿?wù),讓為什么要用深度學(xué)習(xí)?都有值。以這樣的方式來(lái)使每個(gè)節(jié)點(diǎn)都工作,從而消除變體,可以緩解過(guò)擬合(overfitting)。

    • 例如:為什么要用深度學(xué)習(xí)?

具有一個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)可以模擬任何函數(shù),最糟的情況需要為什么要用深度學(xué)習(xí)?個(gè)節(jié)點(diǎn)。

也叫 Universal Approximation Theorem。但最糟的情況是輸入空間有多少個(gè)變體,就需要多少個(gè)節(jié)點(diǎn)。k 表示獨(dú)立因素的變體個(gè)數(shù),n 表示獨(dú)立因素的個(gè)數(shù)。上述的例子中最糟的情況需要為什么要用深度學(xué)習(xí)?個(gè)隱藏節(jié)點(diǎn)。而代價(jià)也是需要為什么要用深度學(xué)習(xí)?個(gè)不同數(shù)據(jù)才可以完美擬合。

  • 使用條件:淺層神經(jīng)網(wǎng)絡(luò)可以分開(kāi)幾乎所有自然界的關(guān)聯(lián)。因?yàn)樯窠?jīng)網(wǎng)絡(luò)最初就是由于可移動(dòng)的生物需要預(yù)測(cè)未來(lái)事件所進(jìn)化而來(lái)的。所學(xué)習(xí)的關(guān)聯(lián)是過(guò)去狀態(tài)到未來(lái)狀態(tài)。如下圖,物理中的力也可以分離成兩個(gè)獨(dú)立的分力來(lái)研究。

    為什么要用深度學(xué)習(xí)?

但有一種不適用的情況:非函數(shù)。

  • 實(shí)例:函數(shù)的定義是:每個(gè)輸入值對(duì)應(yīng)唯一輸出值的對(duì)應(yīng)關(guān)系。為什么這么定義函數(shù)?對(duì)應(yīng)兩個(gè)以上的輸出值在數(shù)學(xué)上完全可以。但是在宏觀的世界發(fā)展中卻不常見(jiàn)。如下圖:

    • 時(shí)間順流:不管從哪個(gè)起點(diǎn)開(kāi)始,相同的一個(gè)狀態(tài)(不是維度)可以獨(dú)立發(fā)展到多個(gè)不同狀態(tài)(如氧原子可演變成氧分子和臭氧分子)。也就熱力學(xué)第二定律的自發(fā)性熵增:原始狀態(tài)通過(guò)物理關(guān)系,形成更多變體。

      為什么要用深度學(xué)習(xí)?

    • 時(shí)間倒流:宏觀自然界中難以找到兩個(gè)以上的不同狀態(tài)共同收回到一個(gè)狀態(tài)的例子(如氧分子和臭氧分子無(wú)法合并成氧原子)。如果這個(gè)可以實(shí)現(xiàn),熵就會(huì)自發(fā)性減少。也就不需要生物來(lái)消耗能量減熵。我們的房間會(huì)向整齊的狀態(tài)發(fā)展。但這違背熱力學(xué)第二定律。至少在我們的宏觀世界中,這種現(xiàn)象不常見(jiàn)。所以進(jìn)化而來(lái)的神經(jīng)網(wǎng)絡(luò)可以擬合任何函數(shù),但在非函數(shù)上就沒(méi)有什么優(yōu)勢(shì)。畢竟生物的預(yù)測(cè)是從過(guò)去狀態(tài)到未來(lái)狀態(tài)。也說(shuō)明神經(jīng)網(wǎng)絡(luò)并不違背無(wú)免費(fèi)午餐定理。

      為什么要用深度學(xué)習(xí)?

    • 實(shí)例:XOR 門(mén)的輸入空間和輸出空間若互換位置,則神經(jīng)網(wǎng)絡(luò)擬合出來(lái)的可能性就非常低(并非絕對(duì)無(wú)法擬合)。

方式 4:繼續(xù)加深

淺層神經(jīng)網(wǎng)絡(luò)可以模擬任何函數(shù),但數(shù)據(jù)量的代價(jià)是無(wú)法接受的。深層解決了這個(gè)問(wèn)題。相比淺層神經(jīng)網(wǎng)絡(luò),深層神經(jīng)網(wǎng)絡(luò)可以用更少的數(shù)據(jù)量來(lái)學(xué)到更好的擬合。上面的例子很特殊。因?yàn)?img src="https://www.zhihu.com/equation?tex=2%5Ccdot+2%3D4" alt="為什么要用深度學(xué)習(xí)?" eeimg="1" style="font-size:16px;font-style:normal;font-weight:normal;color:rgb(51, 51, 51);"/>,為什么要用深度學(xué)習(xí)?,比較不出來(lái)。下面 YJango 就換一個(gè)例子,并比較深層神經(jīng)網(wǎng)絡(luò)和淺層神經(jīng)網(wǎng)絡(luò)的區(qū)別。

  • 問(wèn)題描述:空間為什么要用深度學(xué)習(xí)?有 8 個(gè)可能狀態(tài),空間為什么要用深度學(xué)習(xí)?有 2 個(gè)可能狀態(tài):


    為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?

  • 網(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ò):假如說(shuō)輸入 3 和輸出 0 對(duì)應(yīng)。數(shù)據(jù)為什么要用深度學(xué)習(xí)?只能用于學(xué)習(xí)一個(gè)節(jié)點(diǎn)(如為什么要用深度學(xué)習(xí)?)前后的兩條關(guān)系線。完美學(xué)習(xí)該關(guān)聯(lián)需要所有 8 個(gè)變體。然而當(dāng)變體數(shù)為為什么要用深度學(xué)習(xí)?時(shí),我們不可能獲得為什么要用深度學(xué)習(xí)?個(gè)不同變體的數(shù)據(jù),也失去了學(xué)習(xí)的意義。畢竟我們是要預(yù)測(cè)沒(méi)見(jiàn)過(guò)的數(shù)據(jù)。所以與其說(shuō)這是學(xué)習(xí),不如說(shuō)這是強(qiáng)行記憶。好比一個(gè)學(xué)生做了 100 冊(cè)練習(xí)題,做過(guò)的題會(huì)解,遇到新題仍然不會(huì)。他不是學(xué)會(huì)了做題,而是記住了怎么特定的題。

    為什么要用深度學(xué)習(xí)?

    深層神經(jīng)網(wǎng)絡(luò):如果只觀察輸入和輸出,看起來(lái)同樣需要 8 個(gè)不同的為什么要用深度學(xué)習(xí)?訓(xùn)練數(shù)據(jù)。但不同為什么要用深度學(xué)習(xí)?之間有共用部分。比如說(shuō),在確定 3 和 0 關(guān)系時(shí),也同時(shí)對(duì)所有共用為什么要用深度學(xué)習(xí)?連接的其他變體進(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ì)值,而是共用度

    為什么要用深度學(xué)習(xí)?

  • 深層的前提:使用淺層神經(jīng)網(wǎng)絡(luò)好比是用為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?,需要 2 個(gè)不同數(shù)據(jù)。而深層神經(jīng)網(wǎng)絡(luò)好比用為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?,只需要一個(gè)數(shù)據(jù)。無(wú)免費(fèi)午餐定理告訴我們,優(yōu)化算法在一個(gè)任務(wù)上優(yōu)秀,就一定會(huì)在其他任務(wù)上有缺陷,深層同樣滿(mǎn)足該定理。如果用為什么要用深度學(xué)習(xí)?去解實(shí)際上有為什么要用深度學(xué)習(xí)?為什么要用深度學(xué)習(xí)?,或者去解實(shí)際為為什么要用深度學(xué)習(xí)?的關(guān)聯(lián)時(shí),搜索效果只會(huì)更差。所以深層的前提是:為什么要用深度學(xué)習(xí)?空間中的元素可以由為什么要用深度學(xué)習(xí)?迭代發(fā)展而來(lái)的。換句話(huà)說(shuō)為什么要用深度學(xué)習(xí)?中的所有變體,都有共用根源為什么要用深度學(xué)習(xí)?(root)。

  • 我們的物理世界:幸運(yùn)的是,我們的物理世界幾乎都滿(mǎn)足迭代的先驗(yàn)知識(shí)。

    • 實(shí)例:比如進(jìn)化。不同動(dòng)物都是變體,雖然大家現(xiàn)在的狀態(tài)各異,但在過(guò)去都有共同的祖先。


      為什么要用深度學(xué)習(xí)?


    • 實(shí)例:又如細(xì)胞分裂。八卦中的 8 個(gè)變體是由四象中 4 個(gè)變體的基礎(chǔ)上發(fā)展而來(lái),而四象又是由太極的 2 個(gè)變體演變而來(lái)。很難不回想起 “無(wú)極生太極,太極生兩儀,兩儀生四象,四象生八卦”。(向中國(guó)古人致敬,雖然不知道他們的原意)

      為什么要用深度學(xué)習(xí)?

學(xué)習(xí)的過(guò)程是因素間的關(guān)系的拆分,關(guān)系的拆分是信息的回卷,信息的回卷是變體的消除,變體的消除是不確定性的縮減。

自然界兩個(gè)固有的先驗(yàn)知識(shí)

并行:新?tīng)顟B(tài)是由若干舊狀態(tài)并行組合形成。

迭代:新?tīng)顟B(tài)由已形成的狀態(tài)再次迭代形成。

為何深層學(xué)習(xí):深層學(xué)習(xí)比淺層學(xué)習(xí)在解決結(jié)構(gòu)問(wèn)題上可用更少的數(shù)據(jù)學(xué)習(xí)到更好的關(guān)聯(lián)。

隨后的三篇文章正是用 tensorflow 實(shí)現(xiàn)上述討論的內(nèi)容,以此作為零基礎(chǔ)實(shí)現(xiàn)深層學(xué)習(xí)的起點(diǎn)。

最后總結(jié)一下開(kāi)篇的問(wèn)題: 

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:將因素用不同維度分開(kāi),避免彼此糾纏。

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ò)在什么問(wèn)題上不具備優(yōu)勢(shì):不滿(mǎn)足并行與迭代先驗(yàn)的任務(wù)

  • 非函數(shù):需要想辦法將問(wèn)題轉(zhuǎn)化。

  • 非迭代(非結(jié)構(gòu)):該層狀態(tài)不是由上層狀態(tài)構(gòu)成的任務(wù)(如:很深的 CNN 因?yàn)橛?max pooling,信息會(huì)逐漸丟失。而 residual network 再次使得迭代的先驗(yàn)滿(mǎn)足)

到此我們討論完了神經(jīng)網(wǎng)絡(luò)最基礎(chǔ)的,也是最重要的知識(shí)。在實(shí)際應(yīng)用中仍會(huì)遇到很多問(wèn)題(尤其是神經(jīng)網(wǎng)絡(luò)對(duì) noise 的克服更加巧妙)。隨后 YJango 會(huì)再和大家一起分析過(guò)深后會(huì)產(chǎn)生什么效果,并一步步引出設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的本質(zhì)。

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

為什么要用深度學(xué)習(xí)?

分享:

編輯

聚焦數(shù)據(jù)科學(xué),連接 AI 開(kāi)發(fā)者。更多精彩內(nèi)容,請(qǐng)?jiān)L問(wèn):yanxishe.com
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話(huà)
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶(hù)安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)