[轉錄] 感謝李世石生命般的抗爭 AlphaGo的命門其實很簡單

看板GO作者 (Kumi)時間8年前 (2016/03/15 09:38), 編輯推噓16(16012)
留言28則, 17人參與, 最新討論串1/1
http://www.guancha.cn/chenjing/2016_03_14_353915_s.shtml 陳經 2016年3月13日,人機大戰第四局李世石執白180手中盤勝AlphaGo。說這一勝是人類歷史上最重要的一勝也不為過,就不多說了。從圍棋技術與算法上來說,最重要的意義是,我們終於看到了一張AlphaGo的敗局譜,明確知道AlphaGo有重大bug,前三局過後看似威力無比的機器,發起瘋狗症竟然會走出那麼可笑的招法。 現在終於知道,為什麼谷歌只公佈了與樊麾的五盤正式對局的棋譜,卻不公佈非正式對局裡二盤敗局的棋譜。哪怕一盤敗局的全譜洩露出來,人類稍作調查就會知道如何對付它。李世石接到谷歌的邀請,只考慮3分鐘沒提什麼條件就應戰了。從人類與機器鬥爭的角度看,這真不折不扣是《三體》中描述的有礙於人類生存的「傲慢」。不誇張地說,只要李世石要求谷歌公佈一張AlphaGo的敗局譜,這次人機大戰的勝利者就非常可能改寫。但也不能怪李世石,估計所有職業棋手都想不到,這是人類的共性。我們要感謝李世石,終於用生命一般的抗爭在第四局逼出了真相。 1996年國際象棋第一次人機大戰,卡斯帕羅夫就謹慎得多。他提出先由助手和IBM的機器下測試棋,正式比賽時卡斯帕羅夫以4:2獲勝。這是因為國際象棋程序當時已經發展多年,顯示了不低的實力。而圍棋程序也是發展了多年,雖然取得了幾次重大進步,人的感覺仍然是職業棋手讓五六子的水平。樊麾的失利是一個重要信 號,但從人類情緒來看,越是不懂圍棋技術的人越敢預測機器的勝利。棋迷與職業棋手更瞭解自己這邊的「強大實力」,更瞭解圍棋作為一個算法問題的複雜度,傲慢沒有減少。 第四局李世石獲勝的關鍵,賽前我就在上一篇文章中作出了非常接近實戰進程的預測:開放式接觸戰,利用機器「不喜歡打劫」的特性,讓機器犯昏。 李世石這第78手在人類看來,其實還是有漏洞的,仔細拆解會發現這並不是最佳著手,黑棋應對了白不行。但是這招非常神奇地引發了機器的bug。為什麼會有bug,難有定論,我認為最可能是AlphaGo的價值網絡出問題了。(註:關於AlphaGo的價值網絡,田淵棟的這篇《AlphaGo的分析》做了很好的科普,作者為前谷歌工程師,Facebook智能圍棋 darkforest 的負責人和第一作者) http://zhuanlan.zhihu.com/yuandong/20607684 http://i.guancha.cn/news/2016/03/14/20160314221811421.png
如圖至第82手。80和82都是必然的,所以叫78為神之一手。其實AlphaGo這時走B位,據職業棋手分析,空裡沒有什麼棋。如果白M13撲,黑可以 提掉78一子,白L13再打吃,黑粘在78位。下面白吃不掉63這個子。對人來說變化並不複雜。觀戰棋手猜測李世石預想的變化圖是這樣的: http://i.guancha.cn/news/2016/03/14/20160314221853477.png
如果AlphaGo走1位,那白只好2位先手接回一子,再4位先手切斷,在外面做出一片形勢,局勢還能維持。 http://i.guancha.cn/news/2016/03/14/20160314221922300.png
而AlphaGo卻走了實戰的83手,後面一連串招法都特別糊塗的樣。所以犯錯是從83手開始的。Deepmind負責人哈薩比斯說從79到85手,機器都以為自己勝率高達70%,到第87手才發現不對勁,一步棋評分就急劇下降了。降到多少沒有說,但肯定是個很低的分,所以才後面一連串搞笑的棋。這些搞笑的棋本身到是不難解釋,為了偷得可憐的一點勝率,它覺得別的招都不如你打吃看不見。Zen之類的MCTS程序落後了亂下很常見。我們要解釋,為什麼AlphaGo下了錯誤的83。 這個局面特別複雜,把整個棋盤中間都捲進去了,可以說根本不是地塊劃分的問題。決定性因素就是怎麼出棋,出多大的棋,出劫的話怎麼造對自己有利的劫。從AlphaGo的算法來看,它會從當前這個局面進行搜索展開,對葉子節點給出判斷。一半是靠價值網絡,一半是靠「快速走子策略」走到終局。 價值網絡的意思是,它靜態地看整個盤面,用一個多層的神經網絡直接算,就報告這個局面誰會勝。雖然它能「深度學習」到很多隱藏的概念,我們很難想像,在一個火藥桶一樣的盤面上,一個靜態的不搜索的神經網絡居然可以判斷清楚最終的勝負。這種複雜局面,我斷定價值網絡的判斷誤差是極大的。也許價值網絡在各種葉子節點粗粗地一看,黑棋在中間以多打少似乎應該是形勢一片大好。這應該不難理解,無論谷歌怎麼拿幾億個局面訓練價值網絡,我也不相信它能判斷清楚。 那麼AlphaGo在葉子節點還有一半的機會,就是「快速走子」你一招我一招不停直到終局。這個快速走子策略的實力還不錯,速度比策略網絡快1000倍的情況下,單只靠這個策略就有KGS的3D實力,做得其實很好了。但我們再想想,這麼複雜的盤面,兩個KGS的3D在那下到終局,你信得過它們的模擬質量?黑死還是白死估計就是隨機的了。如果讓兩個真實的人類3D在這個局面下,黑好白好確實可能等於扔硬幣。 如果「快速走子終局」給的結果是隨機,基本就是價值網絡在那主導判斷了。它要是有系統性的錯誤偏向,誤以為黑形勢一片大好,那可能一大堆葉子節點都有類似錯誤,因為盤面很相似。所以綜合起來,AlphaGo的MCTS模塊,讓價值網絡在那高興,下了83和85還是繼續高興,勝率還是70%。終於在白下了86,黑87後,價值網絡發生了「跳變」,這裡出現了棋塊特徵的本質變化,一大片類似葉子節點的價值網絡判斷都倒轉過來,於是只一手,勝率就從70%跳到30%之類的悲慘數字了。 這是我的猜測,只能儘量地往合理上靠,最終如何希望Deepmind能給出分析。但是顯然,複雜的對殺盤面會對價值網絡造成嚴重困擾,這應該是AlphaGo體系架構中一個不太好消除的命門。同時複雜的對殺盤面,又讓「快速走子策略」模仿精度下降。要是兩個3D在那下和平棋終局,你佔10目我佔9目,錯進錯出最後一平均是可能把局面好壞概率性模擬清楚。但要是50-50%機會的大對殺,就和其它地方無關了,模擬到最後也提供不了什麼有效信息。 AlphaGo搜索中的兩個武器都失靈了,就只有依靠「策略網絡」提供的各個候選點的概率了。同樣的原因,這個策略網絡只是一個靜態評估,複雜盤面各處頭緒很多,各種要點多得是,看上去的好點到處都是。我不相信策略網絡就那麼湊巧對真正的好點給出高的概率。 可以非常合理的認為,對於複雜的、頭緒很多的對殺盤面,AlphaGo所有的搜索武器都會失靈,容易做出錯誤選擇!三大搜索武器「策略網絡」、「價值網絡」、「快速走子終局數子」,全都失靈! 都失靈了,不管你怎麼調參數拼湊一個MCTS架構,最後也還是失靈。這就是AlphaGo的命門! 讓我們人類開心的是,這並不是很難實現的!我和Zen下過,水平不夠怎麼也下不過它。要麼局部被它殺死,要麼圈地大局觀搞不過。但是下多了,慢慢也琢磨出來了辦法。就不要怕它,這裡開一片頭緒,那裡開一片,留著不動。然後各種頭緒慢慢湊一起,這裡的選擇會影響那裡。這種情況下Zen就昏了,它的搜索武器其實比AlphaGo更差,更是全都失靈了。我雖然也昏,但就死盯著某一個「陰謀」,設計一條路線圖就夠了,不去搜索那麼多亂七八糟的。最後哈哈,Zen上當了,我陰謀得逞,吃了一大片終於贏了。其實我的水平真的遠不如Zen,各個局面手段和大局明顯不如。 那麼對李世石這樣的職業高手來說,複雜盤面更不是個事了。職業高手能理清楚複雜盤面的推理邏輯,用清楚的變化圖給出殺招。這正是體現大高手水平的地方。 因此我大膽推測,AlphaGo其實沒有那麼可怕。所有MCTS為基礎的程序都有的大漏洞,它一樣有,而且從算法角度沒有什麼好辦法解決!這是算法原理決定的,不是寫程序代碼錯了幾行的小bug。 如果職業高手們瞭解了AlphaGo的漏洞,就不要客氣搞什麼棋理圈地,直接就上去跟它殺!但不要在局部亂殺,不是說「在此決一勝負」,如李世石第一局開始的殺法,不對。要這裡留點味道,那裡留些頭緒,最後這些亂子湊到一起去,一定把AlphaGo弄昏頭。 因此,除了「不喜歡打劫」以外,AlphaGo還不喜歡複雜的盤面。所以前三局中它表現得特別喜歡定型,有手段就使出來,減少頭緒。這是它的搜索特性決定的。 分析清楚以後就可以肯定,AlphaGo的漏洞不小。開始人類不瞭解它,看它下得像模像樣,還時不時有好招,被它嚇到了,沒有找到它的命門。它是有幾招絕活玩得不錯,封閉局面算得不錯,圈地運動搞得不錯,幾百萬次算到終局去人不可能玩得過。選點也很靠譜,算得快算得準。在它擅長的領域和它打,當然就不是對手,哪怕是人類最高水平的也不行。但複雜盤面是人類的天生優勢,這不是MCTS那幾招搞得定的,需要人類高手製造頭緒歸納頭緒的邏輯能力。 AlphaGo的缺陷被測試出來以後,人類高手將可能對機器取得壓倒性的勝利。當然人類高手需要改變下法,不要和自己人下那樣講棋理數著目下。碰到機器就要攪,越複雜越好。不是一處變化多手數多那種複雜,而是攪出的頭緒越多越好。 這還沒有提到打劫的能力,這更是人類高手勝過機器的地方。機器可以用控制流避開劫爭,但這終究不是辦法。如果人想通了,自己不要虛,大膽引入劫爭分支,機器總是避劫原理上就不合於棋道。當然這個分析起來更複雜。 綜上所述,如果高水平圍棋程序還是基於MCTS架構的,都會有難以解決的大缺陷。我對人類高手一段時間內壓制機器充滿信心! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 72.74.249.157 ※ 文章網址: https://www.ptt.cc/bbs/GO/M.1458005892.A.612.html

