

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、機器人的學習研究進展:深度學習及應(yīng)用,內(nèi) 容,1.深度學習概述 2.深度學習應(yīng)用研究,1.深度學習概述,1.1 概述1.2 背景1.3 人腦視覺機理1.4 關(guān)于特征1.5 深度學習的基本思想1.6 淺層學習(Shallow Learning)和深度學習(Deep Learning),1.深度學習概述,1.7 Deep learning與Neural Network1.8 Deep learning訓練過程1.9 Dee
2、p Learning的常用模型或者方法,1.1 概述,Artificial Intelligence,也就是人工智能,就像長生不老和星際漫游一樣,是人類最美好的夢想之一。雖然計算機技術(shù)已經(jīng)取得了長足的進步,但是到目前為止,還沒有一臺電腦能產(chǎn)生“自我”的意識。的確如此,在人類和大量現(xiàn)成數(shù)據(jù)的幫助下,電腦可以表現(xiàn)的十分強大,但是離開了這兩者,它甚至都不能分辨一個喵星人和一個汪星人。,1.1 概述,圖靈(計算機和人工智能的鼻祖,分別對應(yīng)于
3、其著名的“圖靈機”和“圖靈測試”)在 1950 年的論文里,提出圖靈試驗的設(shè)想,即,隔墻對話,你將不知道與你談話的,是人還是電腦。這無疑給計算機,尤其是人工智能,預(yù)設(shè)了一個很高的期望值。但是半個世紀過去了,人工智能的進展,遠遠沒有達到圖靈試驗的標準。這不僅讓多年翹首以待的人們,心灰意冷,認為人工智能是忽悠,相關(guān)領(lǐng)域是“偽科學”。,1.1 概述,但是自 2006 年以來,機器學習領(lǐng)域,取得了突破性的進展。圖靈試驗,至少不是那么可望而不
4、可及了。至于技術(shù)手段,不僅僅依賴于云計算對大數(shù)據(jù)的并行處理能力,而且依賴于算法。這個算法就是,Deep Learning。借助于 Deep Learning 算法,人類終于找到了如何處理“抽象概念”這個亙古難題的方法。,1.1 概述,2012年6月,《紐約時報》披露了Google Brain項目,吸引了公眾的廣泛關(guān)注。這個項目是由著名的斯坦福大學的機器學習教授Andrew Ng和在大規(guī)模計算機系統(tǒng)方面的世界頂尖專家Jeff Dean
5、共同主導(dǎo),用16000個CPU Core的并行計算平臺訓練一種稱為“深度神經(jīng)網(wǎng)絡(luò)”(DNN,Deep Neural Networks)的機器學習模型(內(nèi)部共有10億個節(jié)點。,1.1 概述,這一網(wǎng)絡(luò)自然是不能跟人類的神經(jīng)網(wǎng)絡(luò)相提并論的。要知道,人腦中可是有150多億個神經(jīng)元,互相連接的節(jié)點也就是突觸數(shù)更是如銀河沙數(shù)。曾經(jīng)有人估算過,如果將一個人的大腦中所有神經(jīng)細胞的軸突和樹突依次連接起來,并拉成一根直線,可從地球連到月亮,再從月亮返回地球
6、)?!吧疃壬窠?jīng)網(wǎng)絡(luò)”在語音識別和圖像識別等領(lǐng)域獲得了巨大的成功。,1.1 概述,項目負責人之一Andrew稱:“我們沒有像通常做的那樣自己框定邊界,而是直接把海量數(shù)據(jù)投放到算法中,讓數(shù)據(jù)自己說話,系統(tǒng)會自動從數(shù)據(jù)中學習。”另外一名負責人Jeff則說:“我們在訓練的時候從來不會告訴機器說:‘這是一只貓?!到y(tǒng)其實是自己發(fā)明或者領(lǐng)悟了“貓”的概念?!?1.1 概述,2012年11月,微軟在中國天津的一次活動上公開演示了一個全自動的同聲傳
7、譯系統(tǒng),講演者用英文演講,后臺的計算機一氣呵成自動完成語音識別、英中機器翻譯和中文語音合成,效果非常流暢。據(jù)報道,后面支撐的關(guān)鍵技術(shù)也是DNN,或者深度學習(DL,DeepLearning)。2013年1月,在百度年會上,創(chuàng)始人兼CEO李彥宏高調(diào)宣布要成立百度研究院,其中第一個成立的就是“深度學習研究所”(IDL,Institue of Deep Learning)。,1.1 概述,為什么擁有大數(shù)據(jù)的互聯(lián)網(wǎng)公司爭相投入大量資源研發(fā)深
8、度學習技術(shù)。聽起來感覺deeplearning很牛那樣。那什么是deep learning?為什么有deep learning?它是怎么來的?又能干什么呢?目前存在哪些困難呢?這些問題的簡答都需要慢慢來。咱們先來了解下機器學習(人工智能的核心)的背景。,1.2 背景,機器學習(Machine Learning)是一門專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的
9、性能的學科。1959年美國的塞繆爾(Samuel)設(shè)計了一個下棋程序,這個程序具有學習能力,它可以在不斷的對弈中改善自己的棋藝。4年后,這個程序戰(zhàn)勝了設(shè)計者本人。又過了3年,這個程序戰(zhàn)勝了美國一個保持8年之久的常勝不敗的冠軍。這個程序向人們展示了機器學習的能力,提出了許多令人深思的社會問題與哲學問題。,1.2 背景,機器學習雖然發(fā)展了幾十年,但還是存在很多沒有良好解決的問題:,1.2 背景,例如圖像識別、語音識別、自然語言理解、
10、天氣預(yù)測、基因表達、內(nèi)容推薦等等。目前我們通過機器學習去解決這些問題的思路都是這樣的(以視覺感知為例子):,1.2 背景,從開始的通過傳感器(例如CMOS)來獲得數(shù)據(jù)。然后經(jīng)過預(yù)處理、特征提取、特征選擇,再到推理、預(yù)測或者識別。最后一個部分,也就是機器學習的部分,絕大部分的工作是在這方面做的,也存在很多的學術(shù)論文和研究。而中間的三部分,概括起來就是特征表達。良好的特征表達,對最終算法的準確性起了非常關(guān)鍵的作用,而且系統(tǒng)主要的計算和測
11、試工作都耗在這一大部分。但是這塊實際中一般都是人工完成的,即靠人工提取特征。,1.2 背景,截止現(xiàn)在,也出現(xiàn)了不少優(yōu)秀特征表示方式(好的特征應(yīng)具有不變性(大小、尺度和旋轉(zhuǎn)等)和可區(qū)分性)。例如Sift的出現(xiàn),是局部圖像特征描述子研究領(lǐng)域一項里程碑式的工作。由于SIFT對尺度、旋轉(zhuǎn)以及一定視角和光照變化等圖像變化都具有不變性,并且SIFT具有很強的可區(qū)分性,的確讓很多問題的解決變?yōu)榭赡?。但它也不是萬能的。,1.2 背景,然而,手工地選
12、取特征是一件非常費力、啟發(fā)式(需要專業(yè)知識)的方法,能不能選取好很大程度上靠經(jīng)驗和運氣,而且它的調(diào)節(jié)需要大量的時間。既然手工選取特征不太好,那么能不能自動地學習一些特征呢?答案是能!Deep Learning就是用來干這個事情的,看它的一個別名Unsupervised Feature Learning,就可以顧名思義了,Unsupervised的意思就是不要人參與特征的選取過程。,1.2 背景,那它是怎么學習的呢?怎么知道哪些特征好
13、哪些不好呢?我們說機器學習是一門專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學習行為的學科。那人類的視覺系統(tǒng)是怎么工作的呢?為什么在茫茫人海,蕓蕓眾生,滾滾紅塵中我們都可以找到另一個她(因為,你存在我深深的腦海里,我的夢里、我的心里、我的歌聲里……)。,1.2 背景,人腦那么優(yōu)秀,我們能不能參考人腦,模擬人腦呢?(注:好像和人腦扯上點關(guān)系的特征、算法,都不錯,但不知道是不是人為強加的,為了使自己的研究變得神圣和高雅。)近幾十年以來,認知神
14、經(jīng)科學、生物學等等學科的發(fā)展,讓我們對自己這個神秘的而又神奇的大腦不再那么的陌生。也給人工智能的發(fā)展推波助瀾。,1.3 人腦視覺機理,1981年的諾貝爾醫(yī)學/生理學獎,頒發(fā)給了 David Hubel(出生于加拿大的美國神經(jīng)生物學家) 和Torsten Wiesel以及 Roger Sperry。前兩位的主要貢獻,是“發(fā)現(xiàn)了視覺系統(tǒng)的信息處理機制”,發(fā)現(xiàn)可視皮層是分級的。如“人見到蛇的情景”。,1.3 人腦視覺機理,我們看看他們做了什么
15、。1958 年,DavidHubel 和Torsten Wiesel 在 JohnHopkins University研究了瞳孔區(qū)域與大腦皮層神經(jīng)元的對應(yīng)關(guān)系。他們在貓的后腦頭骨上開了一個3 毫米的小洞,向洞里插入電極,測量神經(jīng)元的活躍程度。然后,他們在小貓的眼前,展現(xiàn)各種形狀、各種亮度的物體。并且,在展現(xiàn)每一件物體時,還改變物體放置的位置和角度。他們期望通過這個辦法,讓小貓瞳孔感受不同類型、不同強弱的刺激。,1.3 人腦視覺機理,
16、之所以做這個試驗,目的是去證明一個猜測:位于后腦皮層的不同視覺神經(jīng)元,與瞳孔所受刺激之間,存在某種對應(yīng)關(guān)系。一旦瞳孔受到某一種刺激,后腦皮層的某一部分神經(jīng)元就會活躍。經(jīng)歷了很多天反復(fù)的枯燥的試驗,同時犧牲了若干只可憐的小貓,David Hubel 和Torsten Wiesel 發(fā)現(xiàn)了一種被稱為“方向選擇性細胞(Orientation Selective Cell)”的神經(jīng)元細胞。當瞳孔發(fā)現(xiàn)了眼前的物體的邊緣,而且這個邊緣指向某個方
17、向時,這種神經(jīng)元細胞就會活躍。這個發(fā)現(xiàn)激發(fā)了人們對于神經(jīng)系統(tǒng)的進一步思考。神經(jīng)-中樞-大腦的工作過程,或許是一個不斷迭代、不斷抽象的過程。,1.3 人腦視覺機理,這里的關(guān)鍵詞有兩個,一個是抽象,一個是迭代。從原始信號,做低級抽象,逐漸向高級抽象迭代。人類的邏輯思維,經(jīng)常使用高度抽象的概念。例如,從原始信號攝入開始(瞳孔攝入像素 Pixels),接著做初步處理(大腦皮層某些細胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定,眼前的物體的形狀
18、,是圓形的),然后進一步抽象(大腦進一步判定該物體是只氣球)。再比如人臉識別,如下圖:,1.3 人腦視覺機理,這個生理學的發(fā)現(xiàn),促成了計算機人工智能在四十年后的突破性發(fā)展??偟膩碚f,人的視覺系統(tǒng)的信息處理是分級的。從低級的V1區(qū)提取邊緣特征,再到V2區(qū)的形狀或者目標的部分等,再到更高層,整個目標、目標的行為等。也就是說高層的特征是低層特征的組合,從低層到高層的特征表示越來越抽象,越來越能表現(xiàn)語義或者意圖。而抽象層面越高,存在
19、的可能猜測就越少,就越利于分類。例如,單詞集合和句子的對應(yīng)是多對一的,句子和語義的對應(yīng)又是多對一的,語義和意圖的對應(yīng)還是多對一的,這是個層級體系。,1.3 人腦視覺機理,敏感的人注意到這個關(guān)鍵詞了:分層。而Deep learning的deep是不是就表示我存在多少層,也就是多深呢?對。那Deep learning是如何借鑒這個過程的呢?畢竟是歸于計算機來處理,面對的一個問題就是怎么對這個過程進行建模?因為我們要學習的是特征的
20、表達,那么關(guān)于特征,或者說關(guān)于這個層級特征,我們需要了解地更深入點。所以在說Deep Learning之前,我們下面有必要解釋一下特征。,1.4 關(guān)于特征,特征是機器學習系統(tǒng)的原材料,對最終模型的影響是毋庸置疑的。如果數(shù)據(jù)被很好地表達成了特征,通常線性模型就能達到滿意的精度。那對于特征,我們需要考慮什么呢?,1.4 關(guān)于特征,1.4.1 特征表示的粒度1.4.2 初級(淺層)特征表示1.4.3 結(jié)構(gòu)性特征表示1.4.4 需
21、要有多少個特征,1.4.1 特征表示的粒度,學習算法在一個什么粒度上的特征表示,才有能發(fā)揮作用?就一個圖片來說,像素級的特征根本沒有價值。例如上面的摩托車,從像素級別,根本得不到任何信息,其無法進行摩托車和非摩托車的區(qū)分。,1.4.1 特征表示的粒度,而如果特征是一個具有結(jié)構(gòu)性(或者說有含義)的時候,比如是否具有車把手(handle),是否具有車輪(wheel),就很容易把摩托車和非摩托車區(qū)分開來,學習算法才能發(fā)揮作用。,1
22、.4.2 初級(淺層)特征表示,既然像素級的特征表示方法沒有作用,那怎樣的表示才有用呢?1995 年前后,Bruno Olshausen和 David Field 兩位學者任職 Cornell University,他們試圖同時用生理學和計算機的手段,雙管齊下,研究視覺問題。他們收集了很多黑白風景照片,從這些照片中,提取出400個小碎片,每個小碎片的尺寸均為 16x16 像素,不妨把這400個碎片標記為 S[i], i = 0,
23、.. 399。接下來,再從這些黑白風景照片中,隨機提取另一個碎片,尺寸也是 16x16 像素,不妨把這個碎片標記為 T。,1.4.2 初級(淺層)特征表示,他們提出的問題是,如何從這400個碎片中,選取一組碎片S[k], 通過疊加的辦法,合成出一個新的碎片,而這個新的碎片應(yīng)當與隨機選擇的目標碎片T盡可能相似,同時,S[k]的數(shù)量盡可能少。用數(shù)學的語言來描述,就是:Sum_k (a[k] * S[k]) --> T,
24、 其中 a[k] 是在疊加碎片 S[k] 時的權(quán)重系數(shù)。為解決這個問題,Bruno Olshausen和 David Field 發(fā)明了一個算法,稀疏編碼(Sparse Coding)。,1.4.2 初級(淺層)特征表示,稀疏編碼是一個重復(fù)迭代的過程,每次迭代分兩步:1)選擇一組 S[k],然后調(diào)整 a[k],使得Sum_k (a[k] * S[k]) 最接近 T ;2)固定住 a[k],在
25、 400 個碎片中,選擇其它更合適的碎片S’[k],替代原先的 S[k],使得Sum_k (a[k] * S’[k]) 最接近 T 。經(jīng)過幾次迭代后,最佳的 S[k] 組合被遴選出來。令人驚奇的是,被選中的 S[k]基本上都是照片上不同物體的邊緣線,這些線段形狀相似,區(qū)別在于方向。,1.4.2 初級(淺層)特征表示,Bruno Olshausen和 David Field 的算法結(jié)果,與 David Hubel 和Torsten W
26、iesel 的生理發(fā)現(xiàn),不謀而合!也就是說,復(fù)雜圖形往往由一些基本結(jié)構(gòu)組成。比如下圖:一個圖可以通過用64種正交的edges(可以理解成正交的基本結(jié)構(gòu))來線性表示。比如樣例的x可以用1-64個edges中的三個按照0.8,0.3,0.5的權(quán)重調(diào)和而成。而其他基本edge沒有貢獻,因此均為0 。,1.4.2 初級(淺層)特征表示,另外,許多專家還發(fā)現(xiàn),不僅圖像存在這個規(guī)律,聲音也存在。他們從未標注的聲音中發(fā)現(xiàn)了20種基本的聲音結(jié)構(gòu),其
27、余的聲音可以由這20種基本結(jié)構(gòu)合成。,1.4.3 結(jié)構(gòu)性特征表示,小塊的圖形可以由基本edge構(gòu)成,更結(jié)構(gòu)化,更復(fù)雜的,具有概念性的圖形如何表示呢?這就需要更高層次的特征表示,比如V2,V4。因此V1看像素級是像素級。V2看V1是像素級,這個是層次遞進的,高層表達由底層表達的組合而成。專業(yè)點說就是基basis。V1區(qū)提出的basis是邊緣,然后V2層是V1層這些basis的組合,這時候V2區(qū)得到的又是高一層的basis,上上層又
28、是上一層的組合basis結(jié)果...所以有專家說Deep learning就是“搞基”,因為難聽,所以美其名曰Deep learning或者Unsupervised Feature Learning.,1.4.3 結(jié)構(gòu)性特征表示,直觀上說,就是找到有意義的小碎片(patch),再將其進行組合(combine),就得到了上一層的特征(feature),遞歸地向上學習特征(learning feature)。,1.4.3 結(jié)構(gòu)性特征表示,
29、在不同對象(object)上做訓練時,所得的邊緣基(edge basis)是非常相似的,但對象部分(object parts)和模式(models) 完全不同。這樣便于圖像的準確識別。,1.4.3 結(jié)構(gòu)性特征表示,從文本來說,一個doc文檔表示什么意思?我們描述一件事情,用什么來表示比較合適?用一個一個字嘛?不是,字就是像素級別了,起碼應(yīng)該是term(術(shù)語/詞組),換句話說每個doc都由term構(gòu)成;但這樣表示概念的能力就夠了嘛,
30、可能也不夠,需要再上一步,達到topic級,有了topic,再到doc就合理。但每個層次的數(shù)量差距很大,比如doc表示的概念->topic(千-萬量級)->term(10萬量級)->word(百萬量級)。一個人在看一個doc的時候,眼睛看到的是word,由這些word在大腦里自動切詞形成term,在按照概念組織的方式,先驗的學習,得到topic,然后再進行高層次的learning。,1.4.4 需要有多少個特征,
31、我們知道需要層次的特征構(gòu)建,由淺入深,但每一層該有多少個特征呢?任何一種方法,特征越多,給出的參考信息就越多,準確性會得到提升。但特征多意味著計算復(fù)雜,探索的空間大,可以用來訓練的數(shù)據(jù)在每個特征上就會稀疏,都會帶來各種問題,并不一定特征越多越好。,小 結(jié),上面我們談到為什么會有Deep learning(讓機器自動學習良好的特征,而免去人工選取過程。還有參考人的分層視覺處理系統(tǒng)),我們得到一個結(jié)論就是Deep learning需要多
32、層來獲得更抽象的特征表達。那么多少層才合適呢?用什么架構(gòu)來建模呢?怎么進行非監(jiān)督訓練呢?,1.5 深度學習的基本思想,假設(shè)我們有一個系統(tǒng)S,它有n層(S1,…Sn),它的輸入是I,輸出是O,形象地表示為: I =>S1=>S2=>…..=>Sn => O,如果輸出O等于輸入I,即輸入I經(jīng)過這個系統(tǒng)變化之后沒有任何的信息損失。這意味著輸入I經(jīng)過每一層Si都沒有任何的信息損失,即在任何一層Si,它都是原有信
33、息(即輸入I)的另外一種表示?,F(xiàn)在回到我們的主題Deep Learning,我們需要自動地學習特征,假設(shè)我們有一堆輸入I(如一堆圖像或者文本),假設(shè)我們設(shè)計了一個系統(tǒng)S(有n層),我們通過調(diào)整系統(tǒng)中參數(shù),使得它的輸出仍然是輸入I,那么我們就可以自動地獲取得到輸入I的一系列層次特征,即S1,…, Sn。,1.5 深度學習的基本思想,對于深度學習來說,其思想就是對堆疊多個層,也就是說這一層的輸出作為下一層的輸入。通過這種方式,就可以實現(xiàn)
34、對輸入信息進行分級表達了。另外,前面是假設(shè)輸出嚴格地等于輸入,這個限制太嚴格,我們可以略微地放松這個限制,例如我們只要使得輸入與輸出的差別盡可能地小即可,這個放松會導(dǎo)致另外一類不同的Deep Learning方法。上述就是Deep Learning的基本思想。,1.6 淺層學習和深度學習,1.6.1 淺層學習(Shallow Learning):機器學習第一次浪潮1.6.2 深度學習(Deep Learning):機器學習第二次
35、浪潮,1.6.1 淺層學習:機器學習第一次浪潮,20世紀80年代末期,用于人工神經(jīng)網(wǎng)絡(luò)的反向傳播算法(也叫Back Propagation算法或者BP算法)的發(fā)明,給機器學習帶來了希望,掀起了基于統(tǒng)計模型的機器學習熱潮。這個熱潮一直持續(xù)到今天。人們發(fā)現(xiàn),利用BP算法可以讓一個人工神經(jīng)網(wǎng)絡(luò)模型從大量訓練樣本中學習統(tǒng)計規(guī)律,從而對未知事件做預(yù)測。這種基于統(tǒng)計的機器學習方法比起過去基于人工規(guī)則的系統(tǒng),在很多方面顯出優(yōu)越性。這個時候的人
36、工神經(jīng)網(wǎng)絡(luò),雖也被稱作多層感知機(Multi-layer Perceptron),但實際是一種只含有一層隱層節(jié)點的淺層模型。,1.6.1 淺層學習:機器學習第一次浪潮,20世紀90年代,各種各樣的淺層機器學習模型相繼被提出,例如支撐向量機(SVM,Support Vector Machines)、 Boosting、最大熵方法(如LR,Logistic Regression)等。這些模型的結(jié)構(gòu)基本上可以看成帶有一層隱層節(jié)點(如SVM
37、、Boosting),或沒有隱層節(jié)點(如LR)。這些模型無論是在理論分析還是應(yīng)用中都獲得了巨大的成功。相比之下,由于理論分析的難度大,訓練方法又需要很多經(jīng)驗和技巧,這個時期深度人工神經(jīng)網(wǎng)絡(luò)反而相對沉寂。,1.6.2 深度學習:機器學習第二次浪潮,2006年,加拿大多倫多大學教授、機器學習領(lǐng)域的泰斗Geoffrey Hinton和他的學生Ruslan Salak hutdinov在國際頂級期刊《科學》上發(fā)表了一篇文章,開啟了深度學習在
38、學術(shù)界和工業(yè)界的浪潮。這篇文章有兩個主要觀點:1)多隱層的人工神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的特征學習能力,學習得到的特征對數(shù)據(jù)有更本質(zhì)的刻畫,從而有利于可視化或分類;2)深度神經(jīng)網(wǎng)絡(luò)在訓練上的難度,可以通過“逐層初始化”(layer-wise pre-training)來有效克服,在這篇文章中,逐層初始化是通過無監(jiān)督學習實現(xiàn)的。,當前多數(shù)分類、回歸等學習方法為淺層結(jié)構(gòu)算法,其局限性在于有限樣本和計算單元情況下對復(fù)雜函數(shù)的表示能力有限,針
39、對復(fù)雜分類問題其泛化能力受到一定制約。深度學習可通過學習一種深層非線性網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)復(fù)雜函數(shù)逼近,表征輸入數(shù)據(jù)分布式表示,并展現(xiàn)了強大的從少數(shù)樣本中集中學習數(shù)據(jù)集本質(zhì)特征的能力。(多層的好處是可以用較少的參數(shù)表示復(fù)雜的函數(shù)),1.6.2 深度學習:機器學習第二次浪潮,1.6.2 深度學習:機器學習第二次浪潮,深度學習的實質(zhì),是通過構(gòu)建具有很多隱層的機器學習模型和海量的訓練數(shù)據(jù),來學習更有用的特征,從而最終提升分類或預(yù)測的準確性。因此
40、,“深度模型”是手段,“特征學習”是目的。區(qū)別于傳統(tǒng)的淺層學習,深度學習的不同在于:1)強調(diào)了模型結(jié)構(gòu)的深度,通常有5層、6層,甚至10多層的隱層節(jié)點;2)明確突出了特征學習的重要性,也就是說,通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,從而使分類或預(yù)測更加容易。與人工規(guī)則構(gòu)造特征的方法相比,利用大數(shù)據(jù)來學習特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。,1.6.2 深度學習:機器學習第二次浪潮,1.7 Deep
41、learning與Neural Network,深度學習是機器學習研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進行分析學習的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。深度學習是無監(jiān)督學習的一種。深度學習的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學習結(jié)構(gòu)。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。,1.7 Deep learning與Neural
42、Network,Deep learning本身算是machine learning的一個分支,簡單可以理解為neural network的發(fā)展。大約二三十年前,neural network曾經(jīng)是ML領(lǐng)域特別火熱的一個方向,但是后來確慢慢淡出了,原因包括以下幾個方面:1)比較容易過擬合,參數(shù)比較難調(diào)整,而且需要不少竅門;2)訓練速度比較慢,在層次比較少(小于等于3)的情況下效果并不比其它方法更優(yōu);,1.7 Deep learnin
43、g與Neural Network,所以中間有大約20多年的時間,神經(jīng)網(wǎng)絡(luò)被關(guān)注很少,這段時間基本上是SVM和boosting算法的天下。但是,一個癡心的老先生Hinton,他堅持了下來,并最終(和其它人一起B(yǎng)engio、Yann.lecun等)提成了一個實際可行的deep learning框架。,1.7 Deep learning與Neural Network,Deep learning與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)之間有相同的地方也有很多不同。
44、相同點:deep learning采用了神經(jīng)網(wǎng)絡(luò)相似的分層結(jié)構(gòu),系統(tǒng)由包括輸入層、隱層(多層)、輸出層組成的多層網(wǎng)絡(luò),只有相鄰層節(jié)點之間有連接,同一層以及跨層節(jié)點之間相互無連接,每一層可以看作是一個邏輯回歸模型;這種分層結(jié)構(gòu),是比較接近人類大腦的結(jié)構(gòu)的。,1.7 Deep learning與Neural Network,Deep learning與Neural Network異同,而為了克服神經(jīng)網(wǎng)絡(luò)訓練中的問題,DL采用了與神經(jīng)網(wǎng)絡(luò)
45、很不同的訓練機制。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,采用的是反向傳播(BP)的方式進行。即采用迭代的算法來訓練整個網(wǎng)絡(luò),隨機設(shè)定初值,計算當前網(wǎng)絡(luò)的輸出,然后根據(jù)當前計算的輸出值和實際的標記值之間的差去改變前面各層的參數(shù),直到收斂(整體是一個梯度下降法)。deep learning整體上是一個layer-wise的訓練機制。這樣做的原因是因為,如果采用back propagation的機制,對于一個deep network(7層以上),殘差傳播到
46、最前面的層已經(jīng)變得太小,出現(xiàn)所謂的gradient diffusion(梯度擴散)。這個問題在后面有所討論。,1.8 Deep learning訓練過程,1.8.1 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的訓練方法為什么不能用在深度神經(jīng)網(wǎng)絡(luò)1.8.2 deep learning訓練過程,1.8.1 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的訓練方法為什么不能用在深度神經(jīng)網(wǎng)絡(luò),BP算法作為傳統(tǒng)訓練多層網(wǎng)絡(luò)的典型算法,實際上對僅含幾層網(wǎng)絡(luò),該訓練方法就已經(jīng)很不理想。深度結(jié)構(gòu)(涉及多個非
47、線性處理單元層)非凸目標代價函數(shù)中普遍存在的局部最小是訓練困難的主要來源。,1.8.1 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的訓練方法為什么不能用在深度神經(jīng)網(wǎng)絡(luò),BP算法存在的問題:(1)梯度越來越稀疏:從頂層越往下,誤差校正信號越來越?。唬?)收斂到局部最小值:尤其是從遠離最優(yōu)區(qū)域開始的時候(隨機值初始化會導(dǎo)致這種情況的發(fā)生);(3)一般,我們只能用有標簽的數(shù)據(jù)來訓練:但大部分的數(shù)據(jù)是沒標簽的,而大腦可以從沒有標簽的數(shù)據(jù)中學習;,1.8.2 de
48、ep learning訓練過程,如果對所有層同時訓練,時間復(fù)雜度會太高;如果每次訓練一層,偏差就會逐層傳遞。這會面臨跟上面監(jiān)督學習中相反的問題,會嚴重欠擬合(因為深度網(wǎng)絡(luò)的神經(jīng)元和參數(shù)太多了)。,1.8.2 deep learning訓練過程,2006年,hinton提出了在非監(jiān)督數(shù)據(jù)上建立多層神經(jīng)網(wǎng)絡(luò)的一個有效方法,簡單的說,分為兩步,一是每次訓練一層網(wǎng)絡(luò),二是調(diào)優(yōu),使原始表示x向上生成的高級表示r和該高級表示r向下生成的x'
49、盡可能一致。方法是:1)首先逐層構(gòu)建單層神經(jīng)元,這樣每次都是訓練一個單層網(wǎng)絡(luò)。2)當所有層訓練完后,Hinton使用wake-sleep算法進行調(diào)優(yōu)。,1.8.2 deep learning訓練過程,將除最頂層的其它層間的權(quán)重變?yōu)殡p向的,這樣最頂層仍然是一個單層神經(jīng)網(wǎng)絡(luò),而其它層則變?yōu)榱藞D模型。向上的權(quán)重用于“認知”,向下的權(quán)重用于“生成”。然后使用Wake-Sleep算法調(diào)整所有的權(quán)重。讓認知和生成達成一致,也就是保證生成
50、的最頂層表示能夠盡可能正確的復(fù)原底層的結(jié)點。比如頂層的一個結(jié)點表示人臉,那么所有人臉的圖像應(yīng)該激活這個結(jié)點,并且這個結(jié)果向下生成的圖像應(yīng)該能夠表現(xiàn)為一個大概的人臉圖像。,1.8.2 deep learning訓練過程,Wake-Sleep算法分為醒(wake)和睡(sleep)兩個部分。1)wake階段:認知過程(從現(xiàn)實到概念),通過外界的特征和向上的權(quán)重(認知權(quán)重)產(chǎn)生每一層的抽象表示(結(jié)點狀態(tài)),并且使用梯度下降修改層間的下
51、行權(quán)重(生成權(quán)重)。如:“如果現(xiàn)實跟我想象的不一樣,改變我的權(quán)重使得我想象的東西就是這樣的”。,1.8.2 deep learning訓練過程,2)sleep階段:生成過程(從概念到現(xiàn)實),通過頂層表示(醒時學得的概念)和向下權(quán)重(生成權(quán)重),生成底層的狀態(tài),同時修改層間向上的權(quán)重。如:“如果夢中的景象不是我腦中的相應(yīng)概念,改變我的向上的權(quán)重(認知權(quán)重)使得這種景象在我看來就是這個概念”。,deep learning具體訓練過程
52、,1)使用自下上升非監(jiān)督學習(就是從底層開始,一層一層的往頂層訓練)2)自頂向下的監(jiān)督學習(就是通過帶標簽的數(shù)據(jù)去訓練,誤差自頂向下傳輸,對網(wǎng)絡(luò)進行微調(diào)),1)使用自下上升非監(jiān)督學習,采用無標定數(shù)據(jù)(有標定數(shù)據(jù)也可)分層訓練各層參數(shù),這一步可以看作是一個無監(jiān)督訓練過程,是和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)區(qū)別最大的部分(這個過程可以看作是feature learning過程):具體的,先用無標定數(shù)據(jù)訓練第一層,訓練時先學習第一層的參數(shù)(這一層可以看
53、作是得到一個使得輸出和輸入差別最小的三層神經(jīng)網(wǎng)絡(luò)的隱層),由于模型capacity的限制以及稀疏性約束,使得得到的模型能夠?qū)W習到數(shù)據(jù)本身的結(jié)構(gòu),從而得到比輸入更具有表示能力的特征;在學習得到第n-1層后,將n-1層的輸出作為第n層的輸入,訓練第n層,由此分別得到各層的參數(shù);,2)自頂向下的監(jiān)督學習,基于第一步得到的各層參數(shù)進一步調(diào)整整個多層模型的參數(shù),這一步是一個有監(jiān)督訓練過程;第一步類似神經(jīng)網(wǎng)絡(luò)的隨機初始化初值過程,由于DL的第一步不
54、是隨機初始化,而是通過學習輸入數(shù)據(jù)的結(jié)構(gòu)得到的,因而這個初值更接近全局最優(yōu),從而能夠取得更好的效果;所以,deep learning效果好很大程度上歸功于第一步的feature learning過程。,1.9 Deep Learning的常用模型或者方法,1.9.1 AutoEncoder 自動編碼器1.9.2 Sparse Coding 稀疏編碼1.9.3 Restricted Boltzmann Machine (RBM)
55、限制波爾茲曼機1.9.4 Deep Belief Networks 深度信念網(wǎng)絡(luò)1.9.5 Convolutional Neural Networks卷積神經(jīng)網(wǎng)絡(luò),1.9.1 AutoEncoder 自動編碼器,Deep Learning最簡單的一種方法是利用人工神經(jīng)網(wǎng)絡(luò)的特點,人工神經(jīng)網(wǎng)絡(luò)(ANN)本身就是具有層次結(jié)構(gòu)的系統(tǒng),如果給定一個神經(jīng)網(wǎng)絡(luò),我們假設(shè)其輸出與輸入是相同的,然后訓練調(diào)整其參數(shù),得到每一層中的權(quán)重。自然地,我
56、們就得到了輸入I的幾種不同表示(每一層代表一種表示),這些表示就是特征。自動編碼器就是一種盡可能復(fù)現(xiàn)輸入信號的神經(jīng)網(wǎng)絡(luò)。為了實現(xiàn)這種復(fù)現(xiàn),自動編碼器就必須捕捉可以代表輸入數(shù)據(jù)的最重要的因素,就像PCA那樣,找到可以代表原信息的主要成分。,具體過程,1)給定無標簽數(shù)據(jù),用非監(jiān)督學習學習特征2)通過編碼器產(chǎn)生特征,然后訓練下一層,這樣逐層訓練3)有監(jiān)督微調(diào),1)給定無標簽數(shù)據(jù),用非監(jiān)督學習學習特征,在我們之前的神經(jīng)網(wǎng)絡(luò)中,如第一個圖,我
57、們輸入的樣本是有標簽的,即(input, target),這樣我們根據(jù)當前輸出和target(label)之間的差去改變前面各層的參數(shù),直到收斂。但現(xiàn)在我們只有無標簽數(shù)據(jù),也就是右邊的圖。那么這個誤差怎么得到呢?,1)給定無標簽數(shù)據(jù),用非監(jiān)督學習學習特征,如下圖,我們將input輸入一個encoder編碼器,就會得到一個code,這個code也就是輸入的一個表示,那么我們怎么知道這個code表示的就是input呢?我們加一個decode
58、r解碼器,這時候decoder就會輸出一個信息,那么如果輸出的這個信息和一開始的輸入信號input是很像的(理想情況下就是一樣的),那很明顯,我們就有理由相信這個code是靠譜的。所以,我們就通過調(diào)整encoder和decoder的參數(shù),使得重構(gòu)誤差最小,這時候我們就得到了輸入input信號的第一個表示了,也就是編碼code了。因為是無標簽數(shù)據(jù),所以誤差的來源就是直接重構(gòu)后與原輸入相比得到。,1.9.4 Deep Belief Netw
59、orks 深度信念網(wǎng)絡(luò),DBNs是一個概率生成模型,與傳統(tǒng)的判別模型的神經(jīng)網(wǎng)絡(luò)相對,生成模型是建立一個觀察數(shù)據(jù)和標簽之間的聯(lián)合分布,對P(Observation|Label)和 P(Label|Observation)都做了評估,而判別模型僅僅評估了后者而已,也就是P(Label|Observation)。對于在深度神經(jīng)網(wǎng)絡(luò)應(yīng)用傳統(tǒng)的BP算法的時候,DBNs遇到了以下問題:(1)需要為訓練提供一個有標簽的樣本集;(2)學習過程較慢
60、;(3)不適當?shù)膮?shù)選擇會導(dǎo)致學習收斂于局部最優(yōu)解。,1.9.4 Deep Belief Networks 深度信念網(wǎng)絡(luò),1.9.4 Deep Belief Networks 深度信念網(wǎng)絡(luò),DBNs由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成,一個典型的神經(jīng)網(wǎng)絡(luò)類型如圖三所示。這些網(wǎng)絡(luò)被“限制”為一個可視層和一個隱層,層間存在連接,但層內(nèi)的單元間不存在連接。隱層單元被訓練去捕捉在可視層表現(xiàn)出
61、來的高階數(shù)據(jù)的相關(guān)性。,1.9.4 Deep Belief Networks 深度信念網(wǎng)絡(luò),在最高兩層,權(quán)值被連接到一起,這樣更低層的輸出將會提供一個參考的線索或者關(guān)聯(lián)給頂層,這樣頂層就會將其聯(lián)系到它的記憶內(nèi)容。而我們最關(guān)心的,最后想得到的就是判別性能,例如分類任務(wù)里面。,1.9.4 Deep Belief Networks 深度信念網(wǎng)絡(luò),在預(yù)訓練后,DBN可以通過利用帶標簽數(shù)據(jù)用BP算法去對判別性能做調(diào)整。在這里,一個標簽集將被附加到
62、頂層(推廣聯(lián)想記憶),通過一個自下向上的,學習到的識別權(quán)值獲得一個網(wǎng)絡(luò)的分類面。這個性能會比單純的BP算法訓練的網(wǎng)絡(luò)好。這可以很直觀的解釋,DBNs的BP算法只需要對權(quán)值參數(shù)空間進行一個局部的搜索,這相比前向神經(jīng)網(wǎng)絡(luò)來說,訓練是要快的,而且收斂的時間也少。,1.9.4 Deep Belief Networks 深度信念網(wǎng)絡(luò),DBNs的靈活性使得它的拓展比較容易。一個拓展就是卷積DBNs(Convolutional Deep Beli
63、ef Networks(CDBNs))。DBNs并沒有考慮到圖像的2維結(jié)構(gòu)信息,因為輸入是簡單的從一個圖像矩陣一維向量化的。而CDBNs就是考慮到了這個問題,它利用鄰域像素的空域關(guān)系,通過一個稱為卷積RBMs的模型區(qū)達到生成模型的變換不變性,而且可以容易得變換到高維圖像。DBNs并沒有明確地處理對觀察變量的時間聯(lián)系的學習上,雖然目前已經(jīng)有這方面的研究,例如堆疊時間RBMs,以此為推廣,有序列學習的dubbed temporal co
64、nvolutionmachines刺激顳葉卷積機,這種序列學習的應(yīng)用,給語音信號處理問題帶來了一個讓人激動的未來研究方向。,1.9.4 Deep Belief Networks 深度信念網(wǎng)絡(luò),目前,和DBNs有關(guān)的研究包括堆疊自動編碼器,它是通過用堆疊自動編碼器來替換傳統(tǒng)DBNs里面的RBMs。這就使得可以通過同樣的規(guī)則來訓練產(chǎn)生深度多層神經(jīng)網(wǎng)絡(luò)架構(gòu),但它缺少層的參數(shù)化的嚴格要求。與DBNs不同,自動編碼器使用判別模型,這樣這個結(jié)構(gòu)就很
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機器學習研究進展-中創(chuàng)軟件
- 基于深度學習的目標識別研究及其多機器人編隊應(yīng)用.pdf
- 深度學習及其應(yīng)用:機器學習學術(shù)報告
- nao機器人編程學習
- 基于機器視覺及機器學習的室內(nèi)機器人導(dǎo)航研究.pdf
- 機器人導(dǎo)論論文關(guān)于智能機器人的學習報告
- 基于深度學習的工業(yè)分揀機器人快速視覺識別定位算法.pdf
- 創(chuàng)意機器人學習與研究——智能晾衣機器人
- 工業(yè)機器人迭代學習控制策略研究
- 發(fā)育機器人集成學習算法研究.pdf
- (學習資料)卟啉化合物的應(yīng)用研究進展
- 家用學習機器人在智能機器設(shè)備發(fā)展中的應(yīng)用研究(論文)家用學習機器人(設(shè)計)-畢業(yè)論
- 多種機器學習方法在足球機器人系統(tǒng)中的應(yīng)用.pdf
- [學習]肺動脈高壓研究進展
- 強化學習在足球機器人仿真中的應(yīng)用.pdf
- RoboCup仿真機器人足球多代理系統(tǒng)的機器學習研究與應(yīng)用(英).pdf
- 基于對比演示的機器人任務(wù)學習研究.pdf
- 發(fā)育機器人增量學習方法研究.pdf
- 工業(yè)機器人迭代學習控制方法研究.pdf
- 家用學習機器人在智能機器設(shè)備發(fā)展中的應(yīng)用研究(論文)家用學習機器人(設(shè)計)-畢業(yè)論文
評論
0/150
提交評論