Deep Learning Symposium(LeCun、Bengio和Hinton)



深度學習綜述(LeCun、Bengio和Hinton)

原文摘要:深度學習可以讓那些擁有多個處理層的計算模型來學習具有多層次抽象的數據的表示。這些方法在很多方面都帶來了顯著的改善,包含最先進的語音識別、視覺對象識別、對象檢測和很多其他領域,比如藥物發現和基因組學等。深度學習可以發現大數據中的複雜結構。它是利用BP算法來完畢這個發現過程的。BP算法可以指導機器怎樣從前一層獲取誤差而改變本層的內部參數,這些內部參數可以用於計算表示。深度卷積網絡在處理圖像、視頻、語音和音頻方面帶來了突破,而遞歸網絡在處理序列數據。比方文本和語音方面表現出了閃亮的一面。

機器學習技術在現代社會的各個方面表現出了強大的功能:從Web搜索到社會網絡內容過濾,再到電子商務站點上的商品推薦都有涉足。

而且它越來越多地出如今消費品中,比方相機和智能手機。

機器學習系統被用來識別圖片中的目標。將語音轉換成文本,匹配新聞元素,依據用戶興趣提供職位或產品。選擇相關的搜索結果。逐漸地,這些應用使用一種叫深度學習的技術。傳統的機器學習技術在處理未加工過的數據時,體現出來的能力是有限的。幾十年來,想要構建一個模式識別系統或者機器學習系統。須要一個精緻的引擎和相當專業的知識來設計一個特徵提取器。把原始數據(如圖像的像素值)轉換成一個適當的內部特徵表示或特徵向量,子學習系統,一般是一個分類器。對輸入的樣本進行檢測或分類。特徵表示學習是一套給機器灌入原始數據,然後能自己主動發現須要進行檢測和分類的表達的方法。深度學習就是一種特徵學習方法。把原始數據通過一些簡單的可是非線性的模型轉變成爲更高層次的,更加抽象的表達。

通過足夠多的轉換的組合,很複雜的函數也可以被學習。

對於分類任務。高層次的表達可以強化輸入數據的區分能力方面,同一時候削弱不相關因素。比方,一副圖像的原始格式是一個像素數組。那麼在第一層上的學習特徵表達通常指的是在圖像的特定位置和方向上有沒有邊的存在。

第二層一般會依據那些邊的某些排放而來檢測圖案,這時候會忽略掉一些邊上的一些小的干擾。第三層也許會把那些圖案進行組合,從而使其相應於熟悉目標的某部分。隨後的一些層會將這些部分再組合,從而構成待檢測目標。深度學習的核心方面是,上述各層的特徵都不是利用人工project來設計的。而是使用一種通用的學習過程從數據中學到的。

深度學習正在取得重大進展,攻克了人工智能界的盡最大努力非常多年仍沒有進展的問題。它已經被證明。它可以擅長髮現高維數據中的複雜結構,因此它可以被應用於科學、商業和政府等領域。除了在圖像識別、語音識別等領域打破了紀錄。它還在另外的領域擊敗了其它機器學習技術,包含預測潛在的藥物分子的活性、分析粒子加速器數據、重建大腦回路、預測在非編碼DNA突變對基因表達和疾病的影響。

或許更令人吃驚的是,深度學習在自然語言理解的各項任務中產生了非常可喜的成果,特別是主題分類、情感分析、自己主動問答和語言翻譯。我們覺得,在不久的將來,深度學習將會取得很多其它的成功,由於它須要非常少的手工project。它可以非常easy受益於可用計算能力和數據量的添加。

眼下正在爲深度神經網絡開發的新的學習算法和架構僅僅會加速這一進程。

監督學習

機器學習中。不論是否是深層,最常見的形式是監督學習。

試想一下,我們要建立一個系統,它能夠對一個包括了一座房子、一輛汽車、一個人或一個寵物的圖像進行分類。我們先收集大量的房子。汽車,人與寵物的圖像的數據集。並對每一個對象標上它的類別。