03/15 09:46, , 1F
好文推
03/15 09:46, 1F

03/15 09:53, , 2F
78是最佳解無誤喔....他是勝負手
03/15 09:53, 2F

03/15 10:22, , 3F
是最佳解 保證可以讓看似完蛋的白拉回均勢 不過均勢如果
03/15 10:22, 3F

03/15 10:23, , 4F
好好下 勝負難料 黑的並非無法逆轉
03/15 10:23, 4F

03/15 10:23, , 5F
同意
03/15 10:23, 5F

03/15 10:27, , 6F
好文,值得一看
03/15 10:27, 6F

03/15 10:42, , 7F
身為一位工程師 不覺得這會是個瓶頸 等alphago多修正幾
03/15 10:42, 7F

03/15 10:43, , 8F
個版本 可能九段們也很難贏了 當然我不是看雖人類
03/15 10:43, 8F

03/15 10:44, , 9F
只是alphago也是結合數十萬的工程師們的心血結晶阿
03/15 10:44, 9F

03/15 10:45, , 10F
這場圍棋比賽不管誰贏 都是人類贏 不是嗎?
03/15 10:45, 10F

03/15 10:56, , 11F
樊麾贏的那二盤是快棋 樊麾的訪談有提到
03/15 10:56, 11F

03/15 11:04, , 12F
終於有一篇正解文章
03/15 11:04, 12F

