Author:Yann LeCun, Yoshua Bengio, Geoffrey Hinton
深度學(xué)習(xí)允許由多個處理層組成的計算模型來學(xué)習(xí)具有多個抽象級別的數(shù)據(jù)表示。這些方法在語音識別、視覺對象識別、目標(biāo)檢測以及一些其他領(lǐng)域,例如:藥物發(fā)現(xiàn)和基因?qū)W,極大地提高了技術(shù)水平。深度學(xué)習(xí)通過使用反向傳播算法發(fā)現(xiàn)大數(shù)據(jù)集中的復(fù)雜結(jié)構(gòu),反向傳播算法可以用來指導(dǎo)學(xué)習(xí)機器應(yīng)該怎樣從前一層獲取誤差而改變本層的內(nèi)部參數(shù)。深度卷積網(wǎng)絡(luò)在處理圖像、視頻、語音和音頻方面取得了重大突破,而循環(huán)網(wǎng)絡(luò)在處理序列數(shù)據(jù),例如:文本和語音,上發(fā)揮著重大作用。
機器學(xué)習(xí)應(yīng)用在現(xiàn)代社會的許多方面,從Web搜索到內(nèi)容過濾,到電子商務(wù)網(wǎng)站的推薦系統(tǒng),以及越來越多的出現(xiàn)在像相機和智能手機這樣的消費產(chǎn)品中。這些應(yīng)用在逐漸的使用一種被稱為深度學(xué)習(xí)的技術(shù)。
傳統(tǒng)的機器學(xué)習(xí)技術(shù)在處理原始數(shù)據(jù)方面的能力有限。幾十年來,在構(gòu)建一個模式識別或者機器學(xué)習(xí)系統(tǒng)都需要非常細致的工程和豐富的專業(yè)領(lǐng)域的知識儲量來設(shè)計一個特征提取器,把原始數(shù)據(jù)(如圖像的像素值)轉(zhuǎn)換成一個適當(dāng)?shù)膬?nèi)部特征表示或特征向量,子學(xué)習(xí)系統(tǒng),通常是一個分類器,對輸入的樣本進行檢測或分類。
表示學(xué)習(xí)是一套可以自動從原始數(shù)據(jù)中發(fā)現(xiàn)需要用來檢測或分類的表示形式。深度學(xué)習(xí)就是一種特征學(xué)習(xí)方法,把原始數(shù)據(jù)通過一些簡單的但是非線性的模型轉(zhuǎn)變成為更高層次的,更加抽象的表達。通過足夠多的轉(zhuǎn)換的組合,非常復(fù)雜的函數(shù)也可以被學(xué)習(xí)。對于分類任務(wù),高層次的表達能夠強化輸入數(shù)據(jù)的區(qū)分能力方面,同時削弱不相關(guān)因素。
深度學(xué)習(xí)的關(guān)鍵方面在于這些特征層不是由人類工程師所設(shè)計,而是使用通用的學(xué)習(xí)過程從數(shù)據(jù)中學(xué)到的。
深度學(xué)習(xí)在解決多年來阻止人工智能嘗試的問題上體現(xiàn)了重大的優(yōu)勢。深度學(xué)習(xí)方法非常適用于在高維數(shù)據(jù)中發(fā)現(xiàn)復(fù)雜的內(nèi)部結(jié)構(gòu)。在不久的將來,深度學(xué)習(xí)將會取得更多的成功,因為它需要很少的手工工程,它可以很容易受益于可用計算能力和數(shù)據(jù)量的增加。目前正在為深度神經(jīng)網(wǎng)絡(luò)開發(fā)的新的學(xué)習(xí)算法和架構(gòu)只會加速這一進程。
監(jiān)督學(xué)習(xí)
無論是深度還是非深度,監(jiān)督學(xué)習(xí)都是機器學(xué)習(xí)最常見的方式。
假如要搭建一個能夠分類一幅圖像中的房子、車子、人和寵物的系統(tǒng),首先需要收集大量的關(guān)于房子、車子、人和寵物的圖像,并做好分類標(biāo)記。在訓(xùn)練的時候,機器獲取一幅圖像并輸出一個分數(shù)向量對應(yīng)著每一類的得分情況,我們希望預(yù)期的類別在所有類別中得分最高,但是,這在開始訓(xùn)練前是沒法知道的。然后計算一個目標(biāo)函數(shù)用來衡量輸出得分和預(yù)期得分之間的誤差,接著調(diào)整機器的內(nèi)部參數(shù)以減小這個誤差。這些可調(diào)整的內(nèi)部參數(shù)一般稱為權(quán)重。在一個典型的深度學(xué)習(xí)系統(tǒng)中有數(shù)以億計的這樣的參數(shù)和被標(biāo)記的樣本用來訓(xùn)練機器。
尋找適合的權(quán)重向量可以使用梯度下降算法。在實際應(yīng)用中,隨機梯度下降(SGD)算法使用的更多。
訓(xùn)練結(jié)束后,使用測試集驗證系統(tǒng)的泛化能力。
當(dāng)前應(yīng)用中的許多機器學(xué)習(xí)技術(shù)使用的是線性分類器來對人工提取的特征進行分類。但是從20世紀60年代開始,我們就知道了線性分類器只能夠把樣本分成非常簡單的區(qū)域,也就是說通過一個超平面把空間分成兩部分。對輸入特征不敏感。為了加強分類能力,可以使用泛化的非線性特性,如核方法,但這些泛化特征,比如通過高斯核得到的,并不能夠使得學(xué)習(xí)器從學(xué)習(xí)樣本中產(chǎn)生較好的泛化效果。傳統(tǒng)的方法是手工設(shè)計良好的特征提取器,這需要大量的工程技術(shù)和專業(yè)領(lǐng)域知識。但是如果通過使用通用學(xué)習(xí)過程而得到良好的特征,那么這些都是可以避免的了。這就是深度學(xué)習(xí)的關(guān)鍵優(yōu)勢。
一個深度學(xué)習(xí)結(jié)構(gòu)是由簡單模塊的多層堆疊而來,每一個模塊的目標(biāo)是學(xué)習(xí),期中許多模塊需要計算非線性輸入輸出的映射。在堆疊中的每一個模型都需轉(zhuǎn)換輸入來增強表示的選擇性和不變性。有了多個非線性層,系統(tǒng)就可以實現(xiàn)其輸入的非常復(fù)雜的功能。
反向傳播(BP)來訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)

