打劫,是指黑白雙方都把對方的棋子圍住,這種局面下,如果輪白下,可以吃掉一個黑子;如果輪黑下,同樣可以吃掉一個白子。因為如此往復(fù)就形成循環(huán)無解,所以圍棋禁止“同形重復(fù)”。根據(jù)規(guī)則規(guī)定“提”一子后,對方在可以回提的情況下不能馬上回提,要先在別處下一著,待對方應(yīng)一手之后再回“提”。如圖中的情況:
打劫因為反復(fù)走同一個點,會使搜索樹的深度加大,而且因為其他位置劫才會影響劫的輸贏,劫才之間又相互影響,有可能打劫中又產(chǎn)生新的劫??傊?,打劫規(guī)則會使圍棋的復(fù)雜度加大。
因為前兩局棋沒有下出打劫,有人會懷疑DeepMind和李世石有不打劫協(xié)議。在后面的棋局中,AlphaGo確實下出了主動打劫。而且從算法層面看,打劫也不會是她的模擬框架崩潰(可能會有一些小麻煩)。
13.遇強則強,遇弱則弱?
AlphaGo的表現(xiàn)似乎是遇強則強,遇弱則弱。這可能是由于她的學(xué)習(xí)監(jiān)督信息決定的。policy和value學(xué)習(xí)時,和rollout模擬時,最后的結(jié)果是誰贏(的概率),而不是誰贏“多少”(贏幾目)。所以在AlphaGo領(lǐng)先時(幾乎已經(jīng)是常態(tài)了),她不會下出過分的棋,她只要保證最后贏就行了,而不是像人一樣要贏的多,贏的漂亮。即使有殺大龍(一大塊棋)的機會,她也不一定殺,而是走溫和的棋,讓你無疾而終。估計只有在AlphaGo判斷她大大落后的時候,她才會冒險走過分的棋(這好像不常見)。
14.AlphaGo下棋為什么花錢?
AlphaGo有單機版,多機(分布式)。分布式明顯比單機強。去年的分布式有40個搜索線程,1202個CPU,176個GPU(顯卡)。和李世石下棋時可能更多。這么多機器的運作和維護就是燒錢。
15.AlphaGo有漏洞嗎?
AlphaGo解決的是一個樹搜索問題,并不是遍歷所有著法的可能性,她的著法只是接近正解,不是一定正解。
最簡單的人戰(zhàn)勝AlphaGo的方法就是改規(guī)則,比如擴大棋盤。人類能比較簡單的適應(yīng),搜索空間增大,AlphaGo不一定能適應(yīng)。
就現(xiàn)有狀況來說,棋手可以主要攻擊AlphaGo模擬中的著法選擇函數(shù)a。比如盡量下全局互相牽扯的棋(多劫,多塊死活),就是盡量是中盤局面復(fù)雜,不要搞一道本(一條路走到底)局部的著法,當(dāng)然,這對職業(yè)選手也不簡單。
16.AlphaGo有哪些技術(shù)突破,使她能戰(zhàn)勝人類頂尖棋手?
繼承了蒙特卡洛樹搜索的框架進行模擬。
在學(xué)習(xí)policy中使用了監(jiān)督學(xué)習(xí),有效的利用現(xiàn)有的棋手的棋譜,學(xué)到了他們的選點策略。
在學(xué)習(xí)policy中使用了增強學(xué)習(xí),從左右互搏中提高自己。
利用policy net(選點模型)近似正解,用policy net的對弈的結(jié)果模擬正解對弈的結(jié)果,即正確的形勢判斷,從而打破形勢判斷和選點相互嵌套的死結(jié)。就是先學(xué)policy,再學(xué)value。
在學(xué)習(xí)policy, value, rollout中使用深度學(xué)習(xí)模型。深度學(xué)習(xí)有非常強的學(xué)習(xí)能力。使得選點和形勢判斷前所未有的準(zhǔn)(對比蒙特卡洛是隨機選點,現(xiàn)在是職業(yè)棋手幫她選點 了)。因為在每次模擬中用到了這兩個“準(zhǔn)”,使得在樹搜索(就是推演)的過程更有目的性(樹大量減枝,只模擬比較優(yōu)良的下法)。
當(dāng)然還有機器一貫的優(yōu)勢,不疲勞,不受心理情緒影響,不會錯的記憶力等等。