2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、深度學(xué)習(xí)及其應(yīng)用,目錄,1. 機器學(xué)習(xí)概述,2.深度學(xué)習(xí),概述,什么是機器學(xué)習(xí)計算機程序如何隨著經(jīng)驗積累自動提高性能系統(tǒng)自我改進(jìn)的過程成功應(yīng)用學(xué)習(xí)識別人類講話學(xué)習(xí)駕駛車輛學(xué)習(xí)分類新的天文結(jié)構(gòu)學(xué)習(xí)對弈西洋雙陸棋涉及的相關(guān)學(xué)科人工智能計算復(fù)雜性理論控制論信息論統(tǒng)計學(xué),4,學(xué)習(xí)問題的標(biāo)準(zhǔn)描述,定義如果一個計算機針對某類任務(wù)T的用P衡量的性能根據(jù)經(jīng)驗E來自我完善,那么我們稱這個計算機程序在從經(jīng)驗E中學(xué)習(xí),針對某類任務(wù)T

2、,它的性能用P來衡量。西洋跳棋學(xué)習(xí)問題的解釋T,參與比賽E,和自己下棋P,比賽成績(或贏棋能力,擊敗對手的百分比),具體學(xué)習(xí)方法,基于符號和邏輯表示的概念學(xué)習(xí)決策樹人工神經(jīng)網(wǎng)絡(luò)統(tǒng)計和估計理論的基礎(chǔ)概念貝葉斯理論計算學(xué)習(xí)基于實例的學(xué)習(xí)遺傳算法規(guī)則學(xué)習(xí)基于解釋的學(xué)習(xí)近似知識與現(xiàn)有數(shù)據(jù)的結(jié)合增強學(xué)習(xí)支持向量機,深度學(xué)習(xí),1. 概述、背景,2.人腦視覺機理、關(guān)于特征,3. Deep Learning 基本思想、淺

3、層學(xué)習(xí),4.深度學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)(Neural Network),5. DP的常用模型與方法,6.Dp的總結(jié),7. Dp的未來,8.DP的問題,概述,Artificial Intelligence(人工智能)是人類最美好的夢想之一。圖靈(計算機和人工智能的鼻祖)在 1950 年的論文里,提出圖靈試驗的設(shè)想,即,隔墻對話,你將不知道與你談話的,是人還是電腦。這無疑給計算機,尤其是人工智能,預(yù)設(shè)了一個很高的期望值。半個世紀(jì)過去了,人工智能

4、的進(jìn)展,遠(yuǎn)遠(yuǎn)沒有達(dá)到圖靈試驗的標(biāo)準(zhǔn)。這不僅讓多年翹首以待的人們,心灰意冷,認(rèn)為人工智能是忽悠,相關(guān)領(lǐng)域是“偽科學(xué)”。自 2006 年以來,機器學(xué)習(xí)領(lǐng)域,取得了突破性的進(jìn)展。圖靈試驗,至少不是那么可望而不可及了。至于技術(shù)手段,不僅僅依賴于云計算對大數(shù)據(jù)的并行處理能力,而且依賴于算法。這個算法就是,Deep Learning。借助于 Deep Learning 算法,人類終于找到了如何處理“抽象概念”這個亙古難題的方法。,概述,2006年

5、的3篇關(guān)于深度學(xué)習(xí)的突破性論文:Hinton, G. E., Osindero, S. and Teh, Y.,A fast learning algorithm for deep belief nets.Neural Computation 18:1527-1554, 2006Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle,Greedy LayerWi

6、se Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeC

7、un Efficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007,概述,2012年6月,《紐約時報》披露了Google Brain項目,吸引了公

8、眾的廣泛關(guān)注。這個項目是由著名的斯坦福大學(xué)的機器學(xué)習(xí)教授Andrew Ng和在大規(guī)模計算機系統(tǒng)方面的世界頂尖專家JeffDean共同主導(dǎo),用16000個CPU Core的并行計算平臺訓(xùn)練一種稱為“深度神經(jīng)網(wǎng)絡(luò)”(DNN,Deep Neural Networks)的機器學(xué)習(xí)模型(內(nèi)部共有10億個節(jié)點。這一網(wǎng)絡(luò)自然是不能跟人類的神經(jīng)網(wǎng)絡(luò)相提并論的。要知道,人腦中可是有150多億個神經(jīng)元,互相連接的節(jié)點也就是突觸數(shù)更是如銀河沙數(shù)。曾經(jīng)有人估算

9、過,如果將一個人的大腦中所有神經(jīng)細(xì)胞的軸突和樹突依次連接起來,并拉成一根直線,可從地球連到月亮,再從月亮返回地球),在語音識別和圖像識別等領(lǐng)域獲得了巨大的成功。,概述,2012年11月,微軟在中國天津的一次活動上公開演示了一個全自動的同聲傳譯系統(tǒng),講演者用英文演講,后臺的計算機一氣呵成自動完成語音識別、英中機器翻譯和中文語音合成,效果非常流暢。據(jù)報道,后面支撐的關(guān)鍵技術(shù)也是深度學(xué)習(xí)。2013年1月,在百度年會上,創(chuàng)始人兼CEO李彥宏高

10、調(diào)宣布要成立百度研究院,其中第一個成立的就是“深度學(xué)習(xí)研究所” 。2013年3月谷歌收購了加拿大神經(jīng)網(wǎng)絡(luò)方面的創(chuàng)業(yè)公司DNNresearch,DNNresearch公司是由多倫多大學(xué)教授Geoffrey Hinton與他的兩個研究生Alex Krizhevsky和Ilya Sutskever于去年成立,由于谷歌在本次收購中沒有獲得任何實際的產(chǎn)品或服務(wù),所以本次收購實質(zhì)上屬于人才性收購,收購的主體實為了這三人團隊。,概述,為什么擁有大數(shù)