最早期的模式識別任務(wù)中,研究者的目標(biāo)一直是訓(xùn)練多層網(wǎng)絡(luò)來替代人工選擇的特征。盡管多層網(wǎng)絡(luò)很簡單,但是直到20世紀80年代中期才被廣泛的理解。事實證明,多層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)可以使用簡單的隨機梯度下降算法進行訓(xùn)練。只要網(wǎng)絡(luò)的輸入和內(nèi)部權(quán)重函數(shù)是相對平滑的,就可以使用反向傳播過程計算梯度。這種可以正常工作的反向傳播算法是在20世紀70年代到80年代由一些獨立團隊發(fā)現(xiàn)的。
用來計算多層神經(jīng)網(wǎng)絡(luò)權(quán)重的梯度的反向傳播算法只不過是用來求導(dǎo)的鏈式法則的實際應(yīng)用。反向傳播算法的核心思想是:目標(biāo)函數(shù)對于某層輸入的導(dǎo)數(shù)(或者梯度)可以通過向后傳播對該層輸出(或者下一層輸入)的導(dǎo)數(shù)求得(如圖1)。反向傳播算法可以被重復(fù)用來傳播梯度通過所有的模塊,從輸出的最頂層(網(wǎng)絡(luò)產(chǎn)生預(yù)測的那一層)到最底層(網(wǎng)絡(luò)接受外部輸入的那一層)。一旦這些梯度被求解出來,就可以前向去求解每一層的權(quán)重。
許多深度學(xué)習(xí)應(yīng)用采用前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(如圖1),這種網(wǎng)絡(luò)學(xué)習(xí)從一個固定大小的輸入(例如:圖像)到一個固定大小的輸出(例如:每一種類型的概率)的映射。從第一層到下一層,一系列的單元計算關(guān)于前一層的輸入的權(quán)值和,然后將計算結(jié)果傳遞給一個非線性函數(shù)。目前,最流行的非線性函數(shù)是ReLU(rectified linear unit),函數(shù)形式如:f(z) = max(z, 0)。在過去的數(shù)十年,神經(jīng)網(wǎng)絡(luò)使用后一些更加平滑的非線性函數(shù),例如:tanh(z) 或者 1/(1 + exp(?z)),但是ReLU在多層網(wǎng)絡(luò)中的學(xué)習(xí)速度要比其他的快,并且允許在未經(jīng)非監(jiān)督預(yù)訓(xùn)練的前提下訓(xùn)練一個深度監(jiān)督網(wǎng)絡(luò)。不屬于輸入層或輸出層的單元成為隱藏單元。這些隱藏層可以被看作是扭曲輸入的一種非線性方法,因此那些輸入類別在最后一層能夠被線性可分割。
在20世紀90年代末,神經(jīng)網(wǎng)絡(luò)和反向傳播算法被機器學(xué)習(xí)團隊所拋棄,被計算機視覺和語音識別團隊所忽略。人們普遍認為學(xué)習(xí)有用的、多層次的、具有少量先驗知識的特征提取是不可行的。特別的,人們普遍認為簡單的梯度下降容易使權(quán)重計算陷入局部最小的困境,因為,沒有細微的改變會減小平均誤差。
實際上,在大型網(wǎng)絡(luò)面前,陷入局部最小往往不是一個問題。不管初始情況如何,系統(tǒng)幾乎都會獲得相同的結(jié)果。目前的理論和經(jīng)驗結(jié)果強有力的證明了局部最小解通常不是個問題。相反,解空間中充滿了大量的鞍點(梯度為0的點),同時鞍點周圍大部分曲面都是往上的。所以這些算法就算是陷入了這些局部最小值,關(guān)系也不太大。
2006年前后,CIFAR(加拿大高級研究院)的一組研究員重新喚起了人們對于深度前饋網(wǎng)絡(luò)的興趣。這些研究員引進了一種無監(jiān)督學(xué)習(xí)方法,這種方法可以創(chuàng)建一些特征檢測的網(wǎng)絡(luò)層,而不適用帶標(biāo)簽的數(shù)據(jù)。每一個特征檢測網(wǎng)絡(luò)層的學(xué)習(xí)目的是在下一層重構(gòu)或者對特征檢測器進行建模。通過使用這種重構(gòu)目標(biāo)預(yù)訓(xùn)練一些逐漸復(fù)雜的特征檢測網(wǎng)絡(luò)層,深度網(wǎng)絡(luò)的權(quán)重可以初始化成合理的值。然后一個輸出層可以被添加到網(wǎng)絡(luò)的頂部,并且可以使用標(biāo)準的反向傳播算法進行微調(diào)。這對識別手寫數(shù)字識別或檢測行人非常有效,特別是在當(dāng)帶標(biāo)記的數(shù)據(jù)的數(shù)量非常有限的時候。
使用這種預(yù)訓(xùn)練方法的第一次的主要應(yīng)用是在語音識別方面,快速圖像處理單元(GPU)的出現(xiàn)使這成為了可能,并且可以很方便在上邊編寫程序,研究員在訓(xùn)練網(wǎng)絡(luò)的時候可以獲得10到20倍的加速。2009年,這種方法被用來映射短時間的系數(shù)窗口,該系統(tǒng)窗口是提取自聲波并被轉(zhuǎn)換成一組概率數(shù)字。它在一組使用很少詞匯的標(biāo)準的語音識別基準測試程序上達到了驚人的效果,然后又迅速被發(fā)展到另外一個更大的數(shù)據(jù)集上,同時也取得驚人的效果。從2009年到2012年由一些主要的語音團隊開發(fā)了多個版本的深度網(wǎng)絡(luò),并且將其應(yīng)用到Android手機上。對于更小的數(shù)據(jù)集,無監(jiān)督預(yù)訓(xùn)練學(xué)習(xí)方法可以防止過擬合,同時,當(dāng)有標(biāo)簽的樣本很少的時候可以帶來很好的泛化性能。事實證明,一旦深度學(xué)習(xí)技術(shù)的恢復(fù)了,這種預(yù)訓(xùn)練方式只會在小數(shù)據(jù)集上有需求。
然而,有一種特殊的深度前饋網(wǎng)絡(luò),這種網(wǎng)絡(luò)更加容易訓(xùn)練,并且泛化性能比相鄰層之間完全連接的網(wǎng)絡(luò)要好。這就是卷積神經(jīng)網(wǎng)絡(luò)。在之前神經(jīng)網(wǎng)絡(luò)不受歡迎的時候卷積神經(jīng)網(wǎng)絡(luò)就已經(jīng)取得了許多成功,現(xiàn)在已經(jīng)在計算機視覺團隊得到了廣泛的應(yīng)用。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)
卷積神經(jīng)網(wǎng)絡(luò)是設(shè)計用來處理多維數(shù)據(jù)形式的數(shù)據(jù)的,例如一幅包含了3個色彩通道的彩色圖像有3個包含像素值得2D數(shù)組。許多數(shù)據(jù)都是這種多維數(shù)組的形式:1D的有信號、序列包括語言;2D的有圖像、頻譜;3D的有視頻或者有聲音的圖像。對于利用自然信號的屬性,卷積神經(jīng)網(wǎng)絡(luò)有4個關(guān)鍵的思想:局部連接、共享權(quán)重、池化和使用多層。
一個典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是由一系列的過程構(gòu)成的(如圖2)。最初的幾個階段由卷積層和池化層組成。卷積層的單元被組織在特征圖中,在特征圖中,每一個單元通過一組叫做濾波器的權(quán)值被連接到上一層的特征圖的一個局部塊,然后這個局部加權(quán)和被傳給一個非線性函數(shù),比如ReLU。在一個特征圖中的全部單元享用相同的過濾器,不同層的特征圖使用不同的過濾器。使用這種結(jié)構(gòu)處于兩方面的原因。首先,比如說在像圖像數(shù)組這樣的數(shù)據(jù)中,一個值得附近通常是高度相關(guān)的,可以形成比較容易被探測的有區(qū)分的性的局部特征。其次,圖像和其他信號的局部統(tǒng)計特征是不相關(guān)的。換言之,一個圖案可以出現(xiàn)在一幅圖像中的一部分,那么它也可以出現(xiàn)在其他任何地方,所以不同位置的單元可以共享權(quán)值以及可以探測相同的樣本。在數(shù)學(xué)上,由特征映射執(zhí)行的篩選操作是一個離散的卷積,因此得名。
卷積層的作用探測上一層的局部連接,池化層的作用是將一些語義相近的特征合并到一起。由于一個圖案形成的特征的相對位置可能會發(fā)生變化,通過粗化每一個特征的位置就可以實現(xiàn)可靠的檢測圖案。一個典型的池化單元計算一個特征映射(或者一個新的特征映射)中單元的局部塊的最大值。相鄰的池化單元從由多個行或列轉(zhuǎn)化的塊中獲得輸入,從而減少了表示的緯度,給微小的移動和變化創(chuàng)造一個不變性。卷積的二三個階段,非線性層和池化層是堆疊在一起的,其次是更多的卷積層和全連接層。在卷積神經(jīng)網(wǎng)絡(luò)上進行反向傳播算法和在一般的深度網(wǎng)絡(luò)上是一樣的,可以讓所有的在過濾器中的權(quán)值得到訓(xùn)練。
深度神經(jīng)網(wǎng)絡(luò)利用了很多的自然信號是由層級結(jié)構(gòu)組成的這一屬性,在這種屬性中高級的特征是由低級的特征組合構(gòu)成的。在圖像中,局部邊緣組合形成的圖案,這些圖案組成圖像的局部,然后局部組成目標(biāo)。從聲音到電話、音素、音節(jié)、字和句子,同樣的層級結(jié)構(gòu)存在于語音和文本中。當(dāng)輸入的數(shù)據(jù)在前一層中的位置發(fā)生變化時,池化操作讓這些特征表示對這些變化具有魯棒性。
卷積神經(jīng)網(wǎng)絡(luò)中的卷積層和池化層的靈感來源于視覺神經(jīng)中的簡單細胞和復(fù)雜細胞,這種細胞是以LGN-V1-V2-V2-IT的層級結(jié)構(gòu)形成視覺回路的。當(dāng)把卷積神經(jīng)網(wǎng)絡(luò)和猴子放在一起時,卷積神經(jīng)網(wǎng)絡(luò)高級單元的激活解釋了猴子下顳葉皮質(zhì)中隨機160個神經(jīng)元的變化。卷積神經(jīng)網(wǎng)絡(luò)有神經(jīng)認知的根源,它們的結(jié)構(gòu)有些相似,但是在神經(jīng)認知中沒有像反向傳播這樣的端到端的監(jiān)督學(xué)習(xí)算法。有一種一維的卷積神經(jīng)網(wǎng)絡(luò)被稱為時延神經(jīng)網(wǎng)絡(luò),這種神經(jīng)網(wǎng)絡(luò)應(yīng)用于音素和簡單測字詞識別。
20世紀90年代以來,從用于語音識別和文檔閱讀的時延神經(jīng)網(wǎng)絡(luò)開始,出現(xiàn)了大量基于卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用。文檔閱讀系統(tǒng)利用卷積神經(jīng)網(wǎng)絡(luò)和概率模型共同訓(xùn)練,實現(xiàn)對語言的約束。到20世紀90年代末,這樣的系統(tǒng)已經(jīng)閱讀了超過美國所有支票的10%。后來,微軟開發(fā)了一系列的基于卷積神經(jīng)網(wǎng)絡(luò)的光字符識別和手寫體識別系統(tǒng)。在20世界90年代早期,卷積神經(jīng)網(wǎng)絡(luò)也對自然圖像中的目標(biāo)檢測做了實驗,包括人臉、手,以及人臉識別。