在訓練期間。機器會獲取一副圖片。然後產生一個輸出。這個輸出以向量形式的分數來表示。每一個類別都有一個這種向量。我們希望所需的類別在全部的類別中具有最高的得分,可是這在訓練之前是不太可能發生的。通過計算一個目標函數能夠獲得輸出分數和期望模式分數之間的誤差(或距離)。

然後機器會改動其內部可調參數,以降低這種誤差。這些可調節的參數。通常被稱爲權值,它們是一些實數。能夠被看作是一些“旋鈕”,定義了機器的輸入輸出功能。在典型的深學習系統中。有可能有數以百萬計的樣本和權值,和帶有標籤的樣本,用來訓練機器。

爲了正確地調整權值向量,該學習算法計算每一個權值的梯度向量,表示了假設權值添加了一個非常小的量。那麼誤差會添加或降低的量。權值向量然後在梯度矢量的相反方向上進行調整。

我們的目標函數,全部訓練樣本的平均,能夠被看作是一種在權值的高維空間上的多變地形。負的梯度矢量表示在該地形中下降方向最快。使其更接近於最小值,也就是平均輸出誤差低最低的地方。

在實際應用中,大部分從業者都使用一種稱作隨機梯度下降的算法(SGD)。它包括了提供一些輸入向量樣本,計算輸出和誤差。計算這些樣本的平均梯度。然後對應的調整權值。通過提供小的樣本集合來反覆這個過程用以訓練網絡,直到目標函數停止增長。

它被稱爲隨機的是由於小的樣本集對於全體樣本的平均梯度來說會有噪聲預計。這個簡單過程一般會找到一組不錯的權值,同其它精心設計的優化技術相比,它的速度讓人驚奇。訓練結束之後,系統會通過不同的數據樣本——測試集來顯示系統的性能。

這用於測試機器的泛化能力——對於未訓練過的新樣本的識別能力。

當前應用中的很多機器學習技術使用的是線性分類器來對人工提取的特徵進行分類。

一個2類線性分類器會計算特徵向量的加權和。

當加權和超過一個閾值之後,輸入樣本就會被分配到一個特定的類別中。從20世紀60年代開始。我們就知道了線性分類器僅僅可以把樣本分成很easy的區域,也就是說通過一個超平面把空間分成兩部分。

但像圖像和語音識別等問題。它們須要的輸入-輸出函數要對輸入樣本中不相關因素的變化不要過於的敏感,如位置的變化,目標的方向或光照,或者語音中音調或語調的變化等。可是須要對於一些特定的微小變化很敏感(比如。一僅僅白色的狼和跟狼類似的白色狗——薩莫耶德犬之間的差異)。在像素這一級別上,兩條薩莫耶德犬在不同的姿勢和在不同的環境下的圖像能夠說差異是很大的,然而,一僅僅薩摩耶德犬和一僅僅狼在同樣的位置並在相似背景下的兩個圖像可能就很類似。