11、據(jù)的互聯(lián)網(wǎng)公司爭相投入大量資源研發(fā)深度學(xué)習(xí)技術(shù)。聽起來感覺deep learning很牛那樣。那什么是deep learning?為什么有deep learning?它是怎么來的?又能干什么呢?目前存在哪些困難呢?這些問題的簡答都需要慢慢來。咱們先來了解下機器學(xué)習(xí)(人工智能的核心)的背景。,背景,機器學(xué)習(xí)(Machine Learning)是一門專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之

12、不斷改善自身的性能的學(xué)科。機器能否像人類一樣能具有學(xué)習(xí)能力呢?1959年美國的塞繆爾(Samuel)設(shè)計了一個下棋程序,這個程序具有學(xué)習(xí)能力,它可以在不斷的對弈中改善自己的棋藝。4年后,這個程序戰(zhàn)勝了設(shè)計者本人。又過了3年,這個程序戰(zhàn)勝了美國一個保持8年之久的常勝不敗的冠軍。這個程序向人們展示了機器學(xué)習(xí)的能力,提出了許多令人深思的社會問題與哲學(xué)問題,背景,在圖像識別、語音識別、天氣預(yù)測、基因表達(dá)等方面。目前我們通過機器學(xué)習(xí)去解決這些問

13、題的思路都是這樣的:,從開始的通過傳感器來獲得數(shù)據(jù)。然后經(jīng)過預(yù)處理、特征提取、特征選擇,再到推理、預(yù)測或者識別。最后一個部分,也就是機器學(xué)習(xí)的部分,絕大部分的工作是在這方面做的。中間的三部分,概括起來就是特征表達(dá)。良好的特征表達(dá),對最終算法的準(zhǔn)確性起了非常關(guān)鍵的作用,而且系統(tǒng)主要的計算和測試工作都耗在這一大部分。但這塊實際中一般都是人工完成的。,背景,截止現(xiàn)在,也出現(xiàn)了不少NB的特征(好的特征應(yīng)具有不變性(大小、尺度和旋轉(zhuǎn)等)和可區(qū)分

14、性):例如Sift的出現(xiàn),是局部圖像特征描述子研究領(lǐng)域一項里程碑式的工作。由于SIFT對尺度、旋轉(zhuǎn)以及一定視角和光照變化等圖像變化都具有不變性,并且SIFT具有很強的可區(qū)分性。但它也不是萬能的。,背景,手工地選取特征是一件非常費力、啟發(fā)式(需要專業(yè)知識)的方法,而且它的調(diào)節(jié)需要大量的時間。既然手工選取特征不太好,那么能不能自動地學(xué)習(xí)一些特征呢?答案是能!Deep Learning就是用來干這個事情的,看它的一個別名Unsupervise

15、d Feature Learning,就可以顧名思義了,Unsupervised的意思就是不要人參與特征的選取過程。那它是怎么學(xué)習(xí)的呢?怎么知道哪些特征好哪些不好呢?我們說機器學(xué)習(xí)是一門專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為的學(xué)科。好,那我們?nèi)说囊曈X系統(tǒng)是怎么工作的呢?,人腦視覺機理,1981 年的諾貝爾醫(yī)學(xué)獎,頒發(fā)給了 David Hubel(出生于加拿大的美國神經(jīng)生物學(xué)家) 和TorstenWiesel,以及 Roger Sp

16、erry。前兩位的主要貢獻(xiàn),是“發(fā)現(xiàn)了視覺系統(tǒng)的信息處理”:可視皮層是分級的:,人腦視覺機理,1958 年,David Hubel 等,研究瞳孔區(qū)域與大腦皮層神經(jīng)元的對應(yīng)關(guān)系。他們在貓的后腦頭骨上,開了一個3 毫米的小洞,向洞里插入電極,測量神經(jīng)元的活躍程度。他們在小貓的眼前,展現(xiàn)各種形狀、各種亮度的物體。并且,在展現(xiàn)每一件物體時,還改變物體放置的位置和角度。他們期望通過這個辦法,讓小貓瞳孔感受不同類型、不同強弱的刺激。目的是去證明一

17、個猜測。位于后腦皮層的不同視覺神經(jīng)元,與瞳孔所受刺激之間,存在某種對應(yīng)關(guān)系。一旦瞳孔受到某一種刺激,后腦皮層的某一部分神經(jīng)元就會活躍。經(jīng)歷了很多天反復(fù)的枯燥的試驗,同時犧牲了若干只可憐的小貓,David Hubel 發(fā)現(xiàn)了一種被稱為“方向選擇性細(xì)胞”的神經(jīng)元細(xì)胞。當(dāng)瞳孔發(fā)現(xiàn)了眼前的物體的邊緣,而且這個邊緣指向某個方向時,這種神經(jīng)元細(xì)胞就會活躍。,人腦視覺機理,這個發(fā)現(xiàn)激發(fā)了人們對于神經(jīng)系統(tǒng)的進(jìn)一步思考。神經(jīng)-中樞-大腦的工作過程,或許

18、是一個不斷迭代、不斷抽象的過程。這里的關(guān)鍵詞有兩個,一個是抽象,一個是迭代。從原始信號,做低級抽象,逐漸向高級抽象迭代。人類的邏輯思維,經(jīng)常使用高度抽象的概念。,人腦視覺機理,例如,從原始信號攝入開始(瞳孔攝入像素 Pixels),接著做初步處理(大腦皮層某些細(xì)胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定,眼前的物體的形狀,是圓形的),然后進(jìn)一步抽象(大腦進(jìn)一步判定該物體是只氣球)。,人腦視覺機理,這個生理學(xué)的發(fā)現(xiàn),促成了計算機人工智能,在

