AlphaGo Zero橫空出世,DeepMind Nature論文解密不使用人類知識掌握圍棋

摘要算法

新智元AI World 2017世界人工智能大會倒計時進入20天,DeepMind 如約公佈了他們最新版AlphaGo論文,也是他們最新的Nature論文,介紹了迄今最強最新的版本AlphaGo Zero,使用純強化學習。網絡

  

  新智元報道架構

  來源:Nature;DeepMind函數

  編譯:聞菲,劉小芹性能

  【新智元導讀】新智元AI World 2017世界人工智能大會倒計時進入20天,DeepMind 如約公佈了他們最新版AlphaGo論文,也是他們最新的Nature論文,介紹了迄今最強最新的版本AlphaGo Zero,使用純強化學習,將價值網絡和策略網絡整合爲一個架構,3天訓練後就以100比0擊敗了上一版本的AlphaGo。AlphaGo已經退休,但技術永存。DeepMind已經完成圍棋上的概念證實,接下來就是用強化學習創造改變世界的價值。學習

  今年5月烏鎮圍棋大賽時,DeepMind CEO Hassabis 表示,將在今年晚些時候公佈打敗了柯潔的那版AlphaGo的技術細節。今天,這個承諾如約兌現,DeepMind在他們最新發表於Nature的一篇論文中,描述了迄今最強大的一版AlphaGo—— AlphaGo Zero 的技術細節。測試

  AlphaGo Zero徹底不依賴於人類數據,所以,這一系統的成功也是朝向人工智能研究長期以來的目標——創造出在沒有人類輸入的條件下,在最具挑戰性的領域實現超越人類能力的算法——邁進的一大步。網站

  做者在論文中寫道,AlphaGo Zero 證實了即便在最具挑戰的領域,純強化學習的方法也是徹底可行的:不須要人類的樣例或指導,不提供基本規則之外的任何領域知識,使用強化學習可以實現超越人類的水平。此外,純強化學習方法只花費額外不多的訓練時間,但相比使用人類數據,實現了更好的漸進性能(asymptotic performance)。人工智能

  在不少狀況下,人類數據,尤爲是專家數據,每每太過昂貴,或者根本沒法得到。若是相似的技術能夠應用到其餘問題上,這些突破就有可能對社會產生積極的影響。設計

  是的,你或許要說,AlphaGo已經在今年5月宣佈退休,但AlphaGo的技術將永存,並進一步往前發展、進化。DeepMind已經完成圍棋上的概念證實,接下來,就是用他們的強化學習改變世界。

  這也是爲何接下來咱們要介紹的這篇論文如此重要——它不只是不少人期盼已久的技術報告,也是人工智能一個新的技術節點。在將來,它將獲得不少引用,成爲無數AI產業和服務的基礎。

  迄今最強大的圍棋程序:不使用人類的知識

  DeepMind這篇最新的Nature,有一個樸素的名字——《不使用人類知識掌握圍棋》。

   

  摘要

  人工智能長期以來的一個目標是創造一個可以在具備挑戰性的領域,以超越人類的精通程度學習的算法,「tabula rasa」(譯註:一種認知論觀念,認爲指個體在沒有先天精神內容的狀況下誕生,全部的知識都來自於後天的經驗或感知)。此前,AlphaGo成爲首個在圍棋中打敗人類世界冠軍的系統。AlphaGo的那些神經網絡使用人類專家下棋的數據進行監督學習訓練,同時也經過自我對弈進行強化學習。

  在這裏,咱們介紹一種僅基於強化學習的算法,不使用人類的數據、指導或規則之外的領域知識。AlphaGo成了本身的老師。咱們訓練了一個神經網絡來預測AlphaGo本身的落子選擇和AlphaGo自我對弈的贏家。這種神經網絡提升了樹搜索的強度,使落子質量更高,自我對弈迭代更強。從「tabula rasa」開始,咱們的新系統AlphaGo Zero實現了超人的表現,以100:0的成績擊敗了此前發表的AlphaGo。

  DOI:10.1038/nature24270

  全新的強化學習:本身成爲本身的老師

  DeepMind 研究人員介紹 AlphaGo Zero。視頻來源:DeepMind,視頻中英文字幕由Nature 上海辦公室製做

  AlphaGo Zero 獲得這樣的結果,是利用了一種新的強化學習方式,在這個過程當中,AlphaGo Zero 成爲本身的老師。這個系統從一個對圍棋遊戲徹底沒有任何知識的神經網絡開始。而後,經過將這個神經網絡與一種強大的搜索算法相結合,它就能夠本身和本身下棋了。在它自我對弈的過程當中,神經網絡被調整、更新,以預測下一個落子位置以及對局的最終贏家。

  這個更新後的神經網絡又將與搜索算法從新組合,進而建立一個新的、更強大的 AlphaGo Zero 版本,再次重複這個過程。在每一次迭代中,系統的性能都獲得一點兒的提升,自我對弈的質量也在提升,這就使得神經網絡的預測愈來愈準確,獲得更增強大的 AlphaGo Zero 版本。

  這種技術比上一版本的 AlphaGo 更強大,由於它再也不受限於人類知識的侷限。相反,它能夠從一張白紙的狀態開始,從世界上最強大的圍棋玩家——AlphaGo 自身——學習。

  AlphaGo Zero 在其餘方面也與以前的版本有所不一樣:

  AlphaGo Zero 只使用圍棋棋盤上的黑子和白子做爲輸入,而上一版本的 AlphaGo 的輸入包含了少許人工設計的特徵。

  它只使用一個神經網絡,而不是兩個。之前版本的 AlphaGo 使用一個「策略網絡」(policy network)來選擇下一個落子位置和一個「價值網絡」(value network)來預測遊戲的贏家。這些在 AlphaGo Zero 中是聯合進行的,這使得它可以更有效地進行訓練和評估。

  AlphaGo Zero 不使用「走子演算」(rollout)——這是其餘圍棋程序使用的快速、隨機遊戲,用來預測哪一方將從當前的棋局中獲勝。相反,它依賴於高質量的神經網絡來評估落子位置。

  上面的全部這些不一樣之處都有助於提升系統的性能,使其更加通用。但使得這個系統更增強大和高效的是算法的改變。

  在進行了3天的自我訓練後,AlphaGo Zero 在100局比賽中以100:0擊敗了上一版本的 AlphaGo——而上一版本的 AlphaGo 擊敗了曾18次得到圍棋世界冠軍的韓國九段棋士李世乭。通過 40 天的自我訓練後,AlphaGo Zero 變得更增強大,超越了「Master」版本的 AlphaGo——Master 曾擊敗世界上最優秀的棋士、世界第一的柯潔。

  在通過數以百萬計的 AlphaGo vs AlphaGo 的對弈後,這個系統逐漸從零開始學會了下圍棋,在短短几天內積累了人類數千年積累的知識。AlphaGo Zero 也發現了新的知識,開發出很是規的策略和創造性的新下法,這些新下法超越了它在與柯潔和李世乭比賽時發明的新技巧。

  儘管目前仍處於早期階段,但 AlphaGo Zero 成爲了朝着這個目標邁進的關鍵一步。DeepMind 聯合創始人兼 CEO Demis Hassabis 評論稱:「AlphaGo在短短兩年裏取得了如此使人驚歎的成果。如今,AlphaGo Zero是咱們項目中最強大的版本,它展現了咱們在更少的計算能力,並且徹底不使用人類數據的狀況下能夠取得如此大的進展。

  「最終,咱們但願利用這樣的算法突破來幫助解決現實世界的各類緊迫問題,例如蛋白質摺疊或新材料設計。若是咱們能在這些問題上取得與AlphaGo一樣的進展,就有可能推進人類理解,並對咱們的生活產生積極影響。」

  AlphaGo Zero 技術細節拆解:將價值網絡和策略網絡整合爲一個架構,整合蒙特卡洛搜索不斷迭代

  新方法使用了一個深度神經網絡 fθ,參數爲 θ。這個神經網絡將原始棋盤表徵 s(棋子位置和歷史)做爲輸入,輸出落子機率和一個值 (p, v)= fθ(s)。

  落子機率向量 p 表示選擇下每一步棋(包括不下)的機率。值 v 是一個標量估值,衡量當前棋手在位置 s 獲勝的機率。

  這個神經網絡將最初的 AlphaGo(下文中的 AlphaGo Fan 和 AlphaGo Lee,分別指對戰樊麾和對戰李世石的版本)的策略網絡和價值網絡整合到一個架構裏,含有不少基於卷積神經網絡的殘差模塊,這些殘差模塊中使用了批正則化(batch normalization)和非線性整流函數(rectifier nonlinearities)。

  AlphaGo Zero 的神經網絡使用自我對弈數據作訓練,這些自我對弈是在一種新的強化學習算法下完成的。在每一個位置 s,神經網絡 fθ 都會進行蒙特卡洛樹搜索(MCTS)。MCTS 輸出下每步棋的落子機率 π。這樣搜索得出的機率一般比神經網絡 fθ(s) 的原始落子機率 p 要更增強一些;MCTS 也所以能夠被視爲一個更增強大的策略提高 operator。

  系統經過搜索進行自我對弈,也即便用加強的基於 MCTS 的策略選擇下哪步棋,而後使用獲勝者 z 做爲價值樣本,這個過程能夠被視爲一個強有力的策略評估 operator。

  這一新的強化學習算法的核心思想是,在策略迭代的過程當中,反覆使用這些搜索 operator:神經網絡的參數不斷更新,讓落子機率和價值 (p,v)= fθ(s) 愈來愈接近改善後的搜索機率和自我對弈贏家 (π, z)。這些新的參數也被用於下一次自我對弈的迭代,讓搜索更強。下面的圖1 展現了自我對弈訓練的流程。

   

  圖1:AlphaGo Zero 自我對弈訓練的流程:a. 程序本身和本身下棋,標記爲s1, ..., sT。在每一個位置st,一個MCTS αθ被執行(見圖2),使用最新的神經網絡fθ。每一個走子選擇的依據是經過MCTS, at ? πt計算的搜索機率。最終的位置sT根據遊戲規則計算對局的最終勝者z。b. AlphaGo Zero 中神經網絡的訓練。該神經網絡將棋盤位置st做爲輸入,與參數θ一塊兒講它傳送到許多的卷積層,並同時輸出表示每一走子的機率分佈的向量 pt 和一個表示當前玩家在位置 st 上的贏率的標量值 vt。

  MCTS 使用神經網絡 fθ 指導其模擬(參見圖2)。搜索樹中的每條邊 (s, a) 都存儲了一個機率先驗 P(s, a),一個訪問數 N(s, a),以及動做值 Q(s, a)。每次模擬都從根節點狀態開始,不斷迭代,選擇能將置信區間 Q(s, a)+ U(s, a) 的上層最大化的落子結果,直到走到葉節點 s′。

  而後,網絡會擴充這個葉節點,而且只進行一次評估,生成機率先驗和評估值,(P(s′, ·), V(s′))= fθ(s′)。在模擬中,遍歷每條邊 (s, a) 後,會更新訪問量 N(s, a),而後將動做值更新,取全部模擬的平均值:

   

  。

  MCTS 能夠被看作一種自我對弈算法:給定神經網絡參數 θ 和一個根節點位置 s,計算搜索機率向量推薦落子 π = αθ(s),與每步棋的訪問量指數成正比,τ 是溫度參數:

   

  。

   

  圖2:MCTS 使用神經網絡 fθ 模擬落子選擇的過程示意

  神經網絡使用這個自我對弈的強化學習算法作訓練,正如上文介紹,這個算法使用 MCTS 下每一步棋。首先,神經網絡使用隨機權重 θ0 初始化。在隨後的每一次迭代中,i ≥ 1,生成自我對弈棋譜(參見圖1的a)。在每一個時間步長 t,運行一個 MCTS 搜索 πt = αθ (st),使用上一次神經網絡 fθi?1 迭代的結果,而後根據搜索機率採樣下出一步棋。一局棋在第 T 步結束,也就是雙方都沒法落子,搜索值下降到閾值如下的時候。隨後,進行計分,得出獎勵 rT ∈ {?1,+1}。

  每個時間步長 t 的數據都被存儲爲 (st, πt, zt),其中 zt = ± rT 就是從當前這步棋 t 看來最終獲勝的贏家。

  同時(參見圖1 b),使用從最後一次自我對弈迭代的全部時間步長中獲取的數據 (s, π, z),對新的網絡參數 θi 進行訓練。調整神經網絡 (p, v) = fθi (s),將預測值 v 和自我對比勝者 z 之間的偏差下降到最小,同時將神經網絡落子機率 p 和搜索機率 π 之間的類似度提高到最大。

  具體說,咱們用損失函數 l 的梯度降低來調節參數 θ,這個損失函數表示以下,其中 c 是控制 L2 權重正則化水平的參數(防止過擬合):

   

  評估結果:21天就比打敗柯潔的Master更加厲害

  DeepMind官方博客上介紹了AlphaGo Zero與此前版本的對比。徹底從零開始,3天超越AlphaGo李世石版本,21天達到Master水平。

   

   

   

   

  幾個不一樣版本的計算力對好比下:

   

  論文中,爲了分開結構和算法的貢獻,DeepMind研究人員還比較了 AlphaGo Zero 的神經網絡架構和先前與李世乭對弈時的 AlphaGo (記爲 AlphaGo Lee)的神經網絡架構的性能(見圖4)。

  咱們構建了4個神經網絡,分別是在 AlphaGo Lee 中使用的分開的策略網絡和價值網絡,或者在 AlphaGo Zero 中使用的合併的策略和價值網絡;以及 AlphaGo Lee 使用的卷積網絡架構,或 AlphaGo Zero 使用的殘差網絡架構。每一個網絡都被訓練以最小化同一個損失函數(公式1),訓練使用的是 AlphaGo Zero 在72小時的自我對弈以後產生的同一個自我對弈棋局數據集。

  使用殘差網絡的準確率更高,偏差更低,在 AlphaGo 達到600 Elo(等級分)的性能提升。將策略(policy)和價值(value)結合到一個單一的網絡中的話,走子預測的準確性略微下降了,可是價值錯誤也下降了,而且將 AlphaGo 的性能再提升了600 Elo。這在必定程度上是因爲提升了計算效率,但更重要的是,雙目標使網絡成爲支持多個用例的常規表示。

   

  圖4:AlphaGo Zero 和 AlphaGo Lee 的神經網絡架構比較。使用分開的策略和價值網絡記爲(sep),使用組合的策略和價值網絡記爲(dual),使用卷積網絡記爲(conv),使用殘差網絡記爲(res)。「dual-res」和「sep-conv」分別表示在 AlphaGo Zero 和 AlphaGo Lee 中使用的神經網絡架構。每一個網絡都在同一個數據集上訓練,該數據集由 AlphaGo Zero 的自我對弈產生。a,每一個訓練好的網絡都與 AlphaGo Zero 的搜索相結合,以獲得一個不一樣的玩家。Elo等級分是由這些不一樣玩家之間的評估遊戲計算獲得的,每一步棋有5秒的思考時間。b,對每一個網絡架構的職業棋手的走法(從GoKifu數據集得來)的預測準確性。c,每一個網絡架構的人類職業棋手的棋局結果(從GoKifu數據集得來)的MSE。

   

  AlphaGo Zero學到的知識。a,AlphaGo Zero訓練期間發現的五我的類定式(常見的角落序列)。b)自我對弈中愛用的5個定式。c)在不一樣訓練階段進行的3次自我對弈的前80步棋,每次搜索使用1,600次模擬(約0.4s)。最開始,系統關注奪子,很像人類初學者。然後,關注勢和地,也即圍棋根本。最後,整場比賽體現出了很好的平衡,涉及屢次戰鬥和一場複雜的戰鬥,最終以白棋多半子獲勝。

  AlphaGo 小傳

  姓名:AlphaGo(Fan,Lee,Master,Zero)

  別名:阿老師,阿爾法狗

  生日:2014年

  出生地:英國倫敦

  1

  擊敗樊麾

  2015年10月,AlphaGo擊敗樊麾,成爲第一個無需讓子便可在19路棋盤上擊敗圍棋職業棋手的電腦圍棋程序,寫下了歷史,相關成果在2016年1月發表於Nature

  2

  擊敗李世石

  2016年3月,AlphaGo在一場五番棋比賽中4:1擊敗尖端職業棋手李世石,成爲第一個不借助讓子而擊敗圍棋職業九段棋手的電腦圍棋程序,再創歷史。五局賽後韓國棋院授予AlphaGo有史以來第一位名譽職業九段

  3

  排名短暫超越柯潔

  2016年7月18日,AlphaGo在Go Ratings網站的排名升至世界第一。但幾天以後被柯潔反超。

  4

  化名「Master」橫掃棋界

  2016年末至2017年年初,再度強化的AlphaGo以「Master」爲名,在未公開其真實身份的狀況下,借非正式的網絡快棋對戰進行測試,挑戰中韓日臺的一流高手,60戰全勝

  5

  打敗柯潔,成爲世界第一

  2017年5月23至27日烏鎮圍棋峯會,最新的強化版AlphaGo和世界第一棋手柯潔對局,並配合八段棋手協同做戰與對決五位頂尖九段棋手等五場比賽,獲取3比零全勝的戰績,團隊戰與組隊戰也全勝。此次AlphaGo的運算資源消耗僅李世石版本的十分之一。在與柯潔的比賽結束後,中國圍棋協會授予AlphaGo職業圍棋九段的稱號

  AlphaGo在沒有人類對手後,2017年5月25日,AlphaGo之父傑米斯·哈薩比斯宣佈AlphaGo退役。AlphaGo的研究計劃於2014年開始,從業餘棋手的水平到世界第一,AlphaGo的棋力獲取這樣的進步,僅僅花了兩年左右。

  AlphaGo雖已退休,但技術永存。

  謹以此文,致敬AlphaGo,以及研發AlphaGo的人。

  對AI來講,德州撲克是比圍棋更難的遊戲!新智元世界人工智能大會邀請到打敗了人類德撲職業玩家的「冷撲大師」Libratus發明人CMU教授Tuomas Sandholm,

相關文章
相關標籤/搜索