新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 業(yè)界動(dòng)態(tài) > Nature重磅:Hinton、LeCun、Bengio三巨頭權(quán)威科普深度學(xué)習(xí)

Nature重磅:Hinton、LeCun、Bengio三巨頭權(quán)威科普深度學(xué)習(xí)

作者: 時(shí)間:2016-12-28 來源:網(wǎng)絡(luò) 收藏

  借助,多處理層組成的計(jì)算模型可通過多層抽象來學(xué)習(xí)數(shù)據(jù)表征( representations)。這些方法顯著推動(dòng)了語(yǔ)音識(shí)別、視覺識(shí)別、目標(biāo)檢測(cè)以及許多其他領(lǐng)域(比如,藥物發(fā)現(xiàn)以及基因組學(xué))的技術(shù)發(fā)展。利用反向傳播算法(backpropagation algorithm)來顯示機(jī)器將會(huì)如何根據(jù)前一層的表征改變用以計(jì)算每層表征的內(nèi)部參數(shù),發(fā)現(xiàn)了大數(shù)據(jù)集的復(fù)雜結(jié)構(gòu)。深層卷積網(wǎng)絡(luò)(deep convolutional nets)為圖像、視頻和音頻等數(shù)據(jù)處理上帶來突破性進(jìn)展,而遞歸網(wǎng)絡(luò)(recurrent nets )也給序列數(shù)據(jù)(諸如文本、語(yǔ)言)的處理帶來曙光。