19、四十年后的突破性發(fā)展??偟膩碚f,人的視覺系統(tǒng)的信息處理是分級的。從低級的V1區(qū)提取邊緣特征,再到V2區(qū)的形狀或者目標(biāo)的部分等,再到更高層,整個目標(biāo)、目標(biāo)的行為等。也就是說高層的特征是低層特征的組合,從低層到高層的特征表示越來越抽象,越來越能表現(xiàn)語義或者意圖。而抽象層面越高,存在的可能猜測就越少,就越利于分類。,人腦視覺機理,提到了關(guān)鍵詞:分層。而Deep learning的deep是不是就表示我存在多少層,也就是多深呢?沒錯。那Dee

20、p learning是如何借鑒這個過程的呢?畢竟是歸于計算機來處理,面對的一個問題就是怎么對這個過程建模?因為我們要學(xué)習(xí)的是特征的表達(dá),那么關(guān)于特征,或者說關(guān)于這個層級特征,我們需要了解地更深入點。所以在說Deep Learning之前,我們有必要再啰嗦下特征,關(guān)于特征,特征是機器學(xué)習(xí)系統(tǒng)的原材料,對最終模型的影響是毋庸置疑的。如果數(shù)據(jù)被很好的表達(dá)成了特征,通常線性模型就能達(dá)到滿意的精度。那對于特征,我們需要考慮什么呢?,1、特征表示

21、的粒度,學(xué)習(xí)算法在一個什么粒度上的特征表示,才有能發(fā)揮作用?就一個圖片來說,像素級的特征根本沒有價值。例如下面的摩托車,從像素級別,根本得不到任何信息,其無法進(jìn)行摩托車和非摩托車的區(qū)分。而如果特征是一個具有結(jié)構(gòu)性的時候,比如是否具有車把手(handle),是否具有車輪(wheel),就很容易把摩托車和非摩托車區(qū)分,學(xué)習(xí)算法才能發(fā)揮作用。,2、初級(淺層)特征表示,既然像素級的特征表示方法沒有作用,那怎樣的表示才有用呢?1995 年前后

22、,David Field 試圖同時用生理學(xué)和計算機的手段,雙管齊下,研究視覺問題。  他們收集了很多黑白風(fēng)景照片,從這些照片中,提取出400個小碎片,每個照片碎片的尺寸均為 16x16 像素,不妨把這400個碎片標(biāo)記為 S[i], i = 0,.. 399。接下來,再從這些黑白風(fēng)景照片中,隨機提取另一個碎片,尺寸也是 16x16 像素,不妨把這個碎片標(biāo)記為 T。他們提出的問題是,如何從這400個碎片中,選取一組碎

23、片,S[k], 通過疊加的辦法,合成出一個新的碎片,而這個新的碎片,應(yīng)當(dāng)與隨機選擇的目標(biāo)碎片 T,盡可能相似,同時,S[k] 的數(shù)量盡可能少。用數(shù)學(xué)的語言來描述,就是: Sum_k (a[k] * S[k]) --> T,     其中 a[k] 是在疊加碎片 S[k] 時的權(quán)重系數(shù)。,2、初級(淺層)特征表示,為解決這個問題,David Field 發(fā)明了一個算法,稀疏編碼(S

24、parse Coding)。稀疏編碼是一個重復(fù)迭代的過程,每次迭代分兩步:1)選擇一組 S[k],然后調(diào)整 a[k],使得Sum_k (a[k] * S[k]) 最接近 T。2)固定住 a[k],在 400 個碎片中,選擇其它更合適的碎片S’[k],替代原先的 S[k],使得Sum_k (a[k] * S’[k]) 最接近 T。經(jīng)過幾次迭代后,最佳的 S[k] 組合,被遴選出來了。令人驚奇的是,被選中的 S[k],基本上都是照片

25、上不同物體的邊緣線,這些線段形狀相似,區(qū)別在于方向。David Field 的算法結(jié)果,與 殺貓者David Hubel 的生理發(fā)現(xiàn),不謀而合!,2、初級(淺層)特征表示,也就是說,復(fù)雜圖形,往往由一些基本結(jié)構(gòu)組成。比如下圖:一個圖可以通過用64種正交的edges(可以理解成正交的基本結(jié)構(gòu))來線性表示。比如樣例的x可以用1-64個edges中的三個按照0.8,0.3,0.5的權(quán)重調(diào)和而成。而其他基本edge沒有貢獻(xiàn),因此均為0,2、初

26、級(淺層)特征表示,另外,大牛們還發(fā)現(xiàn),不僅圖像存在這個規(guī)律,聲音也存在。他們從未標(biāo)注的聲音中發(fā)現(xiàn)了20種基本的聲音結(jié)構(gòu),其余的聲音可以由這20種基本結(jié)構(gòu)合成。(同聲傳譯的秘訣之一),3、結(jié)構(gòu)性特征表示,小塊的圖形可以由基本edge構(gòu)成,更結(jié)構(gòu)化,更復(fù)雜的,具有概念性的圖形如何表示呢?這就需要更高層次的特征表示,比如V2,V4。因此V1看像素級是像素級。V2看V1是像素級,這個是層次遞進(jìn)的,高層表達(dá)由底層表達(dá)的組合而成。專業(yè)點說就是基

27、basis。V1取提出的basis是邊緣,然后V2層是V1層這些basis的組合,這時候V2區(qū)得到的又是高一層的basis。即上一層的basis組合的結(jié)果,上上層又是上一層的組合basis……(HHT有類似之處),3、結(jié)構(gòu)性特征表示,直觀上說,就是找到make sense的小patch再將其進(jìn)行combine,就得到了上一層的feature,遞歸地向上learning feature。,3、結(jié)構(gòu)性特征表示,在不同object上做trai

