Nature重磅:Hinton、LeCun、Bengio三巨頭權(quán)威科普深度學(xué)習(xí)
一個(gè)典型的卷積網(wǎng)絡(luò)架構(gòu)的每一層(水平)輸出(不是過濾器)應(yīng)用到一個(gè)薩摩耶犬的圖像(圖2左下方,RGB輸入(紅綠藍(lán)),下方右側(cè))。 每一個(gè)長方形圖片都是一張對(duì)應(yīng)于學(xué)習(xí)到的輸出特征的特征地圖,這些特征可以在圖片的各個(gè)位置被偵測(cè)到。信息流是從下往上的,低級(jí)的特征充作導(dǎo)向性邊際檢測(cè)因子( edge detectors),每個(gè)輸出圖像類都會(huì)被計(jì)算出一個(gè)分值。ReLU,整流線性單元。
本文引用地址:http://cafeforensic.com/article/201612/342188.htm深度學(xué)習(xí)架構(gòu)由簡單模組多層堆疊而成,全部(或絕大部分)模組都從事學(xué)習(xí),大部分會(huì)計(jì)算非線性的輸入輸出映射。堆疊架構(gòu)中的每個(gè)模組都會(huì)轉(zhuǎn)換它的輸入,同時(shí)增強(qiáng)可選擇性和所呈現(xiàn)狀態(tài)的一致性。 通過多個(gè)非線性層面(例如,深度5-20層),系統(tǒng)可以實(shí)現(xiàn)對(duì)于輸入數(shù)據(jù)的極其微小細(xì)節(jié)的敏感性功能 --- 例如,區(qū)別開白色的狼和薩摩耶犬 --- 并且對(duì)于較大的無關(guān)變量會(huì)不敏感(例如,主體周圍的環(huán)境、姿勢(shì)、光照條件和周圍物體。)
訓(xùn)練多層架構(gòu)的反向傳播算法
從最早的模式識(shí)別開始,研究者們就一直試圖用可訓(xùn)練的多層網(wǎng)絡(luò)代替人工設(shè)計(jì)特征,盡管這種解決方案很簡單,直到20世紀(jì)80年代中期,它才得到人們的廣泛認(rèn)可。事實(shí)證明,多層架構(gòu)可以通過簡單的隨機(jī)梯度下降法得以訓(xùn)練。只要模組是由它們的輸入值及其內(nèi)部權(quán)重構(gòu)成的相對(duì)平滑的函數(shù)(relatively smooth functions),人們就可以使用反向傳播算法來計(jì)算梯度。20世紀(jì)70至80年代,幾個(gè)不同的研究小組分別發(fā)現(xiàn)這一方法確實(shí)可行、有用。
計(jì)算一個(gè)目標(biāo)函數(shù)關(guān)于一個(gè)多層堆疊模組的權(quán)重梯度的反向傳播過程,只不過是導(dǎo)數(shù)鏈?zhǔn)椒▌t的一個(gè)實(shí)際應(yīng)用。其中關(guān)鍵之處在于,關(guān)于模組輸入值的函數(shù)的導(dǎo)數(shù)(或梯度),可以借助關(guān)于該模組的輸出值(或序列模組的輸入值)的梯度反向計(jì)算出來(圖1)。反向傳播方程可在所有模組中傳播梯度時(shí)被反復(fù)應(yīng)用,從頂部(top)(神經(jīng)網(wǎng)絡(luò)產(chǎn)生預(yù)測(cè)的那一層)輸出開始,一直到底部(bottom)(被接收外部輸入的那一層)。這些梯度一經(jīng)計(jì)算,就可直接計(jì)算出關(guān)于每個(gè)模組權(quán)重的梯度。
深度學(xué)習(xí)的許多應(yīng)用,都會(huì)使用前饋神經(jīng)網(wǎng)絡(luò)架構(gòu)( feedforward neural network architectures)(圖1)——該架構(gòu)可學(xué)習(xí)將一個(gè)固定大小的輸入映射到(例如,一幅圖像)到一個(gè)固定大小的輸出上(例如,每種分類的概率)。從一層到下一層,單元組計(jì)算其前一層輸入的加權(quán)總和,并通過一個(gè)非線性函數(shù)輸出結(jié)果。目前,最受歡迎的非線性函數(shù)是整流線性單元(ReLU),一個(gè)簡單的半波整流器f(z) = max(z, 0)。在過去的幾十年里,神經(jīng)網(wǎng)絡(luò)使用的是更平滑的非線性,比如,tanh(z)或1 /(1 + exp(?z)),但ReLU在多層網(wǎng)絡(luò)中的學(xué)習(xí)速度通常更快,可允許在沒有無監(jiān)督預(yù)訓(xùn)練(without unsupervised pre-training)的情況下進(jìn)行深度監(jiān)督網(wǎng)絡(luò)訓(xùn)練。不在輸入或輸出層中的單元通常被稱為隱層單元(hidden units)。隱層可被看作是以非線性方式變換輸入,從而使所有類別在最后一層變得線性可分( linearly separable by the last layer)(圖1)。
20世紀(jì)90年代末,神經(jīng)網(wǎng)絡(luò)和反向傳播被機(jī)器學(xué)習(xí)社區(qū)大量遺棄,同時(shí)也被計(jì)算機(jī)視覺和語音識(shí)別領(lǐng)域忽略。人們普遍認(rèn)為,學(xué)習(xí)有用的、多層級(jí)的、幾乎不靠先驗(yàn)知識(shí)的特征提取器并不現(xiàn)實(shí)可行。尤其是,人們通常認(rèn)為簡單的梯度下降法會(huì)深陷局部極小的泥潭——在這種權(quán)重配置當(dāng)中,除非進(jìn)行大的改動(dòng),否則很難降低平均誤差。
實(shí)踐中,對(duì)大型網(wǎng)絡(luò)而言,局部極小幾乎不構(gòu)成問題。無論初始條件如何,系統(tǒng)基本總能得到質(zhì)量非常相似的解決方案。最近的理論和實(shí)證研究結(jié)果均有力地表明,總的來說,局部極小不是一個(gè)嚴(yán)重問題。相反,解空間( landscape)充滿了大量梯度為0的鞍點(diǎn)( saddle points ),且在多數(shù)維度中表面向上彎曲,少數(shù)維度中表面向下彎曲。分析結(jié)果似乎表明,向下彎曲的鞍點(diǎn)在整體中占比相對(duì)較小,但這些鞍點(diǎn)的目標(biāo)函數(shù)值大多相近。因此,算法陷入這些鞍點(diǎn)(不能繼續(xù)尋優(yōu)),無關(guān)緊要。
2006年前后,加拿大高級(jí)研究所(CIFAR)聚集了一批研究人員,他們重燃了人們對(duì)深度前饋網(wǎng)絡(luò)的興趣。這些研究人員引入無監(jiān)督學(xué)習(xí)程序——無需標(biāo)記數(shù)據(jù)便可創(chuàng)建特征檢測(cè)器層。各層特征檢測(cè)器的學(xué)習(xí)目標(biāo)便是在下一層重構(gòu)或模擬特征檢測(cè)器(或原始輸入)的活動(dòng)。利用這種重構(gòu)學(xué)習(xí)目標(biāo)來「預(yù)訓(xùn)練(pre-training)」幾層復(fù)雜度遞增的特征檢測(cè)器,深層網(wǎng)絡(luò)的權(quán)重可以被初始化為合理值。接著,最終層的輸出單元可被添加到網(wǎng)絡(luò)頂端,整個(gè)深度系統(tǒng)可被微調(diào)至使用標(biāo)準(zhǔn)的反向傳播。在識(shí)別手寫數(shù)字或檢測(cè)行人時(shí),特別是當(dāng)標(biāo)記的數(shù)據(jù)量非常有限的時(shí)候,這一程序非常有效。
這種預(yù)訓(xùn)練的方法的首次重要應(yīng)用是在語音識(shí)別上,這之所以可行歸功于便于編程的GPUs的誕生,它讓研究人員可以用10到20倍的速度訓(xùn)練神經(jīng)網(wǎng)絡(luò)。2009年,這個(gè)方法被用來計(jì)算一段聲音采樣中提取短時(shí)系數(shù)窗口對(duì)應(yīng)的一系列概率值,這些概率值反映出由窗口中幀表示語音各個(gè)段落的可能性。在小詞匯表的標(biāo)準(zhǔn)語音識(shí)別測(cè)試上,這種方法的訓(xùn)練效果打破紀(jì)錄,很快它又發(fā)展到打破大詞匯表的標(biāo)準(zhǔn)語音測(cè)試紀(jì)錄。
到2012年,2009年以來的各種深度網(wǎng)絡(luò)一直的得到多個(gè)主要語音研究小組持續(xù)開發(fā)并被布局在安卓手機(jī)上。對(duì)于較小數(shù)據(jù)集來說,無監(jiān)督預(yù)訓(xùn)練有助于防止過擬合( overfitting), 當(dāng)標(biāo)注數(shù)據(jù)樣本小( number of labelled examples is small)或需要遷移( in a transfer setting )——有很多源領(lǐng)域的標(biāo)注數(shù)據(jù)樣本但缺少目標(biāo)領(lǐng)域的標(biāo)注數(shù)據(jù)樣本——的時(shí)候,深度網(wǎng)絡(luò)的泛化( generalization)效果顯著提升。深度學(xué)習(xí)重新獲得認(rèn)識(shí),人們發(fā)現(xiàn),預(yù)訓(xùn)練階段只是小規(guī)模數(shù)據(jù)集的必需品。
然而,還有一種特殊類型的深度前饋網(wǎng)絡(luò)( deep feedforward network),不僅更易訓(xùn)練而且泛化能力要比那些相鄰兩層完全相連的神經(jīng)網(wǎng)絡(luò)強(qiáng)大很多。這就是卷積神經(jīng)網(wǎng)絡(luò) (ConvNet)。 在神經(jīng)網(wǎng)絡(luò)「失寵 」的日子里,卷積神經(jīng)網(wǎng)絡(luò)在實(shí)踐運(yùn)用中獲得許多成功,最近已被計(jì)算機(jī)視覺領(lǐng)域廣泛采用。
卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)最初是用來處理多維數(shù)組數(shù)據(jù),比如,一張由三個(gè)2D數(shù)組組成、包含三個(gè)彩色通道像素強(qiáng)度的彩色圖像。大量的數(shù)據(jù)模式都是多個(gè)數(shù)組形式:1D用來表示信號(hào)和序列信號(hào)包括人類語言;2D用來表示圖片或聲音;3D代表視頻或有聲音的圖像。卷積神經(jīng)網(wǎng)絡(luò)利用自然信號(hào)特征的核心理念是:局部連接(local connections),權(quán)重共享,池化(pooling)和多網(wǎng)絡(luò)層的使用。
典型的卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu)(圖二)包括一系列階段:最初的幾個(gè)階段由卷積層和池化層組成,卷積層的單元被組織到特征圖(feature map)中,每個(gè)單元通過一組被稱作濾波器(filter bank)的權(quán)值被連接到前一層的特征圖的局部數(shù)據(jù)塊。接下來,得到的局部加權(quán)和會(huì)傳遞至一個(gè)非線性函數(shù),例如ReLU。同一個(gè)特征圖中的所有單元共享相同的濾波器,不同特征圖使用不同濾波器。采用這種架構(gòu)有兩方面的原因。首先,在諸如圖像這樣的數(shù)組數(shù)據(jù)中,數(shù)值與附近數(shù)值之間通常是高度相關(guān)的,容易生成易被探測(cè)到的局部特征(motif)。其次,圖像和其他類似信號(hào)的局部統(tǒng)計(jì)特征通常又與位置無關(guān),易言之,出現(xiàn)在某處的某個(gè)特征也可能出現(xiàn)在其他任何地方,因此,不同位置的單元會(huì)共享同樣的權(quán)值并且可以探測(cè)相同模式。數(shù)學(xué)上,由一個(gè)特征圖完成的過濾操作是一個(gè)離線的卷積,卷積神經(jīng)網(wǎng)絡(luò)由此得名。
和卷積層用來探測(cè)前一層中特征之間的局部連接不同,池化層的作用則是對(duì)語義相似的特征進(jìn)行合并。由于構(gòu)成局部主題的特征之間的相對(duì)位置關(guān)系不是一成不變的,可以通過粗粒度檢測(cè)每個(gè)特征的位置來實(shí)現(xiàn)較可靠的主題識(shí)別。一個(gè)池化層單元通常會(huì)計(jì)算一個(gè)或幾個(gè)特征圖中一個(gè)局部塊的最大值,相鄰的池化單元?jiǎng)t會(huì)移動(dòng)一列或一行從小塊讀取輸入,這種設(shè)計(jì)不僅減少了數(shù)據(jù)表征需要的維數(shù),而且也能對(duì)數(shù)據(jù)小規(guī)模的偏移、扭曲保持不變。兩到三個(gè)卷積層,非線性層和池化層被疊加起來,后面再加上更多的卷積和全連接層。在卷積神經(jīng)網(wǎng)絡(luò)的反向傳播算法和在一般深度網(wǎng)絡(luò)上一樣簡單,能讓所有濾波器中的權(quán)值得到訓(xùn)練。
多數(shù)自然信號(hào)都是分級(jí)組合而成,通過對(duì)較低層信號(hào)組合能夠獲得較高層的信號(hào)特征,而深度神經(jīng)網(wǎng)絡(luò)充分利用了上述特性。在圖像中,線條組合形成圖案,圖案形成部件,部件組成物體。類似的層次結(jié)構(gòu)存在于由聲音到電話中的語音及文本形成過程,音素組成音節(jié),音節(jié)組成單詞,單詞組成句子。當(dāng)輸入數(shù)據(jù)在前一層中的位置有變化的時(shí)候,池化操作讓這些特征表示對(duì)變化具有魯棒性。
卷積神經(jīng)網(wǎng)絡(luò)中的層次的卷積和匯聚的靈感直接來源于視覺神經(jīng)科學(xué)中的簡單細(xì)胞和復(fù)雜細(xì)胞的經(jīng)典概念,并且其整體架構(gòu)讓人想起視覺皮層腹側(cè)通路的LGN-V1-V2-V4-IT層次結(jié)構(gòu)。當(dāng)向卷積神經(jīng)網(wǎng)絡(luò)模型和猴子同時(shí)展示相同的畫面時(shí),卷積神經(jīng)網(wǎng)絡(luò)的高級(jí)單元被激活,解釋了猴子顳下皮層隨機(jī)設(shè)置的160個(gè)神經(jīng)元的變化。卷積神經(jīng)網(wǎng)絡(luò)有著神經(jīng)認(rèn)知機(jī)的基礎(chǔ),兩者的體系結(jié)構(gòu)有些類似,但是,卷積神經(jīng)網(wǎng)絡(luò)沒有諸如反向傳播的那種端對(duì)端的監(jiān)督學(xué)習(xí)算法。原始的1D卷積神經(jīng)網(wǎng)絡(luò)被稱為「延時(shí)神經(jīng)網(wǎng)絡(luò)(time-delay neural net )」,用于識(shí)別語音和簡單的單詞。
早在20世紀(jì)90年代初,卷積網(wǎng)絡(luò)就已有非常廣泛的應(yīng)用 ,最開始延時(shí)神經(jīng)網(wǎng)絡(luò)被用在語音識(shí)別和文檔閱讀上。文本閱讀系統(tǒng)使用了受過訓(xùn)練的延時(shí)神經(jīng)網(wǎng)絡(luò)以及一個(gè)實(shí)現(xiàn)了語言約束的概率模型。到20世紀(jì)90年代末,該系統(tǒng)能夠讀取美國超過十分之一的支票。隨后,微軟發(fā)明了許多基于卷積神經(jīng)網(wǎng)絡(luò)的光學(xué)字符識(shí)別和手寫識(shí)別系統(tǒng)。卷積神經(jīng)網(wǎng)絡(luò)在20世紀(jì)90年代初就被嘗試用于包括臉、手、面部識(shí)別的自然圖像目標(biāo)檢測(cè)中。
使用深層卷積網(wǎng)絡(luò)進(jìn)行圖像識(shí)別
從21世紀(jì)初開始,卷積神經(jīng)網(wǎng)絡(luò)就被成功用于檢測(cè)、分割和物體識(shí)別以及圖像各區(qū)域。這些應(yīng)用都使用了豐富的標(biāo)簽數(shù)據(jù),比如,交通標(biāo)志識(shí)別、生物圖像(特別是神經(jīng)鏈接組學(xué)方面)分割、面部探測(cè)、文本、行人和自然圖像中的人體的檢測(cè)。近些年來,卷積神經(jīng)網(wǎng)絡(luò)的一項(xiàng)重要成功應(yīng)用就是人臉識(shí)別。
值得注意的是,圖像可以在像素級(jí)別上被標(biāo)記,這樣就能被用于諸如自主移動(dòng)機(jī)器人(autonomous mobile robots)和無人駕駛汽車等技術(shù)中。像Mobileye和NVIDIA 這些公司正在將這些基于卷積神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用于即將面世的汽車視覺系統(tǒng)中。其他重要的應(yīng)用程序涉及到自然語言理解和語音識(shí)別。
盡管取得了這些成就,但在2012年ImageNet競爭之前,卷積神經(jīng)網(wǎng)絡(luò)在很大程度上并未獲得主流計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)團(tuán)體的青睞。當(dāng)深層卷積網(wǎng)絡(luò)被應(yīng)用于來源于包含1000個(gè)不同類型約100萬個(gè)圖像的數(shù)據(jù)集中,它們?nèi)〉昧梭@人的成果,錯(cuò)誤率僅是當(dāng)時(shí)最佳方法的一半。該成功源于高效利用了GPUs和ReLUs、一項(xiàng)新的被稱為「dropout 」的正規(guī)化技術(shù)( regularization technique )以及分解現(xiàn)有樣本產(chǎn)生更多訓(xùn)練樣本的技術(shù)。成功給計(jì)算機(jī)視覺領(lǐng)域帶來一場革命。如今,卷積神經(jīng)網(wǎng)絡(luò)幾乎覆蓋所有識(shí)別和探測(cè)任務(wù),在有些任務(wù)中,其表現(xiàn)接近人類水平。最近一個(gè)令人震驚的例子,利用卷積神經(jīng)網(wǎng)絡(luò)結(jié)合遞歸網(wǎng)絡(luò)模塊來生成圖像標(biāo)題( image captions )(如圖3)。
圖3 |從圖像到文本
評(píng)論