不只是圍棋!AlphaGo Zero之後DeepMind推出泛化強化學習演算法AlphaZero

在 DeepMind 發表 Nature 論文介紹 AlphaGo Zero 之後,這家公司一直在尋求將這種強大演算法泛化到其他任務中的可能性。昨天,AlphaGo 研究團隊提出了 AlphaZero:一種可以從零開始,通過自我對弈強化學習在多種任務上達到超越人類水平的新演算法。據稱,新的演算法經過不到 24 小時的訓練後,可以在國際象棋和日本將棋上擊敗目前業內頂尖的計算機程序(這些程序早已超越人類世界冠軍水平),也可以輕鬆擊敗訓練 3 天時間的 AlphaGo Zero。AlphaZero 為何如此強大?機器之心對論文全文進行了編譯介紹,希望能以此帶你一探究竟。

據論文介紹,AlphaZero可以經過:

  • 8 個小時訓練擊敗李世石版本AlphaGo
  • 4 小時訓練擊敗世界頂級的國際象棋程序 Stockfish
  • 2 小時訓練擊敗世界頂級將棋程序 Elmo

計算機國際象棋和計算機科學本身一樣古老。查爾斯·巴貝奇、艾倫·圖靈、克勞德·香農和馮諾依曼都曾設計硬體、演算法以及理論來讓計算機分析和玩國際象棋。國際象棋隨後成為了一代人工智慧研究者努力希望克服的挑戰,最終,我們也實現了超越人類水平的國際象棋程序。然而,這些程序高度局限於它們所處的領域,在沒有人類大幅度修改的情況下,無法被泛化去處理其他任務。

創造可以以簡單規則為基礎不斷自我學習的程序一直是人工智慧領域的重要目標。最近,AlphaGo Zero 演算法在圍棋上實現了超過人類水平的成績,而背後使用的是卷積神經網路,只通過強化學習進行自我對弈訓練。在本論文中,DeepMind 實現了類似但完全泛化的演算法(fully generic algorithm)——在未輸入遊戲規則以外任何知識的情況下,其推出的全新演算法 AlphaZero 在國際象棋和日本將棋上實現了和圍棋同樣的高水平。DeepMind 宣稱該研究證明了 AlphaZero 作為一個通用性強化學習演算法可以從零開始,在多種具有挑戰性的任務上實現超越人類的水平。

人工智慧領域的一個里程碑事件是 1997 年「深藍」擊敗了人類世界冠軍卡斯帕羅夫。在隨後的 20 年裡,計算機程序的國際象棋水平一直穩定處於人類之上。這些程序使用人類大師仔細調整的權重來評估落子步驟,同時結合了高性能的 α-β 搜索技術,通過大量啟發式機制和對特定領域的適應而擴展出大的搜索樹。這些程序包括 2016 年 Top Chess Engine Championship(TCEC)世界冠軍 Stockfish;其他強大的國際象棋程序,包括「深藍」,也使用了非常相似的架構。

在計算複雜性方面,日本將棋(Shogi)要比國際象棋複雜得多:前者有一個更大的棋盤,任何被吃的棋子都可以改變陣營重新上場,被放置在棋盤的大多數位置。此前最強大的將棋程序,如 Computer Shogi Association(CSA)世界冠軍 Elmo 直到 2017 年才擊敗了人類世界冠軍。這些程序和計算機國際象棋程序使用了類似的演算法,同樣基於高度優化的α-β搜索引擎和很多對特定域的適應性調整。

圍棋非常適合 AlphaGo 中的神經網路體系結構,因為遊戲規則是轉移不變的(與卷積神經網路的權重共享結構相對應),是根據棋盤上相鄰點位的自由度來定義的(與卷積神經網路局部結構相對應),而且是旋轉和鏡像對稱的(這允許數據增強和數據合成)。此外,圍棋的動作空間很簡單(一個子可能被落在每一個可能的位置上),遊戲的結果僅限於二元的輸或贏,而兩者都有助於神經網路進行訓練。

