深度學(xué)習(xí)第①篇(文末附大量資料) 一、深度學(xué)習(xí)的起源與概念 深度學(xué)習(xí)的概念由Hinton等人于2006年提出。深度學(xué)習(xí)可以簡單理解為傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的拓展。如下圖所示,深度學(xué)習(xí)與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)之間有相同的地方,二者的相同之處在于,深度學(xué)習(xí)采用了與神經(jīng)網(wǎng)絡(luò)相似的分層結(jié)構(gòu):系統(tǒng)是一個(gè)包括輸入層、隱層(可單層、可多層)、輸出層的多層網(wǎng)絡(luò),只有相鄰層的節(jié)點(diǎn)之間有連接,而同一層以及跨層節(jié)點(diǎn)之間相互無連接。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò) 深度學(xué)習(xí)框架將特征和分類器結(jié)合到一個(gè)框架中,用數(shù)據(jù)去學(xué)習(xí)特征,在使用中減少了手工設(shè)計(jì)特征的巨大工作量??此囊粋€(gè)別名:無監(jiān)督特征學(xué)習(xí)(Unsupervised Feature Learning),就可以顧名思義了。無監(jiān)督(Unsupervised)學(xué)習(xí)的意思就是不需要通過人工方式進(jìn)行樣本類別的標(biāo)注來完成學(xué)習(xí)。因此,深度學(xué)習(xí)是一種可以自動(dòng)地學(xué)習(xí)特征的方法。 深度學(xué)習(xí)通過學(xué)習(xí)一種深層非線性網(wǎng)絡(luò)結(jié)構(gòu),只需簡單的網(wǎng)絡(luò)結(jié)構(gòu)即可實(shí)現(xiàn)復(fù)雜函數(shù)的逼近,并展現(xiàn)了強(qiáng)大的從大量無標(biāo)注樣本集中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力。深度學(xué)習(xí)能夠獲得可更好地表示數(shù)據(jù)的特征,同時(shí)由于模型的層次深(通常有5層、6層,甚至10多層的隱藏層節(jié)點(diǎn))、表達(dá)能力強(qiáng),因此有能力表示大規(guī)模數(shù)據(jù)。對(duì)于圖像、語音這種特征不明顯(需要手工設(shè)計(jì)且很多沒有直觀的物理含義)的問題,深度模型能夠在大規(guī)模訓(xùn)練數(shù)據(jù)上取得更好的效果。相比于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),深度神經(jīng)網(wǎng)絡(luò)作出了重大的改進(jìn),在訓(xùn)練上的難度(如梯度彌散問題)可以通過“逐層預(yù)訓(xùn)練”來有效降低。 值的注意的是,深度學(xué)習(xí)不是萬能的,像很多其他方法一樣,它需要結(jié)合特定領(lǐng)域的先驗(yàn)知識(shí),需要和其他模型結(jié)合才能得到最好的結(jié)果。此外,類似于神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)的另一局限性是可解釋性不強(qiáng),像個(gè)“黑箱子”一樣不知為什么能取得好的效果,以及不知如何有針對(duì)性地去具體改進(jìn),而這有可能成為產(chǎn)品升級(jí)過程中的阻礙。 近年來,深度學(xué)習(xí)的發(fā)展逐漸成熟。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)方面的世界頂尖專家Jeff Dean共同主導(dǎo),用16,000個(gè)CPU Core的并行計(jì)算平臺(tái)去訓(xùn)練含有10億個(gè)節(jié)點(diǎn)的深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN),使其能夠自我訓(xùn)練,對(duì)2萬個(gè)不同物體的1,400萬張圖片進(jìn)行辨識(shí)。在開始分析數(shù)據(jù)前,并不需要向系統(tǒng)手工輸入任何諸如“臉、肢體、貓的長相是什么樣子”這類特征。Jeff Dean說:“我們?cè)谟?xùn)練的時(shí)候從來不會(huì)告訴機(jī)器:‘這是一只貓’(即無標(biāo)注樣本)。系統(tǒng)其實(shí)是自己發(fā)明或領(lǐng)悟了‘貓’的概念。 2014年3月,同樣也是基于深度學(xué)習(xí)方法,F(xiàn)acebook的DeepFace項(xiàng)目使得人臉識(shí)別技術(shù)的識(shí)別率已經(jīng)達(dá)到了97.25%,只比人類識(shí)別97.5%的正確率略低那么一點(diǎn)點(diǎn),準(zhǔn)確率幾乎可媲美人類。該項(xiàng)目利用了9層的神經(jīng)網(wǎng)絡(luò)來獲得臉部表征,神經(jīng)網(wǎng)絡(luò)處理的參數(shù)高達(dá)1.2億。 以及2016年3月人工智能圍棋比賽,由位于英國倫敦的谷歌(Google)旗下DeepMind公司的戴維·西爾弗、艾佳·黃和戴密斯·哈薩比斯與他們的團(tuán)隊(duì)開發(fā)的AlphaGo戰(zhàn)勝了世界圍棋冠軍、職業(yè)九段選手李世石,并以4:1的總比分獲勝。AlphaGo的主要工作原理就是深度學(xué)習(xí),通過兩個(gè)不同神經(jīng)網(wǎng)絡(luò)“大腦”合作來改進(jìn)下棋:第一大腦:落子選擇器 (Move Picker)和第二大腦:棋局評(píng)估器 (Position Evaluator)。這些大腦是多層神經(jīng)網(wǎng)絡(luò)跟那些Google圖片搜索引擎識(shí)別圖片在結(jié)構(gòu)上是相似的。它們從多層啟發(fā)式二維過濾器開始,去處理圍棋棋盤的定位,就像圖片分類器網(wǎng)絡(luò)處理圖片一樣。經(jīng)過過濾,13個(gè)完全連接的神經(jīng)網(wǎng)絡(luò)層產(chǎn)生對(duì)它們看到的局面判斷。這些層能夠做分類和邏輯推理。 二、深度學(xué)習(xí)的應(yīng)用 深度學(xué)習(xí)受到世界各國相關(guān)領(lǐng)域研究人員和高科技公司的重視,最廣泛的三個(gè)主要研究應(yīng)用領(lǐng)域包括:語音識(shí)別、機(jī)器視覺和自然語言處理。 語音識(shí)別方面: 從2009年開始,微軟亞洲研究院的語音識(shí)別專家們和深度學(xué)習(xí)領(lǐng)軍人物Hinton合作。2011年微軟公司推出基于深度神經(jīng)網(wǎng)絡(luò)的語音識(shí)別系統(tǒng),這一成果將語音識(shí)別領(lǐng)域已有的技術(shù)框架完全改變。采用深度神經(jīng)網(wǎng)絡(luò)后,樣本數(shù)據(jù)特征間相關(guān)性信息得以充分表示,將連續(xù)的特征信息結(jié)合構(gòu)成高維特征,通過高維特征樣本對(duì)深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。由于深度神經(jīng)網(wǎng)絡(luò)采用了模擬人腦神經(jīng)架構(gòu),通過逐層的進(jìn)行數(shù)據(jù)特征提取,最終得到適合進(jìn)行模式分類處理的理想特征。 機(jī)器視覺方面:對(duì)于圖像的處理是深度學(xué)習(xí)算法最早嘗試應(yīng)用的領(lǐng)域。早在1989年,加拿大多倫多大學(xué)教授Yann LeCun就和他的同事提出了卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)它是一種包含卷積層的深度神經(jīng)網(wǎng)絡(luò)模型。通常一個(gè)卷機(jī)神經(jīng)網(wǎng)絡(luò)架構(gòu)包含兩個(gè)可以通過訓(xùn)練產(chǎn)生的非線性卷積層,兩個(gè)固定的子采樣層和一個(gè)全連接層,隱藏層的數(shù)量一般至少在5個(gè)以上。CNN的架構(gòu)設(shè)計(jì)是受到生物學(xué)家Hube和Wiesel的動(dòng)物視覺模型啟發(fā)而發(fā)明的,尤其是模擬動(dòng)物視覺皮層的V1層和V2層中簡單細(xì)胞和復(fù)雜細(xì)胞在視覺系統(tǒng)的功能。起初卷積神經(jīng)網(wǎng)絡(luò)在小規(guī)模的問題上取得了當(dāng)時(shí)世界最好成果。但是在很長一段時(shí)間里一直沒有取得重大突破。主要原因是卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在大尺寸圖像上一直不能取得理想結(jié)果,比如對(duì)于像素?cái)?shù)很大的自然圖像內(nèi)容的理解,這使得它沒有引起計(jì)算機(jī)視覺研究領(lǐng)域足夠的重視。2012年10月,Hinton教授以及他的學(xué)生采用更深的卷神經(jīng)網(wǎng)絡(luò)模型在著名的ImageNet問題上取得了世界最好結(jié)果,使得對(duì)于圖像識(shí)別的領(lǐng)域研究更進(jìn)一步。 自卷積神經(jīng)網(wǎng)絡(luò)提出以來,在圖像識(shí)別問題上并沒有取得質(zhì)的提升和突破,直到2012年Hinton構(gòu)建深度神經(jīng)網(wǎng)絡(luò)才去的驚人的成果。這主要是因?yàn)閷?duì)算法的改進(jìn),在網(wǎng)絡(luò)的訓(xùn)練中引入了權(quán)重衰減的概念,有效的減小權(quán)重幅度,防止網(wǎng)絡(luò)過擬合。更關(guān)鍵的是計(jì)算機(jī)計(jì)算能力的提升,GPU加速技術(shù)的發(fā)展,使得在訓(xùn)練過程中可以產(chǎn)生更多的訓(xùn)練數(shù)據(jù),使網(wǎng)絡(luò)能夠更好的擬合訓(xùn)練數(shù)據(jù)。2012年國內(nèi)互聯(lián)網(wǎng)巨頭百度公司將相關(guān)最新技術(shù)成功應(yīng)用到人臉識(shí)別和自然圖像識(shí)別問題,并推出相應(yīng)的產(chǎn)品。現(xiàn)在的深度學(xué)習(xí)網(wǎng)絡(luò)模型已經(jīng)能夠理解和識(shí)別一般的自然圖像。深度學(xué)習(xí)模型不僅大幅提高了圖像識(shí)別的精度,同時(shí)也避免了需要消耗大量時(shí)間進(jìn)行人工特征的提取,使得在線運(yùn)行效率大大提升。 自然語言處理方面: 自然語言處理問題是深度學(xué)習(xí)在除了語音和圖像處理之外的另一個(gè)重要的應(yīng)用領(lǐng)域。數(shù)十年以來,自然語言處理的主流方法是基于統(tǒng)計(jì)的模型,人工神經(jīng)網(wǎng)絡(luò)也是基于統(tǒng)計(jì)方法模型之一,但在自然語言處理領(lǐng)域卻一直沒有被重視。語言建模時(shí)最早采用神經(jīng)網(wǎng)絡(luò)進(jìn)行自然語言處理的問題。美國NEC研究院最早將深度學(xué)習(xí)引入到自然語言處理研究中,其研究院從2008年起采用將詞匯映射到一維矢量空間和多層一維卷積結(jié)構(gòu)去解決詞性標(biāo)注、分詞、命名實(shí)體識(shí)別和語義角色標(biāo)注四個(gè)典型的自然語言處理問題。他們構(gòu)建了一個(gè)網(wǎng)絡(luò)模型用于解決四個(gè)不同問題,都取得了相當(dāng)精確的結(jié)果。總體而言,深度學(xué)習(xí)在自然語言處理上取得的成果和在圖像語音識(shí)別方面相差甚遠(yuǎn),仍有待深入研究。 三、深度學(xué)習(xí)的常用框架 |
|