從 19 世紀中葉人工智慧的萌芽時期,到現今人工智慧的重生,從馬文·閔斯基到 AlphaGo,歷史上發生了哪些激動人心的故事?本文以此鋪展人工智慧發展近 70 年來背後發生的故事。
前不久,在人工智慧領域發生了兩件大事,一個就是是偉大的人工智慧先驅馬文·閔斯基教授逝世,一個是 Google AlphaGo 擊敗歐洲圍棋冠軍、職業圍棋二段樊麾。
馬文·閔斯基教授是幾乎見證了從人工智慧做為一門學科的興起,直至今日成就的所有大風大浪的人,或者可以說教授本人就是這些成就的先鋒,他對人工智慧的發展的影響意義十分深遠。而 Google AlphaGo 此次取得的成就,也可以算是人工智慧領域一次里程碑式的創舉,它的成功標誌著人工智慧領域又進入了一個新高度。這篇文章,我們將從馬文·閔斯基還是哈佛大學本科生的時候講起,一直到今日 AlphaGo 的勝利,整理一下人工智慧是怎樣一步一步走到今日的輝煌成就。
要是從宏觀的角度來講,人工智慧的歷史按照所使用的方法,可以分為兩個階段,分水嶺大概在 1986 年神經網路的回歸——
在前半段歷史中,我們主要使用的方法和思路是基於規則的方法,也就是我們試圖找到人類認知事物的方法,模仿人類智慧和思惟方法,找到一套方法,模擬出人類思惟的過程,解決人工智慧的問題。
後半段的歷史,也就是我們現在所處的這個時期,我們主要採取的方法是基於統計的方法,也就是我們現在發現,有的時候我們不需要把人類的思惟過程類比出一套規則來教給電腦,我們可以在一個大的數量集裡面來訓練電腦,讓它自己找到規律從而完成人工智慧遇到的問題。
這個轉化也可以用一個形象的例子來描述,就像我們想造出飛機,就觀察鳥是怎麼樣飛的,然後模仿鳥的動作就行,不需要什麼空氣動力學什麼的,這種思想在人類歷史上也被稱為「鳥飛派」。但是我們都知道,懷特兄弟造出飛機靠的是空氣動力學,而不是仿生學。不過我們不能就因為這一點就笑話人工智慧前半段各位研究人員和前輩的努力和心血,因為這是人類認知事物的普遍規律,其實現在也有不少人會認為,電腦可以讀懂文字、看懂圖片靠的是依靠和我們人類一樣的認知過程。
在研究基於規則的探索中,人工智慧經歷了 3 個主要階段——興起、繁盛和蕭條。會有這樣的過程,一個重要原因是基於規則方法的局限性。
一、萌芽階段
人工智慧的萌芽時期大概出現在 19 世紀中葉,第一位需要介紹的人物便是馬文·閔斯基。閔斯基於 1946 年進入哈佛大學主修物理專業,但他選修的課程相當廣泛,從電氣工程、數學,到遺傳學、心理學等涉及多個學科專業,後來他放棄物理改修數學。
1950 年,也就是閔斯基本科的最後一年,他和他的同學 Dean Edmonds 建造了世界上第一台神經網路電腦,並命名其為 SNARC(Stochastic Neural Analog Reinforcement Calculator)。這台電腦是由 3,000 個真空管和 B-24 轟炸機上一個多餘的自動指示裝置來類比 40 個神經元組成網路的。後來,閔斯基又到普林斯頓大學攻讀數學博士學位,並以「神經網路和腦模型問題」為題完成博士論文,但是當時的評審委員會並不認為這可以看做是數學。
▲ 馬文·閔斯基
閔斯基的這些成果雖然可以被稱作人工智慧的早期工作,但是鑒於當時的閔斯基還是一個青澀的毛頭小子,所做的博士論文都不能得到相應的認可,所以影響力有限。
接著上場的第二位人物影響力就大很多,那就是電腦科學之父艾倫·圖靈,他是被認為最早提出機器智慧設想的人。圖靈在 1950 年的時候(也就是閔斯基還在讀本科的時候)在雜誌《思想》(Mind)發表了一篇名為「電腦與智慧」的文章,在文章中,圖靈並沒有提出什麼具體的研究方法,但是文章中提到的好多概念,諸如圖靈測試、機器學習、遺傳演算法和強化學習等,至今都是人工智慧領域十分重要的分支。
▲ 圖靈在 1950 年的時候在雜誌《思想》(Mind)發表的名為「電腦與智慧」的文章。
介紹完以上兩大人物,接下來標誌著人工智慧做為一個獨立領域而誕生的盛會——達特茅斯研討會就要粉墨登場了。
不過在介紹達特茅斯研討會之前,我們不得不介紹這第三位重量級的人物,那就是約翰·麥卡錫,因為他正是這次研討會的發起人。約翰·麥卡錫於 1948 年獲得加州理工學院數學學士學位,1951 年獲得普林斯頓大學數學博士學位。然後又在那裡當了兩年老師,接著短暫地在史丹佛大學任職後到了達特茅斯大學,正是這個時期,它組織了達特茅斯研討會。在這次大會上,麥卡錫的術語人工智慧第一次被正式使用,所以麥卡錫也被稱作人工智慧之父。其實麥卡錫在達特茅斯會議前後,他的主要研究方向正是電腦下棋。
▲ 約翰·麥卡錫
下棋程式的關鍵之一是如何減少電腦需要考慮的棋步。麥卡錫經過艱苦探索,終於發明了著名的 α-β 搜索法,使搜索能有效進行。α-β 搜索法說核心就是,演算法在採取最佳招數的情況下允許忽略一些未來不會發生的事情。說的有點抽象,我們來舉個十分簡單的例子。
假如你面前有兩個口袋和一個你的敵人,每個口袋放著面值不等的人民幣,你來選擇口袋,你的敵人決定給你這個口袋裡哪張面值的錢。假設你一次只能找一個口袋,在找口袋時一次只能從裡面摸出一次。當然你希望面值越大越好,你的敵人自然希望面值越小越好。假如你選擇了第一個口袋。現在我們從第一個口袋開始,看每一張面值,並對口袋做出評價。比方說口袋裡有一張 5 元和一張 10 元。如果你挑了這個口袋敵人自然會給你 5 元的,10 元的就無關緊要了。
現在你開始翻第二個口袋,你每次看一張面值,都會跟你能得到的最好的那張面值(5 元)去比較。所以此時你肯定就去找這個口袋裡面值最小的,因為只要最少的要比 5 元好,那麼你就可以挑這個口袋。假如你在第二個口袋摸出一張 1 元的,那麼你就不用考慮這個口袋了,因為如果你挑了這個口袋,敵人肯定會給你 1 元面值的,那當然要選擇最小面值是 5 元的那個口袋啦。
▲ 基於 α-β 剪枝演算法的智慧五子棋。
雖然有點繞,不過我覺得你應該大概已經理解了這個思路。這就是 α-β 搜索法,因為這種演算法在低於或者超過我們搜尋中的 α 或者 β 值時就不再搜尋,所以這種演算法也稱為 α-β 剪枝演算法。這種演算法至今仍是解決人工智慧問題中一種常用的高效方法。當年 IBM 的深藍國際象棋程式,因為打敗世界冠軍卡斯帕羅夫而聞名世界,它靠的正是在 30 個 IBM RS / 6000 處理器的平行電腦上運行的 α-β 搜索法。
但是需要注意的是,前不久的 Google AlphaGo,由於棋盤是 19×19 的,幾乎所有的交叉點都可以走子,初始的分支因數為 361,這對於常規的 α-β 搜索來說太令人生畏了,所以別看名字裡面帶了一個 α(Alpha,有可能這個名字是為了紀念麥卡錫的 α-β 搜索演算法),AlphaGo 採用的是卻是蒙地卡羅樹狀搜尋(MCTS),它是一種隨機採樣的搜尋樹演算法,它解決了在有限時間內要遍歷十分寬的樹而犧牲深度的問題。
後來麥卡錫有從達特茅斯搬到了 MIT,在那裡他又做出了 3 項十分重要的貢獻。第一個是他定義了高階語言 Lisp 語言,從此 Lisp 語言長期以來壟斷著人工智慧領域的應用,而且人們也有了可以拿來用的得力工具了,但是稀少而且昂貴的計算資源仍是問題。於是麥卡錫和他的同事又發明了分時技術。然後,麥卡錫發表了題為「有常識的程式」的文章,文中他描述了一種系統,取名為意見接收者,任務是使用知識來搜尋問題的解答,這個假想也被看成是第一個完整的人工智慧系統。
同年,閔斯基也搬到了 MIT,他們共同創建了世界上第一座人工智慧實驗室——MIT AI Lab 實驗室。儘管後來麥卡錫和閔斯基在某些觀點上產生了分歧,導致他們沒有繼續合作,但這是後話。
▲ MIT AI Lab 實驗室
二、人工智慧的誕生
好了,前期的一些大人物介紹完了,讓我們一起回到 1956 年那個意義非凡的夏天。
那年,28 歲的約翰·麥卡錫,同齡的馬文·閔斯基,37 歲的羅徹斯特和 40 歲的夏農一共 4 個人,提議在麥卡錫工作的達特茅斯學院開一個腦力激盪式的研討會,他們稱之為「達特茅斯夏季人工智慧研究會議」。參加會議的除了以上這 4 人,還有 6 名年輕的科學家,其中包括 40 歲的赫伯特·西蒙和 28 歲的艾倫·紐維爾。在這次研討會上,大家討論了當時電腦科學領域尚未解決的問題,包括人工智慧、自然語言處理和神經網路等。人工智慧這個提法便是這次會議上提出的,上文也有提到。在這個具有歷史意義的會議上,閔斯基的 SNARC、麥卡錫的 α-β 搜索法,以及西蒙和紐維爾的「邏輯理論家」是會議的 3 個亮點。下面我們來看一下西蒙和紐維爾的「邏輯理論家」是什麼。
西蒙和紐維爾均是來自卡內基美隆大學(當時還叫卡內基技術學院)的研究者,他們的研究成果在這次盛會上十分引人注意。「邏輯理論家」是西蒙和紐維爾研究出來的一個推理程式,他們聲稱這個程式可以進行非數值的思考。然後在這次研討會之後不久,他們的程式就能證明羅素和懷特海德的《數學原理》第二章的大部分定理。但是歷史往往對新鮮事物總是反應遲緩,他們將一篇與邏輯理論家合著的論文提交到《符號邏輯雜誌》的時候,編輯們拒絕了他們。
我們現在來看看這個研討會的成果,或者說叫意義。遺憾的是,由於歷史的局限,這個世界上最聰明的頭腦一個月的火花碰撞,並沒有產生任何新的突破,他們對自然語言處理的理解,合在一起甚至不如今天一名世界上一流大學的博士畢業生。但是這次研討會卻讓人工智慧領域主要的人物基本上全部登場,在隨後的 20 年,人工智慧領域就被這些人以及他們在 MIT、CMU、史丹佛和 IBM 的學生和同事們支配了。
我們看看這 10 個人,除了夏農,當時其實大多數都沒什麼名氣,但是不久之後便一個個開始嶄露頭角,其中包括四點陣圖靈獎的獲得者(麥卡錫、閔斯基、西蒙和紐維爾),這四位也是我上文主要介紹的四個人。當然,香農也不用得圖靈獎,作為資訊理論的發明人,他在科學史上的地位也圖靈也差不多了。
▲ 夏農
三、短暫的繁榮與困境
從這次會議之後,人工智慧迎來了它的春天,因為鑒於電腦一直被認為是只能進行數值計算的機器,所以,它稍微做一點看起來有智慧的事情,人們都驚訝不已。
因為鑒於當時簡單的電腦與程式設計工具,研究者們主要著眼於一些比較特定的問題。例如 Herbert Gelernter 建造了一個幾何定理證明器,可以證明一些學生會感到棘手的幾何定理;亞瑟·薩繆爾編寫了西洋跳棋程式,水準能達到業餘高手;James Slagle 的 SAINT 程式能求解大學一年級的閉合式微積分問題;還有就是結合了多項技術的積木世界問題,它可以使用一隻每次能拿起一塊積木的機器手按照某種方式調整這些木塊。
▲ 馬文·閔斯基與他的積木機器人。
雖然這些早期的人工智慧項目看起來擁有著巨大的熱情和期望,但是由於方法的局限性,人工智慧領域的研究者越來越意識到他們所遇到的瓶頸和困難,再加上沒有真正令人振奮人心的項目出來而導致資助的停止,人工智慧陷入了一個低潮。
產生這些現實困難的原因主要有三點。
第一點是大部分早期程式對要完成的任務的主題一無所知。就拿機器翻譯來說,給程式一個句子,會用的方法只是進行句法分割,然後對分割後的成分進行詞典翻譯,那這樣就很容易產生歧義。例如 I went to the bank,bank 既有銀行也有河岸的意思,如果只是單純的分割加單詞翻譯,這句話根本沒法解釋。
第二點是問題的難解性。上面我已經提到,早期的人工智慧程式主要解決特定的問題,因為特定的問題物件少、複雜度低,但是一旦問題的水準上來了,程式立馬就捉襟見肘了。
第三點就是程式本身的結構就有問題。例如閔斯基在 1969 年證明了兩輸入的感知機連何時輸入是相同的都判斷不了。
▲ 感知機模型
綜上,由於種種困難,再加上資助的減少,人工智慧步入了寒冬。這便是人工智慧歷史的上半段。
四、人工智慧的重生
上個世紀 80 年代中期,當初於 1969 年由 Bryson 和 Ho 建立的反傳學習演算法被重新發明,然後統計學在人工智慧領域的使用以及良好的效果也讓科學界為之一振。於是在新的結構和新的方法下,人工智慧又重獲新生。
首先興起的是語音辨識領域,在這個方面的成就一個重要的原因是隱瑪律可夫模型的方法開始主導這個領域。隱瑪律可夫模型包含「隱含」和「瑪律可夫鏈」兩個概念,瑪律可夫鏈是具有這樣一種特性的鏈條,就是現在的狀態只和前一個狀態有關,而和再往前的狀態沒有關係。所以我們遇到這樣一個鏈條的時候,我們可以隨機選擇一個狀態做為初始狀態,然後按照上述規則隨機選擇後續狀態。「隱含」的意思則是在這個瑪律可夫鏈上再加一個限制就是,任意時刻的狀態我們是不可知的,但是這個狀態會輸出一個結果,這個結果只和這個狀態相關,所以這個也稱為獨立輸出假設。
經過這麼一解釋我們就能看出,隱瑪律可夫模型是基於嚴格的數學理論基礎,這允許語音研究者以其他領域中發展數十年的數學成果為依據。其次這個模型的這種隨機性可以透過大量的真實語音進行訓練,這就保證了性能的強健性。
▲ 隱瑪律可夫模型簡圖
在瑪律可夫鏈的基礎上還誕生了一個以對不確定性知識進行有效表示和嚴格推理的形式化方法——貝葉斯網路。貝葉斯網路是一個加權的有向圖,是瑪律可夫鏈的拓展。瑪律可夫鏈保證了網路中的每一個狀態只跟與其直接相連的狀態有關,而跟與它間接相連的狀態沒有關係,那麼這就是貝葉斯網路。在這個網路中,每個節點的概率,都可以用貝葉斯公式來計算,貝葉斯網路因此得名。
貝葉斯網路極大地克服了 20 世紀 60 年代和 70 年代概率推理系統的很多問題,它目前主導著不確定推理和專家系統中的人工智慧研究。而且這種方法允許根據經驗進行學習,並且結合了經典人工智慧和神經網路最好的部分。所以有力的推動人工智慧領域走向現在我們正處的這個巔峰時代。
▲ 一個簡單的貝葉斯網路。雨水影響灑水器是否有動作,且雨水及灑水器兩者均可影響草是否濕潤。
除了這種演算法上的革新,還有兩個重要推動因素就是網路的興起以及極大資料集的可用性。就像我們用 Siri 的時候必須上網一樣,人工智慧系統基於 Web 的應用變得越來越普遍;我之前在文章《2015年,機器人界發生了哪些神奇瘋狂的故事?(下)》中介紹的 HitchBOT,它可以拍照、自動辨識路人的語言,並將回答顯示在螢幕上,這個能力也是透過在網路上搜尋相應的答案而實現的。
由於我們現在採用的方法已經基本上變為是基於概率的方法,所以我們需要有大量的資料庫訓練我們的系統,以完成監督學習。而現在的網路環境讓這種極大資料庫的獲得變得越來越方便和容易。就如我們所熟知的 ImageNet,ImageNet 是一個帶有標記資訊的圖片庫,裡面的圖片均已經由人對圖片內容進行了標記。它就好比是一個用於測試電腦視覺系統辨識能力的「題庫」,包含超過百萬道「題目」。 題目由圖像和對應的單詞(80% 為名詞)組成,考察的方式是電腦視覺系統能否辨識圖像中的物體,並返回正確的單詞。ImageNet 使用訓練題對電腦視覺系統進行「培訓」,然後用測試題測試其辨識能力。
▲ ImageNet 資料集
又如 AlphaGo,在 DeepMind 的主頁裡,AlphaGo 是這樣被介紹的:它是一種電腦玩圍棋的新方法,這種方法運用了基於深度神經網路的蒙地卡羅樹狀搜尋,而這個深度神經網路一方面是透過運用人類專家級圍棋棋局進行監督學習來訓練,另一方面還透過程式、電腦自己與自己博弈的增強學習來進行訓練,可見 AlphaGo 的成果也也與從人類專家級棋譜資料庫學習有關。
▲ DeepMind 的主頁裡關於 AlphaGo 的介紹。
今天這篇文章,我們從人工智慧的萌芽一直到 AlphaGo 打敗擊敗歐洲冠軍樊麾職業二段這個里程碑式的事件截止,介紹了人工智慧能走到今天所遇到的艱難險阻與大風大浪。我相信,隨著電腦運算能力以及更加優化的演算法,以及大資料集和資料採擷等技術的幫助,人工智慧一定會繼續猛進。
(本文由 雷鋒網 授權轉載)