【編者按】從19世紀(jì)中葉人工智能的萌芽時(shí)期,到現(xiàn)今人工智能的重生,從馬文·明斯基到AlphaGo,歷史上發(fā)生了哪些激動人心的故事?本文以此鋪展人工智能發(fā)展近70年來背后發(fā)生的故事。作者@沐陽浸月,中科院自動化所復(fù)雜系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室研究生,主攻機(jī)器人與人工智能。 前不久,在人工智能領(lǐng)域發(fā)生了兩件大事,一個就是是偉大的人工智能先驅(qū)馬文·明斯基教授逝世,一個是谷歌AlphaGo擊敗歐洲圍棋冠軍,職業(yè)圍棋二段樊麾。 馬文·明斯基教授是幾乎見證了從人工智能作為一門學(xué)科的興起直至今日成就的所有大風(fēng)大浪的人,或者可以說何教授本人就是這些大風(fēng)浪的弄潮兒,他對人工智能的發(fā)展的影響意義十分深遠(yuǎn)。而谷歌AlphaGo此次取得的成就,也可以算是人工智能領(lǐng)域一次里程碑式的創(chuàng)舉,它的成功標(biāo)志著人工智能領(lǐng)域又進(jìn)入了一個新高度。這篇文章,我們將從馬文·明斯基還是哈佛大學(xué)本科生的時(shí)候講起,一直到今日AlphaGo的勝利,梳理一下人工智能是怎樣從初見萌芽一步一步走到今日的輝煌成就的。 要是從宏觀的角度來講,人工智能的歷史按照所使用的方法,可以分為兩個階段,分水嶺大概在1986年神經(jīng)網(wǎng)絡(luò)的回歸——
這個轉(zhuǎn)化也可以用一個形象的例子來描述,就像我們想造出飛機(jī),就觀察鳥是怎么樣飛的,然后模仿鳥的動作就行,不需要什么空氣動力學(xué)什么的,這種思想在人類歷史上也被稱為“鳥飛派”。但是我們都知道,懷特兄弟造出飛機(jī)靠的是空氣動力學(xué),而不是仿生學(xué)。不過我們不能就因?yàn)檫@一點(diǎn)就笑話人工智能前半段各位研究人員和前輩的努力和心血,因?yàn)檫@是人類認(rèn)知事物的普遍規(guī)律,其實(shí)現(xiàn)在也有不少人會認(rèn)為,計(jì)算機(jī)可以讀懂文字、看懂圖片靠的是依靠和我們?nèi)祟愐粯拥恼J(rèn)知過程。 在研究基于規(guī)則的探索中,人工智能經(jīng)歷了三個主要階段——興起、繁盛和蕭條。會有這樣的過程,一個重要原因是基于規(guī)則方法的局限性。好了,那我們就先扒一扒這段歷史。 一、萌芽階段人工智能的萌芽時(shí)期大概出現(xiàn)在19世紀(jì)中葉,第一位需要介紹的人物便是馬文·明斯基。明斯基于1946年進(jìn)入哈佛大學(xué)主修物理專業(yè),但他選修的課程相當(dāng)廣泛,從電氣工程、數(shù)學(xué),到遺傳學(xué)、心理學(xué)等涉及多個學(xué)科專業(yè),后來他放棄物理改修數(shù)學(xué)。 1950年,也就是明斯基本科的最后一年,他和他的同學(xué)Dean Edmonds建造了世界上第一臺神經(jīng)網(wǎng)絡(luò)計(jì)算機(jī),并命名其為SNARC(Stochastic Neural Analog Reinforcement Calculator)。這臺計(jì)算機(jī)是由3000個真空管和B-24轟炸機(jī)上一個多余的自動指示裝置來模擬40個神經(jīng)元組成的網(wǎng)絡(luò)的。后來,明斯基又到普林斯頓大學(xué)攻讀數(shù)學(xué)博士學(xué)位,并以“神經(jīng)網(wǎng)絡(luò)和腦模型問題”為題完成博士論文,但是當(dāng)時(shí)的評審委員會并不認(rèn)為這可以看做是數(shù)學(xué)。 (馬文·明斯基) 明斯基的這些成果雖然可以被稱作人工智能的早期工作,但是鑒于當(dāng)時(shí)的明斯基還是一個青澀的毛頭小子,所做的博士論文都不能得到相應(yīng)的認(rèn)可,所以影響力有限。 接著上場的第二位人物影響力就大很多,那就是計(jì)算機(jī)科學(xué)之父阿蘭·圖靈,他是被認(rèn)為最早提出機(jī)器智能設(shè)想的人。圖靈在1950年的時(shí)候(也就是明斯基還在讀本科的時(shí)候)在雜志《思想》(Mind)發(fā)表了一篇名為“計(jì)算機(jī)器與智能”的文章,在文章中,圖靈并沒有提出什么具體的研究方法,但是文章中提到的好多概念,諸如圖靈測試、機(jī)器學(xué)習(xí)、遺傳算法和強(qiáng)化學(xué)習(xí)等,至今都是人工智能領(lǐng)域十分重要的分支。 (圖靈在1950年的時(shí)候在雜志《思想》(Mind)發(fā)表的名為“計(jì)算機(jī)器與智能”的文章) 介紹完以上兩大人物,接下來標(biāo)志著人工智能作為一個獨(dú)立領(lǐng)域而誕生的盛會——達(dá)特茅斯研討會就要粉墨登場了。 不過在介紹達(dá)特茅斯研討會之前,我們不得不介紹這第三位重量級的人物,那就是約翰·麥卡錫,因?yàn)樗沁@次研討會的發(fā)起人。約翰·麥卡錫于1948年獲得加州理工學(xué)院數(shù)學(xué)學(xué)士學(xué)位,1951年獲得普林斯頓大學(xué)數(shù)學(xué)博士學(xué)位。然后又在那里作為老師工作了兩年,接著短暫地為斯坦福大學(xué)供職后到了達(dá)特茅斯大學(xué),正是這個時(shí)期,它組織了達(dá)特茅斯研討會。在這次大會上,麥卡錫的術(shù)語人工智能第一次被正式使用,所以麥卡錫也被稱作人工智能之父。其實(shí)麥卡錫在達(dá)特茅斯會議前后,他的主要研究方向正是計(jì)算機(jī)下棋。
(約翰·麥卡錫) 下棋程序的關(guān)鍵之一是如何減少計(jì)算機(jī)需要考慮的棋步。麥卡錫經(jīng)過艱苦探索,終于發(fā)明了著名的α-β搜索法,使搜索能有效進(jìn)行。α-β搜索法說核心就是,算法在采取最佳招數(shù)的情況下允許忽略一些未來不會發(fā)生的事情。說的有點(diǎn)抽象,我們來舉個十分簡單的例子。 假如你面前有兩個口袋和一個你的敵人,每個口袋放著面值不等的人民幣,你來選擇口袋,你的敵人決定給你這個口袋里哪張面值的錢。假設(shè)你一次只能找一只口袋,在找口袋時(shí)一次只能從里面摸出一次。當(dāng)然你希望面值越大越好,你的敵人自然希望面值越小越好。假如你選擇了第一個口袋。現(xiàn)在我們從第一個口袋開始,看每一張面值,并對口袋作出評價(jià)。比方說口袋里有一張5元的和一張10元的。如果你挑了這只口袋敵人自然會給你5元的,10元的就是無關(guān)緊要的了。 現(xiàn)在你開始翻第二個口袋,你每次看一張面值,都會跟你能得到的最好的那張面值(5元)去比較。所以此時(shí)你肯定就去找這個口袋里面面值最小的,因?yàn)橹灰钌俚囊?元好,那么你就可以挑這個口袋。假如你在第二個口袋摸出一張1元的,那么你就不用考慮這個口袋了,因?yàn)槿绻闾袅诉@個口袋,敵人肯定會給你1元面值的,那當(dāng)然要選擇最小面值的5元的那個口袋啦。 (基于α-β剪枝算法的智能五子棋) 雖然有點(diǎn)繞,不過我覺得你應(yīng)該大概已經(jīng)理解了這個思路。這就是α-β搜索法,因?yàn)檫@種算法在低于或者超過我們搜索中的α或者β值時(shí)就不再搜索,所以這種算法也稱為α-β剪枝算法。這種算法至今仍是解決人工智能問題中一種常用的高效方法。當(dāng)年IBM的深藍(lán)國際象棋程序,因?yàn)榇驍∈澜绻谲娍ㄋ古亮_夫而聞名世界,它靠的正是在30個IBM RS/6000處理器的并行計(jì)算機(jī)上運(yùn)行的α-β搜索法。 但是需要注意的是,前不久的谷歌AlphaGo,由于棋盤是19x19的,幾乎所有的交叉點(diǎn)都可以走子,初始的分支因子為361,這對于常規(guī)的α-β搜索來說太令人生畏了,所以別看名字里面帶了一個α(Alpha,有可能這個名字是為了紀(jì)念麥卡錫的α-β搜索算法),AlphaGo采用的是卻是蒙特卡洛搜索樹(MCTS),它是一種隨機(jī)采樣的搜索樹算法,它解決了在有限時(shí)間內(nèi)要遍歷十分寬的樹而犧牲深度的問題。
后來麥卡錫有從達(dá)特茅斯搬到了MIT,在那里他又做出了三項(xiàng)十分重要的貢獻(xiàn)。第一個是他定義了高級語言Lisp語言,從此Lisp語言長期以來壟斷著人工智能領(lǐng)域的應(yīng)用,而且人們也有了可以拿來用的得力工具了,但是稀少而且昂貴的計(jì)算資源仍是問題。于是麥卡錫和他的同事又發(fā)明了分時(shí)技術(shù)。然后,麥卡錫發(fā)表了題為“有常識的程序”的文章,文中他描述了一種系統(tǒng),取名為意見接收者,任務(wù)是使用知識來搜索問題的解,這個假想也被看成是第一個完整的人工智能系統(tǒng)。 同年,明斯基也搬到了MIT,他們共同創(chuàng)建了世界上第一座人工智能實(shí)驗(yàn)室——MIT AI Lab實(shí)驗(yàn)室。盡管后來麥卡錫和明斯基在某些觀點(diǎn)上產(chǎn)生了分歧導(dǎo)致他們的合作并沒有繼續(xù),但這是后話。 (MIT AI Lab實(shí)驗(yàn)室) 二、人工智能的誕生好了,前期的一些大人物介紹完了,讓我們一起回到1956年那個意義非凡的夏天。 那年,28歲的約翰·麥卡錫,同齡的馬文·明斯基,37歲的羅切斯特和40歲的香農(nóng)一共四個人,提議在麥卡錫工作的達(dá)特茅斯學(xué)院開一個頭腦風(fēng)暴式的研討會,他們稱之為“達(dá)特茅斯夏季人工智能研究會議”。參加會議的除了以上這四位,還有6位年輕的科學(xué)家,其中包括40歲的赫伯特·西蒙和28歲的艾倫·紐維爾。在這次研討會上,大家討論了當(dāng)時(shí)計(jì)算機(jī)科學(xué)領(lǐng)域尚未解決的問題,包括人工智能、自然語言處理和神經(jīng)網(wǎng)絡(luò)等。人工智能這個提法便是這次會議上提出的,上文也有提到。在這個具有歷史意義的會議上,明斯基的SNARC,麥卡錫的α-β搜索法,以及西蒙和紐維爾的“邏輯理論家”是會議的三個亮點(diǎn)。前面已經(jīng)對明斯基的SNARC,麥卡錫的α-β搜索法有所介紹,下面我們再來看一下西蒙和紐維爾的“邏輯理論家”又是什么。 西蒙和紐維爾均是來自卡內(nèi)基梅隆大學(xué)(當(dāng)時(shí)還叫卡內(nèi)基技術(shù)學(xué)院)的研究者,他們的研究成果在這次盛會上十分引人注意?!斑壿嬂碚摷摇笔俏髅珊图~維爾研究出來的一個推理程序,他們聲稱這個程序可以進(jìn)行非數(shù)值的思考。然后在這次研討會之后不久,他們的程序就能證明羅素和懷特海德的《數(shù)學(xué)原理》第二章的大部分定理。但是歷史往往對新鮮事物總是反應(yīng)遲緩,他們將一篇與邏輯理論家合著的論文提交到《符號邏輯雜志》的時(shí)候,編輯們拒絕了他們。
我們現(xiàn)在來看看這個研討會的成果,或者說叫意義。遺憾的是,由于歷史的局限,這個世界上最聰明的頭腦一個月的火花碰撞,并沒有產(chǎn)生任何新的突破,他們對自然語言處理的理解,合在一起甚至不如今天一位世界上一流大學(xué)的博士畢業(yè)生。但是這次研討會卻讓人工智能領(lǐng)域主要的人物基本上全部登場。在隨后的20年,人工智能領(lǐng)域就被這些人以及他們在MIT、CMU、斯坦福和IBM的學(xué)生和同事們支配了。 我們看看這10個人,除了香農(nóng),當(dāng)時(shí)其實(shí)大多數(shù)都沒什么名氣,但是不久之后便一個個開始嶄露頭角,其中包括四位圖靈獎的獲得者(麥卡錫,明斯基,西蒙和紐維爾),這四位也是我上文主要介紹的四個人。當(dāng)然,香農(nóng)也不用得圖靈獎,作為信息論的發(fā)明人,他在科學(xué)史上的地位也圖靈也差不多了。 (香農(nóng)) 三、短暫的繁榮與困境從這次會議之后,人工智能迎來了它的一個春天,因?yàn)殍b于計(jì)算機(jī)一直被認(rèn)為是只能進(jìn)行數(shù)值計(jì)算的機(jī)器,所以,它稍微做一點(diǎn)看起來有智能的事情,人們都驚訝不已。 因?yàn)殍b于當(dāng)時(shí)簡單的計(jì)算機(jī)與編程工具,研究者們主要著眼于一些比較特定的問題。例如Herbert Gelernter建造了一個幾何定理證明器,可以證明一些學(xué)生會感到棘手的幾何定理;阿瑟·薩繆爾編寫了西洋跳棋程序,水平能達(dá)到業(yè)余高手;James Slagle的SAINT程序能求解大學(xué)一年級的閉合式微積分問題;還有就是結(jié)合了多項(xiàng)技術(shù)的積木世界問題,它可以使用一只每次能拿起一塊積木的機(jī)器手按照某種方式調(diào)整這些木塊。
(馬文·明斯基與他的積木機(jī)器人) 雖然這些早期的人工智能項(xiàng)目看起來擁有著巨大的熱情和期望,但是由于方法的局限性,人工智能領(lǐng)域的研究者越來越意識到他們所遇到的瓶頸和困難,再加上沒有真正令人振奮人心的項(xiàng)目出來而導(dǎo)致資助的停止,人工智能陷入了一個低潮。 產(chǎn)生這些現(xiàn)實(shí)困難的原因主要有三點(diǎn)。 第一點(diǎn)是大部分早期程序?qū)σ瓿傻娜蝿?wù)的主題一無所知。就拿機(jī)器翻譯來說,給程序一個句子,會用的方法只是進(jìn)行句法分割然后對分割后的成分進(jìn)行詞典翻譯,那這樣就很容易產(chǎn)生歧義。例如I went to the bank,bank既有銀行也有河岸的意思,如果只是單純的分割加單詞翻譯,這句話根本沒法解釋。 第二點(diǎn)是問題的難解性。上面我已經(jīng)提到,早期的人工智能程序主要解決特定的問題,因?yàn)樘囟ǖ膯栴}對象少,復(fù)雜度低啊,但是一旦問題的維度上來了,程序立馬就捉襟見肘了。 第三點(diǎn)就是程序本身的結(jié)構(gòu)就有問題。例如明斯基在1969年證明了兩輸入的感知機(jī)連何時(shí)輸入是相同的都判斷不了。
(感知機(jī)模型) 綜上,由于種種困難,再加上資助的減少,人工智能步入了寒冬。這便是人工智能歷史的上半段。 四、人工智能的重生上個世紀(jì)80年代中期,當(dāng)初于1969年由Bryson和Ho建立的反傳學(xué)習(xí)算法被重新發(fā)明,然后統(tǒng)計(jì)學(xué)在人工智能領(lǐng)域的使用以及良好的效果也讓科學(xué)界為之一振。于是在新的結(jié)構(gòu)和新的方法下,人工智能又重獲新生。 首先興起的是語音識別領(lǐng)域,在這個方面的成就一個重要的原因是隱馬爾可夫模型的方法開始主導(dǎo)這個領(lǐng)域。隱馬爾可夫模型包含“隱含”和“馬爾可夫鏈”兩個概念,馬爾可夫鏈?zhǔn)蔷哂羞@樣一種特性的鏈條,就是現(xiàn)在的狀態(tài)只和前一個狀態(tài)有關(guān),而和再往前的狀態(tài)沒有關(guān)系。所以我們遇到這樣一個鏈條的時(shí)候,我們可以隨機(jī)選擇一個狀態(tài)作為初始狀態(tài),然后按照上述規(guī)則隨機(jī)選擇后續(xù)狀態(tài)。“隱含”的意思則是在這個馬爾可夫鏈上再加一個限制就是,任意時(shí)刻的狀態(tài)我們是不可知的,但是這個狀態(tài)會輸出一個結(jié)果,這個結(jié)果只和這個狀態(tài)相關(guān),所以這個也稱為獨(dú)立輸出假設(shè)。 通過這么一解釋我們就能看出,隱馬爾可夫模型是基于嚴(yán)格的數(shù)學(xué)理論基礎(chǔ),這允許語音研究者以其他領(lǐng)域中發(fā)展數(shù)十年的數(shù)學(xué)成果為依據(jù)。其次這個模型的這種隨機(jī)性可以通過大量的真實(shí)語音進(jìn)行訓(xùn)練,這就保證了性能的魯棒性。
(隱馬爾可夫模型簡圖) 在馬爾可夫鏈的基礎(chǔ)上還誕生了一個以對不確定性知識進(jìn)行有效表示和嚴(yán)格推理的形式化方法——貝葉斯網(wǎng)絡(luò)。貝葉斯網(wǎng)絡(luò)是一個加權(quán)的有向圖,是馬爾可夫鏈的拓展。馬爾可夫鏈保證了網(wǎng)絡(luò)中的每一個狀態(tài)只跟與其直接相連的狀態(tài)有關(guān),而跟與它間接相連的狀態(tài)沒有關(guān)系,那么這就是貝葉斯網(wǎng)絡(luò)。在這個網(wǎng)絡(luò)中,每個節(jié)點(diǎn)的概率,都可以用貝葉斯公式來計(jì)算,貝葉斯網(wǎng)絡(luò)因此得名。 貝葉斯網(wǎng)絡(luò)極大地克服了20世紀(jì)60年代和70年代概率推理系統(tǒng)的很多問題,它目前主導(dǎo)著不確定推理和專家系統(tǒng)中的人工智能研究。而且這種方法允許根據(jù)經(jīng)驗(yàn)進(jìn)行學(xué)習(xí),并且結(jié)合了經(jīng)典人工智能和神經(jīng)網(wǎng)絡(luò)最好的部分。所以極大的推動的人工智能領(lǐng)域走向現(xiàn)在我們正處的這個巔峰時(shí)代。
(一個簡單的貝葉斯網(wǎng)絡(luò)。雨水影響灑水器是否有動作,且雨水及灑水器二者均可影響草是否濕潤) 除了這種算法上的革新,還有兩個重要推動因素就是互聯(lián)網(wǎng)的興起以及極大數(shù)據(jù)集的可用性。就像我們用Siri的時(shí)候必須聯(lián)網(wǎng)一樣,人工智能系統(tǒng)基于Web的應(yīng)用變得越來越普遍;我之前在文章《2015年,機(jī)器人界發(fā)生了哪些神奇瘋狂的故事?(下)》中介紹的HitchBOT,它可以拍照、自動識別路人的語言,并將回答顯示在屏幕上,這個能力也是通過在網(wǎng)絡(luò)上搜索相應(yīng)的答案而實(shí)現(xiàn)的。 由于我們現(xiàn)在采用的方法已經(jīng)基本上變?yōu)槭腔诟怕实姆椒ǎ晕覀儽阈枰写罅康臄?shù)據(jù)集對我們的系統(tǒng)進(jìn)行訓(xùn)練,以完成監(jiān)督學(xué)習(xí)。而現(xiàn)在的互聯(lián)網(wǎng)環(huán)境讓這種極大數(shù)據(jù)集的獲得變得越來越方便和容易。就如我們所熟知的ImageNet,ImageNet是一個帶有標(biāo)記信息的圖片庫,里面的圖片均已經(jīng)由人對圖片內(nèi)容進(jìn)行了標(biāo)記。它就好比是一個用于測試計(jì)算機(jī)視覺系統(tǒng)識別能力的“題庫”,包含超過百萬道“題目”。 題目由圖像和對應(yīng)的單詞(80%為名詞)組成,考察的方式是計(jì)算機(jī)視覺系統(tǒng)能否識別圖像中的物體并返回正確的單詞。 ImageNet使用訓(xùn)練題對計(jì)算機(jī)視覺系統(tǒng)進(jìn)行“培訓(xùn)”,然后用測試題測試其識別能力。 (ImageNet數(shù)據(jù)集) 又如AlphaGo,在DeepMind的主頁里,AlphaGo是這樣被介紹的:它是一種計(jì)算機(jī)玩圍棋的新方法,這種方法運(yùn)用了基于深度神經(jīng)網(wǎng)絡(luò)的蒙特卡洛搜索樹,而這個深度神經(jīng)網(wǎng)絡(luò)一方面是通過運(yùn)用人類專家級圍棋棋局進(jìn)行監(jiān)督學(xué)習(xí)來訓(xùn)練,另一方面還通過程序通過電腦自己與自己博弈的增強(qiáng)學(xué)習(xí)來進(jìn)行訓(xùn)練,可見AlphaGo的成果也離不開通過學(xué)習(xí)人類專家級棋譜進(jìn)行監(jiān)督學(xué)習(xí)的這個大量數(shù)據(jù)集的使用。 (DeepMind的主頁里AlphaGo的頁面) 今天這篇文章,我們從人工智能的萌芽一直到今天AlphaGo打敗擊敗歐洲冠軍樊麾職業(yè)二段這個里程碑式的事件截止,介紹了人工智能能走到今天這個成就的一路的艱難險(xiǎn)阻與大風(fēng)大浪。我相信,隨著計(jì)算機(jī)運(yùn)算能力以及更加優(yōu)化的算法,以及大數(shù)據(jù)集和數(shù)據(jù)挖掘等技術(shù)的幫助,人工智能的路一定會繼續(xù)高歌猛進(jìn)。 |
|