03/15 11:04, , 13F
雖然有部分分析不錯,但有點捕風捉影過頭了
03/15 11:04, 13F

03/15 11:05, , 14F
Google根本沒有不敢讓人了解AI,連演算法都公告天下了
03/15 11:05, 14F

03/15 11:41, , 15F
沒有比78更好的下法
03/15 11:41, 15F

03/15 11:42, , 16F
方向對 但是要搞出複雜盤面 自己又不要犯錯 談何容易
03/15 11:42, 16F

03/15 11:43, , 17F
阿發狗可不是ZEN的等級
03/15 11:43, 17F

03/15 11:45, , 18F
下圍棋的當然希望棋士贏,若每天下苦功卻被電腦追過..
03/15 11:45, 18F

03/15 11:52, , 19F
電腦也是人花了很大的功夫研究出來的呀
03/15 11:52, 19F

03/15 11:52, , 20F
這篇很有趣,先去其他戰場攪,等到關心這戰場的樹被清掉
03/15 11:52, 20F

03/15 11:53, , 21F
再回來下這邊,讓他後來的sampling不足
03/15 11:53, 21F

03/15 11:53, , 22F
棋士和工程師還是不能一概而論阿
03/15 11:53, 22F

03/15 12:46, , 23F
有點在腦補google用意吧 google的確會想讓大家覺得alp
03/15 12:46, 23F

03/15 12:46, , 24F
hago好厲害 但應該不會刻意去隱瞞alphago的缺陷吧 或
03/15 12:46, 24F

03/15 12:46, , 25F
是該說 不會因為怕輸掉比賽而不讓職業棋手發現弱點
03/15 12:46, 25F

03/15 13:26, , 26F
作文厲害
03/15 13:26, 26F

03/15 14:57, , 27F
我也覺得作文多了點
03/15 14:57, 27F

03/15 15:43, , 28F
好文個頭...
03/15 15:43, 28F
文章代碼(AID): #1MvsU4OI (GO)