柯潔與AlphaGo第二局的精彩看點 | 陳經

關注風雲之聲提升思維層次

解讀科學,洞察本質

戳穿忽悠,粉碎謠言

導讀

2017年5月25日,三番棋中以0:1落後的柯潔執白與AlphaGo再次對局,155手中盤告負。雖然第三局還要下,但三番棋已經0:2告負。但本局依然令人激動,柯潔成功將棋局導向特別複雜混亂的局面。像柯潔本局前100手一樣,發揮出人類對圍棋理解的最高水平,與水平超高穩定發揮的AlphaGo共同演繹出精彩的棋局才是競技比賽的意義所在。

本文來自微信公眾號:觀察者網(ID:guanchacn) 作者:陳經

2017年5月25日,三番棋中以0:1落後的柯潔執白與AlphaGo再次對局,155手中盤告負。雖然第三局還要下(柯潔執白的請求得到同意),但三番棋已經0:2告負。

但是本局令人激動,柯潔成功將棋局導向特別複雜混亂的局面(正如筆者上篇預期)。柯潔自己與不少職業解說都感覺有勝機了,棋迷們更是熱血沸騰,希望看到戰勝AlphaGo的奇蹟出現。雖然沒有透露更多數據細節,哈薩比斯也兩次發信息,說柯潔表現非常好,前面表現完美,後面將AlphaGo逼到了極限。賽後發布會上,哈薩比斯說「前100手雙方差距非常小」,從來沒有其它棋手做到過這一點。這說明柯潔確實是人類最強棋手。

柯潔 VS AlphaGo第二局(中新網)

前兩局中間的的研討會上,Deepmind公布了AlphaGo的升級版本Master的一些研發思路,而且說在6月份會像上次的《自然》論文一樣公布細節,幫助其它公司做出和Master一樣強大的圍棋AI。我根據這些信息,寫了一些分析發給了應氏杯冠軍唐韋星,希望對柯潔,以及唐韋星參加的對AlphaGo的五人相談棋有幫助。唐韋星認為有道理,是要將局面導向複雜,但感覺很難做到。他將我們的對話公布在了微博上,柯潔也看到了,引發了熱烈討論。

由於之前Master的60局,它都能簡單地控制局面,所以職業棋手們雖然知道不能這麼簡單地輸,要製造複雜局面,但確實不知道怎麼下才行。但是本局柯潔前半盤的完美表現說明,這是可以做到的!100手之後,黑白雙方一度有九塊棋不安定,還有一個天下大劫,即使與人類棋手的激烈對局相比,都算是很複雜的。

本文我先根據研討會上Deepmind團隊透露的信息,解釋Master的技術秘密,為什麼它居然能讓李世石版本的AlphaGo三子。然後再介紹本局的精彩之處。

一.Master強大的秘密在於它是「復盤大師」

其實Deepmind用策略與價值兩個網路構造圍棋AI,並讓它不斷自我對弈學習進步的思想,與人類高手群體下棋時的思維以及棋藝進步的過程是相通的。拋開計算機術語,AlphaGo的研發思路並不難理解。

人類高手下圍棋時,腦子裡更多是把整個棋盤當作一幅圖像在進行「圖像處理」,而不是象國際象棋高手那樣主要在邏輯推理。AlphaGo就引入在圖像識別領域的神器「深度學習」,構造了「策略網路」來模仿人類高手看到棋局時的直覺選點。有了深度學習,這其實是很自然的一步。

人類高手還要進行局勢評估,其實也是盯著棋局圖像看。因此,同樣做一個「價值網路」讓AI可以直接對一個局面進行勝率評估,也容易理解。但這很有難度,因為訓練策略網路時,一局棋機器可以學習上百手,但價值網路為了獨立性,一局最好只學習一個局面。深度學習是需要上百萬個樣本的,對策略網路人類高手下的十來萬局棋足夠了。Deepmind創新地讓眾多伺服器暴力自我對弈生成了3000萬棋局,用於價值網路的訓練。這個暴力一開始難以想到,但有這個條件了,這麼想也是自然的。騰訊開發絕藝時,也這麼辦了,機器自我對弈了30億局。

有了策略與價值網路,再加上以前就有的蒙特卡洛搜索,機器就能以很高的水平下棋了。然後機器瘋狂地自我對弈,產生棋局,用這些棋局回頭去改善策略與價值網路,一代代循環改善,這就是「強化學習」。

但是按《自然》論文,AlphaGo自我對弈的訓練框架其實是比較簡單的。就是自我對弈出了結果,然後用這局的結果當一個數據項,回頭修改策略與價值網路的係數。由於係數多達幾百M,這種反覆自我對弈來回改進需要很多局才告一段落出一個新版,一次需要一個月。

