張江,北京師範大學系統科學學院副教授。主要關注領域:複雜系統中的流網絡、異速生長、經濟社會系統多樣性。2003年創辦早期的集智俱樂部網站,2007年創辦線下活動的集智俱樂部,組織多學科研討會、讀書會。
361個格子,黑白兩種棋子。雙方輪流下棋,一方上、下、左、右四子將另一方子圍住就可以把它吃掉,Over。
這就是圍棋——迄今為止人類發明的最偉大遊戲(沒有之一,至少在我心目中)。據傳圍棋的發明可以追溯到堯的時代,經過4000多年的演化,圍棋的基本規則從來沒有變過,然而在這個小小19*19的棋盤上卻湧現出了何止成千上萬的玩法,凝聚了多少高手的注意力!
圍棋之所以好玩就在於它的湧現性——在這組簡單規則之上展現出來的複雜特性。首先,圍棋並不是簡單地碼子,而是在較量圍空的能力。空是中國傳統哲學中的一個重要概念。老子云,「有之以為利,無之以為用」。我們用杯子的空盛水,用門洞的空通行。正是由於這種有無、陰陽的變換使得圍棋的複雜性遠遠超過了其他棋類。
其次,圍棋需要有大局觀,也就是從比較大的空間尺度思考棋子的布局。初學者下棋往往喜歡將棋子緊密地排布,而不會跳躍著擺棋——這是因為它們尚不會從更大的空間尺度思考問題。所以,第一步突破就是要擺脫局部的思維,看到整體的模式和運動規律。
然而,這並不意味著只要我們學會圍棋的態勢,隨隨便便地在棋盤亂擺幾個子就行了。我們還必須學會局部的絞殺,因為局部絞殺不利就會失去一大片土地。這就是圍棋中的對稱性破缺現象——本來勢均力敵的黑白態勢會一下子被大面積地提子而打破。
智力始終在追逐可玩性強的遊戲。智力對遊戲的沉浸時間基本是和智能的強弱成正比。因此,當人工智慧(Artificial Intelligence,簡稱AI)逐步成長起來後,必然會在這個棋盤上對人類發起挑戰。這一天終於來臨了。
我們知道,早在1997年,IBM開發的大型機深藍就是靠超強計算能力戰勝了西洋棋世界冠軍卡斯帕羅夫。然而這一招放到圍棋上就不靈了,原因在於圍棋的搜索空間太大了,據說圍棋棋局的可能性空間甚至多於宇宙中所有原子數目的總和——這恰恰是因為圍棋中有大量的空,而不僅是棋子佔領的實。人類則因為可以在高層次判斷棋局的態勢,從而用直覺和棋感裁減掉大量的可能性分支。
AlphaGo要想戰勝人類需要採取完全不同的思路,這就是機器學習。機器學習與傳統的暴力搜索AI很不一樣。就像我們教小孩,傳統的AI是一種填鴨式教育,小孩只會死記硬背;而機器學習更像是素質教育,為小孩提供一個舞臺,放手讓他自己表演。所以,原則上講,Google工程師們就是為AI搭建了一個舞臺,這包括兩套網絡:政策網絡(Policy network)和評價網絡(Value network),剩下來的就是失控,讓AI程序在大規模的計算和學習中自發湧現。
政策網絡主要幫助AlphaGo學習棋譜,它們搜颳了大量網絡上的人類棋譜。評價網絡則學習各種實戰經驗。然而實戰學習的一個關鍵問題是,誰來反饋給機器關於某一步走法正確與錯誤的信息呢?要知道,原則上講圍棋的任何一步走棋都沒有絕對的好壞,只有最後時刻才能定出輸贏。事實上,在這次人-機對戰中,有很多AlphaGo的走法都讓圍棋高手看不懂,以為是爛招,但事後復盤才發現原來那招很妙:也就是說,在漫長的走棋過程中,人類導師不可能給AlphaGo任何指導信息。於是,AlphaGo不得不祭出了它的殺手鐧——強化學習算法(Reinforcement learning algorithm)。
其實,強化學習早在1950年代的時候就被發明。在1956年的達特茅斯會議上(人工智慧這個詞兒就是在這個大會上提出來的,因此1956年被認為是人工智慧元年,而達特茅斯也被認為是人工智慧的誕生地),著名計算機科學家Arthur Samuel的跳棋程序大顯身手,它通過反覆的強化學習可以輕鬆打敗這個程序的作者,並很快能夠與美國的某個州冠軍相媲美。
我們不妨將一步一步的棋局看作一條時間中的長長鏈條,在這條鏈的終點就是可以分出輸贏的結局。於是,如果機器下完一盤棋並且獲勝,就有一罐蜂蜜從這條鏈的終點反向傳播,沿途播撒蜜汁給那些棋局。這樣,當機器開始一局嶄新的棋局的時候,它就知道追逐蜂蜜的引導而走棋。漸漸地,機器就具備了自己的好惡,慢慢培養出了棋感。
就這樣,在上千萬次AlphaGo自己和自己的對局中就訓練出來了評估網絡,具備了實戰經驗。 然而僅僅有強化學習抹蜂蜜的本領還不行。要知道,AlphaGo面對的可是全世界冠軍,必須要像高手那樣有大局觀,而圍棋的複雜性也體現在它的多尺度特徵上。
於是,AlphaGo需要祭出它的第二號殺手鐧——卷積神經網絡(Convolutionalneural network,簡稱CNN)——聽這名就夠扭曲和神經的。事實上,近幾年深度學習發展突然這麼火爆就是和這個卷積網絡的大範圍應用分不開的。這種網絡相比較傳統的神經網絡最大的進步就在於考慮到了空間上的平移、旋轉不變性,使得圖像識別率可以得到大幅度提高。而配備上多個層次的卷積網絡則可以讓它在多尺度上處理圖片信息。其實,傳遞給AlphaGo的棋局信息都要首先經過卷積網絡的處理,提取出多個不同尺度的信息,才交給其他網絡加以處理。這就使得它可以既具備大局觀,又能在局部絞殺。
當然,上面提到的所有機器學習技術都是在賽前使用的,AlphaGo必須在對戰前完成大規模的學習。但是,在比賽的過程中,AlphaGo還必須能夠臨場發揮,從自己龐大的學習經驗庫中調取應戰策略。而這種調度方法就需要由蒙特卡洛搜索技術來完成。蒙特卡洛是歐洲的一個著名的賭城,相當於美國的拉斯維加斯。一提賭博,我們一定能聯想到骰子和老虎機。所以蒙特卡洛就成為了隨機、機遇的代名詞。蒙特卡洛搜索便是一種隨機搜索策略,它比傳統的搜索算法更加快速而實用。
儘管這三個技術看起來都不複雜——但是它們的疊加使用足以讓每一個人工智慧工程師眼花繚亂以至於崩潰,因為湧現正在大規模集成電路中發生。正是這種超越規則的湧現才使得AlphaGo看起來具備了智能。
當人們還在喋喋不休地爭論機器是否能具有創造力的時候,AlphaGo已經開創出了圍棋歷史上的全新走法,甚至可以說是Alpha流派。比賽後,人們津津樂道於AlphaGo發明出來的讓所有圍棋大師都大跌眼鏡的奇葩走法。什麼自我意識、創造力,一切都是浮雲。只要給我足夠強大的學習空間,大規模代碼的交互足以產生令人崩潰的複雜性的時候,我就可以湧現出任意你們人類引以為豪的東西。所以,失控與湧現才是上帝的寵兒。
無論後面三場比賽的結果如何,AI已然摧殘和打擊了人類的自信心和自尊心。人們不禁迷茫——是不是人類以後就沒必要舉行圍棋比賽了?所有的棋局走法都交給人工智慧來發明好了?是不是我們人類做一切事情都沒有意義了?全部等待著AI來超越好了?
當人類沿著這種思路思考的時候,其實已經將人和機器推到了一個有限的遊戲框架中。於是,雙方處於一種不是你死就是我活的二難境界。然而,正如詹姆斯•卡斯(James P. Carse)所說的,除了這種司空見慣的有限遊戲,宇宙中還存在著更大的無限遊戲。而這種無限遊戲的最終目標是參與其中,而不是獲得勝利。針對圍棋而言,我們不應該將AI用於戰勝人類,而是應該運用強大的AI程序來改造圍棋遊戲本身。我們知道,由於簡單性,圍棋規則已經經歷了四千多年的歷史幾乎沒有任何變化。那麼,AI是否能夠給我們帶來一個全新升級版的圍棋遊戲,讓所有的人都能參與其中並樂此不疲?順便廣告一下,沿著這個思路,集智俱樂部的羅三水同學正在嘗試結合生命遊戲和圍棋,而創造出了生命圍棋的新型遊戲(詳情請見:http://gooflife.com/)
總而言之,我們習慣沿襲一種工業化時代的世界觀來思考人和機器的關係,於是戰勝與取代似乎是必然的結局。然而,當我們從封閉世界走向開放宇宙,人-機共生將會給我們帶來更加寬廣的天地。也許未來AI的最大用途就是設計遊戲,最終將會出現一個超級好玩的Matrix世界,所有人類將醉生夢死其中。
讓蘋果砸得更猛烈些吧!!!
長按識別二維碼,關注集智俱樂部,
讓我們離科學探索更近一步。