28、ning時,所得的edge basis 是非常相似的,但object parts和models 就會completely different了(那咱們分辨car或者face是不是容易多了):,3、結(jié)構(gòu)性特征表示,一個人在看一個doc的時候,眼睛看到的是word,由這些word在大腦里自動切詞形成term,在按照概念組織的方式,先驗的學(xué)習(xí),得到topic,然后再進(jìn)行高層次的learning。,研表究明,漢字的序順并不定一能影閱響讀,比如當(dāng)

29、你看完這句話后,才發(fā)這現(xiàn)里的天驚大秘密。,下面用5秒種看一段文字。,4、需要有多少個特征?,我們知道需要層次的特征構(gòu)建,由淺入深,但每一層該有多少個特征呢?任何一種方法,特征越多,給出的參考信息就越多,準(zhǔn)確性會得到提升。但特征多意味著計算復(fù)雜,探索的空間大,可以用來訓(xùn)練的數(shù)據(jù)在每個特征上就會稀疏,都會帶來各種問題,并不一定特征越多越好,好了,到了這一步,終于可以聊到Deep learning了。上面我們聊到為什么會有Deep lear

30、ning(讓機器自動學(xué)習(xí)良好的特征,而免去人工選取過程。還有參考人的分層視覺處理系統(tǒng)),我們得到一個結(jié)論就是Deep learning需要多層來獲得更抽象的特征表達(dá)。那么多少層才合適呢?用什么架構(gòu)來建模呢?怎么進(jìn)行非監(jiān)督訓(xùn)練呢?,Deep Learning 基本思想,假設(shè)我們有一個系統(tǒng)S,它有n層(S1,…Sn),它的輸入是I,輸出是O,形象地表示為: I =>S1=>S2=>…..=>Sn => O,如果

31、輸出O等于輸入I,即輸入I經(jīng)過這個系統(tǒng)變化之后沒有任何的信息損失(呵呵,大牛說,這是不可能的。信息論中有個“信息逐層丟失”的說法(信息處理不等式),,Deep Learning 基本思想,設(shè)處理a信息得到b,再對b處理得到c,那么可以證明:a和c的互信息不會超過a和b的互信息。這表明信息處理不會增加信息,大部分處理會丟失信息。當(dāng)然了,如果丟掉的是沒用的信息那多好?。?,保持了不變,這意味著輸入I經(jīng)過每一層Si都沒有任何的信息損失,即在任何

32、一層Si,它都是原有信息(即輸入I)的另外一種表示?,F(xiàn)在回到我們的主題Deep Learning,我們需要自動地學(xué)習(xí)特征,假設(shè)我們有一堆輸入I(如一堆圖像或者文本),假設(shè)我們設(shè)計了一個系統(tǒng)S(有n層),我們通過調(diào)整系統(tǒng)中參數(shù),使得它的輸出仍然是輸入I,那么我們就可以自動地獲取得到輸入I的一系列層次特征,即S1,…, Sn。,Deep Learning 基本思想,對于深度學(xué)習(xí)來說,其思想就是對堆疊多個層,也就是說這一層的輸出作為下一層的

33、輸入。通過這種方式,就可以實現(xiàn)對輸入信息進(jìn)行分級表達(dá)了。另外,前面是假設(shè)輸出嚴(yán)格地等于輸入,這個限制太嚴(yán)格,我們可以略微地放松這個限制,例如我們只要使得輸入與輸出的差別盡可能地小即可,這個放松會導(dǎo)致另外一類不同的Deep Learning方法。上述就是Deep Learning的基本思想,淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(Deep Learning),淺層學(xué)習(xí)是機器學(xué)習(xí)的第一次浪潮。20世紀(jì)80年代末期,用于人

34、工神經(jīng)網(wǎng)絡(luò)的反向傳播算法(也叫Back Propagation算法或者BP算法)的發(fā)明,給機器學(xué)習(xí)帶來了希望,掀起了基于統(tǒng)計模型的機器學(xué)習(xí)熱潮。這個熱潮一直持續(xù)到今天。人們發(fā)現(xiàn),利用BP算法可以讓一個人工神經(jīng)網(wǎng)絡(luò)模型從大量訓(xùn)練樣本中學(xué)習(xí)統(tǒng)計規(guī)律,從而對未知事件做預(yù)測。這種基于統(tǒng)計的機器學(xué)習(xí)方法比起過去基于人工規(guī)則的系統(tǒng),在很多方面顯出優(yōu)越性。這個時候的人工神經(jīng)網(wǎng)絡(luò),雖也被稱作多層感知機(Multi-layer Perceptron),但

35、實際是種只含有一層隱層節(jié)點的淺層模型。,淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(Deep Learning),淺層學(xué)習(xí)是機器學(xué)習(xí)的第一次浪潮。 20世紀(jì)90年代,各種各樣的淺層機器學(xué)習(xí)模型相繼被提出,例如支撐向量機(SVM,Support Vector Machines)、 Boosting、最大熵方法(如LR,Logistic Regression)等。這些模型的結(jié)構(gòu)基本上可以看成帶有一層隱層節(jié)點(如SVM

36、、Boosting),或沒有隱層節(jié)點(如LR)。這些模型無論是在理論分析還是應(yīng)用中都獲得了巨大的成功。相比之下,由于理論分析的難度大,訓(xùn)練方法又需要很多經(jīng)驗和技巧,這個時期淺層人工神經(jīng)網(wǎng)絡(luò)反而相對沉寂。,淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(Deep Learning),深度學(xué)習(xí)是機器學(xué)習(xí)的第二次浪潮。2006年,加拿大多倫多大學(xué)教授、機器學(xué)習(xí)領(lǐng)域的泰斗Geoffrey Hinton和他的學(xué)生RuslanSalakh

37、utdinov在《科學(xué)》上發(fā)表了一篇文章,開啟了深度學(xué)習(xí)在學(xué)術(shù)界和工業(yè)界的浪潮。這篇文章有兩個主要觀點:1)多隱層的人工神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的特征學(xué)習(xí)能力,學(xué)習(xí)得到的特征對數(shù)據(jù)有更本質(zhì)的刻畫,從而有利于可視化或分類;2)深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練上的難度,可以通過“逐層初始化”(layer-wise pre-training)來有效克服,在這篇文章中,逐層初始化是通過無監(jiān)督學(xué)習(xí)實現(xiàn)的。,淺層學(xué)習(xí)(Shallow Learning)和深度學(xué)習(xí)(D

38、eep Learning),深度學(xué)習(xí)是機器學(xué)習(xí)的第二次浪潮。當(dāng)前多數(shù)分類、回歸等學(xué)習(xí)方法為淺層結(jié)構(gòu)算法,其局限性在于有限樣本和計算單元情況下對復(fù)雜函數(shù)的表示能力有限,針對復(fù)雜分類問題其泛化能力受到一定制約。深度學(xué)習(xí)可通過學(xué)習(xí)一種深層非線性網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)復(fù)雜函數(shù)逼近,表征輸入數(shù)據(jù)分布式表示,并展現(xiàn)了強大的從少數(shù)樣本集中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力。(多層的好處是可以用較少的參數(shù)表示復(fù)雜的函數(shù)),淺層學(xué)習(xí)(Shallow Learning)和

