一篇文章講清楚人工智能、機器學習和深度學習的區別

編者按:本文由微信公眾號“將門創業(thejiangmen)”原創編譯,如需轉載,請在微信公眾號中回覆“轉載”,獲得許可。

作者:曲曉峰,香港理工大學人體生物特徵識別研究中心博士生

個人科研主頁: http://www.quxiaofeng.me/research

引用有人説,人工智能(AI)是未來,人工智能是科幻,人工智能也是我們日常生活中的一部分。這些評價可以説都是正確的,就看你指的是哪一種人工智能。

今年早些時候,Google DeepMind的AlphaGo打敗了韓國的圍棋大師李世乭九段。在媒體描述DeepMind勝利的時候,將人工智能(AI)、機器學習(machine learning)和深度學習(deep learning)都用上了。這三者在AlphaGo擊敗李世乭的過程中都起了作用,但它們説的並不是一回事。

今天我們就用最簡單的方法——同心圓,可視化地展現出它們三者的關係和應用。

如上圖,人工智能是最早出現的,也是最大、最外側的同心圓;其次是機器學習,稍晚一點;最內側,是深度學習,當今人工智能大爆炸的核心驅動。


五十年代,人工智能曾一度被極為看好。之後,人工智能的一些較小的子集發展了起來。先是機器學習,然後是深度學習。深度學習又是機器學習的子集。深度學習造成了前所未有的巨大的影響。


從概念的提出到走向繁榮


1956年,幾個計算機科學家相聚在達特茅斯會議(Dartmouth Conferences),提出了“人工智能”的概念。其後,人工智能就一直縈繞於人們的腦海之中,並在科研實驗室中慢慢孵化。之後的幾十年,人工智能一直在兩極反轉,或被稱作人類文明耀眼未來的預言;或者被當成技術瘋子的狂想扔到垃圾堆裏。坦白説,直到2012年之前,這兩種聲音還在同時存在。


過去幾年,尤其是2015年以來,人工智能開始大爆發。很大一部分是由於GPU的廣泛應用,使得並行計算變得更快、更便宜、更有效。當然,無限拓展的存儲能力和驟然爆發的數據洪流(大數據)的組合拳,也使得圖像數據、文本數據、交易數據、映射數據全面海量爆發。


讓我們慢慢梳理一下計算機科學家們是如何將人工智能從最早的一點點苗頭,發展到能夠支撐那些每天被數億用户使用的應用的。


人工智能(Artificial Intelligence)——為機器賦予人的智能



成王(King me):能下國際跳棋的程序是早期人工智能的一個典型應用,在二十世紀五十年代曾掀起一陣風潮。(譯者注:國際跳棋棋子到達底線位置後,可以成王,成王棋子可以向後移動)。


早在1956年夏天那次會議,人工智能的先驅們就夢想着用當時剛剛出現的計算機來構造複雜的、擁有與人類智慧同樣本質特性的機器。這就是我們現在所説的“強人工智能”(General AI)。這個無所不能的機器,它有着我們所有的感知(甚至比人更多),我們所有的理性,可以像我們一樣思考。


人們在電影裏也總是看到這樣的機器:友好的,像星球大戰中的C-3PO;邪惡的,如終結者。強人工智能現在還只存在於電影和科幻小説中,原因不難理解,我們還沒法實現它們,至少目前還不行。


我們目前能實現的,一般被稱為“弱人工智能”(Narrow AI)。弱人工智能是能夠與人一樣,甚至比人更好地執行特定任務的技術。例如,Pinterest上的圖像分類;或者Facebook的人臉識別。



這些是弱人工智能在實踐中的例子。這些技術實現的是人類智能的一些具體的局部。但它們是如何實現的?這種智能是從何而來?這就帶我們來到同心圓的裏面一層,機器學習。


機器學習—— 一種實現人工智能的方法



健康食譜(Spam free diet):機器學習能夠幫你過濾電子信箱裏的(大部分)垃圾郵件。(譯者注:英文中垃圾郵件的單詞spam來源於二戰中美國曾大量援助英國的午餐肉品牌SPAM。直到六十年代,英國的農業一直沒有從二戰的損失中恢復,因而從美國大量進口了這種廉價的罐頭肉製品。據傳聞不甚好吃且充斥市場。)



機器學習最基本的做法,是使用算法來解析數據、從中學習,然後對真實世界中的事件做出決策和預測。與傳統的為解決特定任務、硬編碼的軟件程序不同,機器學習是用大量的數據來“訓練”,通過各種算法從數據中學習如何完成任務。


機器學習直接來源於早期的人工智能領域。傳統算法包括決策樹學習、推導邏輯規劃、聚類、強化學習和貝葉斯網絡等等。眾所周知,我們還沒有實現強人工智能。早期機器學習方法甚至都無法實現弱人工智能。


