感謝AlphaGo對圍棋的貢獻,人機纏鬥剛剛開始|陳經
感謝AlphaGo對圍棋的貢獻,人機纏鬥剛剛開始|陳經
請點擊「風雲之聲」,打開新的世界
科技與戰略風雲學會,受過科學訓練的理性愛國者們組建的智庫。科學素養,家國情懷,橫跨文理,縱覽風雲。
導讀:以AlphaGo為代表的新一代圍棋AI將有超過職業棋手的技術實力。而人類的圍棋水平在人工智慧程序的幫助下,會取得突飛猛進,特別是在大局觀上的認識。另一方面,圍棋也將通過人類高手與機器的反覆纏鬥,以一種前所未有的方式展示其自身的魅力。AlphaGo與李世石的五盤人機大戰,只是一個開始。
————————————————————————————————
2016年3月15日人機大戰第五盤,AlphaGo執白280手中盤勝李世石,總比分4:1結束了這場持續一周的圍棋盛事。
我在廣州愛范兒公司和吳肇毅九段一起直播了這場比賽,感覺對機器的招法比較能夠理解。這使得我在這場特殊的比賽中,有時對局勢的判斷比吳九段更為準確,雖然我的圍棋水平不高。
陳經在愛范兒與吳肇毅九段一起直播解說人機大戰的收官之戰
下面用幾個圖來解釋一下機器開盤的失誤和技術特色。
李世石對AlphaGo第五局第26手
在右邊的常見套路中,AlphaGo選擇了16位擋而不是Q10拆,放黑17位打入,接著繼續18位打,放黑19位沖21位斷,很簡單地就棄掉了三子。粗粗一看黑吃下三子實空不小,但這是AlphaGo的招法創新,黑布局感覺已經落後了。因為白有A位靠下的手段,會在上面形成一道厚勢,白棋把棋走在外面,對於厚味外勢的價值估計得比人類棋手更准,而且它的整體行棋方式也能與之配合。人類高手出於實戰考慮選擇實地的更多,通常認為虛虛的外勢不太好掌控。從大局觀來看,AlphaGo的理解更合乎棋道。
李世石對AlphaGo第五局第60手
這個局面的看點是AlphaGo第48手斷入,然後被黑51全部吃下,虧了不小的目數。這是確定無疑的損失,機器犯了錯。這個錯誤非常象AlphaGo和樊麾的第三局,它也是在黑右下大空里走了幾手,沒有棋卻損了空。為什麼它這麼下?
48手這個斷是很明顯的直覺要點,在AlphaGo的策略網路里估計會是排名很前的選擇。後續搗亂可以連續多招,黑要小心應對,下錯了就立刻完蛋。黑應對了,白可以繼續「考驗」黑。AlphaGo也會用策略網路模擬黑的應對,正確應對的招數肯定有,但也有錯誤的建議給出來。這樣,連續搜索展開後,在不少葉子節點AlphaGo高興地發現黑應錯了被白一舉擊潰。就算黑一直應對正確,最後白損失也不大,能夠完封右邊中,大局上還是自己好。所以,蒙特卡洛模擬(MCTS)對48這手給出的勝率評分會比較高。這應該算是AlphaGo演算法框架的一個bug。AlphaGo願意下這種「局部變化複雜,對手應對錯誤自己立刻勝利,應對正確自己稍虧但大局還好」的辣招。對人類高手來說,這種計算應該不難,所以就佔了便宜。48手算是虧目較多的一次小bug,但是局面還早。這時AlphaGo對自己的勝率估計應該比下出48手時低一些了,它終於知道吃了虧,但當初就是願意去這麼試。因為手數較多,它下48的時候並不知道會虧。只有定型的差不多了,才覺得算清了,沒有東西。
同樣原理的著手在收官階段出現多次,AlphaGo幾次在一路撲吃被提。它不虧,不會減少自己的勝率,萬一對手不應還提高了勝率,損了劫材但反正它不想打劫。我估計這類著法是它的策略網路向人學習的,人經常在後半盤打劫、讀秒打將的時候下這種一路撲。AlphaGo不理解人的意圖,但把招學了過去。學過去發現能提高勝率,就這麼用起來了。
象48手虧空這樣的小bug是人可以利用的。如果人類高手完美髮揮,各個環節都頂住,可能下和平的收空棋也能贏它了。但難度會很高,AlphaGo在劃分地盤這個環節實在太厲害了。這種棋要做的選擇非常多,哪步能占更多的空人沒有特別好的精確測算方式,只有靠感覺為主。而AlphaGo用幾百萬次模擬來統計性地判斷,比人要准得多。這是AlphaGo的核心能力,大局觀碾壓人類。
李世石對AlphaGo第五局第70手
不少職業棋手認為李世石69過於靠上,被70鎮頭攻擊局勢很不利。具體應該在哪吊,說法很多。不管黑下哪,這種局面是AlphaGo擅長的。它不一定要成哪一塊空,黑進來它各種方法都會模擬試一下。如果模擬發現退縮不行,它就會進行鎮頭分斷攻擊,最後往往會將成空潛力轉移到另一片地方去。最後人下來下去,總是被它在某個區域圍出很大的一片空。這種以厚勢為基礎的浮動攻擊,靠吃棋威脅最後把虛空做實的下法,真的是很賞心悅目。
人類棋手評棋時往往會覺得,是不是破空手法不對啊,是不是該往這個方向跑,是不是打入深一些才好,是不是進得太深了。我認為這很可能是根據結果來看的馬後炮。在這種局面下,擁有厚勢的一方可能已經有了局面的主動權,AlphaGo根據自己的評分還是判斷得比較準的,你怎麼進來它都有應對的辦法。
李世石對AlphaGo第五局第100手
李世石如果選擇正確,可能情況會好些。可是實戰幾乎所有人都發現黑大虧了,自己兩眼苦活,白左上角已經活了,中間又瞬間出現大空。這時白下出了100這手棋,人們應該立刻意識到這等於是「勝利宣言」。這手很有味道,它並不是試圖在左下圍更多的空,而是準備讓黑打入做活,但白也消除所有不安定因素收官穩穩獲勝。下C5之類的點是可能圍空更多,但黑仍然可以進來搗亂,黑右下的厚勢就有用了。還不如用100這手消除任何變數。這種思維是人很難有的,它不去在裡面守,反而在外面用堅實的拆一來守。
後半盤黑的掙扎都沒有用,AlphaGo展現了高超的局面控制能力。最後認輸時李世石盤面領先5目,是因為電腦想穩勝,讓了一些回去。
這局李世石算是成功地測試出了AlphaGo開局虧目的一個小bug,但由於自身發揮有問題,還是被AlphaGo控制了,基本沒有機會。李世石的大局觀和局面判斷比AlphaGo要差很多,右下意料之外的收益可能反而害了他,讓他以為領先優勢不小,後面沒有果斷出手製造第四局賴以獲勝的複雜局面。這局也沒有製造出劫爭,AlphaGo避劫照樣控制大局。
在總共五局高水平對局中,AlphaGo確實表現出了令人嘆為觀止的技術水平。可以非常有把握地預測,以AlphaGo為代表的新一代圍棋AI將有超過職業棋手的技術實力。而人類的圍棋水平在人工智慧程序的幫助下,會取得突飛猛進,特別是在大局觀上的認識。機器即使在圍棋上完全戰勝了人,也不是災難。可以看看國際象棋領域已經發生過的事,有助於圍棋界正確認識機器的作用。國際象棋程序的等級分比人類最高水平還高四五百分,對人類可以讓一個兵或者二先,平下人最好結局只是和。人們已經完全承認AI水平遠高於人,用它們來更新布局理論,研究新手,在人與人對下時應用。這樣人的水平也取得了飛速進步,國際象棋大師越來越多。這次人機大戰圍棋的關注度空前提高,這對圍棋發展是非常有益的。所有熱愛圍棋的人,都要感謝AlphaGo的貢獻。
但另一方面,圍棋也將通過人類高手與機器的反覆纏鬥,以一種前所未有的方式展示其自身的魅力。AlphaGo與李世石的五盤人機大戰,只是一個開始。不少新聞分析說,圍棋人工智慧將很快全面戰勝人類,我認為這是不正確的。
理論上來說,因為劫的存在,圍棋是一種「上下文有關文法」,同樣一個局面,前一招是不是提劫,後續邏輯就會完全不一樣(按中國規則禁止全局同形再現,有更多形式的「上下文有關」,但最常見的是劫)。而國際象棋、中國象棋等棋種是「上下文無關文法」,當前局面如何形成的不影響後面結果。圍棋的複雜性,廣為人知的是狀態空間數比國際象棋多100多個0。但是從圍棋藝術和計算機演算法角度來看,這種「上下文有關」造成的複雜性,遠遠超乎人的想像。下棋的人都知道,劫是讓圍棋的境界與藝術性大大升華的一個東西。基於MCTS的國際象棋程序,因為「上下文無關」,可以用多次模擬完美逼近看似很大的搜索空間。但是在圍棋上,「上下文有關」的劫,因為可以在全盤任何一處找劫,MCTS演算法的分枝數量瞬間爆炸,對搜索質量造成毀滅性的打擊。這還只是一些簡單的劫爭。如果再考慮緩氣劫、兩手劫、連環劫、多劫循環,可以說圍棋搜索演算法僅僅只摸到打劫的邊,根本沒有深入劫爭問題的核心。
可以想像將圍棋盤擴大到21路,狀態空間數又多幾十個0,AlphaGo訓練之後在劃分地盤這個核心能力上還是可以超過人類,並不怕狀態空間增多。但是就算棋盤縮小到17路,AlphaGo也還是不喜歡打劫。只要還是MCTS演算法框架,面對劫爭程序開發者想過各種處理辦法,都沒能很好應對複雜的劫爭。谷歌團隊也不太可能在這個問題上取得突破性進展。
可以非常有把握地說,打劫的能力將是人類遠遠強於圍棋程序的地方。但是這個問題上機器也不是沒有出路,AlphaGo就向我們展示了如何通過避開劫爭分枝來控制局面。人類如何通過行棋,將機器逼得不得不打劫,會是一個很有意思的技術問題。從圍棋理論上來說,一方不怕打劫,一方拚命避劫,總是善於打劫的一方有利一些,高手善打劫。人類最高水平的棋手打劫能力是9段,機器的打劫能力可能只有業餘3段。按AlphaGo把劫材走光的風格,它不可能是一個劫爭高手。但是人類高手也沒有這樣的經驗,如果將一個不配合的卻棋藝高超的對手逼入劫爭。
在對於非確定地域的價值估計上,AlphaGo可以通過幾百萬次收完運算元的統計模擬,對人類有著壓倒性的技術優勢。表現出來就是大局觀非常好,人類最高水平是9段,AlphaGo可能有13段。
在封閉式局部的戰鬥中,AlphaGo對人類最高水平也仍然有優勢。因為人類存在算不清、得失判斷不清的問題。這方面的能力對比AlphaGo是10段,人類是9段。
在多個頭緒關聯的開放式接觸戰中,不需要引入劫爭的複雜,AlphaGo的搜索模塊也會碰到不小的麻煩。因為頭緒多,對殺結果決定勝敗,只有人類高手能理清邏輯,找到正確的行棋路線圖。在這種複雜盤面,AlphaGo的三大搜索武器,價值網路、快速走子策略、策略網路全都失靈,就會忽然出現怪異的行棋選擇。這是人類戰勝機器最有希望的領域,人類是9段,機器只有業餘5段。
在局部區域的定型手法中,AlphaGo出現了不保留變化早早定型的傾向。有些局面還會過早把手段使出來,以目數絕對虧損收場。這都是小問題。而人類心理狀態不穩定,很難做到持續穩定地發揮出最高水平,是一個大問題。
總體來說,AlphaGo和人類高手風格迥然不同。事先分析,AlphaGo和人類高手各有所長,交鋒起來看點十足。AlphaGo會的,是在實戰中最經常使用的。以大局觀為基礎的行棋方向選擇,是行棋中最常用最實用的本事,AlphaGo遠超人類。在局部接觸戰中,AlphaGo擁有類似於窮舉的戰鬥力,人類占不到便宜(虧目是AlphaGo為了提升勝率的小bug行為,明知殺不過也下。真正對它有利的戰鬥,它不會放過)。這兩項本事都是最常用的,所以AlphaGo平時行棋就帶有一種獨特的魅力,時不時讓人類驚嘆它的判斷力與創造力。人類如果在這兩項技術上和AlphaGo鬥爭,將毫無勝算,甚至差距會越拉越大。
而人類需要有意地將局面引入對自己這方有利的格局中。通過劫爭,複雜盤面多處頭緒關聯分析,在適合於自己的戰場將AlphaGo擊潰。人類互相之間針鋒相對,很容易到達這種局面。然而AlphaGo會有意繞過劫爭分枝,搶先定型簡化局勢。
雙方這樣各有所長,又特點鮮明,持續纏鬥起來會非常火爆,看點十足。我非常期待,職業棋手們能夠普遍了解AlphaGo的特性,制定正確的迎戰策略。而雙方又無疑會互相學習,試圖減輕自己的弱點,學習對方的長處。如谷歌可能會通過持續訓練與研發,將AlphaGo的弱點隱藏得更深。而人類一方面加強自己的大局觀與局部手段,另一方面又動腦筋去使出手段將局面引導入劫爭、複雜盤面。從圍棋藝術發展來看,這會是一個非常激動人心的歷史機遇。
因此,要非常感謝谷歌研發出了AlphaGo這麼一個威力強大又十分有趣的好東西。人類與機器激動人心的纏鬥不會很快結束,雙方的優勢與弱點都會長期存在。圍棋作為計算機演算法「完全信息博弈」問題中當之無愧的皇冠,會進一步展示出它真正的魅力,不會一下子被突破,很長時間內還會是核心難題。人類也會不斷向機器學習它擅長的領域,提高自己的技藝。圍棋歷史上又一次意義巨大的革命已經在發生。
作者簡介:筆名陳經,香港科技大學計算機科學碩士,科技與戰略風雲學會會員, 微博@風雲學會陳經,棋力新浪圍棋6D。二十一世紀初開始有獨特原創性的經濟研究,啟發了大批讀者。2003年的《經濟版圖中的發展中國家》預言中國將不斷產業升級,挑戰發達國家。2016年8月出版新書《陳經說:中國的官辦經濟》。
【本文2016年3月17日發表於觀察者網(陳經:感謝AlphaGo對圍棋的貢獻,人機纏鬥剛剛開始)。】
請關注風雲學會的微信公眾平台「風雲之聲」,微信號fyvoice
知乎專欄:風雲之聲 - 知乎專欄
一點資訊:【一點資訊】風雲之聲 www.yidianzixun.com
今日頭條:風雲之聲 – 頭條號(TouTiao.org)
推薦閱讀:
※李世石的對局中,充分體現殭屍流的對局有哪些?
※圍棋史上的今天:10月17日 紀念桐山靖雄先生 回顧首屆阿含杯
※為什麼圍棋界有「二十歲不成國手,終生無望」的說法?
※圍棋史上的今天:7月5日 狹路相逢的怒濤 一年王朝
※《未生》中的圍棋借喻如何理解?