39、深度學(xué)習(xí)(Deep Learning),深度學(xué)習(xí)的實質(zhì),是通過構(gòu)建具有很多隱層的機器學(xué)習(xí)模型和海量的訓(xùn)練數(shù)據(jù),來學(xué)習(xí)更有用的特征,從而最終提升分類或預(yù)測的準(zhǔn)確性。因此,“深度模型”是手段,“特征學(xué)習(xí)”是目的。區(qū)別于傳統(tǒng)的淺層學(xué)習(xí),深度學(xué)習(xí)的不同在于:1)強調(diào)了模型結(jié)構(gòu)的深度,通常有5層、6層,甚至10多層的隱層節(jié)點;2)明確突出了特征學(xué)習(xí)的重要性,也就是說,通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,從而使分類或

40、預(yù)測更加容易。與人工規(guī)則構(gòu)造特征的方法相比,利用大數(shù)據(jù)來學(xué)習(xí)特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。,Deep learning與Neural Network,深度學(xué)習(xí)是機器學(xué)習(xí)研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。深度學(xué)習(xí)是無監(jiān)督學(xué)習(xí)的一種。深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽

41、象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。,Deep learning與Neural Network,Deep learning本身算是machine learning的一個分支,簡單可以理解為neural network的發(fā)展。大約二三十年前,neural network曾經(jīng)是ML領(lǐng)域特別火熱的一個方向,但是后來確慢慢淡出了,原因包括以下幾個方面:1)比較容易過擬合,參數(shù)比較難tune,而且需要不少trick;2)訓(xùn)

42、練速度比較慢,在層次比較少(小于等于3)的情況下效果并不比其它方法更優(yōu);所以中間有大約20多年的時間,神經(jīng)網(wǎng)絡(luò)被關(guān)注很少,這段時間基本上是SVM和boosting算法的天下。但是,一個癡心的老先生Hinton,他堅持了下來,并最終(和其它人一起B(yǎng)engio、Yann.lecun等)提成了一個實際可行的deep learning框架。,Deep learning與Neural Network,Deep learning與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)之

43、間有相同的地方也有很多不同。二者的相同在于deep learning采用了神經(jīng)網(wǎng)絡(luò)相似的分層結(jié)構(gòu),系統(tǒng)由包括輸入層、隱層(多層)、輸出層組成的多層網(wǎng)絡(luò),只有相鄰層節(jié)點之間有連接,同一層以及跨層節(jié)點之間相互無連接;這種分層結(jié)構(gòu),是比較接近人類大腦的結(jié)構(gòu)的。,Deep learning與Neural Network,為了克服神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的問題,DL采用了與神經(jīng)網(wǎng)絡(luò)很不同的訓(xùn)練機制。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,采用的是back propagation

44、的方式進(jìn)行,簡單來講就是采用迭代的算法來訓(xùn)練整個網(wǎng)絡(luò),隨機設(shè)定初值,計算當(dāng)前網(wǎng)絡(luò)的輸出,然后根據(jù)當(dāng)前輸出和label之間的差去改變前面各層的參數(shù),直到收斂(整體是一個梯度下降法)。deep learning整體上是一個layer-wise(分層計算)的訓(xùn)練機制。這樣做的原因是因為,如果采用back propagation的機制,對于一個deep network(7層以上),殘差傳播到最前面的層已經(jīng)變得太小,出現(xiàn)所謂的gradient

45、diffusion(梯度擴散)。這個問題我們接下來討論。,Deep learning訓(xùn)練過程,如果對所有層同時訓(xùn)練,時間復(fù)雜度會太高;如果每次訓(xùn)練一層,偏差就會逐層傳遞。這會面臨跟上面監(jiān)督學(xué)習(xí)中相反的問題,會嚴(yán)重欠擬合(因為深度網(wǎng)絡(luò)的神經(jīng)元和參數(shù)太多了)。2006年,hinton提出了在非監(jiān)督數(shù)據(jù)上建立多層神經(jīng)網(wǎng)絡(luò)的一個有效方法,簡單的說,分為兩步,一是每次訓(xùn)練一層網(wǎng)絡(luò),二是調(diào)優(yōu),Deep learning訓(xùn)練過程,deep lear

