新聞中心

EEPW首頁 > 智能計算 > 牛人業(yè)話 > Deep Learning(深度學習)神經(jīng)網(wǎng)絡(luò)為啥可以識別呢?

Deep Learning(深度學習)神經(jīng)網(wǎng)絡(luò)為啥可以識別呢?

作者: 時間:2017-06-16 來源:網(wǎng)絡(luò) 收藏

  今天看到一些感興趣的東西,現(xiàn)在總結(jié)了給大家分享一下,如果有錯,希望大家指正批評,謝謝!那就開始進入正題。

本文引用地址:http://m.butianyuan.cn/article/201706/360625.htm

  先從簡單的說起來吧!

  一、基本變換:層

  一般的是由一層一層堆疊而成的,但是每層究竟在做啥呢?

  我從三個方面述說一下:

  數(shù)學公式

  Y=a*(W*X+b)11

  其中Y是輸出量,X是輸入量,a()是一個激活函數(shù),W是權(quán)重矩陣,b是偏置向量。每一層都是通過該公式簡單的得到輸出Y。

  數(shù)學理解

  通過如下5種對輸入空間(輸入向量的集合)的操作,完成輸入空間—>輸出空間的變換(矩陣的行空間到列空間)。

  注:用“空間”二字是指被分類的并不是單個事物,而是一類事物。空間是指這類事物所有個體的集合。

  升維/降維

  放大/縮小

  旋轉(zhuǎn)

  平移

  “彎曲”

這里寫圖片描述

  這5種操作中,1,2,3的操作由 W*X完成的,4的操作是由+b完成的,5的操作則是由 a()來實現(xiàn)。

  每層的數(shù)學理解:

  用線性變換跟隨著非線性變化,將輸入空間投向另一個空間。11

  物理理解

  對 W*X的理解就是通過組合形成新物質(zhì),a()又符合了我們所處的世界都是非線性的特點。

  假想情景: X是二維向量,維度是碳原子和氧原子的數(shù)量 [C;O],數(shù)值且定為 [1;1]。若確定 Y是三維向量,就會形成如下網(wǎng)絡(luò)的形狀 (的每個節(jié)點表示一個維度)。通過改變權(quán)重的值,可以獲得若干個不同物質(zhì)。右側(cè)的節(jié)點數(shù)決定了想要獲得多少種不同的新物質(zhì)(矩陣的行數(shù))。


這里寫圖片描述


  若權(quán)重 W 的數(shù)值如(1),那么網(wǎng)絡(luò)的輸出Y就會是三個新物質(zhì),[二氧化碳,臭氧,一氧化碳]。

  若減少右側(cè)的一個節(jié)點,并改變權(quán)重 W 至(2),那輸出Y就會是兩個新物質(zhì), [ O_{0.3} ;CO_{1.5}]。

  若再加一層,就是再次通過組合 [CO2;O3;CO] 這三種基礎(chǔ)物質(zhì),形成若干個更高層的物質(zhì)。

  若希望通過層網(wǎng)絡(luò)能夠從[C, O]空間轉(zhuǎn)變到 [CO2;O3;CO]空間的話,那么網(wǎng)絡(luò)的學習過程就是將 W 的數(shù)值變成盡可能接近(1)的過程 。

  重要的是這種組合思想,組合成的東西在中并不需要有物理意義,可以是抽象概念。


這里寫圖片描述


  每層神經(jīng)網(wǎng)絡(luò)的物理理解:

  通過現(xiàn)有的不同物質(zhì)的組合形成新物質(zhì)。11

  二、理解角度

  現(xiàn)在我們知道了每一層的行為,但這種行為又是如何完成識別任務的呢?

  數(shù)學視角:“線性可分”

  一維情景

  以分類為例,當要分類正數(shù)、負數(shù)、零,三類的時候,一維空間的直線可以找到兩個超平面(比當前空間低一維的子空間。當前空間是平面的話,超平面就是點)分割這三類。但面對像分類奇數(shù)和偶數(shù)無法找到可以區(qū)分它們的點的時候,我們借助 x % 2(除2取余)的轉(zhuǎn)變,把x變換到另一個空間下來比較0和非0,從而分割奇偶數(shù)。


這里寫圖片描述


  二維情景

  平面的四個象限也是線性可分。但下圖的紅藍兩條線就無法找到一超平面去分割。


這里寫圖片描述


  神經(jīng)網(wǎng)絡(luò)的解決方法依舊是轉(zhuǎn)換到另外一個空間下,用的是所說的5種空間變換操作。比如下圖就是經(jīng)過放大、平移、旋轉(zhuǎn)、扭曲原二維空間后,在三維空間下就可以成功找到一個超平面分割紅藍兩線 (同SVM的思路一樣)。