本文引用地址:http://2s4d.com/article/201612/342188.htm

  機(jī)器學(xué)習(xí)為現(xiàn)代生活諸多方面帶來巨大動(dòng)力:從網(wǎng)頁(yè)搜索到社交網(wǎng)絡(luò)內(nèi)容過濾再到電商網(wǎng)商推薦,在相機(jī)、智能手機(jī)等消費(fèi)品中也越來越多見。機(jī)器學(xué)習(xí)系統(tǒng)被用來識(shí)別圖像中的物體、將語(yǔ)音轉(zhuǎn)為文本,根據(jù)用戶興趣自動(dòng)匹配新聞、消息或產(chǎn)品,挑選相關(guān)搜索結(jié)果。這類被應(yīng)用程序越來越多地采用的技術(shù),叫做。

  傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù)在處理原始輸入的自然數(shù)據(jù)方面能力有限。幾十年來,建構(gòu)模式識(shí)別或機(jī)器學(xué)習(xí)系統(tǒng)需要利用嚴(yán)謹(jǐn)?shù)墓こ虒W(xué)和相當(dāng)豐富的專業(yè)知識(shí)設(shè)計(jì)出一個(gè)特征提取器,它能將原始數(shù)據(jù)(例如圖像像素值)轉(zhuǎn)化成適于內(nèi)部描述或表征的向量( vector ),在提取器中,學(xué)習(xí)子系統(tǒng)(通常是一個(gè)分類器)可以檢測(cè)或分類輸入模式。

  表征學(xué)習(xí)(representation learning)是這樣一套學(xué)習(xí)方法:輸入原始數(shù)據(jù)后,機(jī)器能夠自動(dòng)發(fā)現(xiàn)檢測(cè)或分類所需的表征信息。深度學(xué)習(xí)是一種多層描述的表征學(xué)習(xí),通過組合簡(jiǎn)單、非線性模塊來實(shí)現(xiàn),每個(gè)模塊都會(huì)將最簡(jiǎn)單的描述(從原始輸入開始)轉(zhuǎn)變成較高層、較為抽象的描述。通過積累足夠多的上述表征轉(zhuǎn)化,機(jī)器能學(xué)習(xí)非常復(fù)雜的函數(shù)。就分類任務(wù)來說,更高層的表征會(huì)放大輸入信號(hào)的特征,而這對(duì)區(qū)分和控制不相關(guān)變量非常關(guān)鍵。比如,圖片最初以像素值的方式出現(xiàn),第一特征層級(jí)中,機(jī)器習(xí)得的特征主要是圖像中特定方位、位置邊沿之有無。第二特征層級(jí)中,主要是通過發(fā)現(xiàn)特定安排的邊緣來檢測(cè)圖案,此時(shí)機(jī)器并不考慮邊沿位置的微小變化。第三層中會(huì)將局部圖像與物體相應(yīng)部分匹配,后續(xù)的層級(jí)將會(huì)通過把這些局部組合起來從而識(shí)別出整個(gè)物體。深度學(xué)習(xí)的關(guān)鍵之處在于:這些特征層級(jí)并非出自人類工程師之手;而是機(jī)器通過一個(gè)通用(general-purpose)學(xué)習(xí)程序,從大量數(shù)據(jù)中自學(xué)得出。

  某些根深蒂固的問題困擾了人工智能從業(yè)者許多年,以至于人們最出色的嘗試都無功而返。而深度學(xué)習(xí)的出現(xiàn),讓這些問題的解決邁出了至關(guān)重要的步伐。深度學(xué)習(xí)善于在高維度的數(shù)據(jù)中摸索出錯(cuò)綜復(fù)雜的結(jié)構(gòu),因此能應(yīng)用在許多不同的領(lǐng)域,比如科學(xué)、商業(yè)和政府。此外,除了圖像識(shí)別和語(yǔ)音識(shí)別,它還在許多方面擊敗了其他機(jī)器學(xué)習(xí)技術(shù),比如預(yù)測(cè)潛在藥物分子的活性、分析粒子加速器的數(shù)據(jù)、重構(gòu)大腦回路、預(yù)測(cè)非編碼DNA的突變對(duì)基因表達(dá)和疾病有何影響等。也許,最讓人驚訝的是,在自然語(yǔ)言理解方面,特別是話題分類、情感分析、問答系統(tǒng)和語(yǔ)言翻譯等不同的任務(wù)上,深度學(xué)習(xí)都展現(xiàn)出了無限光明的前景。

  在不久的將來,我們認(rèn)為深度學(xué)習(xí)將取得更多成就,因?yàn)樗恍枰獦O少的人工參與,所以它能輕而易舉地從計(jì)算能力提升和數(shù)據(jù)量增長(zhǎng)中獲得裨益。目前正在開發(fā)的用于深層神經(jīng)網(wǎng)絡(luò)的新型學(xué)習(xí)算法和體系結(jié)構(gòu)必將加速這一進(jìn)程。

  監(jiān)督式學(xué)習(xí)

  不管深度與否,機(jī)器學(xué)習(xí)最普遍的形式都是監(jiān)督式學(xué)習(xí)(supervised learning)。比如說,我們想構(gòu)造一個(gè)系統(tǒng),它能根據(jù)特定元素對(duì)圖片進(jìn)行分類,例如包含一棟房子、一輛車、一個(gè)人或一只寵物。首先,我們要收集大量包含有房子、車、人或?qū)櫸锏膱D片,組成一個(gè)數(shù)據(jù)集(data set),每張圖片都標(biāo)記有它的類別。在訓(xùn)練時(shí),每當(dāng)我們向機(jī)器展示一張圖片,機(jī)器就會(huì)輸出一個(gè)相應(yīng)類別的向量。我們希望的結(jié)果是:指定類別的分?jǐn)?shù)最高,高于其他所有類別。然而,如果不經(jīng)過訓(xùn)練,這將是不可能完成的任務(wù)。為此,我們通過一個(gè)目標(biāo)函數(shù)來計(jì)算實(shí)際輸出與期望輸出之間的誤差或距離。接下來,為了減小誤差,機(jī)器會(huì)對(duì)其內(nèi)部可調(diào)參數(shù)進(jìn)行調(diào)整。這些可調(diào)參數(shù)常被稱為「權(quán)重」(weight),是實(shí)數(shù),可看做定義機(jī)器輸入-輸出功能的「門把手」。在一個(gè)典型的深度學(xué)習(xí)系統(tǒng)中,可能存在著成千上億的可調(diào)權(quán)重及用以訓(xùn)練機(jī)器的標(biāo)記樣本。

  為了正確地調(diào)整權(quán)重矢量( weight vector),學(xué)習(xí)算法會(huì)計(jì)算出一個(gè)梯度矢量( gradient vector)。對(duì)每一個(gè)權(quán)重,這個(gè)梯度矢量都能指示出,當(dāng)權(quán)重略微增減一點(diǎn)點(diǎn)時(shí),誤差會(huì)隨之增減多少量。接著,權(quán)重矢量就會(huì)往梯度矢量的反方向進(jìn)行調(diào)整。

  從所有訓(xùn)練范例之上,平均看來,目標(biāo)函數(shù)( objective function)可被視為一片崎嶇的山地,坐落于由權(quán)重組成的高維空間。梯度矢量為負(fù)值的地方,意味著山地中最陡峭的下坡方向,一路接近最小值。這個(gè)最小值,也就是平均輸出誤差最小之處。

  在實(shí)踐中,大多數(shù)業(yè)內(nèi)人士都是用一種被稱為「隨機(jī)梯度下降」(SGD - Stochastic Gradient Descent)的算法(梯度下降Grident Descent 是「最小化風(fēng)險(xiǎn)函數(shù)」以及「損失函數(shù)」的一種常用方法,「隨機(jī)梯度下降」是此類下的一種通過迭代求解的思路——譯者注)。每一次迭代包括以下幾個(gè)步驟:獲取一些樣本的輸入矢量( input vector),計(jì)算輸出結(jié)果和誤差,計(jì)算這些樣本的平均梯度,根據(jù)平均梯度調(diào)整相應(yīng)權(quán)重。這個(gè)過程在各個(gè)從整個(gè)訓(xùn)練集中抽取的小子集之上重復(fù),直到目標(biāo)函數(shù)的平均值停止下降。它被稱做隨機(jī)(Stochastic)是因?yàn)槊總€(gè)樣本組都會(huì)給出一個(gè)對(duì)于整個(gè)訓(xùn)練集( training set)的平均梯度(average gradient)的噪音估值(noisy estimate)。較于更加精確的組合優(yōu)化技術(shù),這個(gè)簡(jiǎn)單的方法通常可以神奇地快速地找出一個(gè)權(quán)重適當(dāng)?shù)臉颖咀蛹?。?xùn)練過后,系統(tǒng)的性能將在另外一組不同樣本(即測(cè)試集)上進(jìn)行驗(yàn)證,以期測(cè)試機(jī)器的泛化能力( generalization ability) ——面對(duì)訓(xùn)練中從未遇過的新輸入,機(jī)器能夠給出合理答案。

  很多當(dāng)今機(jī)器學(xué)習(xí)的實(shí)際應(yīng)用都在人工設(shè)定的特征上使用「線性分類」(linear classifiers)。一個(gè)「二元線性分類器」(two-class linear classifier)可以計(jì)算出特征向量的「加權(quán)和」(weighted sum)。如果「加權(quán)和」高于閾值,該輸入樣本就被歸類于某個(gè)特定的類別。

  二十世紀(jì)六十年代以來,我們就知道線性分類只能將輸入樣本劃分到非常簡(jiǎn)單的區(qū)域中,即被超平面切分的半空間。但是,對(duì)于類似圖像及語(yǔ)音識(shí)別等問題,要求「輸入-輸出函數(shù)」(input–output function)必須對(duì)輸入樣本的無關(guān)變化不敏感,比如,圖片中物體的位置,方向或者物體上的裝飾圖案,又比如,聲音的音調(diào)或者口音;與此同時(shí)「輸入-輸出函數(shù)」又需要對(duì)某些細(xì)微差異特別敏感(比如,一匹白色的狼和一種長(zhǎng)得很像狼的被稱作薩摩耶的狗)。兩只薩摩耶在不同的環(huán)境里擺著不同姿勢(shì)的照片從像素級(jí)別來說很可能會(huì)非常地不一樣,然而在類似背景下擺著同樣姿勢(shì)的一只薩摩耶和一只狼的照片在像素級(jí)別來說很可能會(huì)非常相像。一個(gè)「線性分類器」(linear classifier),或者其他基于原始像素操作的「淺層(shallow)」分類操作是無論如何也無法將后者中的兩只區(qū)分開,也無法將前者中的兩只分到同樣的類別里的。這也就是為什么「淺層」「分類器(classifiers)」需要一個(gè)可以出色地解決「選擇性-恒常性困境」( selectivity–invariance dilemma)的「特征提取器」(feature extractor)—— 提取出對(duì)于辨別圖片內(nèi)容有意義的信息,同時(shí)忽略不相關(guān)的信息,比如,動(dòng)物的姿勢(shì)。我們可以用一些常規(guī)的非線性特征來增強(qiáng)「分類器」(classifiers)的效果,比如「核方法」(kernel methods),但是,這些常規(guī)特征,比如「高斯核」(Gaussian Kernel)所找出來的那些,很難泛化( generalize )到與訓(xùn)練集差別別較大的輸入上。傳統(tǒng)的方法是人工設(shè)計(jì)好的「特征提取器」,這需要相當(dāng)?shù)墓こ碳记珊蛦栴}領(lǐng)域的專業(yè)知識(shí)。但是,如果好的「特征提取器」可以通過「通用學(xué)習(xí)程序(General-Purpose learning procedure)」完成自學(xué)習(xí),那么這些麻煩事兒就可以被避免了。這就是深度學(xué)習(xí)的重要優(yōu)勢(shì)。

    

  圖1| 多層神經(jīng)網(wǎng)路和反向傳播

  a. 一個(gè)多層神經(jīng)網(wǎng)絡(luò)(如圖所示相互連接的點(diǎn))能夠整合(distort)輸入空間(圖中以紅線與藍(lán)線為例)讓數(shù)據(jù)變得線性可分。注意輸入空間的規(guī)則網(wǎng)格(左側(cè))如何轉(zhuǎn)被隱藏單元(中間)轉(zhuǎn)換的。例子只有兩個(gè)輸入單元、兩個(gè)隱藏單元和一個(gè)輸出單元,但事實(shí)上,用于對(duì)象識(shí)別和自然語(yǔ)言處理的網(wǎng)絡(luò)通常包含了數(shù)十或成千上萬(wàn)個(gè)單元。(本節(jié)引用改寫自 C. Olah (http://colah.github.io/).)

  b. 導(dǎo)數(shù)的鏈?zhǔn)椒▌t告訴我們,兩個(gè)微小增量(即x關(guān)于y的增量,以及y關(guān)于z的增量)是如何構(gòu)成的。x的增量Δx導(dǎo)致了y的增量Δy,這是通過乘以?y/?x來實(shí)現(xiàn)的(即偏導(dǎo)數(shù)的定義)。同樣,Δy的變化也會(huì)引起Δz的變化。用一個(gè)方程代替另一個(gè)方程引出了導(dǎo)數(shù)的鏈?zhǔn)椒▌t( the chain rule of derivatives),即增量Δx如何通過與?y/?x及 ?z/?x相乘使得z也發(fā)生增量Δz。當(dāng)x,y 和 z都是向量時(shí)這一規(guī)律也同樣適用(使用雅克比矩陣)。

  c. 這個(gè)公式用于計(jì)算在包含著兩個(gè)隱層和一個(gè)輸出層的神經(jīng)網(wǎng)絡(luò)中的前向傳輸,每個(gè)層面的逆向傳遞梯度都構(gòu)成了一個(gè)模組。在每一層,我們首先計(jì)算面向每個(gè)單元的總輸入值z(mì),即上一層的輸出單元的加權(quán)和;然后,通過將一個(gè)非線性函數(shù)f(.)應(yīng)用于z來得出這個(gè)單元的輸出。為了簡(jiǎn)化流程,我們忽略掉一些閾值項(xiàng)(bias terms)。在神經(jīng)網(wǎng)絡(luò)中使用的非線性函數(shù)包含了近些年較為常用的校正線性單元(ReLU) f(z) = max(0,z),以及更傳統(tǒng)的 sigmoid函數(shù),比如,雙曲線正切函數(shù), f(z) = (exp(z) ? exp(?z))/(exp(z) + exp(?z)) 和 邏輯函數(shù)f(z) = 1/(1 + exp(?z)).

  d. 該公式用于計(jì)算反向傳遞。在每一個(gè)隱藏層中,我們都會(huì)計(jì)算每個(gè)單元輸出的導(dǎo)數(shù)誤差,即上述層中上一層所有單元輸入的導(dǎo)數(shù)誤差的加權(quán)總和。 然后,將關(guān)于輸出的導(dǎo)數(shù)誤差乘以函數(shù)f(z)的梯度(gradient),得到關(guān)于輸入的導(dǎo)數(shù)誤差。 在輸出層中,通過對(duì)成本函數(shù)進(jìn)行微分計(jì)算,求得關(guān)于輸出單元的誤差導(dǎo)數(shù)。因此我們得出結(jié)論 yl - tl 如果對(duì)應(yīng)于單元l的成本函數(shù)是 0.5(yl - tl) 2 (注意tl是目標(biāo)值)。一旦?E/?zk已知,那么,就能通過yj ?E/?zk調(diào)整單元j的內(nèi)星權(quán)向量wjk。

    

  圖2 | 卷積網(wǎng)絡(luò)的內(nèi)部


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: Nature 深度學(xué)習(xí)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