人工智能是未來;人工智能是科幻;人工智能是我們?nèi)粘I钪械囊徊糠?。這些評價可以說都是正確的,就看你說的是哪一種人工智能(AI)。
例如,今年早些時候,Google DeepMind 的 AlphaGo 打敗了韓國的圍棋大師李世乭九段。在媒體描述 DeepMind 的勝利的時候,人工智能(AI)、機器學(xué)習(xí)(machine learning)和深度學(xué)習(xí)(deep learning)都用上了。這三者在 AlphaGo 擊敗李世乭的過程中都起了作用,但它們指的并不是同一個東西。
說明它們之間關(guān)系的最簡單的方法,就是用同心圓可視化地展現(xiàn)出來。首先,人工智能是最早出現(xiàn)的,也是最大,最外側(cè)的同心圓;其次是機器學(xué)習(xí),稍晚一點;最內(nèi)側(cè),是深度學(xué)習(xí),當(dāng)今人工智能大爆炸的核心驅(qū)動。
五十年代,人工智能曾經(jīng)極為樂觀。之后,人工智能的一些較小的子集發(fā)展了起來。先是機器學(xué)習(xí),然后是深度學(xué)習(xí)。深度學(xué)習(xí)又是機器學(xué)習(xí)的子集。深度學(xué)習(xí)造成了前所未有的巨大的影響。
從概念的提出到走向繁榮
1956 年,幾個計算機科學(xué)家相聚在達特茅斯會議,提出了人工智能。其后,人工智能就一直縈繞于人們的腦海之中,并在科研實驗室中慢慢孵化。之后的幾十年,人工智能一直在兩極反轉(zhuǎn),或者是我們文明耀眼未來的預(yù)言;或者被當(dāng)成技術(shù)瘋子的狂想扔到垃圾堆里。坦白說,直到 2012 年之前,還真的兩者都有點。
過去幾年,尤其是 2015 年以來,人工智能大爆發(fā)。很大一部分是由于 GPU 的廣泛應(yīng)用,使得并行計算變得更快、更便宜、更有效。當(dāng)然,也是由于無限拓展的存儲能力和驟然爆發(fā)的數(shù)據(jù)洪流(大數(shù)據(jù))的組合拳,使得圖像數(shù)據(jù)、文本數(shù)據(jù)、交易數(shù)據(jù)、映射數(shù)據(jù),無不海量爆發(fā)。
讓我們慢慢梳理一下計算機科學(xué)家們是如何將人工智能從最早的一點點苗頭,發(fā)展到能夠支撐那些每天被數(shù)億用戶使用的應(yīng)用的。
人工智能(Artificial Intelligence) —— 為機器賦予人的智能
成王(King me): 能下國際跳棋的程序是早期人工智能的一個典型應(yīng)用,在二十世紀(jì)五十年代曾掀起一陣風(fēng)潮。(譯者注:國際跳棋棋子到達底線位置后,可以成王,成王棋子可以向后移動)。
早在 56 年夏天那次會議,人工智能的先驅(qū)們,就夢想著用其時剛剛出現(xiàn)的計算機來構(gòu)造復(fù)雜的,擁有與人類智慧同樣本質(zhì)特性的機器。這就是我現(xiàn)在稱為“通用人工智能”(General AI)或者說“強人工智能”。通用人工智能有著我們所有的感知(甚至比人更多),我們所有的理性,像我們一樣思考的,是無所不能的機器。人們在電影里也總是看到這樣的機器,友好的,像星球大戰(zhàn)中的 C-3PO;邪惡的,如終結(jié)者。通用人工智能現(xiàn)在還只存在于電影和科幻小說中,原因不難理解,我們還沒法實現(xiàn)它們,至少目前還不行。
我們能實現(xiàn)的,一般稱為“弱人工智能”(Narrow AI)。弱人工智能是能夠與人一樣,甚至比人更好地執(zhí)行特定任務(wù)的技術(shù)。弱人工智能的例子,例如,像 Pinterest 上的圖像分類;或者 Facebook 的人臉識別。
這些是弱人工智能在實踐中的例子。這些技術(shù)實現(xiàn)的是人類智能的一些具體的局部。但它們是如何實現(xiàn)的?這種智能是從何而來?這就帶我們來到同心圓的里面一層,機器學(xué)習(xí)。
機器學(xué)習(xí) —— 一種實現(xiàn)人工智能的方法
健康食譜(Spam free diet):機器學(xué)習(xí)能夠幫你過濾電子信箱里的(大部分)垃圾郵件。(譯者注:英文中垃圾郵件的單詞 spam 來源于二戰(zhàn)中美國曾大量援助英國的午餐肉品牌 SPAM。直到六十年代,英國的農(nóng)業(yè)一直沒有從二戰(zhàn)的損失中恢復(fù),因而從美國大量進口了這種廉價的罐頭肉制品。據(jù)傳聞不甚好吃且充斥市場。)
機器學(xué)習(xí)最基本的做法,是使用算法來解析數(shù)據(jù),從中學(xué)習(xí),然后對真實世界中的事件做出決策和預(yù)測。與傳統(tǒng)的為解決特定任務(wù),硬編碼的軟件程序不同,機器學(xué)習(xí)是用大量的數(shù)據(jù)來“訓(xùn)練”,由各種算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。
機器學(xué)習(xí)直接來源于早期的人工智能領(lǐng)域。傳統(tǒng)算法包括決策樹學(xué)習(xí),推導(dǎo)邏輯規(guī)劃,聚類,強化學(xué)習(xí)和貝葉斯網(wǎng)絡(luò)等等。眾所周知,我們還沒有實現(xiàn)通用人工智能。早期機器學(xué)習(xí)方法甚至都無法實現(xiàn)弱人工智能。
機器學(xué)習(xí)最成功的應(yīng)用領(lǐng)域是計算機視覺,雖然也還是需要大量的手工編碼來完成工作。人們需要手工編寫分類器,邊緣檢測濾波器,以便讓程序能識別物體從哪里開始,到哪里結(jié)束;寫形狀檢測程序來判斷檢測對象是不是有八條邊;寫分類器來識別字母“S-T-O-P”。使用以上這些手工編寫的分類器,人們總算可以開發(fā)算法,來感知圖像,判斷圖像是不是一個停止標(biāo)志牌。
這個結(jié)果還算不錯,但并不是那種能讓人為之一振的成功。提別是遇到云霧天,標(biāo)志牌變得不是那么清晰可見,又或者被樹遮擋一部分,算法就難以成功了。這就是為什么,前一段時間,計算機視覺的性能一直無法接近到人的能力。它太僵化,太容易受環(huán)境條件的干擾。
隨著時間的推進,學(xué)習(xí)算法的發(fā)展改變了一切。
深度學(xué)習(xí) —— 一種實現(xiàn)機器學(xué)習(xí)的技術(shù)
放貓(Herding Cats): 從 YouTube 視頻里面尋找貓的圖片是深度學(xué)習(xí)杰出性能的首次展現(xiàn)。(譯者注:herding cats 英語習(xí)語,照顧一群喜歡自由,不喜歡馴服的貓,用來形容局面混亂,任務(wù)難以完成。)
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)是早期機器學(xué)習(xí)中的一個重要的算法,歷經(jīng)數(shù)十年風(fēng)風(fēng)雨雨。神經(jīng)網(wǎng)絡(luò)的原理受我們大腦的生理結(jié)構(gòu),互相交叉相連的神經(jīng)元啟發(fā)。但與大腦中一個神經(jīng)元可以連接一定距離內(nèi)的任意神經(jīng)元不同,人工神經(jīng)網(wǎng)絡(luò)具有離散的層,連接和數(shù)據(jù)傳播的方向。
例如,可以把一幅圖像切分成圖像塊,輸入到神經(jīng)網(wǎng)絡(luò)的第一層。在第一層的每一個神經(jīng)元都把數(shù)據(jù)傳遞到第二層。第二層的神經(jīng)元也是完成類似的工作,把數(shù)據(jù)傳遞到第三層,以此類推,直到最后一層,然后生成結(jié)果。
每一個神經(jīng)元都為它的輸入分配權(quán)重,這個權(quán)重的正確與否與其執(zhí)行的任務(wù)直接相關(guān)。最終的輸出由這些權(quán)重加總來決定。仍以停止(Stop)標(biāo)志牌為例。一個停止標(biāo)志牌圖像的所有元素都被打碎,然后用神經(jīng)元進行“檢查”,八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標(biāo)志的典型尺寸和靜止不動運動特性等等。神經(jīng)網(wǎng)絡(luò)的任務(wù)就是給出結(jié)論,它到底是不是一個停止標(biāo)志牌。神經(jīng)網(wǎng)絡(luò)會根據(jù)所有權(quán)重,給出一個“概率向量”,一個經(jīng)過深思熟慮的猜測。這個例子里,系統(tǒng)可能會給出這樣的結(jié)果: 86% 可能是一個停止標(biāo)志牌;7% 的可能是一個限速標(biāo)志牌;5% 的可能是一個風(fēng)箏掛在樹上,等等。然后網(wǎng)絡(luò)結(jié)構(gòu)告知神經(jīng)網(wǎng)絡(luò),它的結(jié)論是否正確。
即使是這個例子,也算是比較超前了。直到前不久,神經(jīng)網(wǎng)絡(luò)也還是為人工智能圈所淡忘。人工智能出現(xiàn)的早期,神經(jīng)網(wǎng)絡(luò)就已經(jīng)存在了,神經(jīng)網(wǎng)絡(luò)對于“智能”的貢獻微乎其微。主要問題是,即使是最基本的神經(jīng)網(wǎng)絡(luò),也需要大量的運算。神經(jīng)網(wǎng)絡(luò)算法的運算需求難以得到滿足。不過,還是有一些虔誠的研究團隊,以多倫多大學(xué)的 Geoffrey Hinton 為代表,堅持研究,實現(xiàn)了以超算為目標(biāo)的并行算法的運行與概念證明。但也直到 GPU 得到廣泛應(yīng)用,這些努力才見到成效。
我們回過頭來看這個停止標(biāo)志識別的例子。神經(jīng)網(wǎng)絡(luò)是調(diào)制、訓(xùn)練出來的,時不時還是很容易出錯的。它最需要的,就是訓(xùn)練。需要成百上千甚至幾百萬張圖像來訓(xùn)練,直到神經(jīng)元的輸入的權(quán)值都被調(diào)制得十分精確,無論是有霧還是沒有,天晴還是下雨,每次都能得到正確的結(jié)果。只有這個時候,才可以說神經(jīng)網(wǎng)絡(luò)成功地自學(xué)習(xí)到一個停止標(biāo)志的樣子;在 Facebook 的應(yīng)用里,就是神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)了你媽媽的臉;又或者是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到貓的樣子,就像吳恩達教授 2012 年在 Google 實現(xiàn)的那樣。
吳教授的突破在于把這些神經(jīng)網(wǎng)絡(luò),從基礎(chǔ)上顯著地增大了。層數(shù)非常多,神經(jīng)元也非常多,然后給系統(tǒng)輸入海量的數(shù)據(jù),來訓(xùn)練網(wǎng)絡(luò)。在吳教授這里,數(shù)據(jù)是一千萬 YouTube 視頻中的圖像。吳教授為深度學(xué)習(xí)(deep learning)加入了“深度”(deep)。這里的“深度”就是說神經(jīng)網(wǎng)絡(luò)中眾多的層。
現(xiàn)在,經(jīng)過深度學(xué)習(xí)訓(xùn)練的圖像識別,在一些場景中甚至可以比人做得更好,從識別貓,到辨別血液中癌癥的早期成分,到識別核磁共振成像中的腫瘤。Google 的 AlphaGo 先是學(xué)會了如何下圍棋,然后與它自己下棋訓(xùn)練。它訓(xùn)練自己神經(jīng)網(wǎng)絡(luò)的方法,就是不斷地與自己下棋,反復(fù)地下,永不停歇。
深度學(xué)習(xí),給人工智能以璀璨的未來
深度學(xué)習(xí)使得機器學(xué)習(xí)能夠?qū)崿F(xiàn)眾多的應(yīng)用,并拓展了人工智能的領(lǐng)域范圍。深度學(xué)習(xí)摧枯拉朽般地實現(xiàn)了各種任務(wù),使得似乎所有的機器輔助功能都變?yōu)榭赡?。無人駕駛汽車,預(yù)防性醫(yī)療保健,甚至是更好的電影推薦,都是近在眼前,或者即將實現(xiàn)。人工智能就在現(xiàn)在,就在明天。有了深度學(xué)習(xí),人工智能甚至可以達到我們暢想的科幻小說一般。你的 C-3PO 我拿走了,你有你的終結(jié)者就好了。
聯(lián)系客服