AlphaGo 與李世石的第四局比賽中有哪些值得關注之處?
本題已收錄至知乎圓桌 ? 對弈人工智慧,更多關於李世石對戰人工智慧的解讀歡迎關注討論。
----不懂圍棋或人工智慧的段子和吐槽,請移步到 如何評價第四局比賽李世乭反殺 AlphaGo ? 回答或僅評論。勝負已定的情況下,李世石在這局的表現如何?從圍棋和人工智慧角度,本局又有哪些精彩之處?李九段有哪些妙手?相關問題:AlphaGo 與李世石的第三局比賽中有哪些值得關注之處?
首先非常祝賀李世石,頂住了如此大的壓力!這裡 @梁亦聰 的回答和我之前在另一個問題中提到的 DNN 的死穴很像,看來大家是有共識的。
【UPDATE:對 AlphaGo 和圍棋人工智慧有興趣的朋友,我最近在寫一個系列,介紹如何自制你的"AlphaGo",請點擊:知乎專欄】
之前在另一個帖子 李世乭能戰勝 AlphaGo 嗎? - Peng Bo 的回答 說過,邏輯性是 DNN 的盲點,可以誤導 MCTS 的展開。AlphaGo 的某些怪招是走入了錯誤的變化,而不全是什麼神之一手天外飛仙。同時 AlphaGo 也會出現盲區和漏算。正是如此。
許多做機器學習的朋友不了解電腦圍棋,如果看過電腦圍棋,會發現和跑個 ImageNet 的程度不一樣,需要的邏輯知識更豐富。
電腦圍棋未來會完美戰勝人類棋手(且必須加入更多Domain-dependent的方法),但恐怕不是今天。NOT TODAY。說起這一點,我一直在看多個平台的直播,柯潔真是太厲害,對局面和變化的判斷完爆其它棋手。機器的極限在哪裡,人類可以幫助驗證。人類的極限在哪裡,機器可以幫助驗證。電腦會學習人的棋譜,人也會學習電腦的棋譜。如果Google在賽前敢公布更多AlphaGo的棋譜(特別是自我對弈的棋譜),恐怕這次的局面會完全不一樣。
看看 Google DeepMind 的 Hassabis 怎麼說吧:
@demishassabis 26m26 minutes ago
Lee Sedol is playing brilliantly! #AlphaGo thought it was doing well, but gotconfused on move 87. We are in trouble now...
@demishassabis 7m7 minutes ago Mistake was on move 79, but #AlphaGo only came to that realisation on around move 87這就正是我之前在那個帖子所說的「電腦吃驚」。
如果寫過對弈程序的朋友會知道,程序看走眼的標誌,就是在對手走出妙手之後可能要過幾手才會突然醒悟,局勢判斷分數急轉直下。
一般不會對手一走出來就立刻醒悟。因為如果這麼容易看到,程序在搜索樹裡面就已經看到了,會提前避免這個漏洞。
具體說,就是:人走了電腦認為不可能走的地方。電腦認為不可能走的原因是電腦以為這個走法(或走後的局面)對人不優,以及電腦學習的棋譜和電腦自己下出的棋譜中出現這個走法的情況很少,DNN也沒有把這個走法學到,所以對於對手的這個走法,電腦的後續變化探索不足。
其實即使對於AI研究,最完美的情況也並不是碾壓李世石,而是我們看到人機之間的此消彼長,互相學習。圍棋是一個極其有趣的問題,希望看到它能為AI研究貢獻更多世界的奧秘,而不是如此輕易地被徹底解決。
補充:AlphaGo的核心是 MCTS + DNN + RL。之前我寫的文章沒有說 RL,但它其實是很有意思的部分,因為在從前的對弈程序研究中,RL 的效果一般並不好。RL 的弱點是 overfit,也就是雖然小道消息公布目前這個版本的 AlphaGo 面對去年的戰勝樊麾的版本的勝率是 100%,估計 ELO 分已經超出 4000,號稱天下無敵,但這裡面實際是會有很大的水分的可能。在其他棋類的例子上,有這樣的例子: RL 後的程序秒殺 RL 前的程序,但面對其它不同棋風程序的勝率反而略微降低。關於 MCTS 和 DNN 的缺陷可以看之前的文章。更新:@Peng Bo在幾天前的答案http://www.zhihu.com/question/39906815/answer/90194733中有類似但更深入的觀點~
原答案:在圖像識別領域,去年已有文章(Deep Learning can be easily fooled)指出,可通過刻意生成的圖片(對抗樣本)瞞過深度網路。
上圖為文中截圖,這些人類看來毫無意義的圖片被機器以很高的概率識別成了如文字所述的標籤。
因此同樣基於深度網路訓練的alphago的演算法中存在類似的漏洞,細想也在情理之中。
但是論文作者能生成這樣的圖像,前提是他們手上有完整版的演算法,同時藉助計算機優化迭代很長時間才做到的。
而李世石九段,在完全不知alpha機理,也不藉助外力的情形,僅與其對戰四場,就逼出了一個這樣的漏洞!
人類在絕境中爆發出的能量,實在讓人驚喜欽佩。面對機器,我們有什麼理由妄自菲薄?
另外,似乎的確驗證了我在這個答案從圍棋角度看李世石與 AlphaGo 的第二局比賽有哪些關鍵之處? - 梁亦聰的回答中的說法,阿爾法在劣勢局面下,由於訓練機制的問題,棋力同樣也會下降。
真的,到了半盤,以為小李又要完。
白78鬼魅。之前柯潔也擺了幾個變化,同樣集中在對這裡的弱點衝擊,但也沒有擺出這麼直接暴力的手段,這個怎麼說,可能就是李世乭能下出的棋。如果要吹的話,過若干年後,這可能就是小李「生涯的一手」。從電腦角度講,我不認為這手棋可能在預測範圍內。之前Google方面也提到「判斷李世乭的落點準確概率非常高」,但這手棋真的,必然失算。(上圖:這手棋很可能會進史冊了,留個印象吧。)
按AlphaGo出現之前一個較強AI ZEN5的判斷,這個時候小李的勝率已經只有36%了。這差不多是前兩局中,小李出現公認失誤/緩手後的概率。而ZEN5提供的幾個選點,完全沾不到白78的一點邊,這或許能為AlphaGo的「漏算」提供某些佐證。
妄自揣測:因為白78旁邊黑棋的形狀,快速走子的途徑會很快排除白78這一手(後續如果是隨機擺子基本都是白棋崩盤),因此這手棋就成了電腦的盲點。而在小李的算路中,對於不同的應對有不同的邏輯鏈可以導致局部得利的結果。再多說一點:小李在這個局部的思考差不多用掉了自己20分鐘的保留時間,此後,小李一直是以1分鐘讀秒的情況在下棋。插入一個相關的,這手棋為什麼說是李世乭才能下的出的,可能有朋友記得這手:
旁邊都是你的棋,看起來毫無破綻了,但我就是能穿進來,就是有的利用。這盤是2006年的春蘭杯,感慨下,10年了啊。
回到本局。
在後方還留有一個巨大劫爭手段(白紅圈,黑左一路提掉,白連續打吃黑棋無法直接接回)的前提下,AlphaGo開始莫名的送棋。
目前我個人不確定是因為劫爭導致了AlphaGo的莫名失誤,但可以肯定的是鬼魅的白78導致了AlphaGo後面的完全崩盤。黑棋連續在送。這個時候,不只是解說嘉賓,稍有水平的愛好者都會發現AlphaGo出現了某種問題。因為這些棋是連續在虧損,而且不涉及盤面其他地方的。
小李在讀秒壓力下,一路最佳手段將中間白棋走出,這個時候可以說勝勢已定。實話講,經歷了前三盤的洗禮,我這時候是虛的,還在想「如果黑棋大吃白上面最後進收官莫非還有的拼?」
黑後方仍然在瘋狂失誤,比如
(上圖:打吃完後黑接不上,否則直接被跨斷)
(上圖:白虎到上方後即使被分斷也是活棋。但在這裡可以有一個猜測:快速走子體系下,如果白上面被分斷且未活棋,黑尚有勝機,然而這一步也是凈損。)
(上圖:白棋打吃後黑棋根本無法連接,毫無意義)
這些是屬於之前說過「邏輯可證的失誤」,但在黑棋已經落後的局面下,或許他們在AlphaGo的判斷體系中就成了「可能帶來勝利的手段」。
從頭說一下。
一直到黑11,白棋的下法與第二局相同,AlphaGo也選擇了同樣的落點。這時候作為觀戰者,我以為小李是要一直下到第二局的關鍵處(白64)讀檔重來。單從策略來講,這可能是個所謂聰明的策略,畢竟這一局已經得到了全面的分析,在AlphaGo方面也有「中盤形勢一直接近」的判斷來確認。
白12率先變招,在這個情況看來是很需要勇氣的。黑23,再次出現「不是人類感覺」的手段。從後來的情況來看,小李在這個局部略緩,但確實也不懂有什麼更好的辦法(柯潔也沒著重解說這裡……)
左方後續,這種「黑在外面碼一排,白在裡面沒幾目」的做法,很難有白棋好的道理,白40正常侵入。但這個時候,按ZEN5的判斷,黑棋AlphaGo的勝率已經接近60%,各路解說基本都是悲觀情緒。
至此,黑棋如果大吃住白棋上面,白棋是怎麼圍都不夠的。出於第一局、第三局對AlphaGo戰鬥力的敬畏,這個時候,普遍的看法已經是苦戰了。但同時也出現的問題是:如果白棋這一塊真的在無大損失的情況下逃出,黑棋實空不太夠。
黑69、71連續補強,白在左方製造斷點,給出頭緒。
白78一擊致命。
但講道理,白78後如果不是AlphaGo一系列的錯誤,黑至少可以下,絕不至於崩盤。這種效果如何復現……也不知道。然而從結果也好,視覺效果也好,白78基本當得起一切讚譽。向李世乭九段致敬吧。先恭喜李世石。
這局棋有兩個值得關注的地方:
一是AlphaGo在李世石下出「世紀妙手」之後第79手應對錯誤,之後再無翻盤可能。這差不多可以證明人類頂尖高手在後半局的計算上已經可以做到無限接近完美。從計算方法來說,AlphaGo的演算法無局部概念,每一步都是全局計算,而人類是做局部計算,因此用更小的計算能力可以達到同樣的遍歷。
二是AlphaGo在發現自己落後的情況下,也就是自己89手開始,頻出無理棋。了解蒙特卡洛演算法的話就知道這是一定的,因為每一個絕先的無理棋都有對手應對失誤的可能,那麼必然值得一試,反正對手應對正確也不會降低自己的獲勝率。至於每次下無理手虧多少,根本不在考慮範圍內。其實也就是這時候開始,AlphaGo已經知道除非對手犯錯否則自己必敗了——同樣有趣的是,當AlphaGo覺得自己必勝的時候,也會頻出不會減少自己獲勝概率的緩手。因此將來一旦AlphaGo在中局之後下出職業棋手表示絕對問題手的時候,只要對手不犯錯或者自己的計算出現盲點,那麼其實整局勝負已定。
從AlphaGo角度來說,除非根本上改變演算法,否則全局計算不會變成局部計算。落後出無理手,領先出緩手也都會一直存在。和棋手或者棋友的觀點不同,這些其實都不是失誤,不是bug,不需要改變,因為那時候反正勝負已定。今天真正值得團隊研究的是為什麼第79手的應對出了問題——或者說是否問題手出在更早的時候。是前面搜索的寬度不夠?還是說用於概率剪枝的估值網路對78手的位置的價值作出了錯誤的判斷?這個判斷錯誤是可以通過繼續自學習很容易彌補的,還是真正演算法上的過擬合缺陷已經到來?對於AlphaGo來說,這是一個很有價值的bug。如果這是過擬合的問題,那它的意義就非常大,要麼可以從根本上對整個演算法產生疑問並使開發者進行優化,要麼說明「圍棋上帝」已經不遠了。如果不是,那麼再自學一兩代或者加點機器就很容易解決。我個人傾向於後一種。
而從人類棋手角度來說,那麼這裡其實拋出了另外一個問題:當圍棋進入中盤之後,在大部分棋局形勢下,是否其計算量已經進入了人類棋手的腦力進行局部計算可以完美對弈的情況?將來的圍棋比賽是否就是保證自己中後盤不失誤的情況下拼開局?如果是這樣,那麼AlphaGo以及將來其他圍棋軟體的布局就會成為棋手學習的絕佳參考。如果不是,那麼在AlphaGo繼續自我學習之後,可能會在錯下一兩手之後仍然靠複雜的計算而取勝。
如果比賽4:1結束,白78這手必然會載入圍棋史冊。它要麼是人類棋手在人工智慧棋手的碾壓式計算能力面前最後的輝煌,要麼是人類棋手幫助人工智慧棋手打開一個新紀元的大門的鑰匙。
每場比賽開始前,李世石會依照常例向alphago的機箱鞠躬致敬,即使代alphago走棋的那個人沒有任何表示也依然如此。不愧是大勝負師。
關於第二局的回答鏈接:從圍棋角度看李世石與 AlphaGo 的第二局比賽有哪些關鍵之處? - 趙扶風的回答
關於第三局的回答鏈接:AlphaGo 與李世石的第三局比賽中有哪些值得關注之處? - 趙扶風的回答
關於第四局的回答鏈接:AlphaGo 與李世乭的第四局比賽中有哪些值得關注之處? - 趙扶風的回答關於第五局的回答鏈接:AlphaGo 與李世乭的第五局比賽中有哪些值得關注之處? - 趙扶風的回答-總的來說,這盤棋相當有戲劇性。Alpha go從開局起就咄咄逼人,小李忍辱負重,在阿狗第二次用相同手段挑釁時才反擊,阿狗沒意識到小李的憤怒,仍舊貪心搶地,小李忍無可忍,打出了全力一擊,結果阿狗瘋了……-下面是我對這盤棋的理解:至第21手,雙方區域大小差不多,白右側鬆散,但黑要貼目(黑方想贏占的地方必須比白多7.5目)。均勢 黑23無理,強行靠,至白26被穩穩圍住,黑27三子硬圈出一塊地。黑取實地,白取勢(黑23和白14的作用一樣,犧牲一子換來外圍三子的實地。之所以說黑23無理,是因為黑23是靠著白棋下的,被圍死,而白14還存在交換的價值) 黑29扳,邀戰,白退讓,黑31扳,繼續邀戰,白繼續退讓,黑33壓,挑釁,白34不與交鋒,黑35舒服定型。白軟弱得不像話黑37、39繼續挑釁,白還是守地不理。白太忍辱負重了,看這一排黑子,如入無人之境: 白40到黑領地求正面剛,42、44飄逸,46大開大闔,隱有昨天第三局黑第31手的風格,卻比昨天形勢輕盈。(白這四子有點紅軍長征的意味,硬生生在黑領地撕開一個缺口,黑43、45有點貪實地,感覺圍剿白更好些) 黑47像第二局一樣故計重施,肩沖,白也按舊著應對,靠著黑棋砌牆黑51扳,與左邊29呼應著,挑釁,白依舊退讓,黑55壓,繼續挑釁,此時可以看到右邊黑的下法和左邊是一模一樣的,就是認定你不敢還擊…… 白終於忍無可忍,56斷,開啟交鋒至此,黑一直在挑釁,有欺負弱國的意味,白一直在守土,有中國前期抗戰的意味,總算在第56手,白開始反擊了……下圖中的5個點,白之前都有斷的機會,卻一直不斷,小李真是夠隱忍啊! 黑57逃,白58亮劍,配合著白46把黑53、55圍在中間至此,白46的作用突顯,鏈接44、58隱然圍出一塊新區域,還威脅著黑兩子賺得交換價值。為何白46如此厲害?顯然是黑55貪功冒進所致。與其說白46是白的妙手,不如說黑55是黑的錯著。 然後,黑用63、65、67三手棋切斷了白46與右側的聯繫白藉機用62、64、68三手棋切斷了黑4子與左側的聯繫看起來是等價切斷,實際上黑略吃虧,一是白46尚有一線生機(G12、J11),黑4子更危險,二是白56、62、64的位置太開闊,將來勢不可擋! 黑69飛,不給白46逃出的機會,白70接應,黑71佔住J11,白佔住G12,黑73再飛黑守得滴水不漏,不給白救援的機會 白74、76定邊界,白14的交換價值兌現(這也對應到前面說的,黑23無理、白14有價值一說) 然後小李下出了本局以來最令人吃驚的一手,白78直接挖入黑內部! (剛擺了白78的若干變化,頭都大了,一時也寫不完整,1點了,不得不睡了,我明天再續吧感覺這手棋真不是人能下出來的!)====== 論白78手的複雜性 ======白78手太複雜,感覺可以另開一個回答了,以下兩個論斷,不確定哪個正確,大家湊合著看吧!不影響後面的棋局分析。論斷1:白第78手是神之一手,後續各種變化都是白佔優!論據:暫時沒發現論斷2:白第78手很一般,黑79應對失誤!(16.03.16確認,該論斷正確)論據:更新1:下午擺了各種變化,感覺黑若下在K10白沒機會,或許白78這手棋沒啥特別的?(也可能是我水平太low,沒看到高級變化,存疑吧……)更新2:看騰訊第四局錄播,發現古力針對K10擺出的變化是這個,若黑5吃子,黑三子盡死:而我擺棋時認為黑5下在H13,黑11打劫,白沒機會:
是古力想少了嗎?還是我想錯了?存疑……
更新3(16.03.16):看樂視第五局錄播,發現柯潔也駁斥了白78手的神妙。擺的變化稍簡單些:白4自緊一氣,黑沒必要在H13補弱點了,這個局面下白盡死,上一張圖的局面白至少還可以打劫做些交換。 ===== 繼續復盤分析 ======黑79的落點至關重要,實戰中阿狗下得軟弱,被小李抓到了機會。實戰中黑1(79)下在了J10,白2(80)救援黑不敢在K10斷(否則L12四子必死),只好在K12打吃,白4(82)斷至此,黑不得不佔K10,眼睜睜看著白方即將取得I11戰略至勝點而無計可施。 為啥說黑不得不佔K10呢?是因為當K10空白時若白下在L13,黑將大虧:(下為虛擬盤面) 黑3至白6是必應著法,黑棋形呈「接不歸」狀,也就是說黑若在紅框下子,白下一手下在藍框,則紅圈處所有黑子盡死,黑在紅框處是無法接回己方子的。(下為虛擬盤面) 黑7隻好下在K11,盤面出現「劫爭」,也就是俗稱的「打劫」。(從吃子的角度看,白下在紅框處可以把藍框處黑子吃掉,黑下在藍框處可以把紅框處白子吃掉,為了避免這種無休止地來回吃,圍棋規定,當一方吃掉另一方子以後,另一方下一手不允許吃回,需要緩一手)(下為虛擬盤面) 白8提劫以後,一旦白10粘住,整片白子盡活,區域太大了,白方寧可吃虧也會把白10粘住。(下為虛擬盤面)綜上,K10點為黑方必下、黑之急所,白方卻不著急,你下K10,我再下I11……
由於I11點的必得,打入黑領地的白子註定將逃出,小李搶得優勢!======黑83至89,黑難看地掙扎逃跑,白穩穩地圍之,箭頭處黑無任何逃出可能…… 黑沒辦法,只好將黑91下在K11,白92也順著下在I11這時黑由於H13、H14的弱點,沒法在I10斷,只能眼看著白逃出 到手的白子意外逃出,執黑的人,想必會苦笑吧。現在執黑的是機器,會做何表示呢?阿狗給出了答案:它瘋了……阿狗下了黑93,嘗試把這隊不可能活的黑子救活(人一般不會這麼下…… 明知沒意義啊): 黑93至101,阿狗夢遊似地下了五步,在第101手達到了巔峰。執白的小李笑著應對,估計晚上做夢都會笑醒……黑101的潛台詞是,明知必死我還是要嘗試一下,萬一你沒看著呢…… 至此,白積累的優勢已足夠,之後白穩穩地進行收官,黑再無機會翻盤。黑掙扎至白第180手,終於投子認輸了。人機圍棋對戰,人類終於取得第一場勝利! 李世石在這麼艱難的時段逆轉戰勝機器,當真V587!插曲是阿狗中盤瘋了……明天是第五盤,祝願小李打敗阿狗!AI在劣勢情況下的對應策略有問題。
之前我們知道了如果AI佔優勢,比如說盤面10目
它寧肯100%損5目也不願意99%得5目外加1%損15目也就是說不冒風險,漏洞極少,無懈可擊。然而在劣勢情況下,假設盤面輸6目
有一個走法A 80%扳回3目,另一個走法B 20%扳回50目按AI和人的優劣比較它應該選A,一直慢慢追人類總有失誤今天後來的幾手狗卻都是選B,一旦成功馬上翻盤但是被正常應對就毫無作用,常人不會下的棋。可見它以自己為對手訓練的時候得到的經驗和人類對手比還是有所不同。
晚上大約谷歌工程師要回去想辦法debug調權重了。其實這個情況剛好證實了前三盤狗狗從沒有過較大劣勢,都是勝勢或者平局(基本等於官子勝)。
所以它不斷出正招就可以了,可以把李世石這樣的棋手從頭壓到尾無需冒險。依舊是個可怕的對手。----------------------------
在下出逆轉一手時,李世石觀察局面的深度和計算能力超過了AI許多步。
AI在正面戰鬥中也還不是完全無敵的。Hassabis 在推特中說狗沒有及時認知到78的威脅,到87才發現勝率下跌。這個說明狗在好幾步後都不知道自己已經不妙了,計算結果里沒有後來的發展。這不是bug,是標準的多算勝少算,光明正大堂堂正正的勝利。相同時間下肯定AI算力強,但是李在這一步花的時間遠多於它。
如果是人人對弈,對面的李世石不惜讀秒也要長考近20分鐘下棋,這一子誰敢輕視。但是AI依舊是你下你的,我下我的,沒有根據對手的反應安排自己的計算時間。一分鐘就接了下去,也沒有看清後續。無論如何這次在李九段全力施為之下,至少知道阿爾法狗的能力上限了。李世石這次花時間長考出來的計算力,要大於AI在前後一手中1分鐘內的計算力。如果規則改成李世石每次至少半小時,狗狗只許一分鐘,說不定可以公平一戰。
但是它如果也願意花上20分鐘,甚至是全用掉高達50分鐘的用時優勢計算的話是否能預見到這一手及其後果呢?我很好奇谷歌方面這麼復盤的結果。
對李九段來說,向計算能力和剩餘時間都遠多於自己的對手挑起複雜紛爭絕對是前無古人的豪賭作死行為,非有鐵膽不可。如果真的是他意識到AI的缺點有意為之並且成功實現,那就只能五體投地拜服了。
---------------------------
AI不考慮棋外手段。
仔細想想這是棋外的問題了,棋手會估算對方的棋力和風格,觀察對方的神情和小動作,在自己時間充足的時候故意挑起複雜戰鬥,留下小利引誘對方進入陷阱,等等。
這些手段對AI都沒有用,但是其實AI也不會利用這些手段對付人。
到底還是公平的。----------------------------
幾條評論非常精闢,直接搬運上來了。熊光儀
確實關鍵就是落後局勢下的判斷問題。搜索樹邏輯把翻轉整個局勢獲勝的重擔壓在一步上,使得落後情況下冒險小概率大賺的臭棋變成唯一選擇,不足以翻盤的小賺被放棄。這應該是AlphaGo的邏輯bug,然而為落後局勢單獨寫一個邏輯,還是有更好的辦法一致性解決策略問題,可能不是一時半會能解決的。這也是人工智慧提升的重大契機,人腦具有平衡長遠利益和眼前利益的能力,能夠面對不完全信息儘可能妥善處理和有一定的規劃,還有待人工智慧去實現。熊光儀
另外AlphaGo把對手當做和自己一樣的官子能力,所以不會考慮人類對手由於時間不足出現失誤的情形,把對手想得太強硬生生把自己逼到絕路。有一種簡單的改進是對冒險策略的成功率做一個截斷,比如低於20%能翻盤的落子直接放棄,避免臭棋,不過這可能不足以解決問題。-------------------------------
最後一個問題,AI是不是還是天下第一的阿老師。
我覺得還是。
想逼出AI在劣勢下的策略問題的話,首先得有能力將AI打到劣勢。要想將穩如狗的AI從平局以上打到劣勢沒有任何取巧方法。只有比AI算得准,比AI算得快,能夠算出某個AI算不出的變化才有可能。以AI體現的正常布局戰鬥收官水平,想要在計算上贏過AI非常困難。
人的計算能力有限只能填寶貴的時間,而且必然沒辦法窮盡變化。這次李世石下出了神來之筆,非常不容易。但是到了下一局,誰能保證場面上還能有這樣可遇不可求的手筋呢?
誰又能保證人腦竭盡心力推算幾十步以後的變化不出錯呢?等到下下局,AI要是加入了看對手的用時調整自身用時的規則怎麼辦?下下下局,AI還會保留著劣勢下的策略bug嗎?-------------------------------今天看到媒體風向又大轉,這股風氣很像二級市場,暴跌的時候一頓臭罵,暴漲的時候一陣歡呼。昨天擔心終結者,今天又說人工智慧是人類的好陪練。其實人工智慧改進中總是會有不足的地方,但就本盤而言,能發現程序的漏洞還是石頭鬥志頑強,才華橫溢固然重要,無論面臨多難的局面,哪怕已經必敗,重大壓力之下仍保持冷靜的精神力,保持昂揚鬥志才是成就一個勝負師內心小宇宙的核心因素。這盤的內容非常有趣,私以為已經暴露一定Alphago的系統問題,從序盤之後疑似計算有誤到明確的手筋應對失當以後胡亂拍子。人靠邏輯進行決策的條件在這局完勝沒有邏輯靠估值網路進行概率分析的系統。Alphago的計算能力短板這一盤充分暴露,非常有意思。當然李世石下一局可能不容易再觸發Alphago的這個短板。不過勝負師李世石已經讓這一盤極有價值。 (犀利的小李,感覺這次比賽之後李九段又會有新的飛躍)【看點】本盤的看點可能並不是挖本身有多妙,至少我從高手那裡得到的變化圖看目前還有疑問,看點在於Alphago應對自己沒有算到的變化會怎麼應。我今天也很開心,畢竟壓中小李。私以為很多未來說不清的判斷問題,關係到實際態度立場的時候,賠率是很重要的考慮因素。我之前主持幾個小討論,問參會的大家對最終勝負和具體比分的猜想,發現賠率也是會影響表態的。說到底是不確定的事情,一定把自己預設在一個範圍里並不十分理性。這個問題不再展開多說。之前的三篇棋評反覆希望大家能夠抱持一個客觀科學的態度去看人工智慧。這幾天偶爾有些人跑來我們的開放大群談自己的見解,仔細一問既不懂棋也不知道演算法基礎,只是為了表達一個態度而來,也只是為了支持強化自己的態度而來,我不欣賞這種交流方式。圍棋這股熱潮終會過去,每年的熱點都多得是,學到比說到要好得多。
今天小李下的很好,既然贏了,總沒有再說不好的道理。今天的棋下得實在好,看完直播我又擺了好幾遍,我看現在棋評已經很多,就簡略說一些提及較少的部分做一些資料擴展講解好了。最近很多人跑來說Alphago不按棋理下棋,不過9位掛一下再虎是很多年前的套路,Alphago樂此不疲總是使用這個套路。
【序盤】
李九段根據第二盤經驗白12反占黑棋第二盤尖的「要點」,黑棋13果然拆了。到這裡是普通套路。我這個局部翻了十一個譜子,都是女棋手下的,感覺很有意思,貼幾張圖給大家看看。{伊藤友惠vs 小林禮子}
1965年伊藤友惠老奶奶的對局,左下角下的還挺奇怪的哈。不過構思很有意思。
{奧田彩 vs 岡田結美子}
這是12年日本兩位實力美女職業棋手下的,開局和Alphago這盤比較相似。後來引征右上以後的轉換很有意思。
[妖異的一碰]
序盤進行的十分平凡,已經是十分常見的下法,感覺進入小李熟悉的局面,實戰白右邊拆邊之後黑棋妖嬈的一靠,感覺不是棋,可能是對自己的局面的判斷不樂觀了吧。
【中盤】 {Alphago的棋風}四盤看下來,Alphago有個特點越來越明顯,那就是對肩沖的偏愛真是太明顯了,絕少打入,基本都是肩沖:(絕少打入,以肩沖見長的alphago)
白棋征子有利,黑棋計算暴露出問題。
從這步以後Alphago走的不知道怎麼回事,開始有深一腳淺一腳的下法,李九段開始穩紮穩打了。正所謂,棋穩如「go」。[疑問的 神之一挖]白棋走的十分穩健平和,26,34,都十分中正,感覺石頭找到一點對付Alphago的策略了。
最近有人問我有沒有Alphago流,我感覺妖嬈的肩沖是Alphago最鮮明的特點,打入少,肩沖多,想必對打入估值不高。實戰的Alphago,面對78「挖」很快就非常不妥的退了一個。(疑問圖 1)
這盤棋挖完之後,Alphago感覺慌了神,開始亂下了,這裡明顯李世石的手筋超過了Alphago的預想,不過嚴格來說,這個挖到底成立不成立,大家如果有任何疑問,我會繼續找高手繼續求證,目前來講,如下圖變化遠沒有沒有如實戰一樣嚴厲的結果: (疑問圖 2)此變化圖來自於職業棋手 @楊冬局後的復盤探討。白棋妙手之後彷彿並不能形成特別好的戰果,這裡因為Alphago只用了很短時間就應了,明顯沒有這裡的清楚計算。【中後盤作戰 Alphago的 連續判斷失誤】白棋使出挖之後Alphago好像徹底慌了,當時筆者在外溜達,看著幾步下的簡直笑翻,看來人工智慧目前還是有些硬傷,一旦走出它計算範圍以外的招數,就徹底沒了章法。 東施效顰,這一挖直接讓人笑翻。 這步立凈虧兩目以上,直播到這時,李世石也笑了。之後作戰Alphago大亂方寸,再也沒有了機會。 Alphago這盤,贏棋歡樂多……哈哈。【結語】我有一個比喻想再重申一下,我希望大家把人工智慧當成是士兵外骨骼這樣的設備,它可以帶著你用更快的速度跳躍,搬運,前進,觀察和探索。Alphago作為一個隨時可以全狀態上陣的超高水平陪練,他一定會對舊的圍棋理論展開大量革新。最近有職業棋手表示圍棋的魅力最近幾天變得大了很多,思路開闊了,一口氣上五樓,不喘氣。不要像香港,台灣一樣,本來是個貿易中心,經濟衰落的一塌糊塗,還反過來抵制大陸人去旅遊購物,愚蠢透頂。大勢面前更好的順應趨勢才是我們應該思考的我知道稍後肯定會有高手出來全面解析這局棋的。作為計算機(也就學過算導)和圍棋(業5)兩個領域的入門者,從兩個角度提供我的看法吧。
首先看棋。
開局與第二局相同。
開局白12率先變招。沒有按部就班地按第二局進行。如此AI就不能再脫先走上方中國流連片。因為尖起後的夾攻將更為嚴厲。
白18拆邊,沒有走經過多年研究的右側參考圖。稍有疑問但可能是害怕參考圖黑4走在白5處托角。
(這一段可跳過。這個局部我要解釋一下:白18後,黑棋虎角是非常大的一手,因為如果不虎,將來白棋存在扳出的手段。因此18後的虎幾乎是必然的一手。而如果白棋走右圖白1,那麼黑2白3後,黑4雖然也是巨大但是守空不如虎乾淨,因此黑4可能走在白5處。正因如此所以一般認為白1是先手便宜了,如果局部要爭先那白1是近幾年來幾乎必走的棋,李世石反其道而行之,看來他對這個局面必有研究)黑23似乎無理。很像我在網棋里下出的。遭到白棋扳起反擊。
至黑35,雖然黑棋順利動出掛角一子並在中央形成勢力,但白棋實地領先。不過之前的23達到此等效果,還是有些令人訝異。也許電腦真的在違反棋理的招法上能有創見。
之後的勝負取決於上方黑棋陣勢能圍多大。白棋至此形勢至少不差。
白40碰大膽!雖然稍有疑問,因為黑棋扳立後右上角效率似乎過高。
46大飛,棋感良好,謀劃很深的謎之一手。勝招之一。若即若離地動出上方孤子的同時,覬覦著左側黑棋外勢的弱點。
52扳,稍有疑問。直接斷開黑棋可能更為有力。然而很難說。
58扳,之後如走參考圖變化,則黑棋厚實,且存在K5位飛的後續手段,白棋聯絡不夠完整。
62動出,似乎有些過分。如果這樣形成的轉換中,白棋左面四子死凈,則應是斷然不利。
黑棋69過分,不夠簡明。如按右側參考圖進行,個人感覺黑棋至少是小優局面。
事後證明,69是敗招,之後形成的複雜局面是電腦的重大弱點。經過幾手準備,白78祭出神之一手。借用甘道夫的話來說,This move has not yet entered into AlphaGo"s darkest dream!
之後局部將出現參考圖所示劫爭。很可能因此導致了電腦局部計算的崩潰。下面是我自己在另一篇回答的推斷。
不管是什麼原因,83以後由於局部計算錯誤,電腦開始按照自己的演算法走出奇葩的下法。
至98,電腦連續送子,左下和右邊虧損有20目。
至112,白棋順利動出中央子力。至此,白棋勝定。
然後是演算法視角。
至少現在看來,具有很大必然性的大規模複雜局部戰鬥很可能是AlphaGo的弱點。這種情況下,其利用卷積的圖像處理技術發揮的作用頗為有限,畢竟,局部計算不能只憑相似性來破解。而由於隱含有劫爭,這裡的局部計算量可能出乎意料地大,需要計算的步數出乎意料地多,這可能超出了AlphaGo蒙特卡洛樹的準確範圍。據nature上文章介紹,它在快速模式下的樹只有25層,在有劫爭的複雜局部顯然是不夠的。總得來說,從這一局的情況來看,我認為AlphaGo的核心估值函數應該還有待改進。它需要能對局部戰鬥中的必然性變化有更好的處理,這類似於計算機圍棋長期無法解決的連環劫問題。
很具諷刺意義的一點是,電腦的弱點似乎正是李世石的強項。不知Google方面是否也是考慮到這方面的原因才找到李世石進行測試。結果由於心態上的原因加上對電腦沒有足夠的了解,李世石在前兩盤恰恰沒能在他最為擅長的方面有所發揮,第三盤似乎找對了路線但發力點過於勉強,反而導致了崩盤。最終,在已經輸掉對抗,放下一切包袱的第四局,長考後的李世石終於祭出了78的局部強手。可以說,這一局的李世石才是發揮出了他真正的實力(許多講解的嘉賓似乎都沒有看到這一手)。
78是凝聚李世石無數心血的一手。怎樣煽情都不算過分。它告訴了我們,電腦還沒能徹底征服圍棋。而且我大膽預測,摸清電腦弱點的李世石在最後一局絕對會大展其所長,利用複雜的戰鬥擊敗電腦。繼續期待後天的對局。
最後,講道理這盤棋以及這次對戰,也許對人類整體並沒有媒體渲染的那麼大的意義。當然,對於圍棋界有不可估量的價值。對我個人來說,作為一個傾向李世石的棋賽觀眾,看到78後的一串落子,真是震撼感動(歡笑)兼有的美好體驗呢。78這一手甚至比今年的全明星扣籃大賽以及庫里絕殺雷霆的比賽加起來更有快感。對alpha的93和101兩手人類看來毫無意義的長的分析。
首先應當明確一點,alpha和人不同。
在人類眼裡顯然的事情,在ai眼裡可能很複雜。反過來,在ai眼裡顯然的事情,在人類眼裡可能也很複雜。比如說人類直覺無法感受三階以上的差商,必須計算,而計算機就能先得到結果。
alphago大約是一步一步全局選點分析的。
選出n個點,然後推演m步,看結果。當真正落子之後,再重新選n個點,然後推演m步,看結果。
這樣的話,他每次都只考慮當前的盤面,不做作戰計劃。這對於圍棋這種明棋而言,按理是好策略。但問題是,人類會考慮作戰計劃。
如果n和m充分大,那麼沒問題,任何計策都是明的。
但是n和m不夠大的時候,這是致命的。alphago的策略:
計算勝率最高的點。人的策略:這片棋要做活,那片棋要吃干,還有那片棄了。為什麼alpha會下出93和101這兩手在人類看來毫無意義的長呢?
是alpha想要救出這幾個子嗎?不是,只是alpha計算這樣佔優。可是,明明這樣只是送,怎麼會佔優?
因為alpha根本沒考慮96,100,102.這麼明顯為什麼alpha根本看不出來?因為alpha執白的時候,它並沒有立即要吃掉那幾個黑子的意識 ,所以不會這麼下!!!就是說96,100,102並不被alpha看作必須下的招法,並不在它每次計算的n個點裡,那麼它自然也就無需去考慮這幾招的後手了。更:電腦已認輸。看了看收官,alphago的棋風已然變成了小學生的感覺,不停地下一些沒意義的棋,感覺劣勢下的決策判斷完全沒做好啊。不過換個角度,AlphaGo確實還有很大的發展空間。
評論說Hassbis已經說了是alphago局勢判斷失誤,這應該不算是bug而是value network和policy network還有待完善。果然需要發展的還是cnn這一塊啊…
============================李世石終於把AlphaGo打出了「bug」。在中盤AlphaGo接連下出了幼兒園水平的幾步棋,強行穩固了李世石的優勢。有些人可能又要說人工智慧已經會欺騙人類了種種,不過懂點演算法的人都知道這只是一個調侃的玩笑而已。這次確實是李世石憑自己的能力將AlphaGo逼入了絕境。
有很多人覺得還是劫爭打敗了演算法,不過其實劫爭作為圍棋的一個重要規則,在圍棋AI領域早就被廣泛討論了,因此並不存在AlphaGo規避打劫的可能性,這一點在之前的棋譜里也有驗證。只是這盤棋里隱含的打劫確實增加了計算的複雜度。而且在那個場面下,似乎也沒有很好的劫材,其實已經是AlphaGo的劣勢了。這都歸功於李世石優秀的表現,尤其是中期中間部分在進入讀秒後依舊準確的計算和判斷。中盤78一手挖,有一點神來之筆的意味了,如果說第一盤AlphaGo的右上打入是演算法首次在人類面前展示力量,那麼李世石這一手挖可以算得上是一次有力的回擊。
而像AlphaGo那樣的下法,蠢到那個程度,我覺得更像是「束手無策」的一種反饋,就是在說在它局部檢索的所有下法中,沒有比那麼蠢的下法更能擴大勝率的走法了。雖然如果只看一兩步,誰都能看出來這不是最好的一步,但在演算法的眼裡還是不一樣的。不過蠢成這樣,確實不知道其他的候選下法是什麼樣子的...
前面給bug打了引號,是因為我並不認為這次AlphaGo真的出了bug。畢竟已經訓練過那麼久,要是有bug早早就該被發現了,正好在這麼舉世矚目的棋局中出現,概率太小了。如果真是bug,那要心疼一下deepmind…
不管怎麼說,我感覺可以把這次稱為李世石憑一己之力的勝利。作為碼農和圍棋愛好者,對於AI的莫名其妙的幾招,第一反應是,有bug。首先,AI實力強勁的結論不變。會下棋的都能看出來,出錯前黑棋的優勢有多麼大。其次,李師師令人脫帽致敬,真正的鬼手!一般的手筋,是不足以引發AI的短路的。所以,今天的局面,本身就是可遇而不可求的,小概率事件。然後,AI的惡手,而且是連續惡手,也不見得會總出現————即使懷疑是個bug,但電腦是概率運算,一摸一樣的局面,下一次可能就不會惡手連發了。所以,AI實力強大的結論不會有變化,即使鬆了口氣的廣大職業高手們,也必然會處於絕對劣勢——參考上面的分析,本局這樣觸發bug的概率太低了。但是,李師師的奮戰,仍然是一場可歌可泣的戰鬥。本局是真正的雙贏甚至三贏!人類棋士在絕境中捍衛了尊嚴;而人工智慧團隊,發現了重要的、極其難以發現的bug,一樣是佔了大便宜;而圍棋,展現了自己的深奧和美麗!爭棋無名局,但是這幾盤棋,不算新聞效應,也一樣可以名垂史冊————我們可以看到人類怎樣試圖扮演上帝,創造出足以超越自身的智能;也可以看到血肉之軀可以迸發出怎樣的勇氣和智慧。能夠看的這樣的對決和勝負師,人生真的是太好了。
1.電腦暴露出時間分配不合理的問題。沒有意識到關鍵地方應該多考慮。另外好像也不會利用對方思考的時間。
2.電腦棋缺乏棋理和邏輯,並不會因為對方變招而採取針對性的下法。3.電腦缺乏靜態判斷,在局面落後的時候不知道下哪能最大地拉近差距。職業棋手判斷形勢都是根據實地、潛力和厚薄,但電腦只根據勝率。4.電腦缺乏對對手的了解,不知道人類什麼情況下容易犯錯,攪局能力不足。5.不擅打劫的問題在這局中仍然比較可疑。造完了劫財還是決定不打劫,說明確實在刻意迴避?6.電腦計算有漏洞。人很難想到的棋,它也很難想到。總之電腦不善於下逆風棋,下一局李世石有贏的機會,但仍然很渺茫。因為電腦在形勢接近的情況下,每招都在90分以上,李世石必須像這次一樣下出100分,甚至120分的棋才能贏。Alphago在79手時誤以為勝率達70%,87手時才反應過來。
通過這四局棋完整的目睹了真實世界中的人類對於「全人類代表」態度轉變的全過程。
在此之前只在科幻小說里讀到過這個。在所有人都不看好的不利局面下,李世石通過長考下出了78手挖的神之一手,把本來要死的棋逃了出來(明顯連電腦都沒算出來)。
下完這手之後,我看到李世石銳利的眼神再次出現了,那是「一生懸命」的大勝負師對局面機會特有的嗅覺。
是的,那個熟悉的「飛禽島不敗少年」又回來了。
我知道,計算機終有一天會全面碾壓人類,但那又怎樣,棋手們對「神之一手」的追求永遠不會停止,這種執著代表了人類之所以存在的價值。
這就是圍棋最大的魅力吧。
李世石「神之一手」擊敗alphago迎首勝(古力稱這手棋是『神之一手』,佐為附體)
這盤棋讓人類看到了打敗alphaGo的希望,僅這一點就太偉大了,向李世石致敬!
話說回來alphago的缺陷也很清楚:
圍棋的變化終究是不可窮盡的,用機器學習的語言來說就是搜索空間非常大,以至於在物理上就不可窮盡。但是電腦可以通過蒙特卡洛法在搜索空間中隨機選取一些可能性最高最有代表性的子空間來求最優下法,這實際上就是alphago的本質。這次李的78手和電腦應對的79手充分說明了這種演算法不是盡善盡美的。因為他隨機選取的搜索空間中79步就是最優解然而實際上他並沒有料到李的一系列後手。這些後手不在他已知的棋譜上,也不在他一分鐘時間內隨機蒙特卡洛到的李的應手中。並且電腦實際上也並不真的意識到了這一步的精妙,如果他用更長時間的迭代試圖去到更多的搜索空間,還是極有可能找到更優的應手的。
其次讓我們看到的是電腦在劣勢下非常弱,缺乏人類的勝負心。電腦優勢時會穩穩把住優勢一點點鞏固甚至故意小虧。但在劣勢時絕不會故意把局面下複雜爭勝,逼迫對方失誤。如果是人類棋手這種局面絕對要另開戰場把局勢下複雜,這就是勝負心。因為電腦認為對手是自己的水平絕不會失誤。這樣一來電腦劣勢時的應手就是在必輸的10種下法里隨便挑一種。所以一旦讓電腦覺得自己勝率不高了,他就輸了。
人類有賭性,而且人類對手是可能失誤的,只要局面夠複雜,即使實際上並無優勢,但是對於自己來說就有機會。可以看出電腦目前完全沒有這種賭性,它會把對手想像成自己的實力來預估對手的應對,那這種應對顯然是無懈可擊的,如果各種下法都是無解,那隨便選個概率小一點的好了。
所以如果我們想戰勝電腦:1.不能犯錯2.要突然拔刀,一招定乾坤,這一刀也有賭博性質,只要電腦沒有算到這一刀的變化就輸了。這個問題可能古力九段講得會更有一些信服力。古力復盤並評論AlphaGo-李世石對戰第四場
78手以後,激動的差點哭了出來
概率和邏輯的對決,阿狗的潰敗是基礎方法上的,無法挽回!
推薦閱讀:
※大師(Master)的驚人戰績,是否說明自然造物敗給了人腦構建?
※如何評價 AlphaGo 和李世石的第三盤棋?
※如果美國用人工智慧治國,我國還有還手之力嗎?
※圍棋人工智慧的發展歷程是怎麼樣的?
※像《無主之地》、《求生之路》這類遊戲,怪物的 AI 是怎麼做的?