國際象棋和日本將棋可以說相對不適用於 AlphaGo 的神經網路架構。因為其規則是依賴於棋盤位置的(如兩種棋類的棋子都可以通過移動到棋盤的某個位置而升級)而且不對稱(如一些旗子只能向前移動,而另一些如王和後可以更自由的移動)。這些規則包含了遠程互動(例如,後可以一步穿越整個棋盤,從遠距離對王將軍)。國際象棋的動作空間包含兩名棋手棋盤上棋子的所有合法落子位置;而日本將棋甚至還允許被吃掉的棋子重返棋盤(加入另一方)。國際象棋和日本將棋都允許勝負之外的其他結果;事實上,人們相信國際象棋的最優解是平局。

AlphaZero 演算法是 AlphaGo Zero 的通用化版本,後者首先被應用在了圍棋任務上。它使用深度神經網路和從零開始的強化學習代替了手工編入的知識和特定領域的增強信息。

AlphaZero 不使用手動編寫的評估函數和移動排序啟發式演算法,轉而使用深度神經網路 (p, v) = f_θ(s) 和參數θ。該神經網路將棋盤位置 s 作為輸入,輸出一個針對每個動作 a 的分量 p_a = P_r(a | s)的移動概率 p 的向量,以及從位置 s 估計期望結果 z 的標量值 v ≈E [z | s]。AlphaZero 完全從自我對弈中學習這些步的獲勝概率;這些結果隨後用於指導程序的搜索。

和α-β搜索使用領域特定的增強信息不同,AlphaZero 使用了一個通用的蒙特卡羅樹搜索(MCTS)演算法。每一次搜索由一系列的自我對弈的模擬比賽組成,遍歷了從根 s_root 到葉的整個樹。每一次模擬通過在每個狀態 s 中選擇一個動作 a,a 具有低訪問次數、高走棋概率(通過遍歷從 s 選擇了 a 的模擬的葉狀態取平均得到)和根據當前神經網路 f_θ決定的高價值。搜索會返回一個向量π表示走棋的概率分布,通常相對於根狀態的訪問次數是成比例的或貪婪的。

從隨機初始化的參數 θ 開始,AlphaZero 中的深度神經網路參數 θ 通過自我對弈強化學習來訓練。雙方玩家通過 MCTS 選擇遊戲動作為 a_t ~ π_t。在遊戲結束時,根據遊戲規則對終端位置 s_T 進行評分,以計算遊戲結果 z:-1 為輸,0 為平局,+1 為贏。更新神經網路參數θ以使預測結果 v_t 和遊戲結果 z 之間的誤差最小化,並使策略向量 p_t 與搜索概率π_t 的相似度最大化。具體而言,參數 θ 通過梯度下降分別在均方誤差和交叉熵損失之和上的損失函數 l 進行調整。

其中 c 為控制 L2 權重正則化程度的參數,更新的參數將用於自我對弈子序列對弈。

本論文描述的 AlphaZero 演算法主要在以下一些方面與原版的 AlphaGo Zero 演算法有不同。

若假設一局對弈的結果為勝利或失敗兩個狀態,AlphaGo Zero 會估計並最優化勝利的概率。而 AlphaZero 反而會估計和優化結果的期望值,它會同時考慮平局或其它潛在的可能結果。

無論使用怎樣的旋轉和鏡像映射,圍棋的規則都是不變的。AlphaGo 和 AlphaGo Zero 都利用了這一事實。首先,通過為每個位置生成 8 次對稱,來增強訓練數據。其次,在 MCTS(蒙特卡羅樹搜索)中,在神經網路進行評估之前使用隨機選擇的旋轉或反射轉換棋盤局勢,以使蒙特卡羅評估在不同的偏差中進行平均。象棋和將棋的規則是不對稱的,且通常無法假設對稱。在 MCTS 中,AlphaZero 不增強訓練數據,也不轉換棋盤局勢。