46、ning訓(xùn)練過程具體如下:1)使用自下上升非監(jiān)督學(xué)習(xí)(就是從底層開始,一層一層的往頂層訓(xùn)練):采用無標(biāo)定數(shù)據(jù)(有標(biāo)定數(shù)據(jù)也可)分層訓(xùn)練各層參數(shù),這一步可以看作是一個無監(jiān)督訓(xùn)練過程,是和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)區(qū)別最大的部分(這個過程可以看作是feature learning過程):具體的,先用無標(biāo)定數(shù)據(jù)訓(xùn)練第一層,訓(xùn)練時先學(xué)習(xí)第一層的參數(shù)(這一層可以看作是得到一個使得輸出和輸入差別最小的三層神經(jīng)網(wǎng)絡(luò)的隱層),由于模型capacity的限制以及

47、稀疏性約束,使得得到的模型能夠?qū)W習(xí)到數(shù)據(jù)本身的結(jié)構(gòu),從而得到比輸入更具有表示能力的特征;在學(xué)習(xí)得到第n-1層后,將n-1層的輸出作為第n層的輸入,訓(xùn)練第n層,由此分別得到各層的參數(shù);,Deep learning訓(xùn)練過程,deep learning訓(xùn)練過程具體如下:2)自頂向下的監(jiān)督學(xué)習(xí)(就是通過帶標(biāo)簽的數(shù)據(jù)去訓(xùn)練,誤差自頂向下傳輸,對網(wǎng)絡(luò)進(jìn)行微調(diào)):基于第一步得到的各層參數(shù)進(jìn)一步fine-tune整個多層模型的參數(shù),這一步是一個有監(jiān)

48、督訓(xùn)練過程;第一步類似神經(jīng)網(wǎng)絡(luò)的隨機初始化初值過程,由于DL的第一步不是隨機初始化,而是通過學(xué)習(xí)輸入數(shù)據(jù)的結(jié)構(gòu)得到的,因而這個初值更接近全局最優(yōu),從而能夠取得更好的效果;所以deep learning效果好很大程度上歸功于第一步的feature learning過程。,Deep Learning的常用模型,AutoEncoder自動編碼器Deep Learning最簡單的一種方法是利用人工神經(jīng)網(wǎng)絡(luò)的特點,人工神經(jīng)網(wǎng)絡(luò)(ANN)本身就是

49、具有層次結(jié)構(gòu)的系統(tǒng),如果給定一個神經(jīng)網(wǎng)絡(luò),我們假設(shè)其輸出與輸入是相同的,然后訓(xùn)練調(diào)整其參數(shù),得到每一層中的權(quán)重。自然地,我們就得到了輸入I的幾種不同表示(每一層代表一種表示),這些表示就是特征。自動編碼器就是一種盡可能復(fù)現(xiàn)輸入信號的神經(jīng)網(wǎng)絡(luò)。為了實現(xiàn)這種復(fù)現(xiàn),自動編碼器就必須捕捉可以代表輸入數(shù)據(jù)的最重要的因素,就像PCA那樣,找到可以代表原信息的主要成分。,AutoEncoder自動編碼器,具體過程簡單的說明如下:1)給定無標(biāo)簽數(shù)據(jù)

50、,用非監(jiān)督學(xué)習(xí)學(xué)習(xí)特征:,在我們之前的神經(jīng)網(wǎng)絡(luò)中,如第一個圖,我們輸入的樣本是有標(biāo)簽的,即(input, target),這樣我們根據(jù)當(dāng)前輸出和target(label)之間的差去改變前面各層的參數(shù),直到收斂。但現(xiàn)在我們只有無標(biāo)簽數(shù)據(jù),也就是右邊的圖。那么這個誤差怎么得到呢?,AutoEncoder自動編碼器,我們將input輸入一個encoder編碼器,就會得到一個code,這個code也就是輸入的一個表示,那么我們怎么知道這個cod

51、e表示的就是input呢?我們加一個decoder解碼器,這時候decoder就會輸出一個信息,那么如果輸出的這個信息和一開始的輸入信號input是很像的(理想情況下就是一樣的),那很明顯,我們就有理由相信這個code是靠譜的。所以,我們就通過調(diào)整encoder和decoder的參數(shù),使得重構(gòu)誤差最小,這時候我們就得到了輸入input信號的第一個表示了,也就是編碼code了。因為是無標(biāo)簽數(shù)據(jù),所以誤差的來源就是直接重構(gòu)后與原輸入相比得到

52、。,AutoEncoder自動編碼器,2)通過編碼器產(chǎn)生特征,然后訓(xùn)練下一層。這樣逐層訓(xùn)練:       那上面我們就得到第一層的code,我們的重構(gòu)誤差最小讓我們相信這個code就是原輸入信號的良好表達(dá)了,或者牽強點說,它和原信號是一模一樣的(表達(dá)不一樣,反映的是一個東西)。那第二層和第一層的訓(xùn)練方式就沒有差別了,我們將第一層輸出的code當(dāng)成第二層的輸入信號,同樣最小化重

