接上文繼續(xù)拓展AlphaGo算法學習矩父。
黃士杰(Aja Huang)使用MCTS融合策略和評價函數(shù)v(s)?的策略是:使用P(s)作為初始分開局铣卡,每局選擇分數(shù)最高的方案落子,到第L步后偏竟,改用Pfast(s)把剩下的棋局走完煮落,同時調(diào)v(sL),評估局面的獲勝概率踊谋,按照如下規(guī)則更新整個樹的分數(shù):
新分數(shù)=調(diào)整后的初始分+0.5?通過模擬得到的贏棋概率+0.5?局面評估分
前兩項和原來一樣蝉仇,如果待更新的節(jié)點就是葉子節(jié)點,局面評估分就是v(sL)殖蚕,如果是待更新的節(jié)點是上級節(jié)點轿衔,局面評估分是該葉子節(jié)點v(s)?的平均值。
如果v(s)?是表示大局觀睦疫,Pfast(s)表示快速演算害驹,那么上面的方法就是二者的并重,并且黃士杰團隊已經(jīng)用實驗證明0.5 0.5的權重對陣其他權重有95%的勝率笼痛。
借用詳解AlphaGo VS 樊麾 對局走下某一步的計算過程回顧整個過程:
a圖使用局部評估函數(shù)計算出s 狀態(tài)下其他落子點的勝率裙秋。
b圖MCTS中使用局部評估函數(shù)加 Phuman(s)?得出的結果琅拌。
c圖MCTS中使用Phuman(s)(復合算法)和Phuman?fast(s)走子走到底的結果缨伊。
d圖深度卷積神經(jīng)網(wǎng)絡使用策略函數(shù)計算出來的結果。
e圖使用新分數(shù)和相關流程計算出的落子概率进宝。
f圖演示了AlphaGo和樊麾對弈的計算過程刻坊,AlphaGo執(zhí)黑,樊麾執(zhí)白党晋。紅圈是AlphaGo實際落子額地方谭胚。1,2未玻,3和后面的數(shù)字表示他想象中的之后樊麾下一步落子的地方灾而。白色方框是樊麾的實際落子。在復盤時扳剿,樊麾認為1的走法更好(這說明在樊麾落子后AlphaGo也在進行計算)旁趟。
總結:整個AlphaGo使用的算法是基于深度卷積神經(jīng)網(wǎng)絡、MCTS庇绽、強化學習自對弈找出所面對不同棋盤狀態(tài)的最佳下棋棋法锡搜,這個過程經(jīng)歷了先模仿學習人類歷史棋譜,但是發(fā)現(xiàn)無法超越人類老師瞧掺,接下來開始自己對弈探索更多人類沒有走過的棋法耕餐,類似人類的自我嘗鮮發(fā)掘新棋法,當掌握此技能之后就青出于藍而勝于藍辟狈,在自我學習的過程為何要用到MCTS肠缔,主要是降低搜索空間,因為圍棋的狀態(tài)是巨量無法遍歷的,通過網(wǎng)絡搜索桩砰,找到一個解釋比較清晰的版本:圍棋究竟有多少變化拓春?大家公認有兩種算法,其一亚隅,一盤棋下完硼莽,每個點都可能有三種情況,黑煮纵、白懂鸵、空,所以圍棋的變化是3的361次方行疏,但是匆光,這是唯結果論,因為即使每一種對局結果酿联,都有n種不同的過程可以到達终息;我們更傾向于第二種算法,即第一步有361個點可以選擇贞让,第二步有360個點……以此類推周崭,所以圍棋的變化是361×360×359×……2×1,即361階乘喳张!這里還有兩個問題续镇,過程中產(chǎn)生禁入點,會減少一部分變化销部,而打劫的時候摸航,同一個點會落子多次,又會增加很多變化舅桩,可以認為兩者互相抵消酱虎,另外,由于棋盤是4方對稱的擂涛,所以結果還要除以4读串,為了討論方便,一般可以忽略除以4這個問題歼指。假如不考慮這些細枝末節(jié)爹土,361階乘這個結果還是基本可信的。 361階乘到底有多大踩身?大約1.43乘以10的768次方胀茵,即1后面有768個零!這個數(shù)字遠遠超出人類的想象挟阻,要知道琼娘,即使人類已知宇宙中的原子數(shù)量峭弟,也不過是10的80次方。
從上面可以看出類似AlphaGo的人工智能真正的技術核心關鍵是計算能力脱拼、業(yè)務抽象能力瞒瘸、恰當?shù)钠ヅ渌惴ǎ@三者缺一不可熄浓,也就是王煜全老師說的人工智能三要素算力+算法+數(shù)據(jù)情臭,我這里把數(shù)據(jù)換成業(yè)務建模能力是基于能產(chǎn)生數(shù)據(jù)的前提來說的,所以從AlphaGo學習可以看到赌蔑,王煜全老師說的人工智能平臺是屬于大公司的機會是完全正確的俯在,因為算力不是普通小公司能解決的,以及為何英偉達為何有高估值娃惯,是因為建立起了計算能力門檻跷乐,假設未來量子計算的真正到來了,可以想象會是人工智能應用的強大助推劑趾浅,又或者找到了比MCTS更好的縮減計算策略愕提。