摘要:三大牛和在深度學習領域的地位無人不知。逐漸地,這些應用使用一種叫深度學習的技術。監督學習機器學習中,不論是否是深層,最常見的形式是監督學習。
三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在深度學習領域的地位無人不知。為紀念人工智能提出60周年,的《Nature》雜志專門開辟了一個“人工智能 + 機器人”專題 ,發表多篇相關論文,其中包括了Yann LeCun、Yoshua Bengio和Geoffrey Hinton首次合作的這篇綜述文章“Deep Learning”。本文為該綜述文章中文譯文的上半部分,深入淺出地介紹了深度學習的基本原理和核心優勢。
原文摘要:深度學習可以讓那些擁有多個處理層的計算模型來學習具有多層次抽象的數據的表示。這些方法在許多方面都帶來了顯著的改善,包括較先進的語音識別、視覺對象識別、對象檢測和許多其它領域,例如藥物發現和基因組學等。深度學習能夠發現大數據中的復雜結構。它是利用BP算法來完成這個發現過程的。BP算法能夠指導機器如何從前一層獲取誤差而改變本層的內部參數,這些內部參數可以用于計算表示。深度卷積網絡在處理圖像、視頻、語音和音頻方面帶來了突破,而遞歸網絡在處理序列數據,比如文本和演講方面表現出了閃亮的一面。
機器學習技術在現代社會的各個方面表現出了強大的功能:從Web搜索到社會網絡內容過濾,再到電子商務網站上的商品推薦都有涉足。并且它越來越多地出現在消費品中,比如相機和智能手機。
機器學習系統被用來識別圖片中的目標,將語音轉換成文本,匹配新聞元素,根據用戶興趣提供職位或產品,選擇相關的搜索結果。逐漸地,這些應用使用一種叫深度學習的技術。傳統的機器學習技術在處理未加工過的數據時,體現出來的能力是有限的。幾十年來,想要構建一個模式識別系統或者機器學習系統,需要一個精致的引擎和相當專業的知識來設計一個特征提取器,把原始數據(如圖像的像素值)轉換成一個適當的內部特征表示或特征向量,子學習系統,通常是一個分類器,對輸入的樣本進行檢測或分類。特征表示學習是一套給機器灌入原始數據,然后能自動發現需要進行檢測和分類的表達的方法。深度學習就是一種特征學習方法,把原始數據通過一些簡單的但是非線性的模型轉變成為更高層次的,更加抽象的表達。通過足夠多的轉換的組合,非常復雜的函數也可以被學習。對于分類任務,高層次的表達能夠強化輸入數據的區分能力方面,同時削弱不相關因素。比如,一副圖像的原始格式是一個像素數組,那么在第一層上的學習特征表達通常指的是在圖像的特定位置和方向上有沒有邊的存在。第二層通常會根據那些邊的某些排放而來檢測圖案,這時候會忽略掉一些邊上的一些小的干擾。第三層或許會把那些圖案進行組合,從而使其對應于熟悉目標的某部分。隨后的一些層會將這些部分再組合,從而構成待檢測目標。深度學習的核心方面是,上述各層的特征都不是利用人工工程來設計的,而是使用一種通用的學習過程從數據中學到的。
深度學習正在取得重大進展,解決了人工智能界的盡較大努力很多年仍沒有進展的問題。它已經被證明,它能夠擅長發現高維數據中的復雜結構,因此它能夠被應用于科學、商業和政府等領域。除了在圖像識別、語音識別等領域打破了紀錄,它還在另外的領域擊敗了其他機器學習技術,包括預測潛在的藥物分子的活性、分析粒子加速器數據、重建大腦回路、預測在非編碼DNA突變對基因表達和疾病的影響。也許更令人驚訝的是,深度學習在自然語言理解的各項任務中產生了非常可喜的成果,特別是主題分類、情感分析、自動問答和語言翻譯。我們認為,在不久的將來,深度學習將會取得更多的成功,因為它需要很少的手工工程,它可以很容易受益于可用計算能力和數據量的增加。目前正在為深度神經網絡開發的新的學習算法和架構只會加速這一進程。
監督學習
機器學習中,不論是否是深層,最常見的形式是監督學習。試想一下,我們要建立一個系統,它能夠對一個包含了一座房子、一輛汽車、一個人或一個寵物的圖像進行分類。我們先收集大量的房子,汽車,人與寵物的圖像的數據集,并對每個對象標上它的類別。在訓練期間,機器會獲取一副圖片,然后產生一個輸出,這個輸出以向量形式的分數來表示,每個類別都有一個這樣的向量。我們希望所需的類別在所有的類別中具有較高的得分,但是這在訓練之前是不太可能發生的。通過計算一個目標函數可以獲得輸出分數和期望模式分數之間的誤差(或距離)。然后機器會修改其內部可調參數,以減少這種誤差。這些可調節的參數,通常被稱為權值,它們是一些實數,可以被看作是一些“旋鈕”,定義了機器的輸入輸出功能。在典型的深學習系統中,有可能有數以百萬計的樣本和權值,和帶有標簽的樣本,用來訓練機器。為了正確地調整權值向量,該學習算法計算每個權值的梯度向量,表示了如果權值增加了一個很小的量,那么誤差會增加或減少的量。權值向量然后在梯度矢量的相反方向上進行調整。我們的目標函數,所有訓練樣本的平均,可以被看作是一種在權值的高維空間上的多變地形。負的梯度矢量表示在該地形中下降方向最快,使其更接近于最小值,也就是平均輸出誤差低較低的地方。
在實際應用中,大部分從業者都使用一種稱作隨機梯度下降的算法(SGD)。它包含了提供一些輸入向量樣本,計算輸出和誤差,計算這些樣本的平均梯度,然后相應的調整權值。通過提供小的樣本集合來重復這個過程用以訓練網絡,直到目標函數停止增長。它被稱為隨機的是因為小的樣本集對于全體樣本的平均梯度來說會有噪聲估計。這個簡單過程通常會找到一組不錯的權值,同其他精心設計的優化技術相比,它的速度讓人驚奇。訓練結束之后,系統會通過不同的數據樣本——測試集來顯示系統的性能。這用于測試機器的泛化能力——對于未訓練過的新樣本的識別能力。
當前應用中的許多機器學習技術使用的是線性分類器來對人工提取的特征進行分類。一個2類線性分類器會計算特征向量的加權和。當加權和超過一個閾值之后,輸入樣本就會被分配到一個特定的類別中。從20世紀60年代開始,我們就知道了線性分類器只能夠把樣本分成非常簡單的區域,也就是說通過一個超平面把空間分成兩部分。
但像圖像和語音識別等問題,它們需要的輸入-輸出函數要對輸入樣本中不相關因素的變化不要過于的敏感,如位置的變化,目標的方向或光照,或者語音中音調或語調的變化等,但是需要對于一些特定的微小變化非常敏感(例如,一只白色的狼和跟狼類似的白色狗——薩莫耶德犬之間的差異)。在像素這一級別上,兩條薩莫耶德犬在不同的姿勢和在不同的環境下的圖像可以說差異是非常大的,然而,一只薩摩耶德犬和一只狼在相同的位置并在相似背景下的兩個圖像可能就非常類似。
圖1 多層神經網絡和BP算法
多層神經網絡(用連接點表示)可以對輸入空間進行整合,使得數據(紅色和藍色線表示的樣本)線性可分。注意輸入空間中的規則網格(左側)是如何被隱藏層轉換的(轉換后的在右側)。這個例子中只用了兩個輸入節點,兩個隱藏節點和一個輸出節點,但是用于目標識別或自然語言處理的網絡通常包含數十個或者數百個這樣的節點。獲得C.Olah (http://colah.github.io/)的許可后重新構建的這個圖。
鏈式法則告訴我們兩個小的變化(x和y的微小變化,以及y和z的微小變化)是怎樣組織到一起的。x的微小變化量Δx首先會通過乘以?y/?x(偏導數)轉變成y的變化量Δy。類似的,Δy會給z帶來改變Δz。通過鏈式法則可以將一個方程轉化到另外的一個——也就是Δx通過乘以?y/?x和?z/?x得到Δz的過程。當x,y,z是向量的時候,可以同樣處理(使用雅克比矩陣)。
具有兩個隱層一個輸出層的神經網絡中計算前向傳播的公式。每個都有一個模塊構成,用于反向傳播梯度。在每一層上,我們首先計算每個節點的總輸入z,z是前一層輸出的加權和。然后利用一個非線性函數f(.)來計算節點的輸出。簡單期間,我們忽略掉了閾值項。神經網絡中常用的非線性函數包括了最近幾年常用的校正線性單元(ReLU)f(z) = max(0,z),和傳統的sigmoids,比如f(z) = (exp(z) ? exp(?z))/(exp(z) + exp(?z)) 和f(z) = 1/(1 + exp(?z))。
計算反向傳播的公式。在隱層,我們計算每個輸出單元產生的誤差,這是由上一層產生的誤差的加權和。然后我們將輸出層的誤差通過乘以梯度f(z)轉換到輸入層。在輸出層上,每個節點的誤差會用成本函數的微分來計算。如果節點l的成本函數是0.5*(yl-tl)^2, 那么節點的誤差就是yl-tl,其中tl是期望值。一旦知道了?E/?zk的值,節點j的內星權向量wjk就可以通過yj ?E/?zk來進行調整。
一個線性分類器或者其他操作在原始像素上的淺層分類器不能夠區分后兩者,雖然能夠將前者歸為同一類。這就是為什么淺分類要求有良好的特征提取器用于解決選擇性不變性困境——提取器會挑選出圖像中能夠區分目標的那些重要因素,但是這些因素對于分辨動物的位置就無能為力了。為了加強分類能力,可以使用泛化的非線性特性,如核方法,但這些泛化特征,比如通過高斯核得到的,并不能夠使得學習器從學習樣本中產生較好的泛化效果。傳統的方法是手工設計良好的特征提取器,這需要大量的工程技術和專業領域知識。但是如果通過使用通用學習過程而得到良好的特征,那么這些都是可以避免的了。這就是深度學習的關鍵優勢。
深度學習的體系結構是簡單模塊的多層棧,所有(或大部分)模塊的目標是學習,還有許多計算非線性輸入輸出的映射。棧中的每個模塊將其輸入進行轉換,以增加表達的可選擇性和不變性。比如說,具有一個5到20層的非線性多層系統能夠實現非常復雜的功能,比如輸入數據對細節非常敏感——能夠區分白狼和薩莫耶德犬,同時又具有強大的抗干擾能力,比如可以忽略掉不同的背景、姿勢、光照和周圍的物體等。
反向傳播來訓練多層神經網絡
在最早期的模式識別任務中,研究者的目標一直是使用可以訓練的多層網絡來替代經過人工選擇的特征,雖然使用多層神經網絡很簡單,但是得出來的解很糟糕。直到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)。當人們對神經網絡不感興趣的時候,卷積神經網絡在實踐中卻取得了很多成功,如今它被計算機視覺團隊廣泛使用。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/4313.html
摘要:接上文深度學習和的聯合綜述上卷積神經網絡卷積神經網絡被設計用來處理到多維數組數據的,比如一個有個包含了像素值圖像組合成的一個具有個顏色通道的彩色圖像。近年來,卷積神經網絡的一個重大成功應用是人臉識別。 三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在深度學習領域的地位無人不知。為紀念人工智能提出60周年,的《Nature》雜志專門開辟了一個人工智能 +...
摘要:今年月日收購了基于深度學習的計算機視覺創業公司。這項基于深度學習的計算機視覺技術已經開發完成,正在測試。深度學習的誤區及產品化浪潮百度首席科學家表示目前圍繞存在著某種程度的夸大,它不單出現于媒體的字里行間,也存在于一些研究者之中。 在過去的三十年,深度學習運動一度被認為是學術界的一個異類,但是現在, Geoff Hinton(如圖1)和他的深度學習同事,包括紐約大學Yann LeCun和蒙特...
摘要:毫無疑問,現在深度學習是主流。所以科技巨頭們包括百度等紛紛通過收購深度學習領域的初創公司來招攬人才。這項基于深度學習的計算機視覺技術已經開發完成,正在測試。 在過去的三十年,深度學習運動一度被認為是學術界的一個異類,但是現在,?Geoff Hinton(如圖1)和他的深度學習同事,包括紐約大學Yann LeCun和蒙特利爾大學的Yoshua Bengio,在互聯網世界受到前所未有的關注...
摘要:主流機器學習社區對神經網絡興趣寡然。對于深度學習的社區形成有著巨大的影響。然而,至少有兩個不同的方法對此都很有效應用于卷積神經網絡的簡單梯度下降適用于信號和圖像,以及近期的逐層非監督式學習之后的梯度下降。 我們終于來到簡史的最后一部分。這一部分,我們會來到故事的尾聲并一睹神經網絡如何在上世紀九十年代末擺脫頹勢并找回自己,也會看到自此以后它獲得的驚人先進成果。「試問機器學習領域的任何一人,是什...
摘要:的研究興趣涵蓋大多數深度學習主題,特別是生成模型以及機器學習的安全和隱私。與以及教授一起造就了年始的深度學習復興。目前他是僅存的幾個仍然全身心投入在學術界的深度學習教授之一。 Andrej Karpathy特斯拉 AI 主管Andrej Karpathy 擁有斯坦福大學計算機視覺博士學位,讀博期間師從現任 Google AI 首席科學家李飛飛,研究卷積神經網絡在計算機視覺、自然語言處理上的應...
閱讀 2033·2023-04-26 01:33
閱讀 1663·2023-04-26 00:52
閱讀 1043·2021-11-18 13:14
閱讀 5434·2021-09-26 10:18
閱讀 2906·2021-09-22 15:52
閱讀 1492·2019-08-29 17:15
閱讀 3021·2019-08-29 16:11
閱讀 1041·2019-08-29 16:11