iLMS知識社群ePortfolioeeClass學習平台空大首頁登入
位置: 吳俊逸 > AI
AI沒有「常識」是最大挑戰,非監督學習正是突破關鍵!
by 吳俊逸 2017-07-17 11:20:53, 回應(0), 人氣(2745)

談到AI,Yann LeCun一開場先由模式識別(Pattern Recognition)的起源說起,模式識別可追溯至1957年的Perceptron,Perceptron是當時第一個能夠「學習」的機器(Learning Machine),他表示,現今使用的機器學習演算法大多都是由Perceptron的概念衍生出來的。

基本上,從1950年代起,模式識別的標準模型可以視為一個3步驟的過程,首先給程式一張圖,程式透過特徵萃取將圖片特徵轉換為多個向量,再將這些向量輸入到可訓練的分類器中,最後程式輸出辨識結果。

不過也有一些明顯的差異,Perceptron並不是程式,而是一個擁有感測器的簡單型的分類機器,可以透過感測器收集權重,再將權重放入簡單的模擬神經元,計算出加權總合(Weighted Sum),依照設定的閥值來分類,分為高於閥值和低於閥值兩類。

他表示,其實自我學習演算法其實就是誤差校正(Error correction),會藉由調整權重,來處理特徵萃取,也就是說,如果輸入一張圖,演算法辨識後,結果值低於預期類別的值,工程師就將輸入的圖增加Positive的權重,減少Negative的權重,來校正誤差。

現今模式辨別有個基本且廣為使用的模型,Yann LeCun指出就是深度學習,他將深度學習形容成「整個程式都是可訓練的」,他解釋,建置深度學習的模型不是用手動調整特徵萃取的參數來訓練分類器,而是建立一群像小型瀑布般的可訓練的模組。

當開發人員將原始的影像輸入系統後,會先經過初步的特徵萃取器,產生代表的數值,在這一個階段可能可以先辨識出一些基本的紋路,接下來這些紋路的組合會再被拿來辨識更具體的特徵,像是物件的形體或是類別,整過訓練的過程就是不斷地經過一層又一層同樣的模式,每一層都是可訓練的,所以我們稱這個演算法為深度學習或是End to End Learning。

Yann LeCun解釋,深度學習的模式之所以能夠運行的原因,是因為現在的影像都是自然景象加上其他物體,也就是混合型的圖像,而每個物體又由不同的特徵元件所組成,會有不同的輪廓和紋路,圖片的像素也是一個問題,因此,可以將影像分級成像素、邊緣、輪廓、元件和物件等,初階的特徵萃取會先偵測出影像中最基本的輪廓,像是明顯的紋路和色塊,下一階的特徵萃取則是將上一層的結果組合再一起,拼成一個形體,最後再拼成一個物體。

這種分層式的組合架構(Hierarchical Compositionality)其實不只適用於影像,Yann 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),卷積式網路就是將輸入的影像像素矩陣經過一層過濾器,挑選出特徵,再透過池化層(Pooling Layer),針對輸入特徵矩陣壓縮,讓特徵矩陣變小,降低計算的複雜度。CNN影像和語音辨識都有很好的成效,不僅如此,還能辨識街上移動的路人、街景的物體,臉書也用CNN來辨識臉書用戶上傳的照片,他表示一天臉書就有10億以上的照片,可以準確地辨識物體的類別,像是人還是狗、貓等,還能辨識照片的主題,像是婚禮或是生日派對等。

監督式學習兩大問題

不過,Yann LeCun提出,監督式的機器學習有2大問題,第一是要如何建立複雜的演算法來解決複雜的問題,第二則是手動調整參數的知識和經驗都是來自於每項專案,許多工程師想要處理的領域,像是影像辨識、語音辨識都需要建置不同模型,因此,監督式機器學習可以在訓練過的專案上有很好的表現,但是沒有訓練過的資料,程式就無法辨別,簡單來說,如果要程式辨識椅子,不可能訓練所有椅子的特徵資料。

事實上,Yann LeCun表示現實中有種機器具備數百萬的調整鈕(Knob),這些調整鈕就像機器學習中的參數和Perceptron的權重一樣,可以用上百萬的訓練樣本來訓練模型,最後分類出上千種的類別,但是,每一個特徵的識別都必須經過數十億次的操作,因此,可想而知,現今大家所使用的神經網路是非常複雜的,如此龐大的運作不可能在一般的CPU上執行,「我們面對的是非常大規模的優化問題。」他說。

