LeCun、Bengio、Hinton三巨頭曾合體,Nature發文綜述深度學習
大數據文摘作品
編譯:張南星、笪潔瓊、錢天培
深度學習三巨頭Yann LeCun、Yoshua Bengio、Geoffrey Hinton曾在Nature上共同發表一篇名為《深度學習》的綜述文章,講述了深度學習為傳統機器學習帶來的變革。
從2006年Geoffrey Hinton為世人展示深度學習的潛能算起,深度學習已經蓬勃發展走過了10多個年頭。這一路走來,深度學習究竟取得了怎樣的成就,又會何去何從呢?
文摘菌節選了這篇論文的精華部分進行編譯,對這些問題作出了回答。在公眾號後台對話框內回復「三巨頭」即可下載這篇論文~
左起:Yann LeCun(Facebook)、Geoffrey Hinton(谷歌/多倫多大學)、Yoshua Bengio(蒙特利爾大學)、吳恩達(deeplearning.ai)
藉助深度學習,由多重流程層組成的計算模型能夠從不同層級的抽象數據中學習數據的特徵。這些方法極大促進了先進技術的發展,包括語音識別、視覺對象識別、目標檢測以及許多其他領域,諸如藥物識別以及基因學研究。
使用反向傳播演算法,深度學習能夠指出機器如何基於上一層的特徵,通過改變內部參數來計算出下一層的特徵,以發現大型數據集中錯綜複雜的結構。深度卷積網路給圖像、視頻、語音與音頻處理帶來了極大突破,同時循環神經網路則給諸如文字及語音的順序數據研究帶來了希望。
機器學習在許多方面都造福了現代社會:從網頁搜索到電商網站上基於社交網路內容篩選做出的推薦,並且在消費品中的存在感越來越強,例如相機、智能電話等。
機器學習系統被用於識別圖像中的物體、將語音轉化為文本、匹配新物體、根據用戶興趣個性化推送或生產商品,也可以用於選擇搜索結果中相關的內容。有趣的是,這些應用就是大名鼎鼎的深度學習實際應用。
傳統機器學習技術難以處理原始的自然數據。近幾十年來,建造一個模式識別或者機器學習系統,需要細緻的策劃以及豐富的領域知識,以設計特徵抽取器來將原始數據(例如圖像的像素值)轉化為合適的內部表徵或者特徵矢量,學習子系統(如分類器)就能夠從輸入值發現規律。
特徵學習通過一系列方法,讓機器在輸入原始數據後,自動發現檢測或分類所必須的特徵。
深度學習方法是擁有多層級的特徵學習方法,使用簡單但非線性的組件將每一層(從原始數據開始)的特徵轉化為更高階、更抽象化的層級特徵。通過結合足夠多次的轉化,能夠得到非常複雜的函數。
對於分類任務,高階特徵能夠放大輸入值中用於區分的特點,並忽略掉無關的變數。
例如,圖像類數據由像素值數組組成,從第一層特徵學習得到的結果就很明顯代表了圖像中特定方向及位置上邊緣是否存在。
第二層則忽略掉邊緣位置的微小變化,通過邊緣的特定變化來探尋圖像主要特點。第三層則將這些特點組合在一起,形成一個更大的、與常見物體某一組成部分相似的集合,後續的層次則通過將這些部分組合在一起,識別物體。
深度學習一個重要的特點就是,這些特徵層並不是由人類工程學家設計的:它們來源於經過通用學習流程處理的數據。
深度學習很大程度上幫助解決了人工智慧界多年來無法成功解決的問題。
它非常擅長於發掘多維數據中錯綜複雜的結構,也因此能夠應用於科學、商業以及政府中的多個領域。
除了攻下圖像識別、語音識別的城牆之外,深度學習還在其他機器學習方面攻下一城,包括預測潛在的藥物分子的活性、分析粒子加速數據、重構大腦迴路,以及預測基因表達及疾病中非編碼DNA突變的影響。
也許更令人驚嘆的,是深度學習在自然語言理解方面的突出表現,尤其是主題分類、情緒分析、問題回答以及語言翻譯。
我們認為深度學習在不遠的未來會取得更大的成就,而且只需要少量的人工操作,它就能充分利用可用計算資源及積累的數據。深度神經網路中新學習演算法及架構的出現將會推動它的進步。
監督學習
不論深度與否,機器學習中最為常見的形式是監督學習。想像一下,現在我們需要建造一個系統,它能夠識別圖像中的物體是否為容器,例如房子、車輛、人,或者寵物等。首先我們會收集大量房子、車輛、人、寵物的數據集,並分別用標籤標記類別。
在訓練過程中,機器會識別每張圖像上的物體,並且以分數矢量的方式產出結果到每個類別。我們希望目標類別得分最高,但是在訓練之前,這是不可能發生的。
我們推導出一個目標函數來測量實際值與目標類別分數之間的差,然後機器將修正內部的可調整參數以減少錯誤。
在一個典型的深度學習系統中,可能存在著上千個、甚至上百萬個可調整權重,以及大量用於訓練的帶標籤案例。
在實際生產中,許多程序員會使用隨機梯度下降法(SGD)。這個方法有以下幾個步驟:展示幾個案例的輸入向量,計算輸出結果及錯誤值,計算這些案例的平均梯度,然後對權重做出相應的調整。
這個流程將在許多個小案例集中重複多次進行訓練,直到目標函數的平均梯度不再下降。
經過訓練之後,將通過另外一個由不同案例組成的測試集來評估系統的表現。其目的主要在於測試機器的推廣能力——是否能在輸入新結果的情況下得到合理的結果。
現在實際生產中,許多機器學習系統在人工提取特徵的基礎上使用線性分類器。一個兩級線性分類器會對特徵向量組件計算加權和,如果加權和高於閾值,這個輸入將被分入為某一特定分類之下。
但是線性分類器在圖像識別、語音識別中的應用有較大限制,需要諸如特徵提取器等深度學習方法以實現特徵學習。
一個深度學習架構是由一系列簡單組件組合而成,其中所有(或者大部分)都需要學習,並且許多都能計算出非線性的輸入輸出映射關係。其中每個組件都會充分利用輸入,以提高選擇性和不變性。
這些系統擁有多個非線性層(例如5-20層),能夠支持極其複雜的函數,並對微小的細節保持敏感度,例如達到能區分薩摩耶和白狼的地步,同時忽略所佔範圍大的不相關變數,例如背景、姿勢、光線以及周圍的物體。
使用反向傳播演算法訓練多層架構
使用反向傳播演算法計算目標函數組件中多層堆疊權重的梯度,本質上是導數鏈式法則的一個實際應用。其中非常重要的一點在於,目標函數組件輸入的導數(也就是梯度)能夠通過這個組件輸出的梯度倒推出來(或者是通過下一個組件的輸入倒推)。
反向傳播方程能夠重複在所有組件中推廣梯度值,從頂部(此網路產出預測的地方)開始,一直到底部(外部輸入的地方)。一旦計算出這些梯度,就能很簡單地算出每個組件權重的梯度了。
許多深度學習的應用都使用了反向傳播神經網路架構,通過學習映射固定大小的輸入到固定大小的輸出(例如每個分類的可能性)。層與層之間每個單元能計算出來自上一層輸入的加權和,並把結果傳給非線性函數。
20世紀90年代末,神經網路以及反向傳播演算法被大多數機器學習研究團體所拋棄,並且計算機視覺和語音識別研究者們也普遍忽略了它。大家都認為用很少的先驗知識是不可能得到有用的多階特徵提取器。
但是在實踐中,局部極小值在大型網路中並不是一個問題。無論最初的情況如何,系統得到的結果質量水平是類似的。最近的一些理論和實證結果都強有力地證明了,一般情況下局部最小值並不是一個嚴重問題。
2006年左右,加拿大高等研究院(CIFAR)的研究員讓公眾重新對深度反向傳播網路產生了興趣。研究員們發明了不需要標籤數據就能進行特徵發現的無監督學習程序。
這種無需訓練的方法首次被大規模應用是在語音識別領域,快速圖形處理器(GPU)的發明使它得以在生產中得到應用,GPU極大方便了編程,讓研究員能夠以10到20倍的速度訓練網路。
但是,在深度學習重新獲得大眾的青睞之後,似乎這種訓練前演算法只對小數據集有用。實際上,存在一種特定的深度反向傳播網路比相鄰層之間全連接的網路更加容易訓練和應用。那就是卷積神經網路(ConvNet)。
當人們開始對神經網路失去信心時,卷積神經網路取得了許多實踐層面上的成功,最近在計算機視覺領域大受歡迎。
卷積神經網路
卷積神經網路被設計用來處理多重陣列形式的數據,例如由三個2D數組組成、包含了三個顏色通道像素灰度的彩色圖像。
卷積神經網路背後有四個重要的思想,充分利用了自然信號的屬性:局部聯繫、相同的權值、池化以及多個層級的使用。
一個典型的卷積神經網路架構由一系列階段組成。最初的幾個階段由兩個層級組成:卷積層以及池化層。
卷積層中的單元有組織地出現在特徵地圖中,每個單元都通過一個叫做濾波器組的權值組與上一層地圖中的局部補丁連接。同一層的不同特徵地圖使用不同的濾波器組。
雖然卷積層主要用於探測與上一層特徵的局部聯繫,池化層則主要是將語義上類似的特徵合併為一個。一個典型的池化單元能計算一個特徵地圖(或者幾個特徵地圖)中局部補丁的最大值。
相鄰的池化單位從補丁中得到大於一行或一列的輸入值,以減少特徵的維度,並給微小的轉換或變形創造不變性。
從20世紀90年代早期開始,卷積網路就已經廣泛應用,即時延神經網路在語音識別以及文檔閱讀的應用。文檔閱讀系統使用卷積神經網路和規定了約束語言的概率模型進行訓練。
到20世紀90年代末,這個系統閱讀了全美超過10%的支票。後來微軟部署了大量基於卷積網路的光學字元識別以及手寫識別系統。卷積神經網路在20世紀90年代初還被用於自然圖片中的目標識別,包括臉部、手部,以及人臉識別。
基於深度卷積網路的圖像理解
從21世紀早期,卷積網路在圖像目標、區域的探測、分類以及識別上取得了巨大成功。
這些領域中標籤數據資源非常豐富,例如交通信號識別、神經連接組學的生物圖像分類等。最近的一個重大成就在於人臉識別。
由於圖像的一個重要特點——可以在像素級別打上標籤,卷積網路在圖像上的應用可以在科技領域裡發揚光大,包括自主式移動機器人以及自動駕駛車輛。
Mobileye和NVIDIA公司在他們的車輛視覺系統中就使用了基於卷積網路的方法。
儘管取得了一些成功,卷積網路還是被主流機器視覺以及機器學習研究團體忽視,直到2012年的ImageNet大賽。
當有人使用深度卷積網路處理了來自於網路的一百萬張一千種圖片數據集後,比之前最好的方法幾乎降低了一半錯誤率。
這個來源於GPU和ReLU的成就在計算視覺領域引發了一項革命。卷積神經網路現在幾乎是所有識別和探測任務的主要方法,以及在一些人類行為分析的任務中也有應用。
分散式表達以及語言處理
從深度學習理論中可以看出,深度網路比不使用分散式表達的傳統學習演算法有兩個指數級的優勢。
這兩個優勢都來源於其組成成分和內部結構。首先,學習分散式表達能夠讓學習到的特徵值一般化為新的組合形式,而非在訓練中直接觀察到的結果(例如n個二進位制特徵能夠組合為2的n次方個)。其次,深度網路中的特徵層組合可能帶來了另一個指數級優勢。
多層神經網路中的隱藏層能通過學習,以一種更容易預測目標輸出的方式找到網路輸入的特徵。這能通過訓練一個多層神經網路從文本中前一部分內容預測接下來一系列詞語得到很好地體現。
特徵尋找的主要問題在於邏輯驅動的認知演算法和神經網路驅動的認知演算法之間的不同。
邏輯驅動演算法中,一個符號實例是唯一的資產,來推斷是否與其他符號實例一致與否,其內部並沒有與使用方式相關的結構。
如果需要對符號進行推斷,需要選擇恰當的參考標準才可以進行。相反,神經網路只需要使用大量活動向量集、權重方陣以及大規模非線性來完成「直覺性」推斷,這和一些簡單的常識性推斷是一致的。
在引入神經語言模型之前,標準語言統計模型方式並沒有涉及到分散式特徵,它不能將模型推廣到其他語義相關的文本中,但是神經語言模型可以,因為它能夠將每個詞語與具有真實值的特徵聯繫起來,然後從語義上將與那個向量空間中相似的文本連接起來。
循環神經網路
當反向傳播演算法最初被發明時,它最令人激動地用處在於訓練循環神經網路(RNN)。涉及到順序數據輸入值時,例如語音以及語言,使用RNN是不錯的辦法。
RNN是非常具有優勢的動態系統,當時訓練這些系統是非常麻煩的,因為反向傳播演算法的梯度在每一時間步都有可能增長或降低,所以經過多次步驟之後,梯度會很明顯的增長或消退。
幸好架構以及訓練它們的辦法,RNN非常擅長於預測文本中下一個詞是什麼,但同時也非常適合更複雜的任務。
在過去幾年裡,幾位作者曾提出使用一個記憶模塊來增強RNN。提議之一是神經圖靈機器,它通過使用一個類似於磁帶一樣的存儲器來進行增強,以方便RNN能夠從中選擇讀取或者寫入;或者通過一個規律聯想記憶網路實現增強,其在標準問題回答對標上有出色的表現。
深度學習的未來
雖然非監督學習催化了深度學習的復興,但是仍然在單純監督學習的光芒下黯然失色。本文中並沒有過多討論非監督學習,但是我們還是希望非監督學習的重要性在未來會變得更高。人類和動物的學習大多都是非監督的:我們是通過觀察來發現世界的規律,而非別人手把手告訴我們每一個事物的名字。
人類視覺能夠以一種非常機智、明確的方式積極地處理連續的視覺信息,並且在一個大而低解析度的環境之下,集中於一個小而高解析度的中心。
我們期待著,未來計算機視覺能夠端到端訓練系統,通過集合ConvNets和RNN兩種方式,強化學習,精確決策「看哪兒」。集合了深度學習和強化學習的系統仍然在發展初期,但是它們在使用被動視覺系統中進行分類的任務完成上超出了預期,並且在電子遊戲中表現出色。
自然語言理解是未來幾年另一個機器學習蓄勢待發的領域。我們期待著,通過使用RNN去理解句子或整個文檔的過程能夠變得更加容易,系統能夠懂得如何一次選擇一個部分進行理解。
最終,人工智慧領域主要的進步將來自於集合了特徵學習和複雜推理的系統。
雖然深度學習和簡單推理已經在語音識別與手寫字體識別上應用了很長一段時間,但是如果希望對大型向量進行操作,而非使用基於規則的符號表達式,仍然需要新的演算法進行支持。
大數據文摘公眾號後台對話框內回復「三巨頭」可以獲得這篇售價199美元的《Deep Learning》論文喲~~
論文原地址:
https://www.nature.com/articles/nature14539
【今日機器學習概念】
Have a Great Definition
志願者介紹
回復「志願者」加入我們
※谷歌AI First戰略性一步:分拆搜索和AI部門,Jeff Dean任AI總負責人
※Kaggle問卷主成分分析,16000萬數據從業者面臨這5類挑戰
TAG:大數據文摘 |