53、構(gòu)誤差,就會得到第二層的參數(shù),并且得到第二層輸入的code,也就是原輸入信息的第二個表達(dá)了。其他層就同樣的方法炮制就行了。,AutoEncoder自動編碼器,3)有監(jiān)督微調(diào):經(jīng)過上面的方法,我們就可以得到很多層了。至于需要多少層需要自己試驗調(diào)了。每一層都會得到原始輸入的不同的表達(dá)。當(dāng)然了,我們覺得它是越抽象越好了,就像人的視覺系統(tǒng)一樣。到這里,這個AutoEncoder還不能用來分類數(shù)據(jù),因為它還沒有學(xué)習(xí)如何去連結(jié)一個輸入和一個類。

54、它只是學(xué)會了如何去重構(gòu)或者復(fù)現(xiàn)它的輸入而已?;蛘哒f,它只是學(xué)習(xí)獲得了一個可以良好代表輸入的特征,這個特征可以最大程度上代表原輸入信號。那么,為了實現(xiàn)分類,我們就可以在AutoEncoder的最頂?shù)木幋a層添加一個分類器(例如羅杰斯特回歸、SVM等),然后通過標(biāo)準(zhǔn)的多層神經(jīng)網(wǎng)絡(luò)的監(jiān)督訓(xùn)練方法(梯度下降法)去訓(xùn)練。,AutoEncoder自動編碼器,我們需要將最后層的特征code輸入到最后的分類器,通過有標(biāo)簽樣本,通過監(jiān)督學(xué)習(xí)進(jìn)行微調(diào),這也分

55、兩種,一個是只調(diào)整分類器(黑色部分):,AutoEncoder自動編碼器,另一種:通過有標(biāo)簽樣本,微調(diào)整個系統(tǒng):(如果有足夠多的數(shù)據(jù),這個是最好的。end-to-end learning端對端學(xué)習(xí)),在研究中可以發(fā)現(xiàn),如果在原有的特征中加入這些自動學(xué)習(xí)得到的特征可以大大提高精確度,甚至在分類問題中比目前最好的分類算法效果還要好!,AutoEncoder存在一些變體,Sparse AutoEncoder稀疏自動編碼器:繼續(xù)加上一些約束條

56、件得到新的Deep Learning方法,如:如果在AutoEncoder的基礎(chǔ)上加上L1的Regularity限制(L1主要是約束每一層中的節(jié)點中大部分都要為0,只有少數(shù)不為0,這就是Sparse名字的來源),我們就可以得到Sparse AutoEncoder法。,人腦好像也是這樣的,某個輸入只是刺激某些神經(jīng)元,其他的大部分的神經(jīng)元是受到抑制的,AutoEncoder存在一些變體,Denoising AutoEncoders降噪自動編

57、碼器 降噪自動編碼器DA是在自動編碼器的基礎(chǔ)上,訓(xùn)練數(shù)據(jù)加入噪聲,所以自動編碼器必須學(xué)習(xí)去去除這種噪聲而獲得真正的沒有被噪聲污染過的輸入。因此,這就迫使編碼器去學(xué)習(xí)輸入信號的更加魯棒的表達(dá)。DA可以通過梯度下降算法去訓(xùn)練。,Convolutional Neural Networks卷積神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種,已成為當(dāng)前語音分析和圖像識別領(lǐng)域的研究熱點。它的權(quán)值共享網(wǎng)絡(luò)結(jié)構(gòu)使之更類似于生物神經(jīng)網(wǎng)絡(luò),降低了網(wǎng)

58、絡(luò)模型的復(fù)雜度,減少了權(quán)值的數(shù)量。該優(yōu)點在網(wǎng)絡(luò)的輸入是多維圖像時表現(xiàn)的更為明顯,使圖像可以直接作為網(wǎng)絡(luò)的輸入,避免了傳統(tǒng)識別算法中復(fù)雜的特征提取和數(shù)據(jù)重建過程。卷積網(wǎng)絡(luò)是為識別二維形狀而特殊設(shè)計的一個多層感知器,這種網(wǎng)絡(luò)結(jié)構(gòu)對平移、比例縮放、傾斜或者共他形式的變形具有高度不變性。,CNN,卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)是一個多層的神經(jīng)網(wǎng)絡(luò),每層由多個二維平面組成,而每個平面由多個獨立神經(jīng)元組成。,輸入圖像通過和三個可訓(xùn)練的濾波器

59、和可加偏置進(jìn)行卷積,卷積后在C1層產(chǎn)生三個特征映射圖,然后特征映射圖中每組的四個像素再進(jìn)行求和,加權(quán)值,加偏置,得到三個S2層的特征映射圖。這些映射圖再進(jìn)過濾波得到C3層。這個層級結(jié)構(gòu)再和S2一樣產(chǎn)生S4。最終,這些像素值被光柵化,并連接成一個向量輸入到傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),得到輸出。,CNN,C層為特征提取層,每個神經(jīng)元的輸入與前一層的局部感受野相連,并提取該局部的特征;S層是特征映射層,網(wǎng)絡(luò)的每個計算層由多個特征映射組成,每個特征映射為

60、一個平面,平面上所有神經(jīng)元的權(quán)值相等。 卷積神經(jīng)網(wǎng)絡(luò)中的每一個特征提取層(C-層)都緊跟著一個用來求局部平均與二次提取的計算層(S-層),這種特有的兩次特征提取結(jié)構(gòu)使網(wǎng)絡(luò)在識別時對輸入樣本有較高的畸變?nèi)萑棠芰Α?關(guān)于參數(shù)減少與權(quán)值共享,CNN一個優(yōu)勢在于通過感受野和權(quán)值共享減少了神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練的參數(shù)的個數(shù)。那究竟是啥的呢?如果我們有1000x1000像素的圖像,有1百萬個隱層神經(jīng)元,那么他們?nèi)B接的話(每個隱層神經(jīng)元都連

61、接圖像的每一個像素點),就有1000x1000x1000000=10^12個連接,也就是10^12個權(quán)值參數(shù)。,關(guān)于參數(shù)減少與權(quán)值共享,圖像的空間聯(lián)系是局部的,就像人是通過一個局部的感受野去感受外界圖像一樣,每一個神經(jīng)元都不需要對全局圖像做感受,每個神經(jīng)元只感受局部的圖像區(qū)域,然后在更高層,將這些感受不同局部的神經(jīng)元綜合起來就可以得到全局的信息了。這樣,我們就可以減少連接的數(shù)目,也就是減少神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練的權(quán)值參數(shù)的個數(shù)了。如下圖右:假

