當前位置:
首頁 > 知識 > 一張圖解AlphaGo原理及弱點

一張圖解AlphaGo原理及弱點

鏈接:www.leiphone.com/news/201603/VARZ2sn7aC2DPBkw.html(點擊尾部閱讀原文前往)


作者簡介


鄭宇(博士、教授、博士生導師)微軟亞洲研究院 主管研究員、城市計算領域負責人, Editor-in-Chief of ACM Transactions on Intelligent Systems and Technology,2013年被MIT Techology Review評委全球傑出青年創新者(MIT TR35),ACM數據挖掘中國分會秘書長。

張鈞波(博士),微軟亞洲研究院副研究員、城市計算組成員,從事深度學習領域的研究。


AlphaGo在人機圍棋比賽中,體現了人工智慧在圍棋領域的突破,作為人工智慧領域的工作者,我們深感欣慰。其實質是深度學習網路(CNN)跟蒙特卡羅搜索樹(MCTS)結合的勝利,是人類智慧的進步。不少所謂的「磚」家開始鼓吹機器戰勝人類、甚至人類將被機器統治等無知言論,讓人實在看不下去。作為圍棋愛好者和人工智慧領域工作者,我們覺得是時候跟大家講講AlphaGo的原理及其弱點了。


可以很負責任的告訴大家,AlphaGo還沒有完全攻克圍棋這個難題,職業棋手也並非沒有希望贏Go了,更不能說機器戰勝了人類。AlphaGo未來需要走的路還很長。如果有中國職業棋手想挑戰AlphaGo,我們願意為其組建最頂尖(且懂圍棋)的人工智慧專家顧問團,助其取勝AlphaGo


雖然網上技術貼不少,但還沒有一篇文章完全講清楚AphaGo的原理,Nature上刊登的文章也缺乏一張刨解全局的圖(加之用英文描述,同學們很難理解透徹)。以下是我跟微軟亞洲研究院的張鈞波博士在多次閱讀原文並收集了大量其他資料後,一起完成的一張圖,解釋了AlphaGo的原理,看完後大家自然知道其弱點在何處了。

一張圖解AlphaGo原理及弱點



圖1、AlphaGo的原理圖 (作者為本圖花費大量心血,版權歸兩位作者所有,歡迎轉發,但請勿盜圖)


AlphaGo總體上包含離線學習(圖1上半部分)和在線對弈(圖1下半部分)兩個過程。


離線學習過程分為三個訓練階段。

第一階段:利用3萬多幅專業棋手對局的棋譜來訓練兩個網路。一個是基於全局特徵和深度卷積網路(CNN)訓練出來的策略網路(Policy Network)。其主要作用是給定當前盤面狀態作為輸入,輸出下一步棋在棋盤其它空地上的落子概率。另一個是利用局部特徵和線性模型訓練出來的快速走棋策略(Rollout Policy)。策略網路速度較慢,但精度較高;快速走棋策略反之。


第二階段:利用第t輪的策略網路與先前訓練好的策略網路互相對弈,利用增強式學習來修正第t輪的策略網路的參數,最終得到增強的策略網路。這部分被很多「磚」家極大的鼓吹,但實際上應該存在理論上的瓶頸(提升能力有限)。這就好比2個6歲的小孩不斷對弈,其水平就會達到職業9段?


第三階段:先利用普通的策略網路來生成棋局的前U-1步(U是一個屬於[1, 450]的隨機變數),然後利用隨機採樣來決定第U步的位置(這是為了增加棋的多樣性,防止過擬合)。隨後,利用增強的策略網絡來完成後面的自我對弈過程,直至棋局結束分出勝負。此後,第U步的盤面作為特徵輸入,勝負作為label,學習一個價值網路(Value Network),用於判斷結果的輸贏概率。價值網路其實是AlphaGo的一大創新,圍棋最為困難的就是很難根據當前的局勢來判斷最後的結果,這點職業棋手也很難掌握。通過大量的自我對弈,AlphaGo產生了3000萬盤棋局,用作訓練學習價值網路。但由於為其的搜索空間太大,3000萬盤棋局也不能幫AlphaGo完全攻克這個問題。


在線對弈過程包括以下5個關鍵步驟:其核心思想實在蒙特卡洛搜索樹(MCTS)中嵌入了深度神經網路來減少搜索空間。AlphaGo並沒有具備真正的思維能力。


1、根據當前盤面已經落子的情況提取相應特徵;

2、利用策略網路估計出棋盤其他空地的落子概率;


3、根據落子概率來計算此處往下發展的權重,初始值為落子概率本身(如0.18)。實際情況可能是一個以概率值為輸入的函數,此處為了理解簡便。