這里寫圖片描述


  上面是一層神經(jīng)網(wǎng)絡(luò)可以做到的空間變化。若把Y當做新的輸入再次用這5種操作進行第二遍空間變換的話,網(wǎng)絡(luò)也就變?yōu)榱硕印W罱K輸出是:

  Y=a2(W2*(a1*(W1*X +b1))+b2)11

  設(shè)想當網(wǎng)絡(luò)擁有很多層時,對原始輸入空間的“扭曲力”會大幅增加,如下圖,最終我們可以輕松找到一個超平面分割空間。


該Gif圖太大,無法上傳,請讀者自行想象空間變換


  該Gif圖太大,無法上傳,請讀者自行想象空間變換

  當然也有如下圖失敗的時候,關(guān)鍵在于“如何扭曲空間”。所謂監(jiān)督學習就是給予神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)大量的訓練例子,讓網(wǎng)絡(luò)從訓練例子中學會如何變換空間。每一層的權(quán)重 W 就控制著如何變換空間,我們最終需要的也就是訓練好的神經(jīng)網(wǎng)絡(luò)的所有層的權(quán)重矩陣。這里有非常棒的可視化空間變換Demo,一定要打開嘗試并感受這種扭曲過程。 更多內(nèi)容請看Neural Networks, Manifolds, and Topology.

  線性可分視角:神經(jīng)網(wǎng)絡(luò)的學習就是學習如何利用矩陣的線性變換加激活函數(shù)的非線性變換,將原始輸入空間投向線性可分/稀疏的空間去分類/回歸。

  增加節(jié)點數(shù):增加維度,即增加線性轉(zhuǎn)換能力。

  增加層數(shù):增加激活函數(shù)的次數(shù),即增加非線性轉(zhuǎn)換次數(shù)。

  物理視角:“物質(zhì)組成”

  類比:

  回想上文由碳氧原子通過不同組合形成若干分子的例子。若從分子層面繼續(xù)迭代這種組合思想,可以形成DNA,細胞,組織,器官,最終可以形成一個完整的人。繼續(xù)迭代還會有家庭,公司,國家等。這種現(xiàn)象在身邊隨處可見。并且原子的內(nèi)部結(jié)構(gòu)與太陽系又驚人的相似。不同層級之間都是以類似的幾種規(guī)則再不斷形成新物質(zhì)。你也可能聽過分形學這三個字。可通過觀看從1米到150億光年來感受自然界這種層級現(xiàn)象的普遍性。


這里寫圖片描述


  人臉識別情景:

  我們可以模擬這種思想并應用在畫面識別上。由像素組成菱角,再組成五官,最后到不同的人臉。每一層代表不同的物質(zhì)層面 (如分子層)。每層的 W存儲著如何組合上一層的物質(zhì)從而形成若干新物質(zhì)。 如果我們完全掌握一架飛機是如何從分子開始一層一層形成的,拿到一堆分子后,我們就可以判斷他們是否可以以此形成方式,形成一架飛機。 附:Tensorflow playground展示了數(shù)據(jù)是如何“流動”的?!? 

這里寫圖片描述

  物質(zhì)組成視角:神經(jīng)網(wǎng)絡(luò)的學習過程就是學習物質(zhì)組成方式的過程。

  增加節(jié)點數(shù):增加同一層物質(zhì)的種類,比如118個元素的原子層就有118個節(jié)點。

  增加層數(shù):增加更多層級,比如分子層,原子層,器官層,并通過判斷更抽象的概念來識別物體。

  三、“深層”的思考:真的只有這些原因嗎?

  按照上文在理解視角中所述的觀點,可以想出下面兩條理由關(guān)于為什么更深的網(wǎng)絡(luò)會更加容易識別,增加容納變異體(variation)(紅蘋果、綠蘋果)的能力、魯棒性(robust)。

  數(shù)學視角:變異體(variation)很多的分類的任務需要高度非線性的分割曲線。不斷的利用那5種空間變換操作將原始輸入空間像“捏橡皮泥一樣”在高維空間下捏成更為線性可分/稀疏的形狀:可視化空間變換。

  物理視角:通過對“抽象概念”的判斷來識別物體,而非細節(jié)。比如對“飛機”的判斷,即便人類自己也無法用語言或者若干條規(guī)則來解釋自己如何判斷一個飛機。因為人腦中真正判斷的不是是否“有機翼”、“能飛行”等細節(jié)現(xiàn)象,而是一個抽象概念。層數(shù)越深,這種概念就越抽象,所能涵蓋的變異體就越多,就可以容納戰(zhàn)斗機,客機等很多種不同種類的飛機。

  然而深層神經(jīng)網(wǎng)絡(luò)的驚人表現(xiàn)真的只有這些原因嗎? 為什么神經(jīng)網(wǎng)絡(luò)過深后,預測的表現(xiàn)又變差? 而且這時變差的原因是由于“過深”嗎?(何凱明老師已經(jīng)有給出詳細解釋,有空我把深度殘差網(wǎng)絡(luò)總結(jié)給貼出來>=·=<)










評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