這有點象是人類高手在網上互相下。下完出了結果,有一方輸了,然後就散夥走人了。輸的人想,我換點著法吧,又去下,有進步覺得自己換對了,沒進步就否了再想別的招算了。這輸的人進步也就比較慢。

實際上人類高手是很崇尚復盤的,一般正式對局結束了不會立刻走人,而是細細總結下雙方哪裡下得不好,敗招勝招都是些啥。有時復盤甚至會搞兩三個小時,旁觀的高手也來。有時人類高手還會搞「研究會」或者「國家隊」,組團研究新型,研究「秘密武器」。如果棋手能積极參与這些復盤,或者有渠道了解到集體復盤得出的有價值信息,再去網上演練與實戰對局,進步速度會比較快。

有時低手付錢,或者和高手關係好,高手也會給低手復下盤。但由於低手基本是犯了些基本功之類的簡單錯誤,這類復盤對高手意義不大。但是,高手們的對局是很有價值的。雖然為了後面的比賽說下完了要忘掉,那是說把結果忘掉,對局過程不能就忘掉,應該去好好研究總結這種雙方拼腦子下出來的寶貴棋局。復盤是很關鍵的,對於人類高手群體一起進步作用是很大的。當初李昌鎬保守避戰拼官子的下法,讓棋界很震驚。高手們集體研究,也慢慢知道了他的技術秘密,所有高手官子水平都有進步,不然就沒法當高手了。

Master相比與李世石對戰的AlphaGo,進步就在復盤這裡。李世石版的AlphaGo後來自我對局提升,已經進入瓶頸了,下再多盤改進係數棋力也進步不大。Deepmind團隊決定,推出新的架構升級成Master,將兩個多層神經網路的層數從13增加到40,進行更有價值的「復盤學習」。

Master自我對弈學習的時候,就不是只用對局結果這個數據項了。它會回過頭來,考察對局過程中每一步棋。兩個程序自我對弈時,它每一步都是有由策略網路、價值網路、MCTS三者「火力全開」搜索後,再決定下哪一步,這一步往往和策略網路的第一直覺不一樣。理論上來說,三者結合搜索出來的點,應該比一眼直覺出來的好。這時,就可以重新訓練策略網路,讓它第一直覺就落到那個點。一局棋,有上百步都可以這麼做,策略網路美滋滋地吸收了一局棋的全部營養。

同樣,價值網路會對一個局面直接計算出一個「直覺勝率」,但這個直覺未必正確。三結合的「火力全開」搜索會報告各選點最終的勝率,甚至可以輸出給人作決策。5月26日古力與連笑各帶一個AlphaGo對戰,相信就是這樣的,AlphaGo推薦多個選點,並報告每個點的勝率,人類高手參考作出最終決策。演算法耗時很長算出的勝率,理論上應該比價值網路直接算出的勝率更準確,所以可以用這個勝率回頭對價值網路係數進行修改。這同樣可以一局進行上百次,而不是之前那樣一局只能挑一個局面用於價值網路的訓練。

這種對策略網路與價值網路直覺進行訓練的辦法其實很管用。柯潔從排名一百多飛速爬升到排名第一,主要就是刻苦進行了數千盤網路快棋對戰。對戰中柯潔積極把自己腦子裡的「策略網路」與「價值網路」修改得越來越好,越來越能夠第一直覺就下對、評估對。柯潔實戰表現得思維敏捷、判斷清楚,這可能就是柯潔強大的秘密。

而且這個框架就很自由了,自我對弈有了勝者敗者,雙方會有勝率曲線的變化。開始都是50左右,最後勝率是一方極高一方極低,這個變化是怎麼產生的,有哪些是敗招勝著是可以研究的。例如第一局柯潔執黑與AlphaGo下,後來說黑51手抱吃是敗招,白54手是出乎意料的好手勝招,之後柯潔的勝率就不行了,這個局面值得高手們好好品味學習。但人類高手們自己下,其實也學不了多少這種高水平的好招,正式對局不能太密,一年80局就很多了。即使正式對局也不一定水平極高,可能是學習意義不大的中低級敗招輸掉的。象AlphaGo白54這種好招,不太容易碰到。

但是Master就不同了,它反正就整天不休息自己下,有AlphaGo戰勝李世石那麼高的水平對局質量很高。出了結果就復盤,一盤就能學到很多。每天復盤的,可能比人一輩子下的高水平棋局還多。所以Master學習速度極快,一周時間就能出一個新版。

人類高手雖然重視復盤,但其實也有麻煩。高手之前很容易意見不統一。圍棋很複雜,局部定型以後,誰好誰壞很難說清楚。對局面理解有獨到之處的孟泰齡就經常復盤時與人意見不一樣,甚至吵起來。