使用深度卷積網(wǎng)絡(luò)理解圖像
從21世紀早期開始,卷積神經(jīng)網(wǎng)絡(luò)就被成功的大量應(yīng)用在檢測、分割、物體識別和圖像的各個領(lǐng)域。這些應(yīng)用都是使用了大量的帶標(biāo)簽的數(shù)據(jù),比如交通信號識別,生物圖像分割,面部探測,文本、行人以及自然圖像中的人體檢測。近年來,卷積神經(jīng)網(wǎng)絡(luò)取得的主要成果在人臉識別方面。
值得一提的是,圖像可在像素級別標(biāo)記,這樣就可以應(yīng)用在自動電話接聽機器人、自動駕駛汽車等技術(shù)中。像Mobileye和NVIDIA這樣的公司正把基于卷積神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用于汽車中的視覺系統(tǒng)中。其他更重要的應(yīng)用在自然語言理解和語音識別領(lǐng)域。
盡管卷積神經(jīng)網(wǎng)絡(luò)很成功,但是直到2012年的ImageNet競賽才被計算機視覺和機器學(xué)習(xí)團隊重視起來。在競賽中,深度卷積神經(jīng)網(wǎng)絡(luò)被應(yīng)用在擁有上百萬張圖像的網(wǎng)絡(luò)數(shù)據(jù)集中,這個數(shù)據(jù)集包含了1000個不同的類別,結(jié)果取得了驚人的成績,幾乎比當(dāng)時使用的最好的方法減少了一半的錯誤率。這一成功來自于對GPU、ReLU和一種稱為dropout的正則化技術(shù)分有效利用,以及對現(xiàn)有樣本進行分割獲得更多訓(xùn)練樣本的技術(shù)的有效利用。這樣的成功給計算機帶來了一場革命,如今,卷積神經(jīng)網(wǎng)絡(luò)幾乎成為了所有識別和檢測任務(wù)的主要方式,并且在某些任務(wù)達到了人類水平。最近一個更好的成果是,利用卷積神經(jīng)網(wǎng)絡(luò)結(jié)合循環(huán)神經(jīng)網(wǎng)絡(luò)用來產(chǎn)生圖像標(biāo)題。
目前的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有10到20層的ReLU激活函數(shù),在所有單元中有上百萬個權(quán)重和幾十億個連接。然而訓(xùn)練如此大的網(wǎng)絡(luò)在兩年前就只需要幾個星期的時間,現(xiàn)在硬件,軟件和算法的提高已經(jīng)將時間縮短到只要幾個小時。
基于卷積神經(jīng)網(wǎng)絡(luò)的視覺系統(tǒng)已經(jīng)引起了許多主要的科技公司的注意,包括Google,F(xiàn)acebook,Microsoft,IBM,Yahoo,Twitter以及Adobe等公司,并且很多初創(chuàng)公司也是如此。
卷積神經(jīng)網(wǎng)絡(luò)很容易在芯片或者FPGA中高效實現(xiàn)。NVIDIA、Mobileye、Inter、Qualcomm和Samsung等許多公司正在開發(fā)一種用于智能手機、相機、機器人和自動駕駛汽車的實時視覺應(yīng)用的卷積神經(jīng)網(wǎng)絡(luò)芯片。

