【21天完虐Master】AlphaGo Zero橫空出世,DeepMind Nature論文解密不使用人類知識掌握圍棋

新智元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

全新的強化學習:自己成為自己的老師

「史上最強」AlphaGo出世,100:0擊敗李世石版_騰訊視頻 https://v.qq.com/x/cover/k0562d5ll65/k0562d5ll65.html

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。

圖5: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_era,作者:聞菲、劉小芹,轉載請聯繫。)


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

想深入了解AI 技術最新進展?點擊【新智元】AI World 2017 世界人工智慧大會查看嘉賓與議程馬上搶票

推薦閱讀:

如何打造一個AI遊戲玩家?(AI遊戲代碼資源庫—隨時更新)
柯潔被打敗,但中美人工智慧的戰爭才剛剛開始
28 天自制你的 AlphaGo (4) : 對於策略網路的深入分析(以及它的弱點所在)
AlphaGo兩勝圍棋大師:深度學習原理和應用初探

TAG:AlphaGo | 人工智能 | GoogleDeepMind |