2016年12月3日圍甲主將戰孟泰齡執白負周睿羊

雖然孟泰齡輸了,但這個局面他認為是自己好,後面沒下好輸了。周睿羊勝了當然不同意,這也確實說不清楚。

對Master來說這不是問題,局面好不好不用廢話,直接開一盤下不就知道了?訓練完了就再下,有效果就證明是好的。一切都是自動編程進行的,兩個程序對聊的不是廢話,而是對局。但人就不太好辦,意見不一樣,一般也不會就開戰實踐。就算意氣上頭了開戰,對局質量也難以保證。所以人的學習速度,即使有集體復盤這種機制,也不會進步太快。

所以,眾多東方高手集體研究積極網上演練,還是比不上Deepmind的研發團隊讓機器快速自我對弈學習,原理上就比不了。Deepmind透漏說,Master進步不需要人類棋譜,只要自我對弈就可以了。這正是因為Master是「復盤大師」,可以充分學習自己的高水平對局反覆循環前進。當然這並不是說Master脫離了人類棋譜,它一開始還是需要靠人類棋譜訓練出高水平的程序版本來開始這種「復盤學習」。所以這次AlphaGo對柯潔下的還是象人,一開始是下在角上的。

靠這種強大的復盤學習,Master實力迅速增長,甚至能讓李世石版AlaphGo三子了!這個差距是大得令人難以置信。但這其實是因為,Master針對性地復盤總結,清楚地知道AlphaGo的缺陷在哪,把自己的網路係數訓練得抓這些缺陷特別准。AlphaGo版本就停在那了,缺陷一直會是缺陷。而人類高手不會這樣,如果有那種模式化的缺陷,在對局中早就自我改進了,所以Master不可能讓人類高的三子。

Master能讓AlphaGo三子,是不是它仍然有缺陷,可能後面的Master版本也能讓現在這個三子?這不好說,但是與柯潔對局的AlphaGo應該不是沒有破綻的。人類棋手們與AI對局也很多局了,對絕藝、DeepZenGo等程序知道要造複雜的bug局面才好獲勝。但與Master的60盤對局確實沒有造出複雜局面。下面我們看柯潔是如何成功做到的。

二.柯潔與AlphaGo第二局的精彩之處

AlphaGo開局沒有按禮儀下左上,這可能是對稱性造成的編程小疏忽。前四手重複了第一局,AlphaGo也下三三,很有意思。柯潔第6和第8手模仿了AlphaGo,但星位和三三不一樣,顯然沒法一直模仿。

右上角到24手都是人類下過的,AlphaGo第25手是新手。這一手讓職業解說們很推崇,因為白如果吃角上四子,黑虎在L18外面形狀很不錯,比之前的變化好。

柯潔26反擊。AlphaGo繼續下出了27打的好手,白28不得不跑,提吃會被悶回去。有了這個交換,黑29就可以長了。這時解說都認為這個局面AlphaGo得分了,又教了人類一招。

但柯潔發揮很好,想出了脫先的應對,甚至30這一手都與AlphaGo給出的雙方預想圖一致。右上角這個圖,正是AlphaGo第9手掛的時候設想的變化圖,也就是AlphaGo自我對弈會這麼走。柯潔能與AlphaGo經過20多手的進程,重現了這個對於人類來說全新的變化圖,確實是棋感與邏輯的奇蹟。也就是說,下到這時,柯潔的表現和AlphaGo完全一樣。

柯潔30脫先後,32手分隔黑棋,36手再次分隔。到47手,已經有局面複雜化的雛形了,包括右上未結束的定型在內,全局出現了多處頭緒,很多地方要處理。因為黑棋要貼7.5目大貼目,應該說白棋把局面打散讓黑棋圍不到大塊空是好的,引入複雜局面也有基礎了。

由於局面緊繃,AlphaGo也沒有辦法拿出「控制流絕技」,只能和柯潔開戰,雙方在左下角形成了一個劫爭。這個劫白不需要立刻打,因為黑提一手消不幹凈,而白動手就是天下大劫。所以白可以在外面先造劫材,把局面搞得更加混亂複雜。這時,柯潔已經製造了Master前面60局都沒有碰到過的局面。哈薩比斯也在此時發推說,AlphaGo的勝率評估分數說明,柯潔的表現完美。

柯潔先吃住右上,再在左下跑出一塊棋,用這塊棋與左邊的大劫作頭緒,第100手終於開劫。此時局面非常複雜,解說的棋手與棋迷都很興奮。哈薩比斯在發布會上說,前100手雙方差距非常小,此時柯潔應該是有不小機會的。Deepmind介紹說,Master的60多局棋里,從來沒有一個棋手能在100手的時候還能勢均力敵。柯潔這局的表現已經是極大的突破,也讓職業棋手們很服氣,確實是世界第一人的風采。