分布式表示和語言處理
深度學(xué)習(xí)理論表示,與不使用經(jīng)典的分布表示學(xué)習(xí)算法相比,深度網(wǎng)絡(luò)具有兩個不同的巨大優(yōu)勢。這兩種優(yōu)勢來源于網(wǎng)絡(luò)中的各節(jié)點成分,并且取決于具有合理結(jié)構(gòu)的生成數(shù)據(jù)分布。第一,學(xué)習(xí)分布式表示能夠泛化適應(yīng)新學(xué)習(xí)到的特征值的組合,而不是在訓(xùn)練中所觀察到的(例如:2^n可能有n個二進制特征)。第二,在一個深度網(wǎng)絡(luò)中組成表示的網(wǎng)絡(luò)層將帶來一個指數(shù)級的潛在優(yōu)勢。
多層神經(jīng)網(wǎng)絡(luò)的隱藏層學(xué)會以一種便于預(yù)測目標(biāo)輸出的方式來表示網(wǎng)絡(luò)的輸入。下面是一個很好的示范,將本地文本的內(nèi)容作為輸入,訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)來預(yù)測句子中下一個單詞。在文本中的每一個單詞作為一個n維向量呈現(xiàn)給網(wǎng)絡(luò),也就是說一個向量有一個值是1,其余值均為0.在第一層中,每一個單詞創(chuàng)建一個不同的激活形式或者詞向量。在一個語言處理模型中,網(wǎng)絡(luò)中的其它層學(xué)習(xí)將輸入的詞向量轉(zhuǎn)換為預(yù)測下一個單詞的輸出詞向量,它可以用來預(yù)測詞匯表中的任意一個單詞作為下一個單詞輸出的概率。網(wǎng)絡(luò)學(xué)習(xí)了包含許多激活節(jié)點的、并且可以解釋為詞的獨立特征的單詞向量,正如第一次示范的文本學(xué)習(xí)分層表征文字符號的例子。這些語義特征并沒有在輸入時明確表示出來,它們由學(xué)習(xí)程序發(fā)掘出來,作為分解輸入和輸出之間的結(jié)構(gòu)關(guān)系的可行的方法。當(dāng)單詞序列來自一個大型的真實的文本,并且在獨立的微規(guī)則不可靠時,詞向量的學(xué)習(xí)方法的結(jié)果也表現(xiàn)得很好。例如,當(dāng)訓(xùn)練去預(yù)測一個新聞故事中的下一個單詞時,對于Tuesday和Wednesday所學(xué)習(xí)到的詞向量和Sweden和Norway所學(xué)習(xí)到的詞向量是非常相似的。類似于這樣的表示都稱為分布表示,因為他們的屬性并不是相互獨立,并且它們的許多配置變化和觀測中的數(shù)據(jù)一致。這些詞向量都是由學(xué)習(xí)特征組成的,并且這些特征沒有提前由專家區(qū)分開來,但是它們由神經(jīng)網(wǎng)絡(luò)自動發(fā)現(xiàn)了?,F(xiàn)在,從文本中學(xué)習(xí)到的單詞的詞向量表示方法被廣泛的應(yīng)用在自然語言處理領(lǐng)域。
特征表示問題爭論的中心介于對基于邏輯啟發(fā)和基于神經(jīng)網(wǎng)絡(luò)的認識。在邏輯啟發(fā)的范式中,一個符號的實體對應(yīng)唯一的屬性,它與其他符號的實例相同或者不相同。它沒有內(nèi)部結(jié)構(gòu),并且這樣的結(jié)構(gòu)和它們的使用相關(guān),它們必須和變化的合理推理對應(yīng)。相反的,神經(jīng)網(wǎng)絡(luò)利用了大量活動載體、權(quán)值矩陣和標(biāo)量非線性化,來實現(xiàn)能夠支撐簡單容易的、具有常識推理的快速直覺函數(shù)。
在引入神經(jīng)語言模型之前,對語言進行統(tǒng)計建模的標(biāo)準方法沒有使用分布式表示方法,而是基于統(tǒng)計短符號序列發(fā)生頻率增長到n(稱為N-grams)。可能N-grams的數(shù)量是接近V^n,其中V為詞匯表的大小,考慮到文本可能需要成千上萬的單詞,所以需要一個非常大的語料庫。N-grams將每一個單詞看作是一個原子單元,因此它們不能泛化語義相關(guān)的單詞序列,但是神經(jīng)語言模型可以,因為它將每一個單詞與一個真實特征的向量聯(lián)系在一起,并且語義相關(guān)的單詞在這個向量空間是相互接近的。