圖1 多層神經網絡和BP算法

  1. 多層神經網絡(用連接點表示)能夠對輸入空間進行整合,使得數據(紅色和藍色線表示的樣本)線性可分

    注意輸入空間中的規則網格(左側)是如何被隱藏層轉換的(轉換後的在右側)。這個樣例中僅僅用了兩個輸入節點,兩個隱藏節點和一個輸出節點。可是用於目標識別或自然語言處理的網絡通常包括數十個或者數百個這種節點。獲得C.Olah (http://colah.github.io/)的許可後又一次構建的這個圖。

  2. 鏈式法則告訴我們兩個小的變化(x和y的微小變化,以及y和z的微小變化)是如何組織到一起的。

    x的微小變化量Δx首先會通過乘以∂y/∂x(偏導數)轉變成y的變化量Δy。類似的,Δy會給z帶來改變Δz。

    通過鏈式法則能夠將一個方程轉化到另外的一個——也就是Δx通過乘以∂y/∂x和∂z/∂y(英文原文爲∂z/∂x,系筆誤——編輯注)得到Δz的過程。當x,y。z是向量的時候。能夠相同處理(使用雅克比矩陣)。

  3. 具有兩個隱層一個輸出層的神經網絡中計算前向傳播的公式。每一個都有一個模塊構成,用於反向傳播梯度。

    在每一層上。我們首先計算每一個節點的總輸入z,z是前一層輸出的加權和。然後利用一個非線性函數f(.)來計算節點的輸出。

    簡單期間,我們忽略掉了閾值項。神經網絡中經常使用的非線性函數包括了近期幾年經常使用的校正線性單元(ReLU)f(z) = max(0,z),和很多其它傳統sigmoid函數,比方雙曲線正切函數f(z) = (exp(z) − exp(−z))/(exp(z) + exp(−z)) 和logistic函數f(z) = 1/(1+ exp(−z))。

  4. 計算反向傳播的公式。在隱層。我們計算每一個輸出單元產生的誤差。這是由上一層產生的誤差的加權和。

    然後我們將輸出層的誤差通過乘以梯度f(z)轉換到輸入層。在輸出層上,每一個節點的誤差會用成本函數的微分來計算。假設節點l的成本函數是0.5*(yl-tl)^2, 那麼節點的誤差就是yl-tl,當中tl是期望值。一旦知道了∂E/∂zk的值。節點j的內星權向量wjk就能夠通過yj ∂E/∂zk來進行調整。

一個線性分類器或者其它操作在原始像素上的淺層分類器不可以區分後兩者,儘管可以將前者歸爲同一類。

這就是爲什麼淺分類要求有良好的特徵提取器用於解決選擇性不變性困境——提取器會挑選出圖像中可以區分目標的那些重要因素,可是這些因素對於分辨動物的位置就無能爲力了。

爲了加強分類能力,可以使用泛化的非線性特性。如核方法,但這些泛化特徵,比方通過高斯核得到的。並不可以使得學習器從學習樣本中產生較好的泛化效果。

傳統的方法是手工設計良好的特徵提取器,這須要大量的project技術和專業領域知識。可是假設通過使用通用學習過程而得到良好的特徵。那麼這些都是可以避免的了。

這就是深度學習的關鍵優勢。

深度學習的體系結構是簡單模塊的多層棧,全部(或大部分)模塊的目標是學習,還有很多計算非線性輸入輸出的映射。棧中的每一個模塊將其輸入進行轉換,以添加表達的可選擇性和不變性。

比方說,具有一個5到20層的非線性多層系統可以實現很複雜的功能,比方輸入數據對細節很敏感——可以區分白狼和薩莫耶德犬。同一時候又具有強大的抗干擾能力,比方可以忽略掉不同的背景、姿勢、光照和周圍的物體等。

反向傳播來訓練多層神經網絡

在最早期的模式識別任務中。研究者的目標一直是使用能夠訓練的多層網絡來替代經過人工選擇的特徵,儘管使用多層神經網絡非常easy,可是得出來的解非常糟糕。直到20世紀80年代。使用簡單的隨機梯度下降來訓練多層神經網絡。這樣的糟糕的情況纔有所改變。僅僅要網絡的輸入和內部權值之間的函數相對平滑,使用梯度下降就湊效,梯度下降方法是在70年代到80年代期間由不同的研究團隊獨立發明的。

 

用來求解目標函數關於多層神經網絡權值梯度的反向傳播算法(BP)僅僅是一個用來求導的鏈式法則的詳細應用而已。

反向傳播算法的核心思想是:目標函數對於某層輸入的導數(或者梯度)能夠通過向後傳播對該層輸出(或者下一層輸入)的導數求得(如圖1)。反向傳播算法能夠被反覆的用於傳播梯度通過多層神經網絡的每一層:從該多層神經網絡的最頂層的輸出(也就是改網絡產生預測的那一層)一直到該多層神經網絡的最底層(也就是被接受外部輸入的那一層),一旦這些關於(目標函數對)每層輸入的導數求解完,我們就能夠求解每一層上面的(目標函數對)權值的梯度了。

非常多深度學習的應用都是使用前饋式神經網絡(如圖1)。該神經網絡學習一個從固定大小輸入(比方輸入是一張圖)到固定大小輸出(比如。到不同類別的概率)的映射。從第一層到下一層,計算前一層神經元輸入數據的權值的和,然後把這個和傳給一個非線性激活函數。當前最流行的非線性激活函數是rectified linear unit(ReLU),函數形式:f(z)=max(z,0)。過去的幾十年中,神經網絡使用一些更加平滑的非線性函數。比方tanh(z)和1/(1+exp(-z)),可是ReLU一般會讓一個多層神經網絡學習的更快。也能夠讓一個深度網絡直接有監督的訓練(不須要無監督的pre-train)。

達到之前那種有pre-train的效果。通常情況下。輸入層和輸出層以外的神經單元被稱爲隱藏單元。

隱藏層的作用能夠看成是使用一個非線性的方式打亂輸入數據,來讓輸入數據相應的類別在最後一層變得線性可分。

在20世紀90年代晚期,神經網絡和反向傳播算法被大多數機器學習團隊拋棄,同一時候也不受計算機視覺和語音識別團隊的重視。人們普遍覺得,學習實用的、多級層次結構的、使用較少先驗知識進行特徵提取的這些方法都不靠譜。確切的說是由於簡單的梯度下降會讓整個優化陷入到不好的局部最小解

實踐中。假設在大的網絡中,無論使用什麼樣的初始化條件,局部最小解並不算什麼大問題,系統總是得到效果幾乎相同的解。近期的理論和實驗表明。局部最小解還真不是啥大問題。相反,解空間中充滿了大量的鞍點(梯度爲0的點),同一時候鞍點周圍大部分曲面都是往上的。所以這些算法就算是陷入了這些局部最小值,關係也不太大。

2006年前後,CIFAR(加拿大高級研究院)把一些研究者聚集在一起,人們對深度前饋式神經網絡又一次燃起了興趣。研究者們提出了一種非監督的學習方法,這樣的方法能夠創建一些網絡層來檢測特徵而不使用帶標籤的數據。這些網絡層能夠用來重構或者對特徵檢測器的活動進行建模。通過預訓練過程。深度網絡的權值能夠被初始化爲有意思的值。然後一個輸出層被加入到該網絡的頂部,而且使用標準的反向傳播算法進行微調。

這個工作對手寫體數字的識別以及行人預測任務產生了顯著的效果,尤其是帶標籤的數據很少的時候。

使用這樣的與訓練方法做出來的第一個比較大的應用是關於語音識別的,而且是在GPU上做的,這樣做是由於寫代碼非常方便。而且在訓練的時候能夠得到10倍或者20倍的加速。

2009年。這樣的方法被用來映射短時間的係數窗體。該系統窗體是提取自聲波並被轉換成一組概率數字。它在一組使用非常少詞彙的標準的語音識別基準測試程序上達到了驚人的效果,然後又迅速被發展到另外一個更大的數據集上。同一時候也取得驚人的效果。從2009年到到2012年底,較大的語音團隊開發了這樣的深度網絡的多個版本號而且已經被用到了安卓手機上。對於小的數據集來說,無監督的預訓練能夠防止過擬合,同一時候能夠帶來更好的泛化性能當有標籤的樣本非常小的時候。一旦深度學習技術又一次恢復。這樣的預訓練僅僅有在數據集合較少的時候才須要。

然後,另一種深度前饋式神經網絡,這樣的網絡更易於訓練而且比那種全連接的神經網絡的泛化性能更好。這就是卷積神經網絡(CNN)。

當人們對神經網絡不感興趣的時候。卷積神經網絡在實踐中卻取得了非常多成功,現在它被計算機視覺團隊廣泛使用。


卷積神經網絡

卷積神經網絡被設計用來處理到多維數組數據的。比方一個有3個包括了像素值2-D圖像組合成的一個具有3個顏色通道的彩色圖像。非常多數據形態都是這樣的多維數組的:1D用來表示信號和序列包括語言,2D用來表示圖像或者聲音。3D用來表示視頻或者有聲音的圖像。

卷積神經網絡使用4個關鍵的想法來利用自然信號的屬性:局部連接、權值共享、池化以及多網絡層的使用。


圖2 卷積神經網絡內部

一個典型的卷積神經網絡結構(如圖2)是由一系列的過程組成的。最初的幾個階段是由卷積層和池化層組成,卷積層的單元被組織在特徵圖中,在特徵圖中,每個單元通過一組叫做濾波器的權值被連接到上一層的特徵圖的一個局部塊,然後這個局部加權和被傳給一個非線性函數。比方ReLU。

在一個特徵圖中的所有單元享用同樣的過濾器。不同層的特徵圖使用不同的過濾器。

使用這樣的結構處於雙方面的原因。首先,在數組數據中,比方圖像數據,一個值的附近的值常常是高度相關的,能夠形成比較easy被探測到的有區分性的局部特徵。其次,不同位置局部統計特徵不太相關的,也就是說,在一個地方出現的某個特徵。也可能出如今別的地方,所以不同位置的單元能夠共享權值以及能夠探測同樣的樣本。在數學上,這樣的由一個特徵圖運行的過濾操作是一個離線的卷積,卷積神經網絡也是這麼得名來的。

卷積層的作用是探測上一層特徵的局部連接,然而池化層的作用是在語義上把相似的特徵合併起來,這是由於形成一個主題的特徵的相對位置不太一樣。一般地,池化單元計算特徵圖中的一個局部塊的最大值。相鄰的池化單元通過移動一行或者一列來從小塊上讀取數據,由於這樣做就降低的表達的維度以及對數據的平移不變性。兩三個這樣的的卷積、非線性變換以及池化被串起來,後面再加上一個很多其它卷積和全連接層。在卷積神經網絡上進行反向傳播算法和在一般的深度網絡上是一樣的。能夠讓全部的在過濾器中的權值得到訓練。

深度神經網絡利用的非常多自然信號是層級組成的屬性。在這樣的屬性中高級的特徵是通過對低級特徵的組合來實現的。在圖像中。局部邊緣的組合形成基本圖案。這些圖案形成物體的局部。然後再形成物體。

這樣的層級結構也存在於語音數據以及文本數據中。如電話中的聲音,因素,音節,文檔中的單詞和句子。

當輸入數據在前一層中的位置有變化的時候,池化操作讓這些特徵表示對這些變化具有魯棒性。

卷積神經網絡中的卷積和池化層靈感直接來源於視覺神經科學中的簡單細胞和複雜細胞。這樣的細胞的是以LNG-V1-V2-V4-IT這樣的層級結構形成視覺迴路的。當給一個卷積神經網絡和猴子一副同樣的圖片的時候。卷積神經網絡展示了猴子下顳葉皮質中隨機160個神經元的變化。

卷積神經網絡有神經認知的根源,他們的架構有點相似,可是在神經認知中是沒有類似反向傳播算法這樣的端到端的監督學習算法的。一個比較原始的1D卷積神經網絡被稱爲時延神經網絡,能夠被用來識別語音以及簡單的單詞。

20世紀90年代以來,基於卷積神經網絡出現了大量的應用。最開始是用時延神經網絡來做語音識別以及文檔閱讀。

這個文檔閱讀系統使用一個被訓練好的卷積神經網絡和一個概率模型,這個概率模型實現了語言方面的一些約束。

20世紀90年代末,這個系統被用來美國超過10%的支票閱讀上。後來,微軟開發了基於卷積神經網絡的字符識別系統以及手寫體識別系統。

20世紀90年代早期,卷積神經網絡也被用來自然圖形中的物體識別。比方臉、手以及人臉識別(face recognition )。

使用深度卷積網絡進行圖像理解

21世紀開始,卷積神經網絡就被成功的大量用於檢測、切割、物體識別以及圖像的各個領域。

這些應用都是使用了大量的有標籤的數據,比方交通信號識別。生物信息切割,面部探測,文本、行人以及自然圖形中的人的身體部分的探測。

近年來,卷積神經網絡的一個重大成功應用是人臉識別。

值得一提的是,圖像能夠在像素級別進行打標籤,這樣就能夠應用在比方自己主動電話接聽機器人、自己主動駕駛汽車等技術中。像Mobileye以及NVIDIA公司正在把基於卷積神經網絡的方法用於汽車中的視覺系統中。其他的應用涉及到自然語言的理解以及語音識別中。

圖3 從圖像到文字

雖然卷積神經網絡應用的非常成功,可是它被計算機視覺以及機器學習團隊開始重視是在2012年的ImageNet競賽。在該競賽中。深度卷積神經網絡被用在上百萬張網絡圖片數據集,這個數據集包括了1000個不同的類。該結果達到了前所未有的好,差點兒比當時最好的方法減少了一半的錯誤率。這個成功來自有效地利用了GPU、ReLU、一個新的被稱爲dropout的正則技術,以及通過分解現有樣本產生很多其它訓練樣本的技術。這個成功給計算機視覺帶來一個革命。

現在,卷積神經網絡用於差點兒所有的識別和探測任務中。近期一個更好的成果是,利用卷積神經網絡結合回饋神經網絡用來產生圖像標題。

現在的卷積神經網絡架構有10-20層採用ReLU激活函數、上百萬個權值以及幾十億個連接。然而訓練如此大的網絡兩年前就僅僅須要幾周了,現在硬件、軟件以及算法並行的進步。又把訓練時間壓縮到了幾小時。

基於卷積神經網絡的視覺系統的性能已經引起了大型技術公司的注意,比方Google、Facebook、Microsoft、IBM,yahoo!、Twitter和Adobe等,一些高速增長的創業公司也相同如是。

卷積神經網絡非常easy在芯片或者現場可編程門陣列(FPGA)中高效實現,很多公司比方NVIDIA、Mobileye、Intel、Qualcomm以及Samsung,正在開發卷積神經網絡芯片,以使智能機、相機、機器人以及自己主動駕駛汽車中的實時視覺系統成爲可能。

分佈式特徵表示與語言處理

與不使用分佈式特徵表示distributed representations 的經典學習算法相比。深度學習理論表明深度網絡具有兩個不同的巨大的優勢。

這些優勢來源於網絡中各節點的權值,並取決於具有合理結構的底層生成數據的分佈。

首先。學習分佈式特徵表示可以泛化適應新學習到的特徵值的組合(比方,n元特徵就有2n種可能的組合)。

其次,深度網絡中組合表示層帶來了還有一個指數級的優勢潛能(指數級的深度)。

多層神經網絡中的隱層利用網絡中輸入的數據進行特徵學習。使之更加easy預測目標輸出。

以下是一個非常好的示範樣例。比方將本地文本的內容作爲輸入,訓練多層神經網絡來預測句子中下一個單詞。內容中的每一個單詞表示爲網絡中的N分之中的一個的向量。也就是說,每一個組成部分中有一個值爲1其餘的全爲0。

在第一層中。每一個單詞創建不同的激活狀態,或單詞向量(如圖4)。

在語言模型中。網絡中其餘層學習並轉化輸入的單詞向量爲輸出單詞向量來預測句子中下一個單詞。能夠通過預測詞彙表中的單詞作爲文本句子中下一個單詞出現的概率。

網絡學習了包括很多激活節點的、而且能夠解釋爲詞的獨立特徵的單詞向量。正如第一次示範的文本學習分層表徵文字符號的樣例。這些語義特徵在輸入中並沒有明白的表徵。

而是在利用“微規則”(‘micro-rules’,本文中直譯爲:微規則)學習過程中被髮掘,並作爲一個分解輸入與輸出符號之間關係結構的好的方式。當句子是來自大量的真實文本而且個別的微規則不可靠的情況下,學習單詞向量也一樣能表現得非常好。利用訓練好的模型預測新的事例時,一些概念比較相似的詞easy混淆。比方星期二(Tuesday)和星期三(Wednesday),瑞典(Sweden)和挪威(Norway)。這種表示方式被稱爲分佈式特徵表示。由於他們的元素之間並不互相排斥。而且他們的構造信息相應於觀測到的數據的變化。這些單詞向量是通過學習得到的特徵構造的,這些特徵不是由專家決定的,而是由神經網絡自己主動發掘的。從文本中學習得單詞向量表示如今廣泛應用於自然語言中。



圖4 詞向量學習可視化

特徵表示問題爭論的中心介於對基於邏輯啓示和基於神經網絡的認識。

在邏輯啓示的範式中,一個符號實體表示某一事物,由於其唯一的屬性與其它符號實體同樣或者不同。

該符號實例沒有內部結構,而且結構與使用是相關的,至於理解符號的語義。就必須與變化的推理規則合理相應。

相反地,神經網絡利用了大量活動載體、權值矩陣和標量非線性化,來實現可以支撐簡單easy的、具有常識推理的高速“直覺”功能。

在介紹神經語言模型前。簡述下標準方法,其是基於統計的語言模型,該模型沒有使用分佈式特徵表示。

而是基於統計簡短符號序列出現的頻率增長到N(N-grams,N元文法)。可能的N-grams的數字接近於VN,當中V是詞彙表的大小。考慮到文本內容包括成千上萬個單詞,所以須要一個很大的語料庫。

N-grams將每一個單詞看成一個原子單元。因此不能在語義相關的單詞序列中一概而論,然而神經網絡語言模型能夠,是由於他們關聯每一個詞與真是特徵值的向量,而且在向量空間中語義相關的詞彼此靠近(圖4)。

遞歸神經網絡

首次引入反向傳播算法時。最令人興奮的便是使用遞歸神經網絡(recurrent neural networks,下文簡稱RNNs)訓練。對於涉及到序列輸入的任務。比方語音和語言,利用RNNs能獲得更好的效果。

RNNs一次處理一個輸入序列元素。同一時候維護網絡中隱式單元中隱式的包括過去時刻序列元素的歷史信息的“狀態向量”。

假設是深度多層網絡不同神經元的輸出,我們就會考慮這樣的在不同離散時間步長的隱式單元的輸出,這將會使我們更加清晰怎麼利用反向傳播來訓練RNNs(如圖5,右)。


圖5 遞歸神經網絡

RNNs是很強大的動態系統。可是訓練它們被證實存在問題的,由於反向傳播的梯度在每一個時間間隔內是增長或下降的,所以經過一段時間後將導致結果的激增或者降爲零。

因爲先進的架構和訓練方式,RNNs被發現能夠非常好的預測文本中下一個字符或者句子中下一個單詞,而且能夠應用於更加複雜的任務。

比如在某時刻閱讀英語句子中的單詞後。將會訓練一個英語的“編碼器”網絡,使得隱式單元的終於狀態向量能夠非常好地表徵句子所要表達的意思或思想。這樣的“思想向量”(thought vector)能夠作爲聯合訓練一個法語“編碼器”網絡的初始化隱式狀態(或者額外的輸入),其輸出爲法語翻譯首單詞的概率分佈。假設從分佈中選擇一個特殊的首單詞作爲編碼網絡的輸入。將會輸出翻譯的句子中第二個單詞的概率分佈。並直到停止選擇爲止。整體而言,這一過程是依據英語句子的概率分佈而產生的法語詞彙序列。這樣的簡單的機器翻譯方法的表現甚至能夠和最先進的(state-of-the-art)的方法相媲美,同一時候也引起了人們對於理解句子是否須要像使用推理規則操作內部符號表示質疑。這與日常推理中同一時候涉及到依據合理結論類推的觀點是匹配的。

類比於將法語句子的意思翻譯成英語句子。相同能夠學習將圖片內容“翻譯”爲英語句子(如圖3)。這樣的編碼器是能夠在最後的隱層將像素轉換爲活動向量的深度卷積網絡(ConvNet)。解碼器與RNNs用於機器翻譯和神經網絡語言模型的類似。近來。已經掀起了一股深度學習的巨大興趣熱潮(參見文獻[86]提到的樣例)。

RNNs一旦展開(如圖5),能夠將之視爲一個全部層共享相同權值的深度前饋神經網絡。儘管它們的目的是學習長期的依賴性,但理論的和經驗的證據表明非常難學習並長期保存信息。

爲了解決問題,一個增大網絡存儲的想法隨之產生。

採用了特殊隱式單元的LSTM(long short-termmemory networks)被首先提出,其自然行爲便是長期的保存輸入。一種稱作記憶細胞的特殊單元類似累加器和門控神經元:它在下一個時間步長將擁有一個權值並聯接到自身。拷貝自身狀態的真實值和累積的外部信號,但這樣的自聯接是由還有一個單元學習並決定何時清除記憶內容的乘法門控制的。

LSTM網絡隨後被證明比傳統的RNNs更加有效,尤其當每個時間步長內有若干層時。整個語音識別系統可以全然一致的將聲學轉錄爲字符序列。

眼下LSTM網絡或者相關的門控單元相同用於編碼和解碼網絡。而且在機器翻譯中表現良好。

過去幾年中,幾位學者提出了不同的提案用於增強RNNs的記憶模塊。

提案中包含神經圖靈機,當中通過增加RNNs可讀可寫的“類似磁帶”的存儲來增強網絡,而記憶網絡中的常規網絡通過聯想記憶來增強。記憶網絡在標準的問答基準測試中表現良好,記憶是用來記住稍後要求回答問題的事例。

除了簡單的記憶化,神經圖靈機和記憶網絡正在被用於那些通常須要推理和符號操作的任務。還能夠教神經圖靈機“算法”。除此以外。他們能夠從未排序的輸入符號序列(當中每一個符號都有與其在列表中相應的表明優先級的真實值)中,學習輸出一個排序的符號序列。能夠訓練記憶網絡用來追蹤一個設定與文字冒險遊戲和故事的世界的狀態。回答一些須要複雜推理的問題。

在一個測試樣例中。網絡能夠正確回答15句版的《指環王》中諸如“Frodo如今在哪?”的問題。

深度學習的未來展望

無監督學習對於又一次點燃深度學習的熱潮起到了促進的作用。可是純粹的有監督學習的成功蓋過了無監督學習。在本篇綜述中儘管這不是我們的重點。我們還是期望無監督學習在長期內越來越重要。

無監督學習在人類和動物的學習中佔領主導地位:我們通過觀察可以發現世界的內在結構。而不是被告知每個客觀事物的名稱。

人類視覺是一個智能的、基於特定方式的利用小或大分辨率的視網膜中央窩與周圍圍繞區域對光線採集成像的活躍的過程。

我們期望未來在機器視覺方面會有很多其它的進步,這些進步來自那些端對端的訓練系統,並結合ConvNets和RNNs,採用增強學習來決定走向。結合了深度學習和增強學習的系統正處在初期,但已經在分類任務中超過了被動視頻系統,並在學習操作視頻遊戲中產生了令人印象深刻的效果。

在未來幾年。自然語言理解將是深度學習做出巨大影響的還有一個領域。我們預測那些利用了RNNs的系統將會更好地理解句子或者整個文檔。當它們選擇性地學習了某時刻部分增加的策略。

終於。在人工智能方面取得的重大進步將來自那些結合了複雜推理表示學習(representation learning )的系統。雖然深度學習和簡單推理已經應用於語音和手寫字識別非常長一段時間了。我們仍須要通過操作大量向量的新範式來取代基於規則的字符表達式操作。


轉載自:http://www.cnblogs.com/cynchanpin/p/6863401.html

               http://www.csdn.net/article/2015-06-01/2824811

               http://www.csdn.net/article/2015-06-02/2824825


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章