近日,在台灣大學,卷積神經網絡之父、FacebookAI 研究院院長Yann LeCun
以「Deep Learning and the Path to AI」為題,
對深度學習目前的發展現狀和麵臨的最大挑戰、以及應對方法進行了綜述和分析。
新智元結合台灣大學在 Facebook 上公佈的視頻、台灣科技媒體 iThome 的報導,
以及 Yann LeCun 今年早些時候在愛丁堡大學的演講資料,為您綜合介紹。
深度學習的特點在於「整個程序都是可訓練的」
演講從模式識別(Pattern Recognition)的起源說起。
1957年,Perceptron 誕生,成為第一個 LearningMachine。
LeCun 說,目前的機器學習算法大多衍生自 Perceptron的概念。
從那時起,模式識別的標準模型就可以分為3 步走:
1.程序被輸入一張圖像,通過特徵提取,將圖像特徵轉換為多個向量;
2. 輸入這些向量到可訓練的分類器中;
3.程序輸出識別結果。
他表示,機器學習算法其實就是誤差校正(Error correction),通過調整權重,來進行特徵提取。
也就是說,如果輸入一張圖,算法識別後,結果值低於預期類別的值,
工程師就將輸入的圖增加 Positive 的權重,減少 Negative 的權重,來校正誤差。
深度學習是當今最廣泛使用的模式識別方法。
LeCun 認為深度學習的特點在於「整個程序都是可訓練的」。
他解釋,構建深度學習的模型不是用手動調整特徵提取的參數來訓練分類器,
而是建立一群像小型瀑布般的可訓練的模組。
當開發人員將原始的影像輸入系統後,會先經過初步的特徵提取器,產生代表的數值,
在這一個階段可能會先識別出一些基本的紋理,接下來這些紋理的組合會再被拿來識別更具體的特徵,
像是物件的形體或是類別,整個訓練的過程就是不斷地經過一層又一層這樣的模型,
每一層都是可訓練的,所以我們稱這個算法為深度學習或是端到端訓練(End to End Running)。
LeCun 解釋,深度學習模型之所以工作良好,是因為現在的影像都是自然景象加上其他物體,
也就是混合型的圖像,而每個物體又由不同的特徵所組成,
會有不同的輪廓和紋路,圖片的像素也是一個問題,
因此,可以將影像分級成像素、邊緣、輪廓、元件和物件等,
初級的特徵提取會先偵測出影像中最基本的輪廓,比如明顯的紋路和色塊,
進一步的特徵提取則是將上一層的結果組合再一起,拼成一個形體,最後再拼成一個物體。
這種分層式的組合架構(Hierarchical Compositionality)其實不只適用於影像,
LeCun說明,它對文字、語音、動作或是任何自然的信號都適用,這種方式參考了人腦的運作模式。
大腦中的視覺中樞,也是用類似分層式的組合架構來運行,
當人類看到影像後,由視網膜進入到視丘後方外側膝狀體,
再到大腦中主要的視覺中樞,最後來到顳葉皮質,
人類看圖像也是由大腦經過多層的結構,在100毫秒內就能識別圖片。
深度學習的問題在於如何訓練,在1980年代中期,
誤差反向傳播算法(Back Propagation Algorithm)開始流行,
但其實誤差反向傳播算法很早就被提出來,只是當時沒有受到重視。
誤差反向傳播算法一開始先經過簡單線性分類,
再將這些結果帶到非線性的線性整流函數(Rectified Linear Unit,ReLU),
線性整流函數就是找到要調整參數的方向,來減少錯誤判斷,
不過現在都已經有可用的套件或是框架,像是Torch、TensorFlow 或是Theano等,
還有一些套件是可用來計算輸出結果和預期結果之間的誤差。
Yann LeCun認為,現在要撰寫機器學習算法並不難,用3 行Python 就可以完成,
不過這還停留在監督式學習階段,所謂的監督式學習就是輸入大量的訓練樣本,
每一套訓練樣本都已經經過人工標註出原始圖片和對應的預期結果。
以影像處理為例,訓練集由多個(X,Y)參數組成,X就是影像的像素,Y則是預設的識別結果類別,
像是車子、桌子等,之後再用大量的測試集來測試程序,
若判斷結果正確,不用調整,若判斷有誤則調整程序中的參數。
監督式機器學習存在二大問題
因此,Yann LeCun表示,監督式的機器學習就是功能優化(Function Optimization),
資料輸入和輸出的關係通過可調整的參數來優化,經由調整參數的方式,將結果的錯誤率降至最低,
其中,調整參數的方式有很多種,很多人都會用梯度下降算法(Stochastic Gradient Descent),
梯度下降算法可以找到最適合的回歸模型係數.即時地根據輸入的資料動態調整模型。
身為「卷積神經網絡之父」的Yann LeCun 也介紹了卷積神經網絡(Convolutional Neural Network,CNN),
卷積網絡就是將輸入的影像像素矩陣經過一層過濾器,挑選出特徵,再透過池化層(PoolingLayer),
針對輸入特徵矩陣壓縮,讓特徵矩陣變小,降低計算的複雜度。
CNN影像和語音識別都有很好的成效,不僅如此,還能識別街上移動的路人、街景的物體,
Facebook 也用CNN 來識別Facebook 用戶上傳的照片,
他表示一天Facebook 就有10億以上的照片,可以準確地識別物體的類別,
像是人還是狗、貓等,還能識別照片的主題,像是婚禮或是生日派對等。
不過,Yann LeCun提出,監督式的機器學習有2大問題,
第一是要如何建立復雜的算法來解決複雜的問題,第二則是手動調整參數的知識和經驗都是來自於不同任務,
許多工程師想要處理的領域,像是影像識別、語音識別都需要建置不同模型,
因此,監督式機器學習可以在訓練過的專案上有很好的表現,
但是沒有訓練過的資料,程序就無法辨別,
簡單來說,如果要程序識別椅子,不可能訓練所有椅子的特徵資料。
事實上,Yann LeCun 表示現實中有種機器具備數百萬的調整鈕(Knob),
這些調整鈕就像機器學習中的參數和Perceptron 的權重一樣,可以用上百萬的訓練樣本來訓練模型,
最後分類出上千種的類別,但是,每一個特徵的識別都必須經過數十億次的操作,
因此,可想而知,現今大家所使用的神經網絡是非常複雜的,
如此龐大的運作不可能在一般的CPU 上執行,「我們面對的是非常大規模的優化問題。」他說。
AI系統的架構
AI系統的架構大致上可以分為感知(Perception)、觸發器(Agent)和目標(Objective)3個模組,
先由感知器偵測真實世界的數據,像是影像、語音等,這些數據經由觸發器,
會依據狀態觸發目標,執行相對應的程序並產生結果,
其中觸發器就是AI 的精髓,觸發器必須要負責規劃、預測等智能工作,
而目標則是由本能和固定的兩個元件所組成,
以視覺識別(VisualIdentity)系統為例,經由感知收集影像數據,
透過觸發器觸發分析情緒的程序,再判斷影片中的人是開心還是不開心。
AI 架構中的觸發器(Agent)主要負責預測和規劃,
運作過程又可分為模擬器(Simulator)、執行器(Actor)、回饋器(Critic),
模擬器接收到狀態後,傳送給執行器,執行器就會啟動相對應的動作,
並同時對模擬器提出要求,啟動相對應的動作之後送到回饋器,
經由回饋器分析要採取的動作,決定後才送往目標(Objective)執行。
AI 最大局限是沒有人類的「常識」
市場上AI 好像無所不能,但其實,Yann LeCun個人認為,
AI 還是有些局限,像是機器必須會觀察狀態、了解很多背景知識、世界運行的定律,
以及精確地判斷、規劃等,其中,Yann LeCun 認為AI 最大的局限是無法擁有人類的「常識」。
由於目前比較好的AI應用都是採用監督式學習,能夠準確識別人工標示過的物體,
也有些好的成果是用強化學習(Reinforcement Learning)的方式,
但是強化學習需要大量地收集資料來訓練模型,Yann LeCun表示,
對應到現實社會中的問題,監督式學習不足以成為「真的」AI。
他指出,人類的學習是建立在與事物互動的過程,
許多都是人類自行體會、領悟出對事物的理解,不需要每件事都要教導,
舉例來說,若有個物體被前面的物體擋住,人類會知道後面的物體依然存在的事實,
或是物體沒有另一個物體支撐就會掉落的事實。
「人腦就是推理引擎!」他說明,人類靠著觀察建立內部分析模型,
當人類遇到一件新的事物,就能用這些既有的模型來推測,
因為生活中人類接觸到大量的事物和知識,而建立了「常識」。
這些常識可以帶領人類做出一些程序無法達到的能力,
像是人類可以只看一半的臉就能想像另外一半臉,或是可以從過去的事件推測未來等。
他舉例,若人類看到一張戰利品放不下行李箱的圖片,再看到一個句子說:
「這些戰利品放不下行李箱,因為它太小了。」
人類能夠很清楚地知道「它」指的是行李箱,人類也因為知道整個社會和世界運行的規則,
當沒有太多的信息時,人類可以依照因果關係自動補足空白的信息。
無監督式學習是突破 AI 困境的關鍵,採用無監督學習的對抗訓練讓 AI 擁有真正自我學習的能力。
如何讓 AI 擁有人類的常識? Yann LeCun認為要用無監督式學習。他又稱之為預測學習,
他將現今機器學習的方式分為強化式、監督式和無監督式學習,並以黑森林蛋糕來比喻。
強化學習是蛋糕上不可或缺的櫻桃,所需要資料量可能大約只有幾個Bits,
監督式學習是蛋糕外部的糖衣,需要10到10,000個Bits的資料量,
而無監督學習則是需要數百萬個Bits,無監督學習被他比喻為黑森林蛋糕,
因為無監督學習的預測能力像擁有黑魔法一樣神奇,
不過,他也強調黑森林蛋糕必須搭配櫻桃,櫻桃不是可選擇的配料,
而是必要的,意味著無監督學習與強化學習相輔相成,缺一不可。
Yann LeCun認為,程序還是很難在不確定性的情況下,正確地預測,
舉例來說,如果一隻直立的筆,沒有支撐之後,程序可以判斷出筆會倒下,但是無法預測會倒向哪一個方向。
因此,他表示,對抗訓練(Adversarial Training)是可以讓AI 程序擁有自學能力的方法,
他解釋,對抗訓練就是讓兩個網絡相互博奕,由生成器(Generator)和判別器(Discriminator)組成,
生成器隨機地從訓練集中挑選真實數據和乾擾噪音,產生新的訓練樣本,
判別器再用與真實數據比對的方式,判斷出數據的真實性,
如此一來,生成器與判別器可以交互學習自動優化預測能力,創造最佳的預測模型。
原文出處/36kr
LeCun台大演講:AI最大缺陷是缺乏常識,無監督學習突破困境
- 文/ TC Sharing 編輯