柯潔右邊102手找劫後提劫,AlphaGo只得105粘上。柯潔再108連根跑出這塊棋,再114將黑棋切斷。到這個局面,在職業高手與棋迷看來,棋局的複雜與混亂到了前所未有的程度。雙方共有九塊棋沒有安定,右下角還有一個天下大劫要開。即使與人類棋手的激烈對局相比,這個局面也是很複雜的。

但是這時也可能柯潔已經犯了錯誤了,AlphaGo的119手並是難以察覺的好手。它威脅了白中下的一塊棋,接下來又要吃白右下的大塊。這裡變化太複雜,職業高手也一時給不出結論,也可能白114切斷過於激烈。

柯潔走到這裡時122手可能犯了錯。有評論認為122手應該在左下開劫,以122這裡的劫材展開激烈的對殺,後面局勢非常複雜,進程會更白熱化。

行棋至此,柯潔128手終於開了天下大劫。白如果劫勝,左中的黑棋也完了,價值無比巨大。但此時白棋右下一塊已經被吃。這時局面應該是明朗化了,就看劫材。一些職業解說與觀眾直呼精彩,期待柯潔在這個局面下一舉打爆AlphaGo創造奇蹟。

在整個激烈的對局過程中,柯潔真實地意識到自己的勝機來了,心跳非常劇烈,甚至需要用手撫胸平復心情。但是128開劫應該是誤算,白實際是差一枚劫材的。

白130找劫後,黑133找劫!有評論說這手可能柯潔沒想到,多造了一個劫材,但是不是如此要看復盤。柯潔發現劫材不利,136找個小劫,AlphaGo果斷137消劫,其實已經宣告了本局的結果。白右下全死,左邊卻沒有得到多少利益,形勢已經大差。後面繼續到155手意義不大了。

三.全局綜述與展望

本局柯潔與AlphaGo的表現精彩紛呈,Deepmind團隊也對柯潔表示了敬意。柯潔能夠把棋局導入這麼複雜有勝機的局面,讓棋迷們看棋時非常振奮,表現已經很好了,比第一局還要好,基本是人類最高水平的發揮了。由於人類的弱點,在複雜局面中出現誤算,瞬間輸掉棋局,也在所難免。但這一局說明,人類棋手面對如此強大的AlphaGo,真可能是有機會的。

柯潔前半盤逆天的發揮,也逼出了AlphaGo從未展示過的精彩表現。到底有多精彩,由於局面太過複雜,需要等高手們甚至Deepmind公布的細節信息。對本局的解讀應該不是一天能做完的。

正因為柯潔前半盤發揮的這麼好,他後面才非常遺憾,覺得自己的失誤太大了。如果他發揮得再好一些,棋局後面不知會出現怎麼熱血的場面。但他與AlphaGo可以相比(至少在前100手)的高超圍棋技藝在本局已經得到充分展示,發揮是人類生理心理問題,與機器沒法相比。

後面還有唐韋星等五個高手與AlphaGo的相談棋,以及柯潔的第三局。職業高手們認為,很難製造複雜局面。這一局應該能說明,和AlphaGo殺個昏天黑地是有可能的。圍棋足夠複雜,並不是只能和AlphaGo在各種定型中比判斷,也可能將局面導向計算主導。當然也許AlphaGo強到到複雜局面還是比人強,但這至少是比別的下法更有機會的。

也許我們應該放下勝負,並不一定要追求戰勝AlphaGo。如果能象柯潔本局前100手一樣,發揮出人類對圍棋理解的最高水平,無論勝負,都是與水平超高發揮穩定的AlphaGo共同演繹出精彩的棋局。本局說明,棋局精彩到一定程度,真的是可以超越勝負的。

背景簡介:本文作者筆名陳經,香港科技大學計算機科學碩士,科技與戰略風雲學會會員,微博@風雲學會陳經,文章2017年5月25日發表於觀察者網(這一局證明柯潔很強大,人類棋手還有機會!-陳經-觀察者網),風雲之聲獲授權轉載。責任編輯:孫遠

歡迎關注風雲之聲

知乎專欄:

zhuanlan.zhihu.com/feng

一點資訊:

yidianzixun.com/home?

今日頭條:

toutiao.com/m6256575842
推薦閱讀:

最終一戰:柯潔再負AlphaGo,此後再無圍棋人機大戰
人類與AlphaGo的恩怨情仇(六):煮酒論史
紋枰秋點兵:范廷鈺直通三亞,14位世界冠軍挺進線上複賽
alphago憑什麼排名世界第四?
如何看待阿爾法狗3:0擊敗柯潔?

TAG:柯洁 | AlphaGo | 人工智能 |