AI系統的架構

AI系統的架構大致上可以分為感知(Perception)、觸發器(Agent)和目標(Objective)3個模組,先由感知器偵測真實世界的數據,像是影像、語音等,這些數據經由觸發器,會依據狀態觸發目標,執行相對應的程式並產生結果,其中觸發器就是AI的精髓,觸發器必須要負責計畫、預測等智能工作,而目標則是由本能和固定的兩個元件所組成,以視覺識別(Visual Identity)系統為例,經由感知收集影像數據,透過觸發器觸發分析情緒的程式,再判斷影片中的人是開心還是不開心。

AI架構中的觸發器(Agent)主要負責預測和規劃,運作過程又可分為模擬器(Simulator)、執行器(Actor)、回饋器(Critic),模擬器接收到狀態後,傳送給執行器,執行器就會啟動相對應的動作,並同時對模擬器提出要求,啟動相對應的動作之後送到回饋器,經由回饋器分析要採取的動作,決定後才送往目標(Objective)執行。

AI最大局限是沒有人類的「常識」

市場上AI好像無所不能,但其實,Yann LeCun個人認為,AI還是有些局限,像是機器必須會觀察狀態、了解很多背景知識、世界運行的定律,以及精確地判斷、規劃等,其中,Yann LeCun認為AI最大的局限是無法擁有人類的「常識」。

由於目前比較好的AI應用都是採用監督式學習,能夠準確辨識人工標示過的物體,也有些好的成果是用強化學習(Reinforcement Learning)的方式,但是強化學習需要大量地收集資料來訓練模型,Yann LeCun表示,對應到現實社會中的問題,監督式學習不足以成為「真的」AI。

他指出,人類的學習是建立在與事物互動的過程,許多都是人類自行體會、領悟出對事物的理解,不需要每件事都要教導,舉例來說,若有個物體被前面的物體擋住,人類會知道後面的物體依然存在的事實,或是物體沒有另一個物體支撐就會掉落的事實。

「人腦就是推測引擎!」他說明,人類靠著觀察建立內部分析模型,當人類遇到一件新的事物,就能用這些既有的模型來推測,因為生活中人類接觸到大量的事物和知識,而建立了「常識」。這些常識可以帶領人類做出一些程式無法達到的能力,像是人類可以只看一半的臉就能想像另外一半臉,或是可以從過去的事件推測未來等。

他舉例,若人類看到一張戰利品放不下行李箱的圖片,再看到一個句子說:「這些戰利品放不下行李箱,因為它太小了。」人類能夠很清楚地知道「它」指的是行李箱,人類也因為知道整個社會和世界運行的規則,當沒有太多的資訊時,人類可以依照因果關係自動補足空白的資訊。

非監督式學習是突破AI困境的關鍵

那要如何讓AI學會擁有人類的常識呢?Yann LeCun認為:「就是要用非監督式學習!」他又稱之為預測學習,他將現今機器學習的方式分為強化式、監督式和非監督式學習,並以黑森林蛋糕來比喻。

增強式學習是蛋糕上不可或缺的櫻桃,預測結果所需要資料量可能大約只有幾個Bits,監督式學習是蛋糕外部的糖衣,需要10到10,000個Bits的資料量,而非監督學習則是需要數百萬個Bits,非監督學習被他比喻為黑森林蛋糕,因為非監督學習的預測能力像擁有黑魔法一樣神奇,不過,他也強調黑森林蛋糕必須搭配櫻桃,櫻桃不是可選擇的配料,而是必要的,意味著非監督學習與增強式學習相輔相成,缺一不可。

採用非監督學習的對抗訓練讓AI擁有真正自我學習的能力

Yann LeCun認為,程式還是很難在不確定性的情況下,正確地預測,舉例來說,如果一隻直立的筆,沒有支撐之後,程式可以判斷出筆會倒下,但是無法預測會倒向哪一個方向。

因此,他表示,對抗訓練(Adversarial Training)是可以讓AI程式擁有自學能力的方法,他解釋,對抗訓練就是讓兩個網路相互博奕,由生成器(Generator)和判別器(Discriminator)組成,生成器隨機地從訓練集中挑選真實數據和雜訊(Random Noise),產生新的訓練樣本,判別器再用與真實數據比對的方式,判斷出數據的真實性,如此一來,生成器與辨識器可以交互學習自動優化預測能力, 創造最佳的預測模型。



資料來源: http://www.ithome.com.tw/news/115199#.WVmLO0tc9q0.facebook