3月13日,,首爾,。當(dāng)李世乭九段步入新聞發(fā)布會(huì)場(chǎng)之時(shí),全場(chǎng)觀眾齊呼“李世乭”,,一如兩千年前的羅馬市民迎接凱旋的將軍,。李世乭在職業(yè)生涯中曾贏得冠軍無數(shù),但受到如此祝賀是頭一回,。李世乭說,,只是贏了一盤棋,,不需要這樣隆重祝賀的,。不過,從他嘴角掩藏不住的笑容可以窺見,,他的內(nèi)心或許比現(xiàn)場(chǎng)的觀眾更為喜悅,。
這是一場(chǎng)在三尺紋枰上“人類”與“人工智能”的巔峰對(duì)決。坐在棋盤兩邊的,,一方是李世乭九段,,人類最優(yōu)秀的圍棋手之一;另一方是圍棋程序AlphaGo(以下稱“阿爾法”),,由谷歌旗下DeepMind公司開發(fā),。
圍棋界在賽前一致看好李世乭橫掃阿爾法。然而,,比賽的進(jìn)程卻出乎所有人的意料,。前三局比賽,李世乭不但全部落敗,,而且甚至沒有尋覓到明顯的勝機(jī),。
在李世乭提前輸?shù)粝盗匈愔螅褰巛浾擄L(fēng)向調(diào)轉(zhuǎn),。韓國頂尖棋手金志錫九段稱要受讓二子才能和阿爾法一戰(zhàn),,中國的古力九段則在解說中開始稱阿爾法“老師”。此時(shí),,幾乎沒有人認(rèn)為在余下的兩局棋中,,李世乭還有機(jī)會(huì)贏一局。
在此背景下,,李世乭的絕地反擊才顯得彌足珍貴,。
這一盤棋,李世乭在黑方阿爾法的大陣中撒豆成兵,,這正是他的成名絕技“僵尸流”,。阿爾法一步步落入李世乭的圈套,卻毫無察覺,。就在黑棋即將合圍大陣,,將白棋一網(wǎng)打盡之時(shí),,李世乭祭出驚天一“挖”,正中黑棋的軟肋,。阿爾法的招法開始變得凌亂,。數(shù)個(gè)回合之后,阿爾法接連犯下低級(jí)錯(cuò)誤,。李世乭此后安全運(yùn)轉(zhuǎn),,守住了勝利果實(shí)。數(shù)據(jù)顯示,,阿爾法似乎沒有預(yù)見到李世乭的妙手,,以至于形勢(shì)急轉(zhuǎn)直下。對(duì)此,,李世乭說:“我的眼里只有那一手棋,,沒有任何其他選擇,我必須走那里,。我只能謙卑地感謝神明,,我這些天的祈禱換來了這樣的閃光?!?/p>
令人稍感意外的是,,研究計(jì)算機(jī)圍棋的工程師們?cè)谫惽耙膊⒉豢春冒柗ǐ@勝。從計(jì)算機(jī)圍棋幾十年的發(fā)展歷史來看,,他們做出如此推斷是相當(dāng)客觀的,。
1968年,第一個(gè)圍棋程序問世,。此后的二十多年間,,計(jì)算機(jī)圍棋發(fā)展緩慢。
1991年,,中山大學(xué)教授陳志行退休后開始研發(fā)名為“手談”的圍棋程序,。其后,“手談”在8年間九獲計(jì)算機(jī)圍棋世界冠軍,,并接連受讓15子,、13子、11子戰(zhàn)勝青年業(yè)余高手,。陳志行自己也是業(yè)余圍棋高手,,曾多次參加全國業(yè)余圍棋大賽,并取得不俗成績,。陳志行曾經(jīng)設(shè)想“手談”能夠在讓九子對(duì)局中戰(zhàn)勝自己,。
圍棋盤縱橫19道,其上均勻分布著9個(gè)黑色的圓點(diǎn),,稱“星位”,。讓9子對(duì)局,,就是白方讓黑方先占據(jù)棋盤上的9個(gè)星位,才開始對(duì)局,。部分棋手認(rèn)為,,能夠受讓9子戰(zhàn)勝業(yè)余高手,才算是“會(huì)下圍棋”,。
世紀(jì)之交,,國際象棋的程序在與人類頂尖棋手的對(duì)抗中已經(jīng)穩(wěn)穩(wěn)占據(jù)上風(fēng),而圍棋的程序則在“會(huì)下圍棋”和“不會(huì)下圍棋”的邊緣徘徊,。據(jù)此,,有職業(yè)棋手推斷,幾十年之內(nèi)都不會(huì)有圍棋程序戰(zhàn)勝人類頂尖棋手,,或許永遠(yuǎn)都不會(huì),。
1997年,美國IBM公司的“深藍(lán)”超級(jí)計(jì)算機(jī)以2勝1負(fù)3平戰(zhàn)勝了當(dāng)時(shí)世界排名第一的國際象棋大師卡斯帕羅夫,。“深藍(lán)”的運(yùn)算能力當(dāng)時(shí)在全球超級(jí)計(jì)算機(jī)中居第259位,,每秒可運(yùn)算2億步
圍棋人的自信并非無源之水,。圍棋和國際象棋都是兩人對(duì)戰(zhàn)的完全信息游戲,而人類棋手在棋盤上的決策過程也差異不大:首先搜尋當(dāng)前局面下看上去所有可行的下一步,,然后對(duì)其中每一步棋產(chǎn)生變化之后的局面進(jìn)行評(píng)估,,最后通過比較,選擇對(duì)自己最有利的一步棋,。
理論上來說,,計(jì)算機(jī)程序只需要解決“搜尋”和“評(píng)估”這兩個(gè)問題,就可以達(dá)到很高的水平,?!吧钏{(lán)”正是這樣做的。
“深藍(lán)”在搜尋方面近乎“窮舉”,。雖然效率不如人類,,但能夠比人類算得更深一層。至于評(píng)估,,“深藍(lán)”采用和人類相似的辦法,,給不同的棋子賦予相應(yīng)的權(quán)重?!吧钏{(lán)”之后的國際象棋程序,,原理上大同小異,卻已經(jīng)將人類棋手遠(yuǎn)遠(yuǎn)甩在身后,。
然而,, 圍棋程序不可能采取相同的辦法,。一方面,圍棋變化的深度和廣度都遠(yuǎn)超國際象棋,,這使得“深藍(lán)”的暴力搜索算法沒有可行性,。另一方面,評(píng)估一個(gè)局面孰優(yōu)孰劣,,在圍棋上也并非易事,。
職業(yè)圍棋手判斷形勢(shì)的方法,由于具有很大模糊性,,很難被程序模仿,。于是,包括“手談”在內(nèi),,與“深藍(lán)”同時(shí)代的圍棋程序幾乎都是在試圖模仿人類棋手的招法,。
工程師們竭盡全力讓程序理解“征子”、“雙活”,、“愚形”,、“小飛”等人類初學(xué)者在一個(gè)月之內(nèi)就能掌握的概念,然而效果卻并不理想,。也有開發(fā)者給程序輸入開局庫,,使得程序在遇到常見布局時(shí)能夠復(fù)制職業(yè)棋手的招數(shù)。不過,,一旦對(duì)手變招,,程序便無所適從。陳志行等人苦心經(jīng)營十余年,,也未能讓“手談”突破頂尖業(yè)余棋手的9子大關(guān),。
就在大部分同行還在努力給程序打補(bǔ)丁之時(shí),2006年,,法國工程師Remi Coulom取得了突破,。他將蒙特卡洛搜索法應(yīng)用到他的圍棋程序CrazyStone中,并在當(dāng)年的計(jì)算機(jī)圍棋世界奧林匹克9路棋盤項(xiàng)目上奪魁,。
蒙特卡洛法的主要優(yōu)勢(shì)在于其獨(dú)辟蹊徑的局面評(píng)估方法,。對(duì)于某一個(gè)特定的選擇,程序用近乎隨機(jī)落子的方式快速完成一盤棋,,并判定勝負(fù),。
重復(fù)此過程多次,比如說10萬次之后,,黑方在其中獲勝4萬局,。那么程序就認(rèn)為最初的那步棋勝率是40%。這種判斷方式,與人類的“數(shù)目法”,,即估計(jì)雙方領(lǐng)地大小的差距,,有本質(zhì)不同。
如果說之前的圍棋程序都只是拙劣地模仿人類的圍棋知識(shí),,那么采用蒙特卡洛法的程序則擁有了自己的“思維方式”,。
此后兩年,采用蒙特卡洛法的程序如雨后春筍般出現(xiàn),。2008年,,程序MoGo首次在受讓9子的對(duì)局中戰(zhàn)勝職業(yè)棋手。同年,,CrazyStone接連突破職業(yè)棋手的8子和7子關(guān),。2012年,程序Zen在僅受讓4子的一局棋中,,戰(zhàn)勝久負(fù)盛名的日本職業(yè)棋手武宮正樹九段,。Zen的這一成就意味著它達(dá)到了業(yè)余5段的水平,躋身業(yè)余好手之列,。這段時(shí)間,,計(jì)算機(jī)圍棋的發(fā)展速度讓業(yè)內(nèi)人士預(yù)測(cè),十年之內(nèi)將有程序達(dá)到職業(yè)水平,。
技術(shù)的進(jìn)步并非總是一帆風(fēng)順,。2012年之后,采用蒙特卡洛法的程序幾無寸進(jìn),。Zen、CrazyStone等少數(shù)程序在計(jì)算機(jī)圍棋賽中輪流坐莊,,絕對(duì)實(shí)力卻未見提升,。蒙特卡洛法似乎遇到了瓶頸。幸運(yùn)的是,,2015年前后,,深度學(xué)習(xí)技術(shù)飛速發(fā)展,研究計(jì)算機(jī)圍棋的工程師也從中找到了新的靈感,。阿爾法由此橫空出世,。
阿爾法的開發(fā)團(tuán)隊(duì)由22名優(yōu)秀的工程師組成。其中,,來自臺(tái)灣的黃士杰(Aja Huang)扮演重要角色,。黃士杰是臺(tái)灣的業(yè)余6段棋手,他開發(fā)的程序Erica曾擊敗Zen,,奪得2010年計(jì)算機(jī)圍棋奧賽冠軍,。雖然阿爾法的開發(fā)時(shí)間并不很長,但其中的關(guān)鍵部分與黃士杰等人的多年積累密不可分,可謂十年磨一劍,。
阿爾法主要由走棋網(wǎng)絡(luò),、估值網(wǎng)絡(luò)和蒙特卡洛法三部分組成。
走棋網(wǎng)絡(luò)和估值網(wǎng)絡(luò)均基于“深度卷積神經(jīng)網(wǎng)絡(luò)”技術(shù),。該技術(shù)的靈感與人類大腦的結(jié)構(gòu)密切相關(guān),。走棋網(wǎng)絡(luò)和估值網(wǎng)絡(luò)就好比阿爾法的“左腦”和“右腦”,走棋網(wǎng)絡(luò)負(fù)責(zé)選擇招法,,而估值網(wǎng)絡(luò)負(fù)責(zé)評(píng)估局面,,然后由蒙特卡洛法將它們連結(jié)成一個(gè)完整的大腦,最后輸出招法,。
走棋網(wǎng)絡(luò)通過學(xué)習(xí)職業(yè)(或業(yè)余高手)棋譜和大量自我對(duì)局訓(xùn)練而成,。經(jīng)過訓(xùn)練,走棋網(wǎng)絡(luò)對(duì)于一個(gè)特定的局面,,能夠快速給盤面上所有可能的選擇給出評(píng)分,。
走棋網(wǎng)絡(luò)的判斷賦予了阿爾法如同人類棋手一樣的特殊“棋感”,即對(duì)特殊棋形做瞬時(shí)判斷的直覺,。對(duì)于人類棋手,,通常需要多年的訓(xùn)練才能建立這樣的“棋感”。這種棋感,,曾被認(rèn)為是人工智能難以模仿的,。無論是手談還是Zen,它們?cè)陬愃乒δ艿膶?shí)現(xiàn)上,,基本只是對(duì)工程師輸入知識(shí)的直接反饋,。一旦遇到知識(shí)庫里不存在的棋形,它們就可能一臉茫然,。
阿爾法則不同,。“深度卷積神經(jīng)網(wǎng)絡(luò)”讓阿爾法能夠在輸入知識(shí)的基礎(chǔ)上舉一反三,。不僅如此,,阿爾法還通過自我對(duì)局進(jìn)一步提升判斷的準(zhǔn)確度,這使得阿爾法擁有了超越人類“棋感”的潛力,。
“棋感”足以讓阿爾法成為一名業(yè)余好手,,但離職業(yè)棋手還很遠(yuǎn)。僅憑直覺做出的選擇仍然包含著大量的錯(cuò)誤,。與人類棋手一樣,,阿爾法也需要判斷形勢(shì)。人類的形勢(shì)判斷算法大致是估計(jì)對(duì)局雙方地盤大小的差值,。阿爾法的估值網(wǎng)絡(luò)則計(jì)算特定局面下雙方的獲勝概率,。
與走棋網(wǎng)絡(luò)類似,阿爾法同樣進(jìn)行大量(三千萬局)自我對(duì)局獲得樣本。一局棋中如果是黑方獲勝,,那么阿爾法就對(duì)相似局面下黑棋優(yōu)勢(shì)的判斷更有信心,。
另外,阿爾法還有名為“快速走子”的技術(shù)輔助判斷,。
“快速走子”,,顧名思義就是以比走棋網(wǎng)絡(luò)更快的速度落子。雖然這樣走出的招法質(zhì)量稍遜,,但速度比走棋網(wǎng)絡(luò)快一千倍,。更重要的是,通過“快速走子”代替?zhèn)鹘y(tǒng)蒙特卡洛法中的隨機(jī)落子,,使得阿爾法對(duì)勝率的估計(jì)更為準(zhǔn)確,。
將“快速走子”與估值網(wǎng)絡(luò)結(jié)合,阿爾法能夠相當(dāng)準(zhǔn)確地判斷絕大多數(shù)局面的勝率,。這種形勢(shì)判斷的方法不同于人類棋手的思路,。從阿爾法與李世石對(duì)戰(zhàn)的結(jié)果看,阿爾法的判斷在大多數(shù)時(shí)候甚至強(qiáng)于李世石,,令職業(yè)棋手們高山仰止,。
盡管深度學(xué)習(xí)技術(shù)幫助阿爾法完成了飛躍,蒙特卡洛法仍然是阿爾法不可或缺的一部分,。蒙特卡洛法把走棋網(wǎng)絡(luò)的選擇和估值網(wǎng)絡(luò)的形勢(shì)判斷結(jié)合在一起,,通過邏輯判斷輸出最優(yōu)的招法。
阿爾法的三個(gè)組成部分分工明確,,配合默契,,完整地實(shí)現(xiàn)了類似于人類棋手的思考過程,且擁有超越人類思考能力的潛力,。
阿爾法的進(jìn)步速度,,遠(yuǎn)遠(yuǎn)超出業(yè)內(nèi)人士的想象,甚至可能也超出了阿爾法開發(fā)團(tuán)隊(duì)的期望,。
2015年10月,阿爾法擊敗樊麾之時(shí),,開發(fā)者估計(jì)阿爾法世界排名約為250名左右,。2016年1月末,在新聞發(fā)布會(huì)上,,阿爾法團(tuán)隊(duì)聲稱對(duì)抗李世乭“有五成把握”,。
前三局棋,阿爾法幾乎沒有給李世乭什么機(jī)會(huì),。若不是李世乭在逆境下的靈光一現(xiàn),,人類或許就要認(rèn)為阿爾法是無懈可擊的了。所幸李世石九段奮力一擊,暴露了阿爾法的問題所在,。
阿爾法在第四局中的低級(jí)錯(cuò)誤,,大致是在面對(duì)帶有劫爭(zhēng)的復(fù)雜變化時(shí)誤判,因而在開劫之前耗盡劫材,。前一代以蒙特卡洛法為主算法的程序多數(shù)出現(xiàn)過相同問題,。在賽前,就有業(yè)內(nèi)人士懷疑阿爾法是否已經(jīng)解決了此問題,,從結(jié)果來看似乎并沒有,。這是一個(gè)有十年歷史的“頑疾”,不一定能夠在短期內(nèi)得到解決,。
然而,,無論如何,能夠戰(zhàn)勝李世乭,,證明阿爾法和計(jì)算機(jī)圍棋的前方是一條康莊大道,。采用類似技術(shù)的其它圍棋程序也已取得不俗成績。
由田淵棟博士開發(fā)的Facebook旗下程序Darkforest,,短短幾個(gè)月就達(dá)到了業(yè)余4段的水平,;新一代的Zen在結(jié)合了深度卷積神經(jīng)網(wǎng)絡(luò)之后,也提升到了強(qiáng)業(yè)余5段的水平,。幾年之內(nèi),,擁有職業(yè)水平的圍棋軟件就將飛入尋常百姓家。
阿爾法的“思維方式”和人類棋手大相徑庭,,卻達(dá)到了人類的頂尖水平,。她的未來沒有極限。
阿爾法的勝利是幾代工程師智慧的結(jié)晶,,是人工智能技術(shù)進(jìn)步的里程碑,;而李世乭的“神之一手”是人類棋力登峰造極的濃縮,是四千年圍棋藝術(shù)的冰山一角,。這一場(chǎng)挑戰(zhàn)賽,,沒有輸家。古老的圍棋和新興的人工智能都還有很長的路要走,,希望它們?cè)谖磥砟軌虿脸龈鄣幕鸹ā?/p>