丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能 正文
發(fā)私信給彭博
發(fā)送

0

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

本文作者: 彭博 2017-02-21 11:58
導語:圍棋中的人機對抗遠沒有結束。

雷鋒網(wǎng)注:本文作者彭博,Blink·稟臨科技聯(lián)合創(chuàng)始人。文章由雷鋒網(wǎng)整理自作者知乎專欄,獲授權發(fā)布,未經(jīng)允許禁止轉載。

一、神經(jīng)網(wǎng)絡在圍棋中的歷史

再次回顧 AlphaGo v13 的三大組件:

MCTS(蒙特卡洛樹搜索)

CNN (卷積神經(jīng)網(wǎng)絡,包括:策略網(wǎng)絡 policy network、快速走子網(wǎng)絡 playout network、價值網(wǎng)絡 value network)

RL (強化學習)

在上世紀90年代初期,大家就已經(jīng)開始實驗將神經(jīng)網(wǎng)絡(當時是淺層的)與強化學習應用于棋類游戲。最著名的例子是西洋雙陸棋 Backgammon 的 TD-Gammon,它在自我對弈了150萬局后,就達到了相當強的棋力,摘選 Wikipedia 中的一段:

Backgammon expert Kit Woolsey found that TD-Gammon's positional judgement, especially its weighing of risk against safety, was superior to his own or any human's.


TD-Gammon's excellent positional play was undercut by occasional poor endgame play. The endgame requires a more analytic approach, sometimes with extensive lookahead. TD-Gammon's limitation to two-ply lookahead put a ceiling on what it could achieve in this part of the game. TD-Gammon's strengths and weaknesses were the opposite of symbolic artificial intelligence programs and most computer software in general: it was good at matters that require an intuitive "feel", but bad at systematic analysis.

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

