Deep Learning(深度學(xué)習(xí))神經(jīng)網(wǎng)絡(luò)為啥可以識(shí)別呢?
今天看到一些感興趣的東西,現(xiàn)在總結(jié)了給大家分享一下,如果有錯(cuò),希望大家指正批評(píng),謝謝!那就開始進(jìn)入正題。
本文引用地址:http://www.ex-cimer.com/article/201706/360625.htm先從簡單的說起來吧!
一、基本變換:層
一般的神經(jīng)網(wǎng)絡(luò)是由一層一層堆疊而成的,但是每層究竟在做啥呢?
我從三個(gè)方面述說一下:
數(shù)學(xué)公式
Y=a*(W*X+b)11
其中Y是輸出量,X是輸入量,a()是一個(gè)激活函數(shù),W是權(quán)重矩陣,b是偏置向量。每一層都是通過該公式簡單的得到輸出Y。
數(shù)學(xué)理解
通過如下5種對(duì)輸入空間(輸入向量的集合)的操作,完成輸入空間—>輸出空間的變換(矩陣的行空間到列空間)。
注:用“空間”二字是指被分類的并不是單個(gè)事物,而是一類事物。空間是指這類事物所有個(gè)體的集合。
升維/降維
放大/縮小
旋轉(zhuǎn)
平移
“彎曲”
這5種操作中,1,2,3的操作由 W*X完成的,4的操作是由+b完成的,5的操作則是由 a()來實(shí)現(xiàn)。
每層的數(shù)學(xué)理解:
用線性變換跟隨著非線性變化,將輸入空間投向另一個(gè)空間。11
物理理解
對(duì) W*X的理解就是通過組合形成新物質(zhì),a()又符合了我們所處的世界都是非線性的特點(diǎn)。
假想情景: X是二維向量,維度是碳原子和氧原子的數(shù)量 [C;O],數(shù)值且定為 [1;1]。若確定 Y是三維向量,就會(huì)形成如下網(wǎng)絡(luò)的形狀 (神經(jīng)網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)表示一個(gè)維度)。通過改變權(quán)重的值,可以獲得若干個(gè)不同物質(zhì)。右側(cè)的節(jié)點(diǎn)數(shù)決定了想要獲得多少種不同的新物質(zhì)(矩陣的行數(shù))。
若權(quán)重 W 的數(shù)值如(1),那么網(wǎng)絡(luò)的輸出Y就會(huì)是三個(gè)新物質(zhì),[二氧化碳,臭氧,一氧化碳]。
若減少右側(cè)的一個(gè)節(jié)點(diǎn),并改變權(quán)重 W 至(2),那輸出Y就會(huì)是兩個(gè)新物質(zhì), [ O_{0.3} ;CO_{1.5}]。
若再加一層,就是再次通過組合 [CO2;O3;CO] 這三種基礎(chǔ)物質(zhì),形成若干個(gè)更高層的物質(zhì)。
若希望通過層網(wǎng)絡(luò)能夠從[C, O]空間轉(zhuǎn)變到 [CO2;O3;CO]空間的話,那么網(wǎng)絡(luò)的學(xué)習(xí)過程就是將 W 的數(shù)值變成盡可能接近(1)的過程 。
重要的是這種組合思想,組合成的東西在神經(jīng)網(wǎng)絡(luò)中并不需要有物理意義,可以是抽象概念。
每層神經(jīng)網(wǎng)絡(luò)的物理理解:
通過現(xiàn)有的不同物質(zhì)的組合形成新物質(zhì)。11
二、理解角度
現(xiàn)在我們知道了每一層的行為,但這種行為又是如何完成識(shí)別任務(wù)的呢?
數(shù)學(xué)視角:“線性可分”
一維情景
以分類為例,當(dāng)要分類正數(shù)、負(fù)數(shù)、零,三類的時(shí)候,一維空間的直線可以找到兩個(gè)超平面(比當(dāng)前空間低一維的子空間。當(dāng)前空間是平面的話,超平面就是點(diǎn))分割這三類。但面對(duì)像分類奇數(shù)和偶數(shù)無法找到可以區(qū)分它們的點(diǎn)的時(shí)候,我們借助 x % 2(除2取余)的轉(zhuǎn)變,把x變換到另一個(gè)空間下來比較0和非0,從而分割奇偶數(shù)。
二維情景
平面的四個(gè)象限也是線性可分。但下圖的紅藍(lán)兩條線就無法找到一超平面去分割。
神經(jīng)網(wǎng)絡(luò)的解決方法依舊是轉(zhuǎn)換到另外一個(gè)空間下,用的是所說的5種空間變換操作。比如下圖就是經(jīng)過放大、平移、旋轉(zhuǎn)、扭曲原二維空間后,在三維空間下就可以成功找到一個(gè)超平面分割紅藍(lán)兩線 (同SVM的思路一樣)。
上面是一層神經(jīng)網(wǎng)絡(luò)可以做到的空間變化。若把Y當(dāng)做新的輸入再次用這5種操作進(jìn)行第二遍空間變換的話,網(wǎng)絡(luò)也就變?yōu)榱硕?。最終輸出是:
Y=a2(W2*(a1*(W1*X +b1))+b2)11
設(shè)想當(dāng)網(wǎng)絡(luò)擁有很多層時(shí),對(duì)原始輸入空間的“扭曲力”會(huì)大幅增加,如下圖,最終我們可以輕松找到一個(gè)超平面分割空間。
該Gif圖太大,無法上傳,請(qǐng)讀者自行想象空間變換
當(dāng)然也有如下圖失敗的時(shí)候,關(guān)鍵在于“如何扭曲空間”。所謂監(jiān)督學(xué)習(xí)就是給予神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)大量的訓(xùn)練例子,讓網(wǎng)絡(luò)從訓(xùn)練例子中學(xué)會(huì)如何變換空間。每一層的權(quán)重 W 就控制著如何變換空間,我們最終需要的也就是訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)的所有層的權(quán)重矩陣。這里有非常棒的可視化空間變換Demo,一定要打開嘗試并感受這種扭曲過程。 更多內(nèi)容請(qǐng)看Neural Networks, Manifolds, and Topology.
線性可分視角:神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)就是學(xué)習(xí)如何利用矩陣的線性變換加激活函數(shù)的非線性變換,將原始輸入空間投向線性可分/稀疏的空間去分類/回歸。
增加節(jié)點(diǎn)數(shù):增加維度,即增加線性轉(zhuǎn)換能力。
增加層數(shù):增加激活函數(shù)的次數(shù),即增加非線性轉(zhuǎn)換次數(shù)。
物理視角:“物質(zhì)組成”
類比:
回想上文由碳氧原子通過不同組合形成若干分子的例子。若從分子層面繼續(xù)迭代這種組合思想,可以形成DNA,細(xì)胞,組織,器官,最終可以形成一個(gè)完整的人。繼續(xù)迭代還會(huì)有家庭,公司,國家等。這種現(xiàn)象在身邊隨處可見。并且原子的內(nèi)部結(jié)構(gòu)與太陽系又驚人的相似。不同層級(jí)之間都是以類似的幾種規(guī)則再不斷形成新物質(zhì)。你也可能聽過分形學(xué)這三個(gè)字。可通過觀看從1米到150億光年來感受自然界這種層級(jí)現(xiàn)象的普遍性。
人臉識(shí)別情景:
我們可以模擬這種思想并應(yīng)用在畫面識(shí)別上。由像素組成菱角,再組成五官,最后到不同的人臉。每一層代表不同的物質(zhì)層面 (如分子層)。每層的 W存儲(chǔ)著如何組合上一層的物質(zhì)從而形成若干新物質(zhì)。 如果我們完全掌握一架飛機(jī)是如何從分子開始一層一層形成的,拿到一堆分子后,我們就可以判斷他們是否可以以此形成方式,形成一架飛機(jī)。 附:Tensorflow playground展示了數(shù)據(jù)是如何“流動(dòng)”的?!?
物質(zhì)組成視角:神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程就是學(xué)習(xí)物質(zhì)組成方式的過程。
增加節(jié)點(diǎn)數(shù):增加同一層物質(zhì)的種類,比如118個(gè)元素的原子層就有118個(gè)節(jié)點(diǎn)。
增加層數(shù):增加更多層級(jí),比如分子層,原子層,器官層,并通過判斷更抽象的概念來識(shí)別物體。
三、“深層”的思考:真的只有這些原因嗎?
按照上文在理解視角中所述的觀點(diǎn),可以想出下面兩條理由關(guān)于為什么更深的網(wǎng)絡(luò)會(huì)更加容易識(shí)別,增加容納變異體(variation)(紅蘋果、綠蘋果)的能力、魯棒性(robust)。
數(shù)學(xué)視角:變異體(variation)很多的分類的任務(wù)需要高度非線性的分割曲線。不斷的利用那5種空間變換操作將原始輸入空間像“捏橡皮泥一樣”在高維空間下捏成更為線性可分/稀疏的形狀:可視化空間變換。
物理視角:通過對(duì)“抽象概念”的判斷來識(shí)別物體,而非細(xì)節(jié)。比如對(duì)“飛機(jī)”的判斷,即便人類自己也無法用語言或者若干條規(guī)則來解釋自己如何判斷一個(gè)飛機(jī)。因?yàn)槿四X中真正判斷的不是是否“有機(jī)翼”、“能飛行”等細(xì)節(jié)現(xiàn)象,而是一個(gè)抽象概念。層數(shù)越深,這種概念就越抽象,所能涵蓋的變異體就越多,就可以容納戰(zhàn)斗機(jī),客機(jī)等很多種不同種類的飛機(jī)。
然而深層神經(jīng)網(wǎng)絡(luò)的驚人表現(xiàn)真的只有這些原因嗎? 為什么神經(jīng)網(wǎng)絡(luò)過深后,預(yù)測的表現(xiàn)又變差? 而且這時(shí)變差的原因是由于“過深”嗎?(何凱明老師已經(jīng)有給出詳細(xì)解釋,有空我把深度殘差網(wǎng)絡(luò)總結(jié)給貼出來>=·=<)
評(píng)論