循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
反向傳播算法的第一次引用,最振奮人心的應(yīng)用是用來訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。對于涉及連續(xù)輸入的任務(wù),例如語音和語言,通常使用RNN能取得更好的效果。RNN一次處理一個輸入序列元素,在隱藏層中保持一個狀態(tài)向量,這個狀態(tài)向量隱式的包含了之前所有序列的元素的歷史信息。當(dāng)我們考慮在不同離散時間步驟時隱藏層的輸出時,這就好像它們是在深度多層網(wǎng)絡(luò)中不同神經(jīng)元的輸出(如圖5 右),那么我們該怎樣利用反向傳播訓(xùn)練RNN就變得清晰了。
RNN是非常強大的動態(tài)系統(tǒng),但是訓(xùn)練RNN被證明是有問題的,因為反向傳播梯度在每一步都是增長或者下降的,因此在多次迭代之后他們可能會導(dǎo)致激增或者消失。
由于先進的結(jié)構(gòu)和訓(xùn)練方式,RNN被發(fā)現(xiàn)可以很好的預(yù)測下一個字符或者句子中下一個單詞,并且可以應(yīng)用于更加復(fù)雜的任務(wù)。例如在某時刻閱讀一個英語句子的單詞之后,一個英語句子的“編碼”網(wǎng)絡(luò)將會被訓(xùn)練,使得隱式單元的最終狀態(tài)向量能夠很好的表征句子所要表達的意思或思想。這種“思想向量”(thought vector)可以作為聯(lián)合訓(xùn)練一個法語“編碼器”網(wǎng)絡(luò)的初始化隱式狀態(tài)(或者額外的輸入),其輸出為法語翻譯首單詞的概率分布。如果從分布中選擇一個特殊的首單詞作為編碼網(wǎng)絡(luò)的輸入,將會輸出翻譯句子中的第二個單詞的概率分布,并直到停止選擇為止??傮w而言,這一過程是根據(jù)英語句子的概率分布生成法語單詞序列。這種簡單的機器翻譯方法和最先進的機器產(chǎn)生了競爭,同時也引起了人們對于理解句子是否需要使用推理規(guī)則操作內(nèi)部符號表示嚴重懷疑。這與日常推理中同時涉及到根據(jù)合理結(jié)論類推的觀點是匹配的。
類比于將法語句子的意思翻譯成英語句子,同樣可以學(xué)習(xí)將圖像的意思轉(zhuǎn)換成英語句子(如圖 3),這里的編碼器是一個深度卷積神經(jīng)網(wǎng)絡(luò),這個網(wǎng)絡(luò)在最后一個隱藏層將像素轉(zhuǎn)換為一個激活向量,解碼器是一個RNN,與機器翻譯和神經(jīng)語言建模中使用的循環(huán)神經(jīng)網(wǎng)絡(luò)類似。如今,人們對這樣的系統(tǒng)的興趣激增。
RNN一旦在某時刻展開,它可被看成一個非常深度的前饋神經(jīng)網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中的所有層都共享相同的權(quán)重。盡管RNN的主要目的是學(xué)習(xí)長期的依賴關(guān)系,但是理論和經(jīng)驗證明長時間的去學(xué)習(xí)去存儲信息是困難的。
為了糾正這一點,一個想法是用一個顯示的內(nèi)存來增強網(wǎng)絡(luò)。這個的第一個建議是使用特殊隱藏單元的長短期記憶(LSTM)網(wǎng)絡(luò),其自然行為是長期的記憶輸入。這個特殊的單元被稱為記憶細胞,它就像一個累加器或者是一個封閉的神經(jīng)元:它與自己的下一步相連接,并且連接的權(quán)值為1,因此它復(fù)制了自己的實值狀態(tài),并且累加外部信號,但是這樣的自我連接是由另一個單元乘法封閉的,這樣的單元學(xué)習(xí)如何決定何時清除記憶內(nèi)容。
LSTM網(wǎng)絡(luò)隨后被證明比常規(guī)的RNN要更加有效,尤其是當(dāng)一個時間步長中有幾個層時,整個語音識別系統(tǒng)能夠完全將聲音轉(zhuǎn)換為字符序列。LSTM網(wǎng)絡(luò)或者相關(guān)的封閉形式的單元目前都被用于編碼和解碼網(wǎng)絡(luò),這在機器翻譯方面表現(xiàn)得很好。
在過去的幾年里,對于RNN的記憶模型一些作者有了不同的建議。這些建議包括神經(jīng)圖靈機(Neural Turing Machine),它通過一個類似磁帶的存儲器來擴充網(wǎng)絡(luò),使RNN可以選擇讀寫;利用聯(lián)想記憶增強常規(guī)網(wǎng)絡(luò)的記憶網(wǎng)絡(luò)。在標(biāo)準的問答基準上記憶網(wǎng)絡(luò)產(chǎn)生了卓越的表現(xiàn)。記憶網(wǎng)絡(luò)被用來記憶最后被要求回答問題的來歷。
除了簡單的記憶網(wǎng)絡(luò),神經(jīng)圖靈機和記憶網(wǎng)絡(luò)被用在需要常規(guī)推理和符號操作的任務(wù)中。神經(jīng)圖靈機能從算法中學(xué)習(xí)。在其他方面,當(dāng)它們的輸入是一個無需的序列時,它們可以輸出一個已經(jīng)排好序的符號列表,并且每一個符號都有一個表示在列表中的優(yōu)先級的實數(shù)。記憶網(wǎng)絡(luò)可以用來訓(xùn)練追蹤一個類似于文字冒險游戲世界中的狀態(tài),在讀完故事之后,它可以回答一些需要復(fù)雜推理的問題。在一個測試例子中,網(wǎng)絡(luò)能夠正確回答15句版的《指環(huán)王》中類似于“Where is Frodo now?”的問題。