機器學習最成功的應用領域是計算機視覺,雖然也還是需要大量的手工編碼來完成工作。人們需要手工編寫分類器、邊緣檢測濾波器,以便讓程序能識別物體從哪裏開始,到哪裏結束;寫形狀檢測程序來判斷檢測對象是不是有八條邊;寫分類器來識別字母“ST-O-P”。使用以上這些手工編寫的分類器,人們總算可以開發算法來感知圖像,判斷圖像是不是一個停止標誌牌。


這個結果還算不錯,但並不是那種能讓人為之一振的成功。特別是遇到雲霧天,標誌牌變得不是那麼清晰可見,又或者被樹遮擋一部分,算法就難以成功了。這就是為什麼前一段時間,計算機視覺的性能一直無法接近到人的能力。它太僵化,太容易受環境條件的干擾。


隨着時間的推進,學習算法的發展改變了一切。


深度學習——一種實現機器學習的技術



放貓(Herding Cats):從YouTube視頻裏面尋找貓的圖片是深度學習傑出性能的首次展現。(譯者注:herdingcats是英語習語,照顧一羣喜歡自由,不喜歡馴服的貓,用來形容局面混亂,任務難以完成。)

人工神經網絡(Artificial Neural Networks)是早期機器學習中的一個重要的算法,歷經數十年風風雨雨。神經網絡的原理是受我們大腦的生理結構——互相交叉相連的神經元啟發。但與大腦中一個神經元可以連接一定距離內的任意神經元不同,人工神經網絡具有離散的層、連接和數據傳播的方向。


例如,我們可以把一幅圖像切分成圖像塊,輸入到神經網絡的第一層。在第一層的每一個神經元都把數據傳遞到第二層。第二層的神經元也是完成類似的工作,把數據傳遞到第三層,以此類推,直到最後一層,然後生成結果。


每一個神經元都為它的輸入分配權重,這個權重的正確與否與其執行的任務直接相關。最終的輸出由這些權重加總來決定。


我們仍以停止(Stop)標誌牌為例。將一個停止標誌牌圖像的所有元素都打碎,然後用神經元進行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標誌的典型尺寸和靜止不動運動特性等等。神經網絡的任務就是給出結論,它到底是不是一個停止標誌牌。神經網絡會根據所有權重,給出一個經過深思熟慮的猜測——“概率向量”。



這個例子裏,系統可能會給出這樣的結果:86%可能是一個停止標誌牌;7%的可能是一個限速標誌牌;5%的可能是一個風箏掛在樹上等等。然後網絡結構告知神經網絡,它的結論是否正確。


即使是這個例子,也算是比較超前了。直到前不久,神經網絡也還是為人工智能圈所淡忘。其實在人工智能出現的早期,神經網絡就已經存在了,但神經網絡對於“智能”的貢獻微乎其微。主要問題是,即使是最基本的神經網絡,也需要大量的運算。神經網絡算法的運算需求難以得到滿足。


不過,還是有一些虔誠的研究團隊,以多倫多大學的Geoffrey Hinton為代表,堅持研究,實現了以超算為目標的並行算法的運行與概念證明。但也直到GPU得到廣泛應用,這些努力才見到成效。


我們回過頭來看這個停止標誌識別的例子。神經網絡是調製、訓練出來的,時不時還是很容易出錯的。它最需要的,就是訓練。需要成百上千甚至幾百萬張圖像來訓練,直到神經元的輸入的權值都被調製得十分精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結果。



只有這個時候,我們才可以説神經網絡成功地自學習到一個停止標誌的樣子;或者在Facebook的應用裏,神經網絡自學習了你媽媽的臉;又或者是2012年吳恩達(Andrew Ng)教授在Google實現了神經網絡學習到貓的樣子等等。


吳教授的突破在於,把這些神經網絡從基礎上顯著地增大了。層數非常多,神經元也非常多,然後給系統輸入海量的數據,來訓練網絡。在吳教授這裏,數據是一千萬YouTube視頻中的圖像。吳教授為深度學習(deep learning)加入了“深度”(deep)。這裏的“深度”就是説神經網絡中眾多的層。


現在,經過深度學習訓練的圖像識別,在一些場景中甚至可以比人做得更好:從識別貓,到辨別血液中癌症的早期成分,到識別核磁共振成像中的腫瘤。Google的AlphaGo先是學會了如何下圍棋,然後與它自己下棋訓練。它訓練自己神經網絡的方法,就是不斷地與自己下棋,反覆地下,永不停歇。


深度學習,給人工智能以璀璨的未來


深度學習使得機器學習能夠實現眾多的應用,並拓展了人工智能的領域範圍。深度學習摧枯拉朽般地實現了各種任務,使得似乎所有的機器輔助功能都變為可能。無人駕駛汽車,預防性醫療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現。


人工智能就在現在,就在明天。有了深度學習,人工智能甚至可以達到我們暢想的科幻小説一般。你的C-3PO我拿走了,你有你的終結者就好了。


資料來源:36Kr

如果喜歡我們的文章,請即分享到︰