4、利用價值網路和快速走棋網路分別判斷局勢,兩個局勢得分相加為此處最後走棋獲勝的得分。這裡使用快速走棋策略是一個用速度來換取量的方法,從被判斷的位置出發,快速行棋至最後,每一次行棋結束後都會有個輸贏結果,然後綜合統計這個節點對應的勝率。而價值網路只要根據當前的狀態便可直接評估出最後的結果。兩者各有優缺點、互補。


5、利用第四步計算的得分來更新之前那個走棋位置的權重(如從0.18變成了0.12);此後,從權重最大的0.15那條邊開始繼續搜索和更新。這些權重的更新過程應該是可以並行的。當某個節點的被訪問次數超過了一定的門限值,則在蒙特卡羅樹上進一步展開下一級別的搜索(如圖2所示)。

一張圖解AlphaGo原理及弱點



圖2、MCTS拓展下一級節點


AlphaGo的弱點在哪裡?


1、攻其策略網路,加大搜索空間。進入中盤後,職業選手如能建立起比較複雜的局面,每一步棋都牽連很多個局部棋的命運(避免單塊、局部作戰),則AlphaGo需要搜索空間則急劇加大,短時間內得到的解的精度就會大打折扣。李世石九段的第四局棋就有這個意思。此處左右上下共5塊黑白棋都相互關聯到一起,白1下後,黑棋需要考慮很多地方。很多地方都需要在MCTS上進行跟深入的搜索。為了在一定的時間內有結果,只能放棄搜索精度。

一張圖解AlphaGo原理及弱點



圖3、李世石對AlphaGo第四盤棋棋譜


2、攻其價值網路,萬劫不復:AlphaGo的價值網路極大的提高了之前單純依靠MCTS來做局勢判斷的精度,但離準確判斷圍棋局勢還有不小的差距。神經網路還不能完全避免在某些時候出現一些怪異(甚至錯誤)的判斷,更何況其訓練樣本還遠遠不足。這也是為什麼有了價值網路還仍然需要依靠快速走棋來判斷局勢。大家都曾經懷疑過AlphaGo的打劫能力,也感覺到了AlphaGo有躲避打劫的跡象。實際上南京大學的周志華教授曾經撰文指出打劫會讓價值網路崩潰的問題,原理不再重複。總之打劫要乘早,太晚了搜索空間變小,即便價值網路失效,還可以靠快速走棋網路來彌補。開劫應該以在剛剛進入中盤時期為好(太早劫財還不夠),並切保持長時間不消劫,最好在盤面上能同時有兩處以上打劫。沒有了價值網路的AlphaGo其實水平也就職業3段左右。


本文編號2294,以後想閱讀這篇文章直接輸入2294即可。


輸入m可以獲取到文章目錄


本文內容的相關公眾號推薦


演算法與數據結構


大數據技術


更多推薦15個技術類公眾微信


涵蓋:程序人生、演算法與數據結構、黑客技術與網路安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序猿 的精彩文章:

Linux運維工程師必須掌握的基礎技能有哪些?
人人學編程
老生常談-從輸入url到頁面展示到底發生了什麼
雙11前1小時,阿里程序員發現重大bug……
做開發十年,我總結出了這些開發經驗

TAG:程序猿 |

您可能感興趣

智能音響各有弱點,蘋果、Amazon、Google 都難獨贏
懷疑Distrust全敵人弱點及打法詳解
中國圍棋隊總教練:AlphaGo有唯一弱點
「IEEE Spectrum」神經網路視覺分類演算法的意外弱點
LPL有救了,找到對付faker的辦法了,wolf採訪暴露faker弱點!
儘管AlphaGo很強 但它或許仍有唯一的弱點
Summer:瑜伽體能為弱點而設計
你還想著買ipone8/iponeX嗎?它的致命弱點已曝光
柯潔回應首站惜敗AlphaGo:還沒有找到它的弱點
第四範式首席科學家楊強:AlphaGo的弱點及遷移學習的應對
柯潔稱AlphaGo沒弱點有點像神,苦笑因早知要輸
EDG戰隊的薄弱點Zet,獲得MVP還要招黑嗎?
Quora:如何在面試中談論自己的弱點
聶衛平談AlphaGo對戰柯潔,阿法狗幾乎沒有弱點獲勝無望
海賊王863話bigmom能力弱點明顯,四檔路飛足可一戰
從SEMrush尋找競爭對手弱點,更有效進行SEO優化!
iPhone X 非常高科技,但我們發現了它的致命弱點!
即將上市的iphone8,暴露出了一個致命的弱點!
他的致命弱點是女人 但他卻是韓國近20年唯一SOLO三冠王!!!