分類: 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
Deep Learning(深度學(xué)習(xí))學(xué)習(xí)筆記整理系列
zouxy09@QQ.com
http://blog.csdn.net/zouxy09
作者:Zouxy
version 1.0 2013-04-08
聲明:
1)該Deep Learning的學(xué)習(xí)系列是整理自網(wǎng)上很大牛和機(jī)器學(xué)習(xí)專家所無(wú)私奉獻(xiàn)的資料的。具體引用的資料請(qǐng)看參考文獻(xiàn)。具體的版本聲明也參考原文獻(xiàn)。
2)本文僅供學(xué)術(shù)交流,非商用。所以每一部分具體的參考資料并沒(méi)有詳細(xì)對(duì)應(yīng)。如果某部分不小心侵犯了大家的利益,還望海涵,并聯(lián)系博主刪除。
3)本人才疏學(xué)淺,整理總結(jié)的時(shí)候難免出錯(cuò),還望各位前輩不吝指正,謝謝。
4)閱讀本文需要機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺(jué)、神經(jīng)網(wǎng)絡(luò)等等基礎(chǔ)(如果沒(méi)有也沒(méi)關(guān)系了,沒(méi)有就看看,能不能看懂,呵呵)。
5)此屬于第一版本,若有錯(cuò)誤,還需繼續(xù)修正與增刪。還望大家多多指點(diǎn)。大家都共享一點(diǎn)點(diǎn),一起為祖國(guó)科研的推進(jìn)添磚加瓦(呵呵,好高尚的目標(biāo)啊)。請(qǐng)聯(lián)系:zouxy09@qq.com
目錄:
一、概述
二、背景
三、人腦視覺(jué)機(jī)理
四、關(guān)于特征
4.1、特征表示的粒度
4.2、初級(jí)(淺層)特征表示
4.3、結(jié)構(gòu)性特征表示
4.4、需要有多少個(gè)特征?
五、Deep Learning的基本思想
六、淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(Deep Learning)
七、Deep learning與Neural Network
八、Deep learning訓(xùn)練過(guò)程
8.1、傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法
8.2、deep learning訓(xùn)練過(guò)程
九、Deep Learning的常用模型或者方法
9.1、AutoEncoder自動(dòng)編碼器
9.2、Sparse Coding稀疏編碼
9.3、Restricted Boltzmann Machine(RBM)限制波爾茲曼機(jī)
9.4、Deep BeliefNetworks深信度網(wǎng)絡(luò)
9.5、Convolutional Neural Networks卷積神經(jīng)網(wǎng)絡(luò)
十、總結(jié)與展望
十一、參考文獻(xiàn)和Deep Learning學(xué)習(xí)資源
接上
因?yàn)槲覀円獙W(xué)習(xí)的是特征的表達(dá),那么關(guān)于特征,或者說(shuō)關(guān)于這個(gè)層級(jí)特征,我們需要了解地更深入點(diǎn)。所以在說(shuō)Deep Learning之前,我們有必要再啰嗦下特征(呵呵,實(shí)際上是看到那么好的對(duì)特征的解釋,不放在這里有點(diǎn)可惜,所以就塞到這了)。
四、關(guān)于特征
特征是機(jī)器學(xué)習(xí)系統(tǒng)的原材料,對(duì)最終模型的影響是毋庸置疑的。如果數(shù)據(jù)被很好的表達(dá)成了特征,通常線性模型就能達(dá)到滿意的精度。那對(duì)于特征,我們需要考慮什么呢?
4.1、特征表示的粒度
學(xué)習(xí)算法在一個(gè)什么粒度上的特征表示,才有能發(fā)揮作用?就一個(gè)圖片來(lái)說(shuō),像素級(jí)的特征根本沒(méi)有價(jià)值。例如下面的摩托車,從像素級(jí)別,根本得不到任何信息,其無(wú)法進(jìn)行摩托車和非摩托車的區(qū)分。而如果特征是一個(gè)具有結(jié)構(gòu)性(或者說(shuō)有含義)的時(shí)候,比如是否具有車把手(handle),是否具有車輪(wheel),就很容易把摩托車和非摩托車區(qū)分,學(xué)習(xí)算法才能發(fā)揮作用。