在 AlphaGo Zero 中,自我對弈是由前面所有迭代步中最優玩家生成的。在每次訓練的迭代結束後,新玩家的性能通過與最優玩家的對抗而衡量。如果新玩家能以 55% 的優勢勝出,那麼它就替代當前最優的玩家,而自我對弈的結果將由該新玩家產生。相反,AlphaZero 只是簡單地維護單個神經網路以連續更新最優解,而不需要等待一次迭代的完成。

圖 1:將 AlphaZero 訓練 700,000 步。假設每手棋用時一秒,利用不同棋手之間的評估遊戲計算國際等級分(Elo rating)。a. AlphaZero 在象棋中的表現,與 2016 TCEC 世界冠軍 Stockfish 進行對比。b. AlphaZero 在將棋中的表現,與 2017 CSA 世界冠軍 Elmo 進行對比。c. AlphaZero 在圍棋中的表現,與 AlphaGo Lee 和 AlphaGo Zero 進行對比(20 block / 3 day)(29)。

自我對弈通過使用這個神經網路最新的參數而生成,且省略了評估的步驟和最佳玩家的選擇。

AlphaGo Zero 通過貝葉斯優化搜索超參數,而 Alpha Zero 對於所有的對弈使用相同的超參數,而不會使用特定的超參數調整方法。唯一的例外是為了保證探索(29)而添加到先前策略的雜訊,這與符合(對弈類型)規則的典型移動數成正比。

如同 AlphaGo Zero 一樣,棋盤狀態僅基於每個對弈的基本規則空間進行編碼。這些動作是由其它空間平面或平面向量進行編碼,且僅僅基於每個遊戲的基本規則。

我們把 AlphaZero 演算法應用到了國際象棋、日本將棋和圍棋上。除非另做說明,這三種棋類遊戲使用的都是同樣的演算法設置、網路架構和超參數。我們為每一種棋類遊戲訓練了獨立的 AlphaZero 實例。訓練進行了 70 萬步(批尺寸為 4096),從隨機初始化參數開始,使用 5000 個第一代 TPU 生成自我對弈棋局和 64 個第二代 TPU 訓練神經網路。關於訓練過程的更多細節在 Method 中。

圖 1 展示了 AlphaZero 在自我對弈強化學習中的性能,作為訓練步的函數,以 Elo Scale 表示(10)。在國際象棋中,AlphaZero 僅僅經過 4 小時(30 萬步)就超越了 Stockfish;在日本將棋中,AlphaZero 僅僅經過不到 2 小時(11 萬步)就超過了 Elmo;而在圍棋中,AlphaZero 經過 8 小時(16.5 萬步)就超過了 AlphaGo Lee(29)。

我們評估了經過充分訓練的 AlphaZero 在國際象棋、日本將棋和圍棋上分別和 Stockfish、Elmo 以及經過 3 天訓練的 AlphaGo Zero 的 100 場競標賽的結果(從 AlphaZero 角度的贏/平/輸),每個程序都是一步一分鐘的思考時間。AlphaZero 和 AlphaGo Zero 使用 4 個 TPU 的單個機器進行比賽。Stockfish 和 Elmo 使用 64 個線程和 1GB 的哈希表進行比賽。AlphaZero 令人信服地打敗了所有的對手,未輸給 Stockfish 任何一場比賽,只輸給了 Elmo 八場(補充材料理由幾場比賽的示例),見表 1。

表 1:AlphaZero 在國際象棋、日本將棋和圍棋上分別和 Stockfish、Elmo 以及經過 3 天訓練的 AlphaGo Zero 的 100 場比賽的結果(從 AlphaZero 角度的贏/平/輸),每個程序都是一步一分鐘的思考時間。

