柯潔參加《朗讀者》
?。ㄎ恼聛碓矗河^察者網(wǎng) 專欄作者陳經(jīng))
醞釀了近一年的二次人機(jī)大戰(zhàn)終于有了正式消息。4月10日,谷歌與中國棋院宣布,2017年5月23日起,AlphaGo將與柯潔進(jìn)行三番棋對(duì)決。勝者獎(jiǎng)金150萬美元,負(fù)者出場費(fèi)也高達(dá)30萬美元,是圍棋比賽有史以來的最高獎(jiǎng)金。
一、勝一盤的重要性
然而,150萬美元獎(jiǎng)金雖高卻像畫餅,幾乎沒人相信柯潔能勝兩盤獲得比賽的勝利。但這不是錢的事,只要柯潔勝一盤,就能封神了。
這次比賽會(huì)下滿三盤,古力說柯潔只有10%的機(jī)會(huì)勝一盤,還可能樂觀了。一些資深棋迷打賭開的賠率也是柯潔勝一盤賠10倍。這相當(dāng)于說,柯潔和AlphaGo下,30盤才能勝一盤。
棋界現(xiàn)在一種說法是,AI戰(zhàn)勝人類帶來圍棋技術(shù)的大發(fā)展,人類學(xué)習(xí)AI與AI共同進(jìn)步。這算是呼應(yīng)谷歌團(tuán)隊(duì)的姿態(tài),說棋藝有大發(fā)展、學(xué)習(xí)AI,這都沒問題。但圍棋首先是個(gè)勝負(fù)的游戲,對(duì)職業(yè)棋手來說,勝負(fù)壓倒一切。圍棋和國際象棋、中國象棋不一樣,和棋極少,輸半目也是輸,更殘酷。現(xiàn)在不能認(rèn)慫,還是應(yīng)該爭取戰(zhàn)勝AlphaGo,只勝一盤意義都大于這150萬美元的獎(jiǎng)金。我相信,如果柯潔能勝AlphaGo一盤,倒貼錢他都愿意??聺嵶约阂彩嵌分緷M滿,在央視《朗讀者》上讀哈里波特,把AlphaGo比作伏地魔,聲稱要“零封AlphaGo”。
去年李世石以1:4慘負(fù)AlphaGo,震動(dòng)了棋界甚至整個(gè)世界,引發(fā)了人工智能熱潮?!蹲匀弧放c《科學(xué)》都將這個(gè)事件列為年度八大、十大科技進(jìn)展。對(duì)外界來說,1:4和0:5似乎區(qū)別不大,對(duì)棋界就不一樣了。如果沒有這一勝,棋手們面對(duì)AlphaGo將極度自卑,只剩下各種恐懼與膜拜。去年人機(jī)戰(zhàn)第三盤AlphaGo序盤碾壓李世石,以3:0勝出比賽的時(shí)候,棋界氣氛極度壓抑,幾乎沒人再對(duì)李世石抱有希望。直到第四盤李世石勝出,棋手們才恍然大悟,原來AlphaGo的命門是計(jì)算!整個(gè)棋界大緩了一口氣。李世石說,這一勝拿什么也不換,意義真有這么大。
去年正因?yàn)槲疑钌钪廊祟悇倬值闹卮笠饬x,才在幾乎所有人都絕望的時(shí)候,仍然堅(jiān)持分析AlphaGo的弱點(diǎn),還真預(yù)測到了李世石勝出的方式。
Master年初60:0碾壓人類高手,現(xiàn)在棋界的氣氛又和去年3:0時(shí)差不多了。某種程度甚至更為絕望,因?yàn)檫@回盤數(shù)很多有說服力。而且能戰(zhàn)勝人類的AI不只AlphaGo了,還有絕藝和DeepZenGo。好消息是有職業(yè)實(shí)力的AI只有這三個(gè),壞消息是連最弱的DeepZenGo都不好對(duì)付。
3月18至19日的計(jì)算機(jī)圍棋UEC杯,絕藝在預(yù)賽和決賽中兩勝DeepZenGo,AI界的老二老三座次排定。緊接著3月21至23日的首屆世界圍棋最強(qiáng)戰(zhàn)中,老三DeepZenGo代表AI與中日韓三大高手下了三局每方三小時(shí)的慢棋,一局完勝兩局憾負(fù),前半盤都是明顯領(lǐng)先。3月26日UEC杯的后續(xù)節(jié)目電圣戰(zhàn),絕藝與DeepZenGo都表現(xiàn)上佳擊潰日本新銳一力遼。在野狐圍棋網(wǎng),絕藝實(shí)力不斷進(jìn)步,在快棋中對(duì)人類高手勝率高達(dá)9成,并以碾壓態(tài)勢率先升為10段??聺崒?duì)絕藝13連敗,已經(jīng)1個(gè)月沒有公開和絕藝下了。如果人類連絕藝和DeepZenGo都打不過,那還怎么和AlphaGo較量?
二、正確認(rèn)識(shí)AlphaGo,消除恐懼
人類棋手的誤區(qū)是,總是不由自主把圍棋AI當(dāng)作人來看待,首先根據(jù)戰(zhàn)績判斷AI的實(shí)力,其次看棋譜。以前看棋譜覺得AlphaGo實(shí)力不強(qiáng),李世石100萬美元獎(jiǎng)金天上掉餡餅。AlphaGo3:0勝出的時(shí)候,又覺得AlphaGo不可戰(zhàn)勝了,要讓二子。李世石勝了一盤,又覺得原來AI有弱點(diǎn),畏懼心理消除。AlphaGo升級(jí)為Master下得又快又好創(chuàng)新很多,又覺得它深不可測,不可戰(zhàn)勝了。看DeepZenGo網(wǎng)上戰(zhàn)績,高手們?cè)u(píng)價(jià)不太高,但從最強(qiáng)戰(zhàn)三局慢棋實(shí)戰(zhàn)表現(xiàn)來看是低估了它。只有絕藝一直和高手們親密接觸,甚至有能悔棋的內(nèi)測版,開發(fā)人員中也有羅洗河這個(gè)世界冠軍,所以棋手們了解多些。
圍棋AI是程序,思維和人截然不同,不能象觀察人那樣去想象它的能力。它強(qiáng)的地方,不要低估,它弱的地方,也不要高估。除了戰(zhàn)績、棋譜這些擺在明面上的信息,更值得分析的是AI的算法。應(yīng)該從算法原理去分析,圍棋AI為什么強(qiáng),為什么弱,結(jié)合實(shí)戰(zhàn)表現(xiàn),做出合理的解釋與猜想?,F(xiàn)在棋界一大問題是對(duì)AlphaGo太過懼怕,不少職業(yè)棋手對(duì)Master可以說是嚇?biāo)赖?,招法完全變形,序盤就敗了。不了解對(duì)手,對(duì)手下的招出乎預(yù)料就害怕傻眼了,時(shí)間壓力之下失去正常思維,這根本沒法下棋了。
棋界迫切需要盡量了解AlphaGo,對(duì)它的行為模式建立預(yù)期,消除恐懼。Master的60局棋譜,棋手們研究一段時(shí)間了,有了相當(dāng)?shù)恼J(rèn)識(shí)。由于谷歌的保密風(fēng)格,算法上AlphaGo有什么重大進(jìn)展信息極少,但也還是有一些可以分析的,本文會(huì)從算法角度進(jìn)行推測。
我的結(jié)論是,AlphaGo是個(gè)“圍地大師”、“創(chuàng)新大師”,但并不是“戰(zhàn)斗大師”,棋藝從原理上就存在短板,但是特長極強(qiáng),掩蓋了弱點(diǎn)??聺崈H僅是消除畏懼心理,恢復(fù)平常心是不夠的,這還是傳統(tǒng)思維模式,也不一定做得到。人類高手不能空喊“有信心”之類的口號(hào),需要從理性上確立“獲勝是可以做到的”這個(gè)信念,根據(jù)AlphaGo的算法特點(diǎn),改變傳統(tǒng)思維模式,針鋒相對(duì)與它戰(zhàn)斗,爭取在人機(jī)戰(zhàn)中獲得勝利突破。柯潔在人類棋手中思維活躍、攪功無敵,是戰(zhàn)勝AlphaGo的最好人選。希望柯潔采用正確戰(zhàn)術(shù),取得一勝。只要一勝,二次人機(jī)大戰(zhàn)就會(huì)成為棋手與棋迷的狂歡節(jié)。
特別有幫助的是,騰訊開發(fā)的絕藝達(dá)到了極高水平,柯潔和絕藝極為開放的內(nèi)測版下,可以反復(fù)實(shí)踐演練自己的想法,并不是悶頭準(zhǔn)備。騰訊開發(fā)圍棋AI的團(tuán)隊(duì)就有三個(gè),絕藝只是勝出的那個(gè),這個(gè)投入確實(shí)很有魄力,如果柯潔能打破AlphaGo的堅(jiān)冰,棋界要感謝騰訊。
由于絕藝不斷在野狐圍棋網(wǎng)上下,雖然勝率不斷提高,但還是經(jīng)常輸給職業(yè)高手,所以人們可能低估了它的實(shí)力。絕藝輸主要是出bug,表現(xiàn)正常的時(shí)候?qū)嵙O為可怕,而且在快速進(jìn)步,要看最近的勝率。業(yè)余六段和職業(yè)棋手也就是讓先到二子的差距,據(jù)說有業(yè)六讓四子和絕藝下20分鐘的慢棋還是輸了。絕藝的棋風(fēng)和AlphaGo不同,創(chuàng)新不多,但是力量太大了,出手很敏銳。4月10日開始絕藝在野狐復(fù)出下棋每天兩盤,是20分鐘和三次1分鐘讀秒的慢棋。到4月14日,對(duì)10位職業(yè)高手取得了9勝1負(fù)的戰(zhàn)績。
通過和絕藝的不斷對(duì)局,人類高手已經(jīng)相信,自己正常1分鐘讀秒的表現(xiàn)會(huì)比20、30秒好得多,對(duì)絕藝勝率明顯提高(指以前版本,絕藝最新版本又進(jìn)步了)。AI對(duì)手和人不是一回事,人類下快棋對(duì)AI實(shí)力會(huì)大降。如果現(xiàn)在的絕藝和人類高手下20秒、30秒的快棋,再加上人類高手不了解它,如果它還新手不斷,殺個(gè)60:0不是不可想象。有了絕藝這個(gè)參照物,年初Master的表現(xiàn)也就不是這么震憾了。絕藝雖然在快速進(jìn)步,但人類高手由于看著它成長的,和它下思維比較正常,表現(xiàn)要好得多。
我這并不是心靈雞湯式的給人類圍棋高手打氣。如果是國際象棋,從算法原理上就知道,人類不可能戰(zhàn)勝AI。國際象棋AI和人下棋的思路差不多,算得比人深遠(yuǎn),無論是局勢評(píng)估還是推理搜索,人會(huì)的AI全會(huì),還更厲害。國際象棋AI能下出人類無法想象的“AI”棋,人類確實(shí)沒理由戰(zhàn)勝AI。但圍棋是另一種游戲,不僅復(fù)雜得多,特點(diǎn)還完全不同。AI和人是用兩種截然不同的思維模式下圍棋,AI學(xué)會(huì)了人的部分本事,還發(fā)展出了新的本事,在局勢評(píng)估上遠(yuǎn)遠(yuǎn)強(qiáng)于人。但是人也有AI不會(huì)的絕招,就是復(fù)雜戰(zhàn)斗、對(duì)殺、死活、精確收官等以推理為基礎(chǔ)的圍棋技術(shù),由于AI沒有概念推理的能力,這些任務(wù)對(duì)AI算法來說很困難。
相當(dāng)于人和汽車的賽跑比賽,如果是一條平路,汽車必然戰(zhàn)勝人。如果路上有的地方有墻,有的地方有溝,人會(huì)翻墻也會(huì)下到溝里再上來,而汽車翻墻過溝不太會(huì),可能會(huì)翻車輸給人。人如果選擇在平路和汽車比拼,那當(dāng)然必輸;如果把比賽引向翻墻過溝的比拼,不僅比賽有趣多了,還真可以獲勝。比賽之前人制定戰(zhàn)術(shù)的時(shí)候,不能說要平常心,要學(xué)習(xí)汽車的高速度爭取跑出博爾特的水平,那也是輸。為了勝利就應(yīng)該揚(yáng)長避短,跑步也要會(huì),不要跑步就把腿折了退賽。速度落后于汽車不要驚慌,如果能把汽車引向有墻有溝的路段,就能等到時(shí)機(jī)。
當(dāng)然AlphaGo的能力很強(qiáng),很難把它引向表現(xiàn)差的路段,這只是一個(gè)比喻。但可以肯定AlphaGo不是全能的,從算法原理上就有漏洞。最高水平的國際象棋AI互相比賽絕大多數(shù)是平局。兩個(gè)AlphaGo自我對(duì)局總是能分出勝負(fù),也不是每局都差距很小。這中間肯定有大量的局面,在算法的能力之外,AlphaGo執(zhí)黑或執(zhí)白隨機(jī)地出錯(cuò)。
三、AlphaGo的算法進(jìn)步與人類棋手的應(yīng)對(duì)
打了很多比喻,還是要具體說算法。AlphaGo在去年3月以后,算法框架又有了突破。但是從種種跡象來看,圍棋AI下棋還是依靠三大技術(shù):給出搜索候選點(diǎn)的策略網(wǎng)絡(luò)、評(píng)估局勢的價(jià)值網(wǎng)絡(luò)、展開搜索樹模擬至終局?jǐn)?shù)子的MCTS(蒙特卡洛樹形搜索),這三大技術(shù)全部以“勝率”這樣的概率輸出統(tǒng)一起來。AlphaGo、絕藝、DeepZenGo,以及一些更弱的AI都是這樣下棋的,在基本框架上沒有本質(zhì)區(qū)別,有的沒有價(jià)值網(wǎng)絡(luò)。谷歌團(tuán)隊(duì)厲害的是,在訓(xùn)練上有很多突破,做出來的策略網(wǎng)絡(luò)、價(jià)值網(wǎng)絡(luò)在質(zhì)量與特性上,比其它AI要厲害得多。
在策略網(wǎng)絡(luò)上,圍棋AI都是學(xué)習(xí)人類高手棋譜訓(xùn)練的,AlphaGo的策略網(wǎng)絡(luò)并不突出。這是一個(gè)深度學(xué)習(xí)訓(xùn)練問題,F(xiàn)acebook的Darkforest在預(yù)測人類高手著手時(shí)正確率還更高,也有一些業(yè)余開發(fā)者做出了不錯(cuò)的策略網(wǎng)絡(luò)。AlphaGo展現(xiàn)的高超實(shí)力,并不是靠策略網(wǎng)絡(luò),它的開發(fā)門檻不高。
但是價(jià)值網(wǎng)絡(luò)的開發(fā)門檻很高。只有谷歌這種大公司,才能動(dòng)用十幾萬個(gè)服務(wù)器產(chǎn)生幾千萬局機(jī)器自我對(duì)弈棋局,用于價(jià)值網(wǎng)絡(luò)的訓(xùn)練。后來騰訊也做到了,絕藝自我對(duì)弈超過30億局。而DeepZenGo的價(jià)值網(wǎng)絡(luò)訓(xùn)練就似乎不容易,開發(fā)者加藤英樹抱怨合作公司的支持不夠。DeepZenGo的價(jià)值網(wǎng)絡(luò)甚至犯了這樣一個(gè)錯(cuò):
2017年3月22日世界圍棋最強(qiáng)戰(zhàn),DeepZenGo執(zhí)白負(fù)樸廷桓
這個(gè)局面左上部的幾個(gè)白子是死棋,連業(yè)余棋手都知道。但是DeepZenGo的價(jià)值網(wǎng)絡(luò)卻判斷是“雙活”,給出了完全錯(cuò)誤的勝率判斷。這個(gè)局部看上去和雙活的棋形很象,黑棋要吃掉白要經(jīng)過一定次序的緊氣。這說明,價(jià)值網(wǎng)絡(luò)是根據(jù)靜態(tài)的相似棋形來判斷的,不管怎么訓(xùn)練它的搜索能力都很差。絕藝和AlphaGo的價(jià)值網(wǎng)絡(luò)訓(xùn)練的棋局?jǐn)?shù)多,表現(xiàn)肯定好些,但也還是靜態(tài)的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算,不具備動(dòng)態(tài)的搜索能力。
從算法原理上就可以確信,無論怎么訓(xùn)練,價(jià)值網(wǎng)絡(luò)都存在“bug局面”。比如復(fù)雜的對(duì)殺、局部棋塊死活,價(jià)值網(wǎng)絡(luò)肯定會(huì)作出錯(cuò)誤判斷。網(wǎng)上實(shí)戰(zhàn),絕藝和DeepZenGo就經(jīng)常判斷錯(cuò)誤。AlphaGo的價(jià)值網(wǎng)絡(luò)肯定也有bug局面,它總是一個(gè)靜態(tài)的神經(jīng)網(wǎng)絡(luò),就算系數(shù)多達(dá)幾百M(fèi),也不可能解決需要復(fù)雜推理的棋塊死活問題,深度神經(jīng)網(wǎng)絡(luò)沒有這種神奇能力。正如人類高手看一眼棋局,也不能說出局部是死是活,得花些時(shí)間計(jì)算,除非以前見過這類“局部常形”。
這也是圍棋奇妙的地方,局面稍有差別,價(jià)值網(wǎng)絡(luò)可能以為是一回事,但死活就可能倒轉(zhuǎn),倒轉(zhuǎn)突變程度遠(yuǎn)超國際象棋。價(jià)值網(wǎng)絡(luò)常見棋形訓(xùn)練多了知道是死是活,但如果局部棋形沒出現(xiàn)過或者訓(xùn)練不足,就可能發(fā)生死活誤判。而且神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)訓(xùn)練也不是說堆積樣本就一定能全部訓(xùn)練正確,總會(huì)有一定差錯(cuò)率。訓(xùn)練會(huì)進(jìn)入瓶頸,這個(gè)訓(xùn)練弄對(duì)了,原先對(duì)的那個(gè)又錯(cuò)了。包括策略網(wǎng)絡(luò)的訓(xùn)練,預(yù)測人類高手著手正確率只會(huì)是50%多,再高上不去了,也沒意義。谷歌可以堆機(jī)器把訓(xùn)練做得更快,但不可能讓價(jià)值網(wǎng)絡(luò)產(chǎn)生神奇的能力,bug局面絕對(duì)大量存在。
據(jù)Deepmind透漏,2016年3月以后,AlphaGo的訓(xùn)練流程確實(shí)進(jìn)入了瓶頸,應(yīng)該是訓(xùn)練出來的新版對(duì)上一個(gè)新版棋力提升不多了。價(jià)值網(wǎng)絡(luò)和策略網(wǎng)絡(luò)再怎么訓(xùn)練,棋力也沒有顯著提高了。這時(shí)谷歌開發(fā)團(tuán)隊(duì)又做出了一個(gè)創(chuàng)新,可能就是Master神秘實(shí)力的重要來源。
之前圍棋AI是學(xué)習(xí)人類高手棋譜生成策略網(wǎng)絡(luò)的,但是人類高手群體其實(shí)有很多盲區(qū)!就像后來不少高手看到Master的表現(xiàn)說,像開局點(diǎn)三三之類的著手,沒有一個(gè)棋手想得到,集體沒往那個(gè)方向想,但其實(shí)是可行的。學(xué)習(xí)人類高手棋譜,這些新招只會(huì)有極低的預(yù)測概率,就搜索不到了。但是開發(fā)團(tuán)隊(duì)發(fā)現(xiàn),有些選點(diǎn),雖然策略網(wǎng)絡(luò)不看好,但真要下出來,價(jià)值網(wǎng)絡(luò)卻給出了不錯(cuò)的評(píng)分??梢栽谟?xùn)練中對(duì)價(jià)值網(wǎng)絡(luò)海量嘗試,補(bǔ)充一些勝率不錯(cuò)的選點(diǎn)給策略網(wǎng)絡(luò),又經(jīng)過搜索與海量對(duì)弈發(fā)現(xiàn),這確實(shí)是不錯(cuò)的選點(diǎn)。這就是Master新招不斷的技術(shù)秘密,其實(shí)也沒那么神奇。人類棋手沒有明確的價(jià)值網(wǎng)絡(luò),也不可能天天去試一些奇招。而機(jī)器自我對(duì)弈學(xué)習(xí)卻可以這么做,訓(xùn)練流水線運(yùn)轉(zhuǎn)起來后,所有選點(diǎn)都試一下不過是寫個(gè)循環(huán),靠機(jī)器算力猛試就行了。就算絕大部分失敗,只要找到一些新招就足以震憾人類棋手了。
最后結(jié)果就是,獲得價(jià)值網(wǎng)絡(luò)的回贈(zèng)之后,Master的策略網(wǎng)絡(luò)已經(jīng)和人類棋手很不一樣了,人類棋手不敢想的招,Master敢想敢下。Master和人類棋手60局對(duì)局,幾乎每局都有這種人類想不到的招,這也是棋手們對(duì)Master十分敬畏的來源。人類棋手要?jiǎng)?chuàng)新很難,能不斷下出可行新招的棋手會(huì)得到極高的推許,正如吳清源大師,不知道他為什么那么能創(chuàng)新。但是Master的創(chuàng)新卻不難理解,就是極高質(zhì)量價(jià)值網(wǎng)絡(luò)的附加效應(yīng)。其實(shí)Master的新招下出來以后,人類棋手慢慢也能理解了,甚至在實(shí)戰(zhàn)中應(yīng)用了。
2016年12月31日,Master執(zhí)黑對(duì)金庭賢
Master在17位掛了以后,19位直接開局點(diǎn)三三,驚爆眼球。棋手們總結(jié)后也理解了,實(shí)戰(zhàn)要點(diǎn)是不能D2位扳粘湊白虎成鐵厚,而兩側(cè)的黑子能限制白厚勢的發(fā)展。后面條件成熟,黑就能從兩側(cè)攻逼這塊厚勢,E5的點(diǎn)會(huì)很犀利。人類更多是沒往這個(gè)方向想,而不是不能理解。機(jī)器的價(jià)值網(wǎng)絡(luò)是中立的,下出來它就冷靜地全盤評(píng)估,沒有人類阻礙創(chuàng)新的固有錯(cuò)誤邏輯,天然就能發(fā)現(xiàn)好點(diǎn)。Master的很多新手都有這個(gè)特點(diǎn)。樸永訓(xùn)在正式比賽中對(duì)於之瑩也是開局點(diǎn)三三,而且還勝了,復(fù)盤這招也是可行的。
可以從理論上相信,AlphaGo的價(jià)值網(wǎng)絡(luò),加上MCTS終局?jǐn)?shù)子,對(duì)地域的估算比人精確得多。對(duì)于一些虛虛的厚勢,人類很難講清楚其價(jià)值,AlphaGo卻有成熟的套路給出勝率評(píng)估。以此為基礎(chǔ),AlphaGo的價(jià)值網(wǎng)絡(luò)加上搜索,在很多局面能發(fā)現(xiàn)人類的盲點(diǎn),找出更恰當(dāng)?shù)膰剡x擇。如果圍棋是一個(gè)雙方和平圍地的游戲,理論上人類棋手就可以認(rèn)輸了。實(shí)際上Master的60局中不少就是如此,沒有激烈的戰(zhàn)斗,幾個(gè)選擇后,人莫明其妙就落后了。其實(shí)就是圍地搞不過AlphaGo。
圍地就是子力的配合,角上、邊上、中央,配合的方式多種多樣,有的子能自己圍,有的能破對(duì)方。幾面圍起來空挺大,但是對(duì)手進(jìn)來一個(gè)頭效率就劇降,圍地的效率很有講究。棋塊的方向選擇互相配合非常關(guān)鍵,低手往往想象不到這有多重要。
2009年9月4日,第一屆豐田杯八強(qiáng)賽李昌鎬執(zhí)黑勝阿基魯爾
阿根廷業(yè)余棋手阿基魯爾曾殺入世界大賽八強(qiáng)與李昌鎬對(duì)局,完全沒戰(zhàn)斗,就是劃分地域,到這個(gè)局面就落后30目了。黑棋的子都圍了很結(jié)實(shí)確定的地,白棋邊角的確定地不多,棋塊形成的厚勢面對(duì)黑的活棋沒有作用,相互配合又成不了大空。
人類棋手也發(fā)展出不少圍地理論,布局理論一度非常流行,甚至被認(rèn)為是最高級(jí)的棋藝。中國國家隊(duì)曾長期學(xué)習(xí)日本,集體研究大局觀,說收官與戰(zhàn)斗自己研究就行。但是世界棋壇的發(fā)展卻出乎預(yù)料,高手們走向了暴力圍棋。這是因?yàn)槿祟惼迨盅壑械拇缶钟^,琢磨到后來就說不清楚了,高手復(fù)盤時(shí)經(jīng)常意見不統(tǒng)一。低手大局觀提升變高手可以,高手再怎么提高就不知道了。后來甚至以為圍棋布局也就這回事,再怎么琢磨也占不了多大便宜,隨便下下就行了,中后盤決戰(zhàn)才是王道。而且實(shí)戰(zhàn)也確實(shí)如此,沒有哪個(gè)棋手布局優(yōu)勢突出,都是拼中后盤。
直到圍棋AI出現(xiàn),人們才明白,原來布局方向選擇比想象的還要重要。不僅是AlphaGo,人們眼中實(shí)力并不太強(qiáng)的DeepZenGo大局觀都很好。最強(qiáng)戰(zhàn)三場比賽,羋昱廷、樸廷桓、井山裕太大局上都落后于DeepZenGo。如果和AI比大局觀,比圍地,人類棋手連DeepZenGo都戰(zhàn)勝不了。我和唐韋星九段一起在騰訊直播解說了DeepZenGo和一力遼的比賽,DeepZenGo雖然下得很快,但大局觀還是明顯比一力遼強(qiáng)。絕藝的大局觀應(yīng)該和DeepZenGo類似,并不強(qiáng)太多,UEC杯決賽對(duì)DeepZenGo直到120手勝率還是0.5不占優(yōu)。AlphaGo由于有創(chuàng)新,大局觀又要強(qiáng)很多。
人類選手在大局觀上面對(duì)絕藝和DeepZenGo已經(jīng)占不到便宜,甚至?xí)渣c(diǎn)虧,但還沒到被碾壓的程度,后面可以等機(jī)會(huì)翻盤。高手們面對(duì)Master可以說布局階段就明顯吃大虧,從來沒碰到過這樣的對(duì)手,一時(shí)不知道怎么辦了。首先用時(shí)策略就得改。
人類高手和AI下的時(shí)候,從圍棋技術(shù)角度還以為是和人下,但又知道對(duì)手是AI心態(tài)扭曲,表現(xiàn)甚至更差。和人下,會(huì)感覺布局并不是太重要,20秒、30秒雙方下得有模有樣。誰也沒有很厲害的大局功夫,有人稍強(qiáng)點(diǎn)也有限。用時(shí)分配上就明顯有傾向,布局階段往往下得快,感覺差不多就下了。不是說沒時(shí)間思考,習(xí)慣上就不覺得能想多少,沒什么好想的秒下算了。有時(shí)碰上新手才用多些時(shí)間應(yīng)對(duì)。到中盤戰(zhàn)斗與收官“復(fù)雜”起來,才開始習(xí)慣性長考,有人甚至認(rèn)為長考說明局勢困難。
這個(gè)用時(shí)策略對(duì)付絕藝或者DeepZenGo可能還行,吃虧不太大后面總有機(jī)會(huì)。對(duì)付Master就不行了,感覺行棋布局肯定頂不住。由于Master對(duì)人60:0都是網(wǎng)棋,每手20秒或者30秒,人類高手被迫用錯(cuò)誤的時(shí)間策略和它下,輸這么慘這是很重要一個(gè)因素,Master的棋力優(yōu)勢放大了很多。這次柯潔對(duì)戰(zhàn)AlphaGo是3小時(shí)思考時(shí)間,五人相談棋是2個(gè)半小時(shí),一定要注意把時(shí)間花在序盤布局。1分鐘讀秒的緊棋高手們有經(jīng)驗(yàn),寧肯進(jìn)入中后盤讀秒下,也不要序盤下快了莫明其妙吃大虧。
其實(shí)人類高手布局水平也不是說差到被Master碾壓的程度,仔細(xì)思考表現(xiàn)會(huì)好得多。如果思考時(shí)先存了一個(gè)“布局不要吃大虧”的想法,一些行棋方向判斷仔細(xì)體會(huì),肯定可以提高。Master的60局中一些創(chuàng)新,體現(xiàn)了一些布局新思想,隱約有“全局關(guān)聯(lián)”行棋的感覺,遠(yuǎn)處幾個(gè)子不一樣,焦點(diǎn)處的選擇就不一樣。Master并不是靠驚天妙手在局部擊潰高手們,更多是在平平淡淡的局面選擇中體現(xiàn)功力,有不少反直覺的招法,仔細(xì)體會(huì)是成立的。從算法角度,這些新招是可以解釋的,就是價(jià)值網(wǎng)絡(luò)的貢獻(xiàn),突破了人類策略網(wǎng)絡(luò)的成見,不要看得太神秘。多挖掘分析Master在60局中領(lǐng)先的原因,有助于人類高手在布局階段頂住。一些棋手已經(jīng)在正式對(duì)局中模仿Master的下法,但不少棋手都說如果沒有理解盲目模仿并沒有好處,這是對(duì)的。要下功夫去理解這些棋譜。
2016年12月29日,Master執(zhí)黑勝於之瑩
這是Master對(duì)於之瑩的對(duì)局,黑23、25撈地,白26封住,好象是很自然的招法。但是黑27不好應(yīng)付。白的棋形出現(xiàn)弱點(diǎn),為了防斷,只好28和30位補(bǔ)強(qiáng)自身。這時(shí)黑31拆就顯得價(jià)值極大了。Master的棋經(jīng)常有這種表現(xiàn),它撈地,人類對(duì)手自以為外面是厚勢。但是再來幾招就發(fā)現(xiàn),對(duì)手的厚勢Master有幾個(gè)子遠(yuǎn)遠(yuǎn)的限制著,還有幾個(gè)子貼著很討厭,厚勢變孤棋甚至被吃都可能。后來白這團(tuán)“厚勢”確實(shí)被吃了。
2016年12月31日,Master執(zhí)黑勝樸廷桓
這個(gè)局面也類似,Master連爬二路,4目做活,看上去很委曲。但是仔細(xì)看,黑上面一塊已經(jīng)是帶眼鐵活的厚勢,黑所得不小。而白三路連壓這一串,說是厚勢,其實(shí)沒有眼,黑棋再來一兩手,這塊棋就得忙做活了。而且白這塊“厚勢”沒有發(fā)展了,下面四個(gè)黑子遠(yuǎn)遠(yuǎn)地限制著,白也沒有手段借這塊厚勢打入黑下面大搞破壞。
這類局面Master得心應(yīng)手,而人類棋手即使在局面形成后能明白,前面也習(xí)慣性地行棋。如“壓對(duì)手爬二路真爽”,“封住再說”,“外面打一下不虧”,“分?jǐn)嗫偸菍?duì)的”。這些其實(shí)都不是絕對(duì)真理,需要繼續(xù)推更多步來判斷。曾經(jīng)日本棋手面對(duì)中韓棋手有理說不清,戰(zhàn)斗起來被暴打。其實(shí)就是感覺行棋,以為棋形正就對(duì)了。日本前輩總結(jié)說,中韓棋手先不管棋形,不靠感覺判斷,而是往下擺,擺出結(jié)果自然就說明問題了。同樣的錯(cuò)誤,現(xiàn)在人類棋手面對(duì)AI布局時(shí)也在犯。人類布局就靠感覺,有時(shí)根據(jù)一些“格言”秒拍,或者粗粗看下就覺得可行。其實(shí)有些后續(xù)招法有必然性,能往后推不少步,再來判斷感覺可能就不一樣了。布局時(shí)不能一味講究“棋形”、“經(jīng)驗(yàn)”。哪怕就按人類下棋時(shí)的思維方法,也可以往后多推一些,再小心地進(jìn)行局面判斷,有時(shí)是能糾正一些錯(cuò)覺的。
布局時(shí)什么時(shí)候要小心,其實(shí)也不是完全沒跡象。如果子都在近前,人自然知道要小心推理,局部結(jié)果都受影響了。就是有些子遠(yuǎn)遠(yuǎn)的放著,人容易掉以輕心,只看局部。其實(shí)推多些步以后,這些遠(yuǎn)遠(yuǎn)的子就關(guān)聯(lián)上了,有時(shí)甚至能直接參與戰(zhàn)斗,更常見是能影響局部結(jié)果評(píng)估??赡躆aster的價(jià)值網(wǎng)絡(luò)也并不是多神奇,只是天生就是全局思維,從來不會(huì)只看局部,對(duì)這些全局微妙的地方體會(huì)深,不會(huì)產(chǎn)生錯(cuò)誤的局部“格言”。人類也要這樣全局思維。雖然一時(shí)難以做到很好,但和AlphaGo對(duì)戰(zhàn)布局時(shí)改變一下思維模式,提醒自己多進(jìn)行布局分析,應(yīng)該是可以的。
這需要改變平時(shí)網(wǎng)上拍快棋的習(xí)慣。年青高手特別喜歡在網(wǎng)上拍快棋,20秒都覺得慢了,經(jīng)常下15秒的。這是能鍛煉棋感,但這么快下出來形成的往往只是局部的棋感。要從全局出發(fā)培養(yǎng)棋感,需要多下慢棋,在慢棋中仔細(xì)體會(huì)全局配置。起碼要有了全局思維的習(xí)慣,再去下拍快棋。高手們細(xì)心體會(huì)Master的全局思維,布局水平一定會(huì)有很大進(jìn)步。如果全局思維上取得進(jìn)步,雖然從原理上還是沒法勝過AlphaGo,和它對(duì)局時(shí)莫明其妙吃大虧的機(jī)會(huì)就小多了。這其實(shí)是人類和AlphaGo目前差距最大的地方,也是人可以主動(dòng)努力提高的方向。
人類棋手如果布局能頂住,戰(zhàn)勝AlphaGo的機(jī)會(huì)就會(huì)明顯上升,因?yàn)閺乃惴ㄔ砩螦lphaGo仍然會(huì)有難以消除的弱點(diǎn)。
谷歌團(tuán)隊(duì)在AlphaGo訓(xùn)練到瓶頸以后,又搞了幾種創(chuàng)新。除了前面提到的用價(jià)值網(wǎng)絡(luò)選點(diǎn)補(bǔ)策略網(wǎng)絡(luò)極大提升創(chuàng)新能力,可以肯定的是AlphaGo的訓(xùn)練速度提升了,從一月一個(gè)新版本進(jìn)步到一周一個(gè)。另外,還用了強(qiáng)化學(xué)習(xí)領(lǐng)域的一個(gè)技術(shù),做了一個(gè)Anti-AlphaGo來專門針對(duì)AlphaGo的弱點(diǎn),更快改進(jìn)提升跳出訓(xùn)練中的局部陷阱。這可能就是一周能出一個(gè)新版的技術(shù)原因。另外還有說法,AlphaGo的策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò)改了模型,輸入不再是三值(黑白無)的圖形,每個(gè)點(diǎn)根據(jù)棋塊的性質(zhì)可以有幾十個(gè)值,相當(dāng)于用彩色圖形輸入進(jìn)行深度學(xué)習(xí)圖像識(shí)別訓(xùn)練了。也許這能提升計(jì)算速度,極大改進(jìn)AlphaGo訓(xùn)練與下棋時(shí)的速度,快棋水平急劇提升。這次比賽據(jù)說AlphaGo會(huì)用完全舍棄人類棋譜從0開始訓(xùn)練的版本,這個(gè)版本無疑創(chuàng)新性會(huì)極強(qiáng),完全不受人類成見的“污染”。具體會(huì)如何實(shí)在沒法猜想,但棋譜會(huì)很有趣,說不定開局就不下角上。
這些改進(jìn)一方面是提升了AlphaGo的下棋速度,另一方面提升了價(jià)值網(wǎng)絡(luò)的水平,搜索時(shí)局面判斷能力更強(qiáng)了。這讓AlphaGo的判斷更強(qiáng),圍地能力更強(qiáng),拋離人類對(duì)手很多,是絕對(duì)的“圍地大師”、“創(chuàng)新大師”。其實(shí)它自己并沒有“創(chuàng)新”的感覺,它只是想圍地,下出新招是對(duì)人類而言的。但是,能不能說AlphaGo是“戰(zhàn)斗大師”?雖然它的戰(zhàn)斗力也不弱,但明顯不如布局創(chuàng)新這樣能給人震憾。有一些局面,人類是奔著大戰(zhàn)一場去的,Master卻平淡地控制局面,繞開了這類看不清的“大決戰(zhàn)”。
從算法原理上來說,對(duì)殺、死活、劫爭之類的戰(zhàn)斗局面主要靠MCTS展開搜索樹推理。價(jià)值網(wǎng)絡(luò)是不行的,靜態(tài)的計(jì)算沒法解決戰(zhàn)斗問題。AlphaGo是有推理能力的,會(huì)展開二三十步的搜索樹推理,算法進(jìn)步、硬件進(jìn)步能更擴(kuò)展更多步。但是,這個(gè)框架就必然有一些機(jī)器的“難言之隱”。
有一些局面,人類的推理能夠聚焦,集中去計(jì)算一塊棋的死活,一個(gè)對(duì)殺的結(jié)果,有一些成熟的推理驗(yàn)算經(jīng)驗(yàn)。但是AI算法很難把這個(gè)邏輯實(shí)現(xiàn),可以合理推測,AlphaGo也沒這個(gè)能力。它得按策略網(wǎng)絡(luò)給出的概率去逐個(gè)點(diǎn)搜索,如果策略網(wǎng)絡(luò)給出類似“只此一手”的極高概率,那和人類的感覺差不多,但往往并非如此。選點(diǎn)會(huì)不少,有時(shí)對(duì)殺應(yīng)該聚焦高概率的點(diǎn),有些局面又應(yīng)該小概率的也搜搜看,算法只能全面照顧都去搜。這樣,步數(shù)一多,算法就會(huì)面臨“指數(shù)爆炸”。這是一個(gè)天生的缺陷,很難彌補(bǔ)。AI會(huì)碰到兩類麻煩,一類是推理步數(shù)過長,出現(xiàn)“地平線效應(yīng)”,棋局復(fù)雜度超過算法搜索能力,下出自以為能勝的敗招。一類是漏算,棋塊的死活以為算清楚了,其實(shí)有些小概率的點(diǎn)沒考慮到,一個(gè)人類可以給出結(jié)論的必然推理過程被帶歪了。
2017年3月22日世界圍棋最強(qiáng)戰(zhàn),DeepZenGo執(zhí)白負(fù)樸廷桓
如圖,第225手時(shí)DeepZenGo已經(jīng)是盤面都好的必勝局面了,樸廷桓打劫死撐。226手忽然放棄打劫封口圍中央。早就在等機(jī)會(huì)的樸廷桓當(dāng)然229手沖進(jìn)白空中搞事,DeepZenGo堅(jiān)決要吃掉229、231這些來“送死”的。但是233這手一出,DeepZenGo才發(fā)現(xiàn)自己算錯(cuò)了,這三個(gè)黑子吃不掉。這個(gè)誤算其實(shí)發(fā)生在226手,由于選擇與后續(xù)手?jǐn)?shù)較多DeepZenGo配置不行搜索能力差一些,發(fā)生了“地平線效應(yīng)”,覺悟過來時(shí)為時(shí)已晚。AlphaGo也出過同樣類型的錯(cuò),就是李世石著名的“神之一手”引發(fā)的誤算。
2017年4月10日,黨毅飛執(zhí)黑勝絕藝
這盤棋野狐圍觀棋迷以為絕藝要?jiǎng)倭?。?04先手接回2子,205做活包藏殺機(jī)。絕藝卻混然不覺,208占官子大棋。黑終于等到209先手切斷再211長,白上面大塊已經(jīng)連不回家,也無法做活。這個(gè)變化在人看來并不復(fù)雜,絕藝卻犯了低級(jí)錯(cuò)誤。絕藝的搜索框架還是有bug,要消除這類bug,需要艱苦的努力。
由于圍棋的復(fù)雜性,很難確認(rèn)一個(gè)程序真的消除了低級(jí)bug。甚至從原理上來說,深度神經(jīng)網(wǎng)絡(luò)存在錯(cuò)覺,而且難以消除。價(jià)值網(wǎng)絡(luò)就是發(fā)神經(jīng)認(rèn)為一個(gè)輸了的局面是勝的,或者策略網(wǎng)絡(luò)就是對(duì)某個(gè)重要選點(diǎn)給極低概率,這都無法杜絕。這個(gè)版本的絕藝已經(jīng)非常厲害了,還會(huì)出這樣簡單的bug。
這兩類bug,第二類靠運(yùn)氣,不知為何AI就出bug了。第一類似乎人類棋手有主動(dòng)操作的空間。理論上來說,要增多盤面上互相關(guān)聯(lián)的“頭緒”,這在中間開放式的戰(zhàn)斗中常見。幾塊棋糾在一起,斷點(diǎn)多,頭緒互相有聯(lián)系,這時(shí)策略網(wǎng)絡(luò)、價(jià)值網(wǎng)絡(luò)給出的概率不準(zhǔn),或者只能給出多個(gè)選擇,還得靠MCTS搜索解決問題。如果頭緒多、關(guān)聯(lián)手?jǐn)?shù)多、空間開放,產(chǎn)生“地平線效應(yīng)”的概率就大多了。這不是說一味地強(qiáng)硬“戰(zhàn)斗”,戰(zhàn)斗本身并不會(huì)讓搜索崩潰出bug,而是引而不發(fā)的“頭緒”要多。
也許柯潔可以考慮,在盤面中積極制造頭緒的戰(zhàn)法。他本身這方面能力不錯(cuò),東一下西一下搞事,攪棋的功夫很厲害。我感覺柯潔可能是和絕藝下得比較多,沒有分清楚兩類bug的區(qū)別。絕藝更多的是第二類bug,就是簡單的出錯(cuò),也能快速修復(fù)越來越少,不足為據(jù)。第一類的bug就很本質(zhì)了,AlphaGo明顯喜歡簡化局面、控制流、避免復(fù)雜劫爭,原因就是懼怕地平線效應(yīng)。人類棋手應(yīng)該反其道而行之,與它針鋒相對(duì)。例如可以進(jìn)行另類的局勢判斷,不數(shù)目,而是觀察盤面頭緒的多少與關(guān)聯(lián)性,制造出新頭緒就得分,被AlphaGo消除頭緒就減分。
文章本天成,妙手偶得之。AlphaGo的bug絕對(duì)大量存在,怎么也排不光,只等柯潔去制造,去發(fā)現(xiàn)妙手。
圍棋AI與人類的比賽,天生就極具看點(diǎn)。世界圍棋最強(qiáng)戰(zhàn)第三輪,樸廷桓與羋昱廷前兩戰(zhàn)都勝出,將爭奪冠軍,冠亞軍獎(jiǎng)金180萬、60萬人民幣,一盤棋價(jià)值120萬。兩戰(zhàn)皆負(fù)的DeepZenGo與井山裕太爭奪第三名,獎(jiǎng)金都是30萬人民幣。要是以前,兩個(gè)負(fù)者的比賽就是籃球比賽里的垃圾時(shí)間,關(guān)注的人不多。但這次解說棋手和棋迷們卻明顯更關(guān)注DeepZenGo大模樣作戰(zhàn)完勝井山裕太這盤。這說明,哪怕是AI界老三的正式比賽也能引起相當(dāng)大的關(guān)注,更不要說柯潔與AlphaGo的頂級(jí)對(duì)決。
近來柯潔正在絕藝的幫助下秘密訓(xùn)練,一些棋手感覺柯潔又漲棋了,繼絕藝之后第二個(gè)成為野狐的10段(20戰(zhàn)中對(duì)世界冠軍和全國冠軍18勝)。柯潔聲稱有對(duì)付AI的“秘密武器”,有人猜測是模仿棋,絕藝明顯對(duì)付不了模仿棋,4次輸在模仿棋上。但模仿棋是可破的,引發(fā)到中央的征子或者戰(zhàn)斗就能破了。AlphaGo團(tuán)隊(duì)如果意識(shí)到這個(gè)問題,肯定有辦法應(yīng)對(duì)。雖然圍棋規(guī)則比賽規(guī)則都允許模仿棋,我不希望柯潔在這么重大的正式比賽這么做。職業(yè)棋手們執(zhí)白對(duì)Master時(shí)到是應(yīng)該試一試,可惜只有周俊勛執(zhí)黑試了一下也速敗了。備戰(zhàn)還是應(yīng)該基于圍棋基本技術(shù)與對(duì)AI算法的深入了解??聺崒?duì)絕藝13連敗明顯事出有因,想試練一些招法速敗。他在和絕藝內(nèi)測時(shí)應(yīng)該有所發(fā)現(xiàn),“秘密武器”也可能是一些開局復(fù)雜劫爭之類的。
有一種說法是由于柯潔敗局已定,這次比賽社會(huì)關(guān)注度會(huì)不如去年人機(jī)大戰(zhàn)。圍棋足夠復(fù)雜,AI也不是全能,還有很多不足,從原理上并非不可戰(zhàn)勝。希望本文可以讓更多人有理有據(jù)地提升對(duì)柯潔的信心。也希望棋界不要陷入必?cái)≥浾撝袩o所作為,要全面正確認(rèn)識(shí)AlphaGo棋力背后的算法,共同努力備戰(zhàn)增加人類棋手的勝機(jī)。