4.2、初級(jí)(淺層)特征表示
既然像素級(jí)的特征表示方法沒(méi)有作用,那怎樣的表示才有用呢?
1995 年前后,Bruno Olshausen和 David Field 兩位學(xué)者任職 Cornell University,他們?cè)噲D同時(shí)用生理學(xué)和計(jì)算機(jī)的手段,雙管齊下,研究視覺(jué)問(wèn)題。
他們收集了很多黑白風(fēng)景照片,從這些照片中,提取出400個(gè)小碎片,每個(gè)照片碎片的尺寸均為 16x16 像素,不妨把這400個(gè)碎片標(biāo)記為 S[i], i = 0,.. 399。接下來(lái),再?gòu)倪@些黑白風(fēng)景照片中,隨機(jī)提取另一個(gè)碎片,尺寸也是 16x16 像素,不妨把這個(gè)碎片標(biāo)記為 T。
他們提出的問(wèn)題是,如何從這400個(gè)碎片中,選取一組碎片,S[k], 通過(guò)疊加的辦法,合成出一個(gè)新的碎片,而這個(gè)新的碎片,應(yīng)當(dāng)與隨機(jī)選擇的目標(biāo)碎片 T,盡可能相似,同時(shí),S[k] 的數(shù)量盡可能少。用數(shù)學(xué)的語(yǔ)言來(lái)描述,就是:
Sum_k (a[k] * S[k]) --> T, 其中 a[k] 是在疊加碎片 S[k] 時(shí)的權(quán)重系數(shù)。
為解決這個(gè)問(wèn)題,Bruno Olshausen和 David Field 發(fā)明了一個(gè)算法,稀疏編碼(Sparse Coding)。
稀疏編碼是一個(gè)重復(fù)迭代的過(guò)程,每次迭代分兩步:
1)選擇一組 S[k],然后調(diào)整 a[k],使得Sum_k (a[k] * S[k]) 最接近 T。
2)固定住 a[k],在 400 個(gè)碎片中,選擇其它更合適的碎片S’[k],替代原先的 S[k],使得Sum_k (a[k] * S’[k]) 最接近 T。
經(jīng)過(guò)幾次迭代后,最佳的 S[k] 組合,被遴選出來(lái)了。令人驚奇的是,被選中的 S[k],基本上都是照片上不同物體的邊緣線,這些線段形狀相似,區(qū)別在于方向。
Bruno Olshausen和 David Field 的算法結(jié)果,與 David Hubel 和Torsten Wiesel 的生理發(fā)現(xiàn),不謀而合!
也就是說(shuō),復(fù)雜圖形,往往由一些基本結(jié)構(gòu)組成。比如下圖:一個(gè)圖可以通過(guò)用64種正交的edges(可以理解成正交的基本結(jié)構(gòu))來(lái)線性表示。比如樣例的x可以用1-64個(gè)edges中的三個(gè)按照0.8,0.3,0.5的權(quán)重調(diào)和而成。而其他基本edge沒(méi)有貢獻(xiàn),因此均為0 。

另外,大牛們還發(fā)現(xiàn),不僅圖像存在這個(gè)規(guī)律,聲音也存在。他們從未標(biāo)注的聲音中發(fā)現(xiàn)了20種基本的聲音結(jié)構(gòu),其余的聲音可以由這20種基本結(jié)構(gòu)合成。


4.3、結(jié)構(gòu)性特征表示
小塊的圖形可以由基本edge構(gòu)成,更結(jié)構(gòu)化,更復(fù)雜的,具有概念性的圖形如何表示呢?這就需要更高層次的特征表示,比如V2,V4。因此V1看像素級(jí)是像素級(jí)。V2看V1是像素級(jí),這個(gè)是層次遞進(jìn)的,高層表達(dá)由底層表達(dá)的組合而成。專業(yè)點(diǎn)說(shuō)就是基basis。V1取提出的basis是邊緣,然后V2層是V1層這些basis的組合,這時(shí)候V2區(qū)得到的又是高一層的basis。即上一層的basis組合的結(jié)果,上上層又是上一層的組合basis……(所以有大牛說(shuō)Deep learning就是“搞基”,因?yàn)殡y聽(tīng),所以美其名曰Deep learning或者Unsupervised Feature Learning)

直觀上說(shuō),就是找到make sense的小patch再將其進(jìn)行combine,就得到了上一層的feature,遞歸地向上learning feature。
在不同object上做training是,所得的edge basis 是非常相似的,但object parts和models 就會(huì)completely different了(那咱們分辨car或者face是不是容易多了):

從文本來(lái)說(shuō),一個(gè)doc表示什么意思?我們描述一件事情,用什么來(lái)表示比較合適?用一個(gè)一個(gè)字嘛,我看不是,字就是像素級(jí)別了,起碼應(yīng)該是term,換句話說(shuō)每個(gè)doc都由term構(gòu)成,但這樣表示概念的能力就夠了嘛,可能也不夠,需要再上一步,達(dá)到topic級(jí),有了topic,再到doc就合理。但每個(gè)層次的數(shù)量差距很大,比如doc表示的概念->topic(千-萬(wàn)量級(jí))->term(10萬(wàn)量級(jí))->Word(百萬(wàn)量級(jí))。
一個(gè)人在看一個(gè)doc的時(shí)候,眼睛看到的是word,由這些word在大腦里自動(dòng)切詞形成term,在按照概念組織的方式,先驗(yàn)的學(xué)習(xí),得到topic,然后再進(jìn)行高層次的learning。
4.4、需要有多少個(gè)特征?
我們知道需要層次的特征構(gòu)建,由淺入深,但每一層該有多少個(gè)特征呢?
任何一種方法,特征越多,給出的參考信息就越多,準(zhǔn)確性會(huì)得到提升。但特征多意味著計(jì)算復(fù)雜,探索的空間大,可以用來(lái)訓(xùn)練的數(shù)據(jù)在每個(gè)特征上就會(huì)稀疏,都會(huì)帶來(lái)各種問(wèn)題,并不一定特征越多越好。

好了,到了這一步,終于可以聊到Deep learning了。上面我們聊到為什么會(huì)有Deep learning(讓機(jī)器自動(dòng)學(xué)習(xí)良好的特征,而免去人工選取過(guò)程。還有參考人的分層視覺(jué)處理系統(tǒng)),我們得到一個(gè)結(jié)論就是Deep learning需要多層來(lái)獲得更抽象的特征表達(dá)。那么多少層才合適呢?用什么架構(gòu)來(lái)建模呢?怎么進(jìn)行非監(jiān)督訓(xùn)練呢?
下續(xù)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注