深度學(xué)習(xí)的未來
在振興深度學(xué)習(xí)方面,無監(jiān)督學(xué)習(xí)起著催化作用,但是純粹的監(jiān)督學(xué)習(xí)的成功掩蓋了無監(jiān)督學(xué)習(xí)的作用。盡管在這篇綜述中我們還沒有關(guān)注這一點,但是從長遠來看,我們認為無監(jiān)督學(xué)習(xí)將變得越來越重要,人類和動物的學(xué)習(xí)大部分是無監(jiān)督的:我們是通過觀察這個世界,而不是被告知每一個事物的名字來發(fā)現(xiàn)這個世界的結(jié)構(gòu)的。
人類視覺是一個智能的、基于特定方式的利用小或大分辨率的視網(wǎng)膜中央窩與周圍環(huán)繞區(qū)域?qū)饩€采集成像的活躍的過程。我們期望未來能在機器視覺方面取得更大的進步,這些進步通過訓(xùn)練結(jié)合CNN和RNN的端到端的系統(tǒng)取得,采用強化學(xué)習(xí)來決定其走向。結(jié)合深度學(xué)習(xí)和增強學(xué)習(xí)的系統(tǒng)還處在初級階段,但是它們在分類任務(wù)和學(xué)習(xí)玩不同的視頻游戲方面所表現(xiàn)出來的結(jié)果已經(jīng)要比被動視覺系統(tǒng)要好。
在未來幾年,深度學(xué)習(xí)將會產(chǎn)生巨大沖擊的另一個領(lǐng)域是自然語言理解。當(dāng)系統(tǒng)學(xué)習(xí)選擇策略的時候,我們認為利用RNN去理解句子或者整個文檔的系統(tǒng)將會變得更好。
最后,人工智能方面所取得的進步將來自那些結(jié)合了復(fù)雜推理的表示學(xué)習(xí)系統(tǒng)。盡管深度學(xué)習(xí)和簡單推理已經(jīng)在語音識別和手寫體識別方面應(yīng)用了很長時間了,我們?nèi)孕枰ㄟ^操作大量向量的新范式來代替基于規(guī)則的字符表達式操作。
原文下載:Deep learning(CSDN)、Deep Learning
原文鏈接:Deep Learning(nature)