AlphaGo首出Bug,圍棋算法的死穴在哪
再可怕的怪物也是有弱點(diǎn)的,AlphaGo為什么會下臭棋讓大家大跌眼鏡,圍棋人工智能第二代第三代的死穴是什么?
圍棋人工智能第三代的死穴在哪兒?
韓國圍棋界曾獲得多項(xiàng)世界冠軍的職業(yè)九段李世石對陣谷歌計(jì)算機(jī)AlphaGo的人機(jī)大戰(zhàn),三連敗之后,執(zhí)白棋居然扳回一局。
大眾把此場圍棋人機(jī)大戰(zhàn)看得太重,看作人腦跟電腦的徹底較量,其實(shí)不然,因?yàn)楸仍嚨闹皇菄逡粯訓(xùn)|西。圍棋人機(jī)大戰(zhàn)人類若輸了,不等于人腦就從此比不上電腦了。
實(shí)際上,圍棋雖然變化復(fù)雜,但理論上并非變化無窮。畢竟可以看作一道數(shù)學(xué)題目,可以用計(jì)算機(jī)來編程運(yùn)算從而得到解答。假以時日,人類在下棋這一方面遲早難以與電腦匹敵。就算李世石三連敗之后能扳回兩局,那就怎么樣呢?下圍棋這一方面人類遲早是敵不過人工智能的。
圍棋人工智能第一代算法使用的就是窮舉法,試圖把所有的下法都算出來,然后選擇必勝的下法。但是因?yàn)閲宓淖兓瘜?shí)太多,暫時無法辦到。
第二代算法,是抽樣評估選擇勝率最高的算法,大大減省了運(yùn)算量,使人工智能終于能跟業(yè)余圍棋選手較量。
谷歌AlphaGo是第三代算法,利用人工智能自我學(xué)習(xí)的能力使己身棋力突飛猛進(jìn)??瓷先ニ坪跻涯茌殙菏澜珥敿饴殬I(yè)高手的AlphaGo,第四局居然爆冷下臭棋落敗,是出了什么問題?
Alpha Go的算法是有問題的。第三代算法的問題實(shí)際上也是第二代算法的問題,因?yàn)榈谌惴ㄊ腔诘诙惴ǖ某闃釉u估再加以自我學(xué)習(xí)。就算Alpha Go可以自己跟自己下棋提升棋力,它之所以能這樣下棋還是基于抽樣評估。
抽樣評估是有弱點(diǎn)的。勝率高的下法不一定就是正確的下法,畢竟這只是統(tǒng)計(jì)。有些冷門下法,也許反而能出奇制勝。
Alpha Go下臭棋時思考速度特別快恰恰說明此時的樣本少。李世石78手是奇招,會下這一手的棋手很少,AlphaGo按照程序運(yùn)算的結(jié)果自以為李世石勝算不高,特別快地作出了反應(yīng)。這是一個天大的錯誤。
跟圍棋程序下過棋的棋手都有這么一種感覺:電腦在劣勢時應(yīng)對特別混亂。不單AlphaGo,Zen也是這樣。因?yàn)殡娔X處于勝率低的情況已經(jīng)不好思考了。按照樣本統(tǒng)計(jì),處于勝率低的情況下當(dāng)然是落敗的多,反敗為勝的樣本可不好找。勝率越低的情況,AlphaGo的思路越混亂。在極端情況下,也許找到的樣本中勝率低的一方已經(jīng)投子認(rèn)輸了,沒有后續(xù)的棋譜,AlphaGo于是不懂該怎么辦了。
Alpha Go的失敗也是人類的失敗,畢竟的程序也是人類編出來的。另一方面,也是因?yàn)樗惴ɑ谌祟惖臉颖?,?dǎo)致了AlphaGo的失敗。如果有應(yīng)對李世石那一招的樣本,AlphaGo也不至于如此判斷出錯。
Alpha Go之父哈薩比斯說:“AlphaGo的訓(xùn)練并沒有專門針對李世石先生,而是像對普通棋手比賽前一樣,做的只是日常的準(zhǔn)備。AlphaGo備戰(zhàn)就是從網(wǎng)上下載很多業(yè)余棋手的棋譜研究,沒有什么特別之處。”隨后又說,“要針對某一個棋手備戰(zhàn)也很難,我們至少需要數(shù)百萬甚至上億的棋譜,才能整體提供給AlphaGo,它才能接收并進(jìn)行深度學(xué)習(xí)。”
哈薩比斯的話也證實(shí)了圍棋人工智能第二代第三代的死穴,也就是樣本評估的問題。像李世石反敗為勝這樣的奇招,能找到的樣本實(shí)在太少。AlphaGo明顯需要有大量職業(yè)棋手的優(yōu)質(zhì)且非常全面的對局作為參考,這可不好辦到。
圍棋貼目難題仍待解決
第四局,李世石執(zhí)白棋反而能獲勝,這是一件很匪夷所思的事。因?yàn)楹谄逵邢仁謨?yōu)勢,勝率更高。
圍棋人機(jī)大戰(zhàn)引出了一個長期困擾圍棋界的問題,就是圍棋規(guī)則中關(guān)于貼目的規(guī)定。不玩圍棋的人可能不知道,但圍棋迷都清楚。執(zhí)黑棋的棋手是先手,享有優(yōu)勢,故為了公平起見,黑方需要向白方貼目。
1949年(昭和24年)日本棋院圍棋規(guī)則規(guī)定:黑方貼4目半。從1955年的第3期王座戰(zhàn)起,黑棋貼目從4目半改為5目半。但是根據(jù)統(tǒng)計(jì),黑方仍然占了優(yōu)勢。截止到2001年底,在日本棋院近5年來進(jìn)行的1.5萬盤正式公開棋賽對局中,(黑貼5目半的情況下)黑棋勝率達(dá)到了51.86%。執(zhí)黑執(zhí)白的勝率之差雖然不大,但在爭奪激烈的圍棋大賽上,這樣的差距足以致命。
在國際棋賽中實(shí)力明顯占優(yōu)的韓國率先在大多數(shù)棋賽中改用6目半制。中國也從2002年春天起,全部改貼3又3/4子(相當(dāng)于7目半)。日本棋院對于實(shí)行了50年的黑棋貼5目半的制度也實(shí)行了改革,將部分比賽向中韓靠攏, 2003年開始全部采用黑棋貼6目半規(guī)則。
截止到2014年底,中國大陸主辦的貼3又3/4子(相當(dāng)于7目半)的世界大賽共有380盤對局,其中黑勝200局,勝率為52.6%(前3屆春蘭杯相當(dāng)于貼5目半,未計(jì)入)。而臺灣舉辦的應(yīng)氏杯(貼8點(diǎn),也相當(dāng)于7目半)則是黑勝100局,白勝97局。由此可見,即便是貼7目半,黑方似乎還是略占優(yōu)勢。
那么,到底黑方要向白方貼目多少才絕對公平?目前這個數(shù)值只是根據(jù)大量人類對局作統(tǒng)計(jì)得出的,并非數(shù)學(xué)上的完美無懈的解答。
也許,讓AlphaGo學(xué)金庸武俠小說中的周伯通和郭靖左右互搏,自己左手跟右手下棋,然后通過大量內(nèi)戰(zhàn)結(jié)果統(tǒng)計(jì)出貼目的合理數(shù)值?No,這也不是完美的解答。
前面說過,AlphaGo之所以能自己跟自己下棋,還是基于對人類對局的抽樣評估。這跟直接對人類對局進(jìn)行統(tǒng)計(jì)沒什么兩樣。
完美的解答,還是要回到最初,用最原始的窮舉法,找出下圍棋的最優(yōu)解。這樣,才能徹底制訂貼目的數(shù)值。只是不知道,運(yùn)算量這么大的工程,不知道要到什么時候才能實(shí)現(xiàn)?
我們倒是可以設(shè)想一下圍棋得到徹底破解之后的情景:某國際圍棋大賽在萬眾矚目下開始了,執(zhí)黑棋的棋手才下了第一子,裁判當(dāng)即宣布,執(zhí)白棋的棋手不用下了,比賽結(jié)果已定,誰勝誰負(fù)或是打成平手已經(jīng)水落石出。觀眾一片歡呼。
AlphaGo玩麻將怎么樣兼論桌游設(shè)計(jì)的隨機(jī)性
圍棋人機(jī)大戰(zhàn)人類雖然輸了,但有些網(wǎng)友表示,人類的智慧還有中國麻將守著(詳見鈦媒體文章《贏了圍棋冠軍不算什么,阿爾法狗敢不敢挑戰(zhàn)麻將?|鈦搞了》)。但中搜網(wǎng)絡(luò)創(chuàng)始人、北京圍棋業(yè)余賽冠軍陳沛對采訪他的記者說:“要是麻將,人類會輸?shù)酶鼞K!麻將一共就那么多張,很容易算出來的。”
然而,陳沛的話其實(shí)是錯的。假設(shè)有個傻大木,他都不太會玩麻將,但他就是運(yùn)氣好到爆棚,一開局就自摸十三幺,請問AlphaGo可有破解高招?
麻將這類棋牌游戲因?yàn)殡S機(jī)抽牌,是有運(yùn)氣成分的。
有網(wǎng)友就戲言:假如打麻將時三個人聯(lián)手對付AlphaGo,AlphaGo會輸?shù)煤軕K。這雖然是作弊了,但也道出了一個大問題:在多人游戲中,局面變得異常復(fù)雜,人工智能要如何才能應(yīng)對?
比如說,三個人跟Alpha Go打麻將,雖然沒人作弊,但是甲玩家技術(shù)不行打錯了牌導(dǎo)致乙玩家得利,這是Alpha Go所無法控制的。
說起來,AlphaGo要學(xué)習(xí)打麻將,也是得基于對大量人類對局的樣本評估。Alpha Go只能弄明白什么樣的打法勝率較高,然而打麻將并沒有所謂必勝的打法。
圍棋的棋子擺在棋盤上是明眼可見的。不知大家有沒有聽說過一種“暗棋”,就是將象棋的棋子反過來蓋上再玩的。陸戰(zhàn)棋也有暗棋的玩法。麻將其實(shí)也跟暗棋玩法類似,牌是蓋起來玩的。蓋起來的棋牌是什么,還得猜測。Alpha Go頂多是通過計(jì)算進(jìn)行評估,蓋起來的棋牌是什么的可能性比較大,不可能準(zhǔn)確推理得到唯一結(jié)果。也就是說Alpha Go永遠(yuǎn)無法進(jìn)化到100%獲勝的地步。
圍棋沒有運(yùn)氣成分,而麻將有著運(yùn)氣成分,兩者都有自己的魅力。
廣義上,圍棋、麻將這些棋牌游戲,其實(shí)是屬于桌游的范疇。圍棋的英文是“Go”,AlphaGo的“Go”就從此而來。圍棋躋身BGG桌游排行榜前100名,是中國棋牌類游戲排名最高的。
在民間,實(shí)際上像象棋、圍棋這類沒有運(yùn)氣成分的棋牌(桌游)已漸趨沒落。現(xiàn)在關(guān)注圍棋人機(jī)大戰(zhàn)的網(wǎng)友,又有多少人是圍棋迷呢?
因?yàn)榇蟊娤胍母菉蕵罚裣笃?、圍棋這類沒有運(yùn)氣成分的,玩起來水平發(fā)揮比較穩(wěn)定,高手就是高手,一般人很難贏得了,除非你能找到棋力剛巧跟你一個水平檔次的,不然玩起來沒意思,強(qiáng)的太強(qiáng)弱的過弱。
故此,新興桌游的設(shè)計(jì)宗旨,都是要保證隨機(jī)性,要有運(yùn)氣成分。像萬智牌、游戲王和爐石傳說之類隨機(jī)抽牌,飛行棋、大富翁之類擲骰子,都是產(chǎn)生隨機(jī)數(shù),帶來運(yùn)氣成分。有了運(yùn)氣成分,所有玩家發(fā)揮出來的水平就不至于相差太遠(yuǎn),能湊到一起玩?zhèn)€痛快。
另一方面,沒有運(yùn)氣成分的棋牌(桌游),因?yàn)槔碚撋弦欢ù嬖谧顑?yōu)解,最優(yōu)解一旦出來后,肯定讓人興致大減。圍棋就是因?yàn)樽兓瘜?shí)太多,至今仍未有最優(yōu)解,所以能存活到今天。現(xiàn)在,AlphaGo并沒有徹底擊敗李世石,看起來圍棋的生命力仍然很頑強(qiáng)。