62、如局部感受野是10x10,隱層每個感受野只需要和這10x10的局部圖像相連接,所以1百萬個隱層神經(jīng)元就只有一億個連接,即10^8個參數(shù)。比原來減少了四個0(數(shù)量級),這樣訓(xùn)練起來就沒那么費力了,但還是感覺很多的啊,那還有啥辦法沒?,關(guān)于參數(shù)減少與權(quán)值共享,我們知道,隱含層的每一個神經(jīng)元都連接10x10個圖像區(qū)域,也就是說每一個神經(jīng)元存在10x10=100個連接權(quán)值參數(shù)。那如果我們每個神經(jīng)元這100個參數(shù)是相同的呢?也就是說每個神經(jīng)元用的

63、是同一個卷積核去卷積圖像。這樣我們就只有100個參數(shù)?。〔还苣汶[層的神經(jīng)元個數(shù)有多少,兩層間的連接我只有100個參數(shù)?。∵@就是權(quán)值共享??!這就是卷積神經(jīng)網(wǎng)絡(luò)的主打優(yōu)點啊!也許你會問這樣做靠譜嗎?為什么可行呢?這個……往下看,關(guān)于參數(shù)減少與權(quán)值共享,假如一種濾波器,也就是一種卷積核就是提出圖像的一種特征,例如某個方向的邊緣。那么我們需要提取不同的特征,怎么辦,加多幾種濾波器不就行了嗎?對了。所以假設(shè)我們加到100種濾波器,每種濾波器的參數(shù)

64、不一樣,表示它提出輸入圖像的不同特征,例如不同的邊緣。這樣每種濾波器去卷積圖像就得到對圖像的不同特征的放映,我們稱之為Feature Map。所以100種卷積核就有100個Feature Map。,關(guān)于參數(shù)減少與權(quán)值共享,這100個Feature Map就組成了一層神經(jīng)元。到這個時候明了了吧。我們這一層有多少個參數(shù)了?100種卷積核x每種卷積核共享100個參數(shù)=100x100=10K,也就是1萬個參數(shù)。見下圖右:不同的顏色表達(dá)不同的濾波

65、器。,關(guān)于參數(shù)減少與權(quán)值共享,神經(jīng)元個數(shù)如何確定剛才說隱層的參數(shù)個數(shù)和隱層的神經(jīng)元個數(shù)無關(guān),只和濾波器的大小和濾波器種類的多少有關(guān)。那么隱層的神經(jīng)元個數(shù)怎么確定呢?它和原圖像,也就是輸入的大?。ㄉ窠?jīng)元個數(shù))、濾波器的大小和濾波器在圖像中的滑動步長都有關(guān)!,關(guān)于參數(shù)減少與權(quán)值共享,例如,我的圖像是1000x1000像素,而濾波器大小是10x10,假設(shè)濾波器沒有重疊,也就是步長為10,這樣隱層的神經(jīng)元個數(shù)就是(1000x1000 )/ (

66、10x10)=100x100個神經(jīng)元了,這只是一種濾波器,也就是一個Feature Map的神經(jīng)元個數(shù)哦,如果100個Feature Map就是100倍了。由此可見,圖像越大,神經(jīng)元個數(shù)和需要訓(xùn)練的權(quán)值參數(shù)個數(shù)的貧富差距就越大。,關(guān)于參數(shù)減少與權(quán)值共享,上面的討論都沒有考慮每個神經(jīng)元的偏置部分。所以權(quán)值個數(shù)需要加1 。這個也是同一種濾波器共享的。卷積網(wǎng)絡(luò)的核心思想是將:局部感受野、權(quán)值共享(或者權(quán)值復(fù)制)以及時間或空間亞采樣這三種結(jié)構(gòu)

67、思想結(jié)合起來獲得了某種程度的位移、尺度、形變不變性。,一個典型的例子說明,一種典型的用來識別數(shù)字的卷積網(wǎng)絡(luò)是LeNet-5。當(dāng)年美國大多數(shù)銀行就是用它來識別支票上面的手寫數(shù)字的。能夠達(dá)到這種商用的地步,它的準(zhǔn)確性可想而知。,一個典型的例子說明,LeNet-5共有7層,不包含輸入,每層都包含可訓(xùn)練參數(shù)(連接權(quán)重)。輸入圖像為32*32大小。這樣做的原因是希望潛在的明顯特征如筆畫斷電或角點能夠出現(xiàn)在最高層特征監(jiān)測子感受野的中心。,一個典型的

68、例子說明,C1層是一個卷積層(通過卷積運算,可以使原信號特征增強,并且降低噪音),由6個特征圖Feature Map構(gòu)成。特征圖中每個神經(jīng)元與輸入中5*5的鄰域相連。特征圖的大小為28*28,這樣能防止輸入的連接掉到邊界之外。C1有156個可訓(xùn)練參數(shù)(每個濾波器5*5=25個unit參數(shù)和一個bias參數(shù),一共6個濾波器,共(5*5+1)*6=156個參數(shù)),共156*(28*28)=122,304個連接。,一個典型的例子說明,S2層是

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論