今年早些時候,谷歌DeepMind的AlphaGo擊敗了韓國圍棋大師李世秋。當媒體描述DeepMind的勝利時,人工智能(AI)、機器學習和深度學習都被用上了。三人都在AlphaGo擊敗李世珍的過程中發揮了作用,但他們說的不是壹回事。
今天我們用最簡單的方法——同心圓來直觀的展示其中的關系和應用。
如上圖,人工智能是最早也是最大最外面的同心圓;其次是機器學習,稍微晚壹點;最裏面是深度學習,是今天人工智能大爆炸的核心驅動力。
五十年代,人工智能壹度被極度看好。後來,發展了壹些更小的人工智能子集。先機器學習,再深度學習。深度學習是機器學習的壹個子集。深度學習產生了前所未有的影響。
從概念到繁榮。
1956年,幾位計算機科學家聚集在達特茅斯會議上,提出了“人工智能”的概念。從那以後,人工智能就壹直縈繞在人們的腦海裏,在科研實驗室裏慢慢孵化。在隨後的幾十年裏,人工智能出現了兩極逆轉,或者被稱為對人類文明耀眼未來的預言;或者作為壹個瘋狂的技術想法被扔進垃圾堆。坦白說,直到2012,這兩種聲音還是同時存在的。
過去幾年,尤其是2015以來,人工智能開始爆發。很大壹部分是因為GPU的廣泛應用,使得並行計算更快、更便宜、更有效。當然,無限的存儲容量和突如其來的數據洪流(大數據)的結合,也使得圖像數據、文本數據、交易數據、測繪數據全面爆發。
讓我們慢慢梳理壹下,從最早的跡象到每天可以被億萬用戶使用的應用,計算機科學家是如何開發出人工智能的。
|?人工智能)——把人類的智能賦予機器。
早在1956年夏天的那次會議上,人工智能的先驅們就夢想著利用當時剛剛出現的計算機,構造出與人類智能具有相同本質特征的復雜機器。這就是我們現在所說的“艾將軍”。這個無所不能的機器,它擁有我們所有的感官(甚至比人更多),我們所有的理性,可以像我們壹樣思考。
人們總是在電影裏看到這樣的機器:友好的,像星球大戰裏的C-3PO;惡,如終結者。強人工智能仍然只存在於電影和科幻小說中,原因不難理解。我們還不能實現它們,至少現在還不能。
我們目前能做到的,壹般稱為“狹義AI”。弱人工智能是壹種可以像人壹樣甚至比人更好地執行特定任務的技術。比如Pinterest上的圖片分類;或者臉書的人臉識別。
這些都是實踐中弱人工智能的例子。這些技術實現了人類智能的某些特定部分。但是它們是如何實現的呢?這種智慧從何而來?這就把我們帶到了同心圓的內層,機器學習。
|?機器學習——實現人工智能的壹種方法
機器學習最基本的方式是用算法分析數據,從中學習,然後對現實世界中的事件做出決策和預測。與傳統的硬編碼軟件程序解決特定任務不同,機器學習是用大量數據進行“訓練”,通過各種算法從數據中學習如何完成任務。
機器學習直接來源於早期的人工智能領域。傳統算法包括決策樹學習、演繹邏輯編程、聚類、強化學習和貝葉斯網絡。眾所周知,我們還沒有實現強大的人工智能。早期的機器學習方法甚至無法實現弱人工智能。
機器學習最成功的應用領域是計算機視覺,雖然仍然需要大量的手工編碼來完成工作。人們需要手動編寫分類器和邊緣檢測過濾器,以便程序可以識別對象在哪裏開始,在哪裏結束。編寫形狀檢測程序,判斷被檢測物體是否有八條邊;寫壹個識別字母“ST-O-P”的分類器。利用這些手寫的分類器,人們最終可以開發算法來感知圖像,判斷圖像是否是停車標誌。
這個結果還不錯,但不是那種能讓人耳目壹新的成功。特別是在陰天和霧天,標誌變得不太可見,或者被樹木部分覆蓋,因此算法將很難成功。這也是為什麽前段時間,計算機視覺的性能還沒有接近人類的能力。太死板,容易受環境條件幹擾。
隨著時間的推移,學習算法的發展改變了壹切。
|?深度學習——壹種實現機器學習的技術
人工神經網絡是早期機器學習中的壹種重要算法,經歷了幾十年的沈浮。神經網絡的原理受到我們大腦互聯神經元的生理結構的啟發。但與大腦中的壹個神經元可以連接壹定距離內的任何神經元不同,人工神經網絡具有離散的層、連接和數據傳播方向。
比如我們可以把壹個圖像切割成圖像塊,輸入到神經網絡的第壹層。第壹層中的每個神經元將數據傳輸到第二層。第二層的神經元做類似的工作,將數據傳遞到第三層,以此類推,直到最後壹層,然後生成結果。
每個神經元都給自己的輸入分配壹個權重,這個權重的正確與否直接關系到它執行的任務。最終輸出由這些權重的總和決定。
還是以站牌為例吧。打破壹個站牌圖像的所有元素,然後用神經元對其進行“檢查”:八角形的形狀、消防車般的紅色、明亮突出的字母、交通標誌的典型大小、靜止不動的運動特征等等。神經網絡的任務就是給出壹個是否是停止標誌的結論。神經網絡會根據所有權重給出壹個經過深思熟慮的猜測——“概率向量”。
在這個例子中,系統可能給出這樣的結果:86%可能是停車標誌;7%可能是限速標誌;5%可能是掛在樹上的風箏等等。然後網絡結構告訴神經網絡它的結論是否正確。
即使在這種情況下,也有點超前了。直到最近,神經網絡才被人工智能界遺忘。其實在人工智能早期,神經網絡就已經存在了,但是神經網絡對“智能”的貢獻微乎其微。主要問題是,即使是最基本的神經網絡,也需要大量的運算。很難滿足神經網絡算法的運算要求。
然而,仍然有壹些虔誠的研究團隊,以多倫多大學的傑弗裏·辛頓(Geoffrey Hinton)為代表,堅持研究,實現了以超級計算為目標的並行算法的運算和概念證明。但直到GPU被廣泛使用,這些努力才見成效。
讓我們回頭看看這個停車標誌識別的例子。神經網絡是經過調制和訓練的,時不時容易出錯。它最需要的是訓練。訓練需要幾百甚至上百萬幅圖像,直到神經元的輸入權值調制得非常精確,無論有無霧,晴天還是雨天,每次都能得到正確的結果。
只有在這個時候,我們才能說,神經網絡已經成功地學會了看起來像壹個停車標誌;或者在臉書應用中,神經網絡自己學習了妳媽媽的臉;還是在2012,吳恩達教授在谷歌實現了神經網絡學習貓的外貌等等。
吳教授的突破在於,這些神經網絡從基礎上被顯著放大。有很多層,很多神經元,然後把海量數據輸入系統訓練網絡。在吳教授的案例中,數據是來自1000萬個YouTube視頻的圖像。吳教授給深度學習加了“深”。這裏的“深度”是指神經網絡中的很多層。
現在,經過深度學習和訓練,圖像識別在某些場景下甚至可以比人更好:從識別貓到識別血液中的癌癥早期成分,再到識別磁共振成像中的腫瘤。谷歌的AlphaGo先學會了下圍棋,然後和自己下棋。它訓練自己神經網絡的方式就是不斷地、反復地、永不停歇地和自己下棋。
|?深度學習給了人工智能壹個光明的未來。
深度學習使機器學習能夠實現很多應用,拓展了人工智能的領域。深度學習以毀滅性的方式實現了各種任務,讓所有機器輔助的功能看起來都是可能的。無人駕駛汽車,預防性醫療,甚至更好的電影推薦,都在眼前或者即將實現。
人工智能是現在,是明天。有了深度學習,人工智能甚至可以達到我們想象中的科幻。我拿了妳的C-3PO。我希望妳有妳的終結者。