
2016年3月15日人機(jī)大戰(zhàn)第五盤,AlphaGo執(zhí)白280手中盤勝李世石,總比分4:1結(jié)束了這場持續(xù)一周的圍棋盛事。
我在廣州愛范兒公司和吳肇毅九段一起直播了這場比賽,感覺對機(jī)器的招法比較能夠理解。這使得我在這場特殊的比賽中,有時(shí)對局勢的判斷比吳九段更為準(zhǔn)確,雖然我的圍棋水平不高。下面用幾個(gè)圖來解釋一下機(jī)器開盤的失誤和技術(shù)特色。
在右邊的常見套路中,AlphaGo選擇了16位擋而不是Q10拆,放黑17位打入,接著繼續(xù)18位打,放黑19位沖21位斷,很簡單地就棄掉了三子。粗粗一看黑吃下三子實(shí)空不小,但這是AlphaGo的招法創(chuàng)新,黑布局感覺已經(jīng)落后了。因?yàn)榘子蠥位靠下的手段,會(huì)在上面形成一道厚勢,白棋把棋走在外面,對于厚味外勢的價(jià)值估計(jì)得比人類棋手更準(zhǔn),而且它的整體行棋方式也能與之配合。人類高手出于實(shí)戰(zhàn)考慮選擇實(shí)地的更多,通常認(rèn)為虛虛的外勢不太好掌控。從大局觀來看,AlphaGo的理解更合乎棋道。
這個(gè)局面的看點(diǎn)是AlphaGo第48手?jǐn)嗳?,然后被?1全部吃下,虧了不小的目數(shù)。這是確定無疑的損失,機(jī)器犯了錯(cuò)。這個(gè)錯(cuò)誤非常象AlphaGo和樊麾的第三局,它也是在黑右下大空里走了幾手,沒有棋卻損了空。為什么它這么下?
48手這個(gè)斷是很明顯的直覺要點(diǎn),在AlphaGo的策略網(wǎng)絡(luò)里估計(jì)會(huì)是排名很前的選擇。后續(xù)搗亂可以連續(xù)多招,黑要小心應(yīng)對,下錯(cuò)了就立刻完蛋。黑應(yīng)對了,白可以繼續(xù)“考驗(yàn)”黑。AlphaGo也會(huì)用策略網(wǎng)絡(luò)模擬黑的應(yīng)對,正確應(yīng)對的招數(shù)肯定有,但也有錯(cuò)誤的建議給出來。這樣,連續(xù)搜索展開后,在不少葉子節(jié)點(diǎn)AlphaGo高興地發(fā)現(xiàn)黑應(yīng)錯(cuò)了被白一舉擊潰。就算黑一直應(yīng)對正確,最后白損失也不大,能夠完封右邊中,大局上還是自己好。所以,蒙特卡洛模擬(MCTS)對48這手給出的勝率評分會(huì)比較高。這應(yīng)該算是AlphaGo算法框架的一個(gè)bug。AlphaGo愿意下這種“局部變化復(fù)雜,對手應(yīng)對錯(cuò)誤自己立刻勝利,應(yīng)對正確自己稍虧但大局還好”的辣招。對人類高手來說,這種計(jì)算應(yīng)該不難,所以就占了便宜。48手算是虧目較多的一次小bug,但是局面還早。這時(shí)AlphaGo對自己的勝率估計(jì)應(yīng)該比下出48手時(shí)低一些了,它終于知道吃了虧,但當(dāng)初就是愿意去這么試。因?yàn)槭謹(jǐn)?shù)較多,它下48的時(shí)候并不知道會(huì)虧。只有定型的差不多了,才覺得算清了,沒有東西。
同樣原理的著手在收官階段出現(xiàn)多次,AlphaGo幾次在一路撲吃被提。它不虧,不會(huì)減少自己的勝率,萬一對手不應(yīng)還提高了勝率,損了劫材但反正它不想打劫。我估計(jì)這類著法是它的策略網(wǎng)絡(luò)向人學(xué)習(xí)的,人經(jīng)常在后半盤打劫、讀秒打?qū)⒌臅r(shí)候下這種一路撲。AlphaGo不理解人的意圖,但把招學(xué)了過去。學(xué)過去發(fā)現(xiàn)能提高勝率,就這么用起來了。
象48手虧空這樣的小bug是人可以利用的。如果人類高手完美發(fā)揮,各個(gè)環(huán)節(jié)都頂住,可能下和平的收空棋也能贏它了。但難度會(huì)很高,AlphaGo在劃分地盤這個(gè)環(huán)節(jié)實(shí)在太厲害了。這種棋要做的選擇非常多,哪步能占更多的空人沒有特別好的精確測算方式,只有靠感覺為主。而AlphaGo用幾百萬次模擬來統(tǒng)計(jì)性地判斷,比人要準(zhǔn)得多。這是AlphaGo的核心能力,大局觀碾壓人類。
不少職業(yè)棋手認(rèn)為李世石69過于靠上,被70鎮(zhèn)頭攻擊局勢很不利。具體應(yīng)該在哪吊,說法很多。不管黑下哪,這種局面是AlphaGo擅長的。它不一定要成哪一塊空,黑進(jìn)來它各種方法都會(huì)模擬試一下。如果模擬發(fā)現(xiàn)退縮不行,它就會(huì)進(jìn)行鎮(zhèn)頭分?jǐn)喙?,最后往往?huì)將成空潛力轉(zhuǎn)移到另一片地方去。最后人下來下去,總是被它在某個(gè)區(qū)域圍出很大的一片空。這種以厚勢為基礎(chǔ)的浮動(dòng)攻擊,靠吃棋威脅最后把虛空做實(shí)的下法,真的是很賞心悅目。
人類棋手評棋時(shí)往往會(huì)覺得,是不是破空手法不對啊,是不是刻往這個(gè)方向跑,是不是打入深一些才好,是不是進(jìn)得太深了。我認(rèn)為這很可能是根據(jù)結(jié)果來看的馬后炮。在這種局面下,擁有厚勢的一方可能已經(jīng)有了局面的主動(dòng)權(quán),AlphaGo根據(jù)自己的評分還是判斷得比較準(zhǔn)的,你怎么進(jìn)來它都有應(yīng)對的辦法。
李世石如果選擇正確,可能情況會(huì)好些。可是實(shí)戰(zhàn)幾乎所有人都發(fā)現(xiàn)黑大虧了,自己兩眼苦活,白左上角已經(jīng)活了,中間又瞬間出現(xiàn)大空。這時(shí)白下出了100這手棋,人們應(yīng)該立刻意識到這等于是“勝利宣言”。這手很有味道,它并不是試圖在左下圍更多的空,而是準(zhǔn)備讓黑打入做活,但白也消除所有不安定因素收官穩(wěn)穩(wěn)獲勝。下C5之類的點(diǎn)是可能圍空更多,但黑仍然可以進(jìn)來搗亂,黑右下的厚勢就有用了。還不如用100這手消除任何變數(shù)。這種思維是人很難有的,它不去在里面守,反而在外面用堅(jiān)實(shí)的拆一來守。
后半盤黑的掙扎都沒有用,AlphaGo展現(xiàn)了高超的局面控制能力。最后認(rèn)輸時(shí)李世石盤面領(lǐng)先5目,是因?yàn)殡娔X想穩(wěn)勝,讓了一些回去。
這局李世石算是成功地測試出了AlphaGo開局虧目的一個(gè)小bug,但由于自身發(fā)揮有問題,還是被AlphaGo控制了,基本沒有機(jī)會(huì)。李世石的大局觀和局面判斷比AlphaGo要差很多,右下意料之外的收益可能反而害了他,讓他以為領(lǐng)先優(yōu)勢不小,后面沒有果斷出手制造第四局賴以獲勝的復(fù)雜局面。這局也沒有制造出劫爭,AlphaGo避劫照樣控制大局。
在總共五局高水平對局中,AlphaGo確實(shí)表現(xiàn)出了令人嘆為觀止的技術(shù)水平??梢苑浅S邪盐盏仡A(yù)測,以AlphaGo為代表的新一代圍棋AI將有超過職業(yè)棋手的技術(shù)實(shí)力。而人類的圍棋水平在人工智能程序的幫助下,會(huì)取得突飛猛進(jìn),特別是在大局觀上的認(rèn)識。機(jī)器即使在圍棋上完全戰(zhàn)勝了人,也不是災(zāi)難。可以看看國際象棋領(lǐng)域已經(jīng)發(fā)生過的事,有助于圍棋界正確認(rèn)識機(jī)器的作用。國際象棋程序的等級分比人類最高水平還高四五百分,對人類可以讓一個(gè)兵或者二先,平下人最好結(jié)局只是和。人們已經(jīng)完全承認(rèn)AI水平遠(yuǎn)高于人,用它們來更新布局理論,研究新手,在人與人對下時(shí)應(yīng)用。這樣人的水平也取得了飛速進(jìn)步,國際象棋大師越來越多。這次人機(jī)大戰(zhàn)圍棋的關(guān)注度空前提高,這對圍棋發(fā)展是非常有益的。所有熱愛圍棋的人,都要感謝AlphaGo的貢獻(xiàn)。
但另一方面,圍棋也將通過人類高手與機(jī)器的反復(fù)纏斗,以一種前所未有的方式展示其自身的魅力。AlphaGo與李世石的五盤人機(jī)大戰(zhàn),只是一個(gè)開始。不少新聞分析說,圍棋人工智能將很快全面戰(zhàn)勝人類,我認(rèn)為這是不正確的。
理論上來說,因?yàn)榻俚拇嬖?,圍棋是一種“上下文有關(guān)文法”,同樣一個(gè)局面,前一招是不是提劫,后續(xù)邏輯就會(huì)完全不一樣(按中國規(guī)則禁止全局同形再現(xiàn),有更多形式的“上下文有關(guān)”,但最常見的是劫)。而國際象棋、中國象棋等棋種是“上下文無關(guān)文法”,當(dāng)前局面如何形成的不影響后面結(jié)果。圍棋的復(fù)雜性,廣為人知的是狀態(tài)空間數(shù)比國際象棋多100多個(gè)0。但是從圍棋藝術(shù)和計(jì)算機(jī)算法角度來看,這種“上下文有關(guān)”造成的復(fù)雜性,遠(yuǎn)遠(yuǎn)超乎人的想象。下棋的人都知道,劫是讓圍棋的境界與藝術(shù)性大大升華的一個(gè)東西。基于MCTS的國際象棋程序,因?yàn)椤吧舷挛臒o關(guān)”,可以用多次模擬完美逼近看似很大的搜索空間。但是在圍棋上,“上下文有關(guān)”的劫,因?yàn)榭梢栽谌P任何一處找劫,MCTS算法的分枝數(shù)量瞬間爆炸,對搜索質(zhì)量造成毀滅性的打擊。這還只是一些簡單的劫爭。如果再考慮緩氣劫、兩手劫、連環(huán)劫、多劫循環(huán),可以說圍棋搜索算法僅僅只摸到打劫的邊,根本沒有深入劫爭問題的核心。
可以想象將圍棋盤擴(kuò)大到21路,狀態(tài)空間數(shù)又多幾十個(gè)0,AlphaGo訓(xùn)練之后在劃分地盤這個(gè)核心能力上還是可以超過人類,并不怕狀態(tài)空間增多。但是就算棋盤縮小到17路,AlphaGo也還是不喜歡打劫。只要還是MCTS算法框架,面對劫爭程序開發(fā)者想過各種處理辦法,都沒能很好應(yīng)對復(fù)雜的劫爭。谷歌團(tuán)隊(duì)也不太可能在這個(gè)問題上取得突破性進(jìn)展。
可以非常有把握地說,打劫的能力將是人類遠(yuǎn)遠(yuǎn)強(qiáng)于圍棋程序的地方。但是這個(gè)問題上機(jī)器也不是沒有出路,AlphaGo就向我們展示了如何通過避開劫爭分枝來控制局面。人類如何通過行棋,將機(jī)器逼得不得不打劫,會(huì)是一個(gè)很有意思的技術(shù)問題。從圍棋理論上來說,一方不怕打劫,一方拼命避劫,總是善于打劫的一方有利一些,高手善打劫。人類最高水平的棋手打劫能力是9段,機(jī)器的打劫能力可能只有業(yè)余3段。按AlphaGo把劫材走光的風(fēng)格,它不可能是一個(gè)劫爭高手。但是人類高手也沒有這樣的經(jīng)驗(yàn),如果將一個(gè)不配合的卻棋藝高超的對手逼入劫爭。
在對于非確定地域的價(jià)值估計(jì)上,AlphaGo可以通過幾百萬次收完算子的統(tǒng)計(jì)模擬,對人類有著壓倒性的技術(shù)優(yōu)勢。表現(xiàn)出來就是大局觀非常好,人類最高水平是9段,AlphaGo可能有13段。
在封閉式局部的戰(zhàn)斗中,AlphaGo對人類最高水平也仍然有優(yōu)勢。因?yàn)槿祟惔嬖谒悴磺?、得失判斷不清的問題。這方面的能力對比AlphaGo是10段,人類是9段。
在多個(gè)頭緒關(guān)聯(lián)的開放式接觸戰(zhàn)中,不需要引入劫爭的復(fù)雜,AlphaGo的搜索模塊也會(huì)碰到不小的麻煩。因?yàn)轭^緒多,對殺結(jié)果決定勝敗,只有人類高手能理清邏輯,找到正確的行棋路線圖。在這種復(fù)雜盤面,AlphaGo的三大搜索武器,價(jià)值網(wǎng)絡(luò)、快速走子策略、策略網(wǎng)絡(luò)全都失靈,就會(huì)忽然出現(xiàn)怪異的行棋選擇。這是人類戰(zhàn)勝機(jī)器最有希望的領(lǐng)域,人類是9段,機(jī)器只有業(yè)余5段。
在局部區(qū)域的定型手法中,AlphaGo出現(xiàn)了不保留變化早早定型的傾向。有些局面還會(huì)過早把手段使出來,以目數(shù)絕對虧損收場。這都是小問題。而人類心理狀態(tài)不穩(wěn)定,很難做到持續(xù)穩(wěn)定地發(fā)揮出最高水平,是一個(gè)大問題。
總體來說,AlphaGo和人類高手風(fēng)格迥然不同。事先分析,AlphaGo和人類高手各有所長,交鋒起來看點(diǎn)十足。AlphaGo會(huì)的,是在實(shí)戰(zhàn)中最經(jīng)常使用的。以大局觀為基礎(chǔ)的行棋方向選擇,是行棋中最常用最實(shí)用的本事,AlphaGo遠(yuǎn)超人類。在局部接觸戰(zhàn)中,AlphaGo擁有類似于窮舉的戰(zhàn)斗力,人類占不到便宜(虧目是AlphaGo為了提升勝率的小bug行為,明知?dú)⒉贿^也下。真正對它有利的戰(zhàn)斗,它不會(huì)放過)。這兩項(xiàng)本事都是最常用的,所以AlphaGo平時(shí)行棋就帶有一種獨(dú)特的魅力,時(shí)不時(shí)讓人類驚嘆它的判斷力與創(chuàng)造力。人類如果在這兩項(xiàng)技術(shù)上和AlphaGo斗爭,將毫無勝算,甚至差距會(huì)越拉越大。
而人類需要有意地將局面引入對自己這方有利的格局中。通過劫爭,復(fù)雜盤面多處頭緒關(guān)聯(lián)分析,在適合于自己的戰(zhàn)場將AlphaGo擊潰。人類互相之間針鋒相對,很容易到達(dá)這種局面。然而AlphaGo會(huì)有意繞過劫爭分枝,搶先定型簡化局勢。
雙方這樣各有所長,又特點(diǎn)鮮明,持續(xù)纏斗起來會(huì)非常火爆,看點(diǎn)十足。我非常期待,職業(yè)棋手們能夠普遍了解AlphaGo的特性,制定正確的迎戰(zhàn)策略。而雙方又無疑會(huì)互相學(xué)習(xí),試圖減輕自己的弱點(diǎn),學(xué)習(xí)對方的長處。如谷歌可能會(huì)通過持續(xù)訓(xùn)練與研發(fā),將AlphaGo的弱點(diǎn)隱藏得更深。而人類一方面加強(qiáng)自己的大局觀與局部手段,另一方面又動(dòng)腦筋去使出手段將局面引導(dǎo)入劫爭、復(fù)雜盤面。從圍棋藝術(shù)發(fā)展來看,這會(huì)是一個(gè)非常激動(dòng)人心的歷史機(jī)遇。
因此,要非常感謝谷歌研發(fā)出了AlphaGo這么一個(gè)威力強(qiáng)大又十分有趣的好東西。人類與機(jī)器激動(dòng)人心的纏斗不會(huì)很快結(jié)束,雙方的優(yōu)勢與弱點(diǎn)都會(huì)長期存在。圍棋作為計(jì)算機(jī)算法“完全信息博弈”問題中當(dāng)之無愧的皇冠,會(huì)進(jìn)一步展示出它真正的魅力,不會(huì)一下子被突破,很長時(shí)間內(nèi)還會(huì)是核心難題。人類也會(huì)不斷向機(jī)器學(xué)習(xí)它擅長的領(lǐng)域,提高自己的技藝。圍棋歷史上又一次意義巨大的革命已經(jīng)在發(fā)生。