這里講講怎么通過policy net 得到value net。有了policy,value就不是那么難以捉摸了,死結(jié)打開了。AlphaGo可以模擬(自己和自己下,黑白都用最強(qiáng)的policy),直到終局。注意,這里的模擬和最初說的模擬有點(diǎn)不同。最初的模擬是AlphaGo在下棋(線上)中用的,用來預(yù)測。這里的模擬是她還在學(xué)習(xí)(線下)呢。終局時(shí)V*(誰贏)就比較容易判斷了。當(dāng)然,對機(jī)器來說也不是那么容易的,但相對于中局來說是天淵之別。
value net也是一個(gè)監(jiān)督的深度學(xué)習(xí)的模型。多次的模擬的結(jié)果(誰贏)為它提供監(jiān)督信息。它的模型結(jié)構(gòu)和policy net相似,但是學(xué)的目標(biāo)不同。policy是下步走哪里,value是走這后贏的概率。
總結(jié)一下,value net預(yù)測下一走這后,贏的概率。本身無法得到。但是通過用最強(qiáng)policy來近似正解,該policy的模擬來近似主變化(就圍棋書上那個(gè),假設(shè)書上是對的),模擬的結(jié)果來近似準(zhǔn)確的形勢判斷V*。value net用監(jiān)督的深度學(xué)習(xí)去學(xué)模擬的得到的結(jié)果。value net主要用于模擬(在線,下棋的時(shí)候)時(shí),計(jì)算Q值,就是平均的形勢判斷。
再回顧一下模擬,模擬的每一步是兼顧:模擬到現(xiàn)在平均的形勢判斷value net,快速rollout模擬到終局的形勢判斷,根據(jù)當(dāng)前形勢的選點(diǎn)policy,和懲罰過多的模擬同一個(gè)下法(鼓勵(lì)探索)等方面。經(jīng)過多次模擬,樹會搜索的越來越廣,越來越深。由于其回溯的機(jī)制,Q值越來越準(zhǔn),下面的搜索會越來越強(qiáng)。因?yàn)槊看蔚腝值,都是當(dāng)前模擬認(rèn)為的最優(yōu)(排除鼓勵(lì)探索,多次后會抵消),模擬最多的下法(樹分支)就是整個(gè)模擬中累積認(rèn)為最優(yōu)的下法。
到此為止,AlphaGo她神秘的面紗已經(jīng)揭開。她的基本框架見下圖。下棋時(shí)的線上過程是圖中紅箭頭。線下的準(zhǔn)備工作(學(xué)習(xí)過程)是藍(lán)箭頭。。再串一下。AlphaGo下棋(線上)靠模擬,每次模擬要選下那一步,不是簡單的選點(diǎn)policy就完了,而是要參考以前模擬的形勢判斷,包括:value net和快速模擬(小模擬)到終局,鼓勵(lì)探索,policy(先驗(yàn)),就是(Q+u),它比單純的policy準(zhǔn)。她選擇模擬最多的下法(就是平均最優(yōu))。這是線上,下著棋了。之前(線下),她要訓(xùn)練好policy模型,rollout模型和value 模型。其中,policy,rollout可以從棋譜,和自己下棋中學(xué)到。value可以從用學(xué)好的policy下棋的模擬結(jié)果監(jiān)督學(xué)到。從而完美解決value學(xué)不到的問題和policy和value互相嵌套的死結(jié)。從棋譜直接學(xué)value net現(xiàn)在還不行。
11.AlphaGo用到哪些技術(shù)?
AlphaGo在樹搜索的框架下使用了深度學(xué)習(xí),監(jiān)督學(xué)習(xí)和增強(qiáng)學(xué)習(xí)等方法。
以前最強(qiáng)的圍棋AI使用蒙特卡洛樹搜索的方法。蒙特卡洛算法通過某種“實(shí)驗(yàn)”的方法,等到一個(gè)隨機(jī)變量的估計(jì),從而得到一個(gè)問題的解。這種實(shí)驗(yàn)可以是計(jì)算機(jī)的模擬。讓我們看看蒙特卡洛樹搜索怎么模擬的。算法會找兩個(gè)圍棋傻子(計(jì)算機(jī)),他們只知道那里可以下棋(空白處,和非打劫剛提子處),他們最終下到終局。好了,這就可以判斷誰贏了。算法就通過模擬M(M>>N)盤,看黑贏的概率。可以看到這明顯的不合理。因?yàn)槊坎绞莵y下的。有些棋根本就不可能。即使如此,這個(gè)算法可以達(dá)到業(yè)余5段左右水平。
AlphaGo可不是亂下,她是學(xué)了職業(yè)棋手著法的。所以AlphaGo的搜索叫beam search(只搜索幾條線,而不是掃一片)。前面也可以看到AlphaGo認(rèn)為的可能著法就幾種可能性,而不是隨機(jī)的250種。這就是從250的150次方到幾(<10)的n(n<<150,可以提前終止搜索,因?yàn)橛衯alue net)次方,的計(jì)算量降低。雖然AlphaGo每次模擬的時(shí)間更長(因?yàn)橐疃饶P偷念A(yù)測policy和value,不是亂下),但是AlphaGo的模擬次數(shù)可以更少,是蒙特卡洛樹搜索的1/15000。就是說AlphaGo的搜索更有目的性了,她大概知道該走哪里。解說說她下棋更像人了。我會說她下棋更像職業(yè)棋手,甚至超過職業(yè)棋手。線下的學(xué)習(xí)使得她的行為(模擬)有了極強(qiáng)的目的性,從而完成最終目標(biāo)(贏棋)。
12.什么是打劫?