Deep Learning(深度學(xué)習(xí))學(xué)習(xí)筆記整理系列
作者: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)?。U?qǐng)聯(lián)系:zouxy09@qq.com
目錄:
六、淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(Deep Learning)
七、Deep learning與Neural Network
8.1、傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法
8.2、deep learning訓(xùn)練過(guò)程
9.3、Restricted Boltzmann Machine(RBM)限制波爾茲曼機(jī)
9.4、Deep BeliefNetworks深信度網(wǎng)絡(luò)
9.5、Convolutional Neural Networks卷積神經(jīng)網(wǎng)絡(luò)
十一、參考文獻(xiàn)和Deep Learning學(xué)習(xí)資源
一、概述
Artificial Intelligence,也就是人工智能,就像長(zhǎng)生不老和星際漫游一樣,是人類最美好的夢(mèng)想之一。雖然計(jì)算機(jī)技術(shù)已經(jīng)取得了長(zhǎng)足的進(jìn)步,但是到目前為止,還沒(méi)有一臺(tái)電腦能產(chǎn)生“自我”的意識(shí)。是的,在人類和大量現(xiàn)成數(shù)據(jù)的幫助下,電腦可以表現(xiàn)的十分強(qiáng)大,但是離開(kāi)了這兩者,它甚至都不能分辨一個(gè)喵星人和一個(gè)汪星人。
圖靈(圖靈,大家都知道吧。計(jì)算機(jī)和人工智能的鼻祖,分別對(duì)應(yīng)于其著名的“圖靈機(jī)”和“圖靈測(cè)試”)在 1950 年的論文里,提出圖靈試驗(yàn)的設(shè)想,即,隔墻對(duì)話,你將不知道與你談話的,是人還是電腦。這無(wú)疑給計(jì)算機(jī),尤其是人工智能,預(yù)設(shè)了一個(gè)很高的期望值。但是半個(gè)世紀(jì)過(guò)去了,人工智能的進(jìn)展,遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到圖靈試驗(yàn)的標(biāo)準(zhǔn)。這不僅讓多年翹首以待的人們,心灰意冷,認(rèn)為人工智能是忽悠,相關(guān)領(lǐng)域是“偽科學(xué)”。
但是自 2006 年以來(lái),機(jī)器學(xué)習(xí)領(lǐng)域,取得了突破性的進(jìn)展。圖靈試驗(yàn),至少不是那么可望而不可及了。至于技術(shù)手段,不僅僅依賴于云計(jì)算對(duì)大數(shù)據(jù)的并行處理能力,而且依賴于算法。這個(gè)算法就是,Deep Learning。借助于 Deep Learning 算法,人類終于找到了如何處理“抽象概念”這個(gè)亙古難題的方法。
2012年6月,《紐約時(shí)報(bào)》披露了Google Brain項(xiàng)目,吸引了公眾的廣泛關(guān)注。這個(gè)項(xiàng)目是由著名的斯坦福大學(xué)的機(jī)器學(xué)習(xí)教授Andrew Ng和在大規(guī)模計(jì)算機(jī)系統(tǒng)方面的世界頂尖專家JeffDean共同主導(dǎo),用16000個(gè)CPU Core的并行計(jì)算平臺(tái)訓(xùn)練一種稱為“深度神經(jīng)網(wǎng)絡(luò)”(DNN,Deep Neural Networks)的機(jī)器學(xué)習(xí)模型(內(nèi)部共有10億個(gè)節(jié)點(diǎn)。這一網(wǎng)絡(luò)自然是不能跟人類的神經(jīng)網(wǎng)絡(luò)相提并論的。要知道,人腦中可是有150多億個(gè)神經(jīng)元,互相連接的節(jié)點(diǎn)也就是突觸數(shù)更是如銀河沙數(shù)。曾經(jīng)有人估算過(guò),如果將一個(gè)人的大腦中所有神經(jīng)細(xì)胞的軸突和樹(shù)突依次連接起來(lái),并拉成一根直線,可從地球連到月亮,再?gòu)脑铝练祷氐厍颍?,在語(yǔ)音識(shí)別和圖像識(shí)別等領(lǐng)域獲得了巨大的成功。
項(xiàng)目負(fù)責(zé)人之一Andrew稱:“我們沒(méi)有像通常做的那樣自己框定邊界,而是直接把海量數(shù)據(jù)投放到算法中,讓數(shù)據(jù)自己說(shuō)話,系統(tǒng)會(huì)自動(dòng)從數(shù)據(jù)中學(xué)習(xí)?!绷硗庖幻?fù)責(zé)人Jeff則說(shuō):“我們?cè)谟?xùn)練的時(shí)候從來(lái)不會(huì)告訴機(jī)器說(shuō):‘這是一只貓。’系統(tǒng)其實(shí)是自己發(fā)明或者領(lǐng)悟了“貓”的概念?!?/span>
2012年11月,微軟在中國(guó)天津的一次活動(dòng)上公開(kāi)演示了一個(gè)全自動(dòng)的同聲傳譯系統(tǒng),講演者用英文演講,后臺(tái)的計(jì)算機(jī)一氣呵成自動(dòng)完成語(yǔ)音識(shí)別、英中機(jī)器翻譯和中文語(yǔ)音合成,效果非常流暢。據(jù)報(bào)道,后面支撐的關(guān)鍵技術(shù)也是DNN,或者深度學(xué)習(xí)(DL,DeepLearning)。
2013年1月,在百度年會(huì)上,創(chuàng)始人兼CEO李彥宏高調(diào)宣布要成立百度研究院,其中第一個(gè)成立的就是“深度學(xué)習(xí)研究所”(IDL,Institue of Deep Learning)。
為什么擁有大數(shù)據(jù)的互聯(lián)網(wǎng)公司爭(zhēng)相投入大量資源研發(fā)深度學(xué)習(xí)技術(shù)。聽(tīng)起來(lái)感覺(jué)deeplearning很牛那樣。那什么是deep learning?為什么有deep learning?它是怎么來(lái)的?又能干什么呢?目前存在哪些困難呢?這些問(wèn)題的簡(jiǎn)答都需要慢慢來(lái)。咱們先來(lái)了解下機(jī)器學(xué)習(xí)(人工智能的核心)的背景。
二、背景
機(jī)器學(xué)習(xí)(Machine Learning)是一門專門研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改善自身的性能的學(xué)科。機(jī)器能否像人類一樣能具有學(xué)習(xí)能力呢?1959年美國(guó)的塞繆爾(Samuel)設(shè)計(jì)了一個(gè)下棋程序,這個(gè)程序具有學(xué)習(xí)能力,它可以在不斷的對(duì)弈中改善自己的棋藝。4年后,這個(gè)程序戰(zhàn)勝了設(shè)計(jì)者本人。又過(guò)了3年,這個(gè)程序戰(zhàn)勝了美國(guó)一個(gè)保持8年之久的常勝不敗的冠軍。這個(gè)程序向人們展示了機(jī)器學(xué)習(xí)的能力,提出了許多令人深思的社會(huì)問(wèn)題與哲學(xué)問(wèn)題(呵呵,人工智能正常的軌道沒(méi)有很大的發(fā)展,這些什么哲學(xué)倫理啊倒發(fā)展的挺快。什么未來(lái)機(jī)器越來(lái)越像人,人越來(lái)越像機(jī)器啊。什么機(jī)器會(huì)反人類啊,ATM是開(kāi)第一槍的啊等等。人類的思維無(wú)窮?。?。
機(jī)器學(xué)習(xí)雖然發(fā)展了幾十年,但還是存在很多沒(méi)有良好解決的問(wèn)題:
例如圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言理解、天氣預(yù)測(cè)、基因表達(dá)、內(nèi)容推薦等等。目前我們通過(guò)機(jī)器學(xué)習(xí)去解決這些問(wèn)題的思路都是這樣的(以視覺(jué)感知為例子):
從開(kāi)始的通過(guò)傳感器(例如CMOS)來(lái)獲得數(shù)據(jù)。然后經(jīng)過(guò)預(yù)處理、特征提取、特征選擇,再到推理、預(yù)測(cè)或者識(shí)別。最后一個(gè)部分,也就是機(jī)器學(xué)習(xí)的部分,絕大部分的工作是在這方面做的,也存在很多的paper和研究。
而中間的三部分,概括起來(lái)就是特征表達(dá)。良好的特征表達(dá),對(duì)最終算法的準(zhǔn)確性起了非常關(guān)鍵的作用,而且系統(tǒng)主要的計(jì)算和測(cè)試工作都耗在這一大部分。但,這塊實(shí)際中一般都是人工完成的??咳斯ぬ崛√卣?。
截止現(xiàn)在,也出現(xiàn)了不少NB的特征(好的特征應(yīng)具有不變性(大小、尺度和旋轉(zhuǎn)等)和可區(qū)分性):例如Sift的出現(xiàn),是局部圖像特征描述子研究領(lǐng)域一項(xiàng)里程碑式的工作。由于SIFT對(duì)尺度、旋轉(zhuǎn)以及一定視角和光照變化等圖像變化都具有不變性,并且SIFT具有很強(qiáng)的可區(qū)分性,的確讓很多問(wèn)題的解決變?yōu)榭赡?。但它也不是萬(wàn)能的。
然而,手工地選取特征是一件非常費(fèi)力、啟發(fā)式(需要專業(yè)知識(shí))的方法,能不能選取好很大程度上靠經(jīng)驗(yàn)和運(yùn)氣,而且它的調(diào)節(jié)需要大量的時(shí)間。既然手工選取特征不太好,那么能不能自動(dòng)地學(xué)習(xí)一些特征呢?答案是能!Deep Learning就是用來(lái)干這個(gè)事情的,看它的一個(gè)別名UnsupervisedFeature Learning,就可以顧名思義了,Unsupervised的意思就是不要人參與特征的選取過(guò)程。
那它是怎么學(xué)習(xí)的呢?怎么知道哪些特征好哪些不好呢?我們說(shuō)機(jī)器學(xué)習(xí)是一門專門研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為的學(xué)科。好,那我們?nèi)说囊曈X(jué)系統(tǒng)是怎么工作的呢?為什么在茫茫人海,蕓蕓眾生,滾滾紅塵中我們都可以找到另一個(gè)她(因?yàn)?,你存在我深深的腦海里,我的夢(mèng)里 我的心里 我的歌聲里……)。人腦那么NB,我們能不能參考人腦,模擬人腦呢?(好像和人腦扯上點(diǎn)關(guān)系的特征啊,算法啊,都不錯(cuò),但不知道是不是人為強(qiáng)加的,為了使自己的作品變得神圣和高雅。)
近幾十年以來(lái),認(rèn)知神經(jīng)科學(xué)、生物學(xué)等等學(xué)科的發(fā)展,讓我們對(duì)自己這個(gè)神秘的而又神奇的大腦不再那么的陌生。也給人工智能的發(fā)展推波助瀾。
三、人腦視覺(jué)機(jī)理
1981 年的諾貝爾醫(yī)學(xué)獎(jiǎng),頒發(fā)給了 David Hubel(出生于加拿大的美國(guó)神經(jīng)生物學(xué)家) 和TorstenWiesel,以及 Roger Sperry。前兩位的主要貢獻(xiàn),是“發(fā)現(xiàn)了視覺(jué)系統(tǒng)的信息處理”:可視皮層是分級(jí)的:
我們看看他們做了什么。1958 年,DavidHubel 和Torsten Wiesel 在 JohnHopkins University,研究瞳孔區(qū)域與大腦皮層神經(jīng)元的對(duì)應(yīng)關(guān)系。他們?cè)谪埖暮竽X頭骨上,開(kāi)了一個(gè)3 毫米的小洞,向洞里插入電極,測(cè)量神經(jīng)元的活躍程度。
然后,他們?cè)谛∝埖难矍埃宫F(xiàn)各種形狀、各種亮度的物體。并且,在展現(xiàn)每一件物體時(shí),還改變物體放置的位置和角度。他們期望通過(guò)這個(gè)辦法,讓小貓瞳孔感受不同類型、不同強(qiáng)弱的刺激。
之所以做這個(gè)試驗(yàn),目的是去證明一個(gè)猜測(cè)。位于后腦皮層的不同視覺(jué)神經(jīng)元,與瞳孔所受刺激之間,存在某種對(duì)應(yīng)關(guān)系。一旦瞳孔受到某一種刺激,后腦皮層的某一部分神經(jīng)元就會(huì)活躍。經(jīng)歷了很多天反復(fù)的枯燥的試驗(yàn),同時(shí)犧牲了若干只可憐的小貓,David Hubel 和Torsten Wiesel 發(fā)現(xiàn)了一種被稱為“方向選擇性細(xì)胞(Orientation Selective Cell)”的神經(jīng)元細(xì)胞。當(dāng)瞳孔發(fā)現(xiàn)了眼前的物體的邊緣,而且這個(gè)邊緣指向某個(gè)方向時(shí),這種神經(jīng)元細(xì)胞就會(huì)活躍。
這個(gè)發(fā)現(xiàn)激發(fā)了人們對(duì)于神經(jīng)系統(tǒng)的進(jìn)一步思考。神經(jīng)-中樞-大腦的工作過(guò)程,或許是一個(gè)不斷迭代、不斷抽象的過(guò)程。
這里的關(guān)鍵詞有兩個(gè),一個(gè)是抽象,一個(gè)是迭代。從原始信號(hào),做低級(jí)抽象,逐漸向高級(jí)抽象迭代。人類的邏輯思維,經(jīng)常使用高度抽象的概念。
例如,從原始信號(hào)攝入開(kāi)始(瞳孔攝入像素 Pixels),接著做初步處理(大腦皮層某些細(xì)胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定,眼前的物體的形狀,是圓形的),然后進(jìn)一步抽象(大腦進(jìn)一步判定該物體是只氣球)。
這個(gè)生理學(xué)的發(fā)現(xiàn),促成了計(jì)算機(jī)人工智能,在四十年后的突破性發(fā)展。
總的來(lái)說(shuō),人的視覺(jué)系統(tǒng)的信息處理是分級(jí)的。從低級(jí)的V1區(qū)提取邊緣特征,再到V2區(qū)的形狀或者目標(biāo)的部分等,再到更高層,整個(gè)目標(biāo)、目標(biāo)的行為等。也就是說(shuō)高層的特征是低層特征的組合,從低層到高層的特征表示越來(lái)越抽象,越來(lái)越能表現(xiàn)語(yǔ)義或者意圖。而抽象層面越高,存在的可能猜測(cè)就越少,就越利于分類。例如,單詞集合和句子的對(duì)應(yīng)是多對(duì)一的,句子和語(yǔ)義的對(duì)應(yīng)又是多對(duì)一的,語(yǔ)義和意圖的對(duì)應(yīng)還是多對(duì)一的,這是個(gè)層級(jí)體系。
敏感的人注意到關(guān)鍵詞了:分層。而Deep learning的deep是不是就表示我存在多少層,也就是多深呢?沒(méi)錯(cuò)。那Deep learning是如何借鑒這個(gè)過(guò)程的呢?畢竟是歸于計(jì)算機(jī)來(lái)處理,面對(duì)的一個(gè)問(wèn)題就是怎么對(duì)這個(gè)過(guò)程建模?
因?yàn)槲覀円獙W(xué)習(xí)的是特征的表達(dá),那么關(guān)于特征,或者說(shuō)關(guān)于這個(gè)層級(jí)特征,我們需要了解地更深入點(diǎn)。所以在說(shuō)Deep Learning之前,我們有必要再啰嗦下特征(呵呵,實(shí)際上是看到那么好的對(duì)特征的解釋,不放在這里有點(diǎn)可惜,所以就塞到這了)。
下續(xù)
聯(lián)系客服