簡單地說,就是"大局觀"特別強(比當時所有人類都強,不過,后來人也學習它的招法,人也進步了?。?,但是"官子弱"。這恰好和許多圍棋 AI 給人的感覺完全一致。

然而神經(jīng)網(wǎng)絡(淺層的)在圍棋中的應用卻遇到很大的困難。例如90年代就有一個神經(jīng)網(wǎng)絡圍棋叫 NeuroGo:The Integration of A Priori Knowledge into a Go Playing Neural Network 它的架構(如下圖)也經(jīng)過不少考慮,但棋力很低,10K的水平:

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

二、策略網(wǎng)絡的工作原理

究其原因,我們看策略網(wǎng)絡的輸入(很多年來大家使用的輸入都大同小異,最重要的是把棋子按氣的口數(shù)分類,如1口氣的,2口氣的,3口氣的,4口和更多氣的):

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

策略網(wǎng)絡的目的,簡單說是快速預測雙方的下一手的位置,類似于棋手的第一感。實際上,策略網(wǎng)絡的第一層是類似于這樣的規(guī)則的集合(為方便非程序員理解,這里舉一個特別的例子):

"如果這個位置的上面有一個1口氣的對方棋子,左下區(qū)域的2口氣以上的本方棋子密度為某某某,右邊某某區(qū)域本方的棋子密度按氣加權為某某某,......,那么將以上事實加權算出有xx%的幾率在這里落子"

看上去,這種規(guī)則更像是能預測某些局部的棋形情況,不像能準確地預測下一手?,F(xiàn)代的圍棋策略網(wǎng)絡為何取得大的進展,是因為使用了 卷積神經(jīng)網(wǎng)絡 + 深度神經(jīng)網(wǎng)絡 的思想。

如果我們只看 AlphaGo v13 的第一層和最后一層神經(jīng)網(wǎng)絡,那么它的運作是:

1. 使用了 192 條類似的規(guī)則(由棋譜自動訓練出來)(規(guī)則的數(shù)量太少固然不行,太多也會慢同時容易走入誤區(qū)),然后在全棋盤掃描每個點(這就是卷積神經(jīng)網(wǎng)絡的思想),計算由所有規(guī)則綜合得到的權值。

2. 再輸入“1x1卷積核”網(wǎng)絡(通俗地說,就是將每個點的上面算出的 192 種模式權值綜合考慮,得出最終的落子幾率),算出棋盤每個點作為走子的幾率。如果也舉個特別的例子,這類似于:

"如果要判斷是否在這里走一個子,就會將【這里符合 A模式的程度】*0.8,【這里符合 B模式的程度】*0.4,【這里符合 C模式的程度】*(-0.2),等等等等,綜合考慮,得出一個落子機率。"

3. 上述具體的訓練過程,就是每見到一個情況就加強這個情況的權值。因此越經(jīng)常出現(xiàn)的情況就會越被加強。

三、深度神經(jīng)網(wǎng)絡為何有效

如果只有兩層網(wǎng)絡,在看棋譜時,對于對弈者的下一手的位置,只能達到 35% 左右的正確率:cs.utoronto.ca/

但是,通過使用深度神經(jīng)網(wǎng)絡,也就是多層的網(wǎng)絡,AlphaGo v13 可以達到 55% 左右的預測正確率。這有兩個原因:

一,是概念層面的。舉例,人在選點時,會考慮附近的雙方棋子的"厚薄",但"厚薄"是個高級概念,大致可以認為是棋塊的"安定性"與"棋形"的結合。那么我們可以想象,如果第一層的規(guī)則,包括一部分專門負責"安定性"的規(guī)則,和一部分專門負責"棋形"的規(guī)則,再往上一層就可以通過加權考慮這兩種規(guī)則的結果,得出類似"厚薄"的概念。然后再往上一層,就可以再運用之前得出的棋盤每個位置的"厚薄"情況,進行進一步的決策。

深度神經(jīng)網(wǎng)絡的最有趣之處在于,并不需要特別告訴它存在這樣的概念的層次,它會自動從數(shù)據(jù)中形成這樣的層次。

二,與棋盤和卷積神經(jīng)網(wǎng)絡的性質有關。第一層的規(guī)則,最好是局部的規(guī)則,因為這樣的規(guī)則的泛化能力較高。譬如 AlphaGo v13 第一層使用的是 5x5 的局部,然后在第二層中再考慮 3x3 個 5x5 的局部,由于這些 5x5 的局部之間有重疊部分,就會形成一個 7x7 的局部。通過一層層往上加,最終可覆蓋整個 19x19 的棋盤(如果你喜歡,可以繼續(xù)往上加)。這符合我們的一種直覺:棋形會從里向外輻射一層層的影響,先看 5x5 ,然后看看周邊的棋子就是 7x7 的情況,然后繼續(xù)看下去。

四、新發(fā)展:殘差網(wǎng)絡

自然的問題是,如果這么說,是不是層越多就越好?

從前大家認為不是,因為太多層后很難訓練,有時在訓練集上的準確度已經(jīng)會變差。

但是,如果仔細想想,這有點問題。我們不妨假設新加的一層就是一個不變變換,就是什么都不改變,就把上一層的輸入做為輸出。那么,此時的模型不會變好也不會變差。換而言之,增加層數(shù),是永遠不應該變差的?。ㄟ@里的意思是,在訓練集上的準確度不應該下降。在測試集上的準確度可能會由于過擬合而下降)

這就是 ResNet 殘差網(wǎng)絡的思想: 通過使用它,網(wǎng)絡可以加到上千層也沒有問題,幾乎是一個免費的午餐:

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

通過運用殘差網(wǎng)絡和少量 MCTS 模擬,策略網(wǎng)絡的準確度可達 58% 以上:https://openreview.net/pdf?id=Bk67W4Yxl 。這近乎于理論最高值了,因為人的走棋不完美,同樣的局面可以有不同的走法。

五、策略網(wǎng)絡的弱點

然而策略網(wǎng)絡是有弱點的。我在此更具體地說明幾種情況。

第一,學習的棋譜數(shù)量有限,因此會有未見過的局面;同時,有時會知其然而不知其所以然,只學到了表面。這個問題很有趣,譬如,很多人發(fā)現(xiàn) Zen6 (包括 DeepZenGo)有時會在征子上短路。下圖是 2016/11/27 07:43 日 EWZGDXFEZ 與 Zen19L 在 KGS 的對局,黑棋是 Zen19L,走出了驚世駭俗的一步 M4,并認為自己的勝率高達 70% 以上:

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