我們還分析了 AlphaZero 的蒙特卡羅樹搜索(MCTS)和 Stochfish、Elmo 使用的當前最佳α-β搜索引擎的性能對比。AlphaZero 在國際象棋中每秒搜索了 8 萬個位置,在日本將棋中每秒搜索了 4 萬個位置,而 Stockfish 每秒需要搜索 7000 萬個位置,Elmo 每秒需要搜索 3500 萬個位置。AlphaZero 通過使用深度神經網路重點聚焦於最具潛在價值的走法(可以認為這是一種更加類似人類思考方式的搜索方法,由香農首次提出(27))。圖 2 展示了每個玩家關於 Elo scale 的思考時間的可擴展性。AlphaZero 的 MCTS 相比 Stochfish 和 Elmo 能更有效地伸縮思考時間,這使我們對人們廣泛接受的 α-β 搜索在這些領域的內在優勢提出了質疑。

最後,我們分析了由 AlphaZero 發現的象棋知識。表 2 分析了 12 個最常見的人類國際象棋開局分析(在線數據集記錄出現超過了 10 萬次)。每一個開局都由 AlphaZero 在自我對抗訓練過程中獨立發現並頻繁使用。從每一個人類國際象棋開局開始,AlphaZero 都能擊敗 Stockfish,這表明它確實掌握了大量的國際象棋棋譜知識。

使用國際象棋比賽展示 AI 研究的前沿進展已經有幾十年的歷史。當前最佳的程序都是基於能搜索幾百萬個位置、利用人工編入的領域專業知識和複雜的領域適應性的引擎。AlphaZero 是一個通用的強化學習演算法(最初為圍棋而設計),可以在數小時內達到優越的結果,其需要搜索的位置少了幾千倍,除了國際象棋的規則外不需要任何的領域知識。此外,同樣的演算法不需要修改就可以應用到更具挑戰性的日本將棋上,同樣在數小時內超過了當前最佳結果。

表 2:12 個最常見的人類國際象棋開場局的分析(在線數據集記錄出現超過了 10 萬次)。每一個開局由其 ECO 碼和常用名標記。這些圖展示了 AlphaZero 在自我對抗訓練棋局中使用這種開場局的比例隨訓練時間的變化。我們還報告了 100 場 AlphaZero vs. Stockfish 每個比賽的開局和結果(從 AlphaZero 角度的贏/平/輸,無論作為白方還是黑方)。最後,還報告了 AlphaZero 每個開局後的整體棋局主要變化。

圖 2:AlphaZero 的思考時間的可擴展性。a. AlphaZero 和 Stockfish 在象棋上的 Relative Elo 對比,橫坐標為每一步的思考時間。b. AlphaZero 和 Elmo 在日本將棋上的 Relative Elo 對比,橫坐標為每一步的思考時間。

論文:Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm

論文鏈接:[1712.01815] Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm

摘要:國際象棋是人工智慧史上被研究最為廣泛的領域。解決國際象棋問題最為強大的技術是通過複雜搜索技術、特定領域的適應性調整以及人類專家幾十年來不斷手動編寫改進的評估函數。相比之下,AlphaGo Zero 程序最近在圍棋項目中實現了超過人類的表現,而且它是完全從零開始進行自我強化學習的。在本論文的研究中,我們泛化了這個方法而得到了單個 AlphaZero 演算法,使其可以從零開始自我學習,並在很多種具有挑戰性的領域裡超越人類的性能。模型從隨機動作開始初始化,除了遊戲規則,我們未向程序輸入任何知識,而 AlphaZero 在 24 小時內像圍棋一樣掌握了遊戲,達到了超越人類的國際象棋和日本將棋水平,並令人信服地在每個項目中擊敗了目前業內頂級的各類程序。

聲明:本文由機器之心編譯出品,原文來自arXiv,作者David Silver等人,轉載請查看要求,機器之心對於違規侵權者保有法律追訴權。


推薦閱讀:

【桔子洞見·專輯】終戰之前:向奇點和柯潔發起挑戰的中國人工智慧們
人類智能堡壘圍棋突然被谷歌智能攻破了,靠的是策略判斷和暴力搜索兩手都硬|陳經
如何評價對於AlphaGo打劫問題的質疑?
我們還沒準備好和AI共生——柯潔和AlphaGo大戰之觀後感
首戰告負:王者不戀戰,機器無哀言

TAG:GoogleDeepMind | 谷歌Google | AlphaGo |