結果被白棋直接在 N4 征死(同時勝率立刻掉到17%...)。這到底是為什么?我們可以打開 Zen6 的策略網(wǎng)絡顯示(Hotspots 菜單):

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

非常有趣。Zen6 認為白棋最可能的下一步是在 G2(概率大小是按紅橙黃綠藍紫排列,最不可能的是無色),而 N4 是它眼中白棋最不可能下的棋。它根本想不到白棋會走 N4。這個問題的成因是明顯的:

在人類高手的對弈中,很少出現(xiàn)一方對另一方進行征子,因為另一方會預先避免對方征子成功。而策略網(wǎng)絡在學習中,卻不可能看到如此高的概念,它只能看到,如果有一方走出看似可以被征的棋形,另一方不會去征,于是,它所學到的,就是大家都不會去征對方的子。

著名的第 78 手與此也有類似的原因(區(qū)別是隱蔽得多)。同樣,機器很難理解人為什么會"保留",因為人"保留"的原因是另一個層次的(例如作為劫材)。當然,人的"保留"也不見得都對。

解決這個現(xiàn)象,初級的辦法是加入手動的處理,更好的辦法是通過自我對弈學習更多的局面。AlphaGo 比其它各路狗強大的重要原因,在于經(jīng)過了上億盤的左右互搏學習,見過的局面太多了。

第二,由于輸入中缺乏對于多口氣的精確區(qū)分(請思考為什么沒有精確區(qū)分),可以說它不會精確數(shù)氣,對于對殺和死活容易犯暈。這一般可以被蒙特卡洛樹搜索糾正,但總會有糾正不了的情況。不過,雖然其它各路狗在此都經(jīng)常會犯錯,但 Master 卻還沒有被人抓到,有可能在于它已經(jīng)學會有意避免這種局面,就像傳說它會有意避免某些大型變化。

第三,靠感覺是不會精確收官和打劫,因此許多狗的官子和打劫有缺陷(換而言之,人可以靠官子和打劫逆轉)。不過目前看來 AlphaGo 的新版已經(jīng)專門為此做過額外處理,不會讓人抓到這么明顯的漏洞。我的一個猜測是,新版 AlphaGo 可能也建立了一個以"贏的子數(shù)"作為目標的價值網(wǎng)絡,并且在適當?shù)臅r候會參考它的結果。

許多人可能會很好奇,為什么各路狗都是用"勝率"而不是"贏的子數(shù)"作為目標。這是因為大家發(fā)現(xiàn)以"勝率"為標準,得到的勝率更高(這看似是廢話,其實不是廢話)。說到這個,我見過網(wǎng)上有人提為什么不在穩(wěn)贏的時候改變貼目,盡量贏得更多一些,棋走得更好看;這個想法其實大家早就試過了,叫 Dynamic Komi 動態(tài)貼目,后果也是會稍微降低勝率。

不過,電腦的保守,有時候可以被人類利用。譬如,在電腦的棋有潛在缺陷的時候,可以先故意不走,等到收官階段,電腦認為必勝(并且退讓了很多)的時候再走,讓電腦措手不及。最近陳耀燁就通過類似的辦法連贏了國產(chǎn)狗好幾盤,而 DeepZenGo 也被某位棋手抓到了一個漏洞連贏了好幾盤(而這兩位狗對付其它職業(yè)棋手的勝率已經(jīng)相當高了)。圍棋確實很有趣。我相信人機對抗并沒有結束,還會繼續(xù)下去,因為雙方都會不斷進步。

相關閱讀:

28 天自制你的 AlphaGo(一):圍棋AI基礎及版本安裝

28 天自制你的 AlphaGo(二):訓練策略網(wǎng)絡,真正與之對弈

雷峰網(wǎng)特約稿件,未經(jīng)授權禁止轉載。詳情見轉載須知。

28天自制你的AlphaGo(三):對策略網(wǎng)絡的深入分析以及它的弱點所在

分享:
相關文章

專欄作者

Blink·稟臨科技 聯(lián)合創(chuàng)始人
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說