中國商業網 首頁 品牌 IT 科技

AlphaZero升級全才棋類AI,8小時完爆人類所有棋局

2017-12-7 17:54 來自: 機器之心 收藏 分享 邀請

摘要: 在 DeepMind發表 Nature 論文介紹 AlphaGo Zero之后,這家公司一直在尋求將這種強大算法泛化到其他任務中的可能性。昨天,AlphaGo 研究團隊提出了 AlphaZero:一種可以從零開始,通過自我對弈強化學習在多種任務上達 ...

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

  • 8 個小時訓練擊敗李世石版本AlphaGo

  • 12 小時訓練擊敗世界頂級的國際象棋程序 Stockfish

  • 14小時訓練擊敗世界頂級將棋程序 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 每個開局后的整體棋局主要變化。



中國首席商業資訊門戶;更多內容請關注中國商業網各頻道、欄目資訊

免責聲明:凡本站注明 “來自:XXX(非中國商業網)”的新聞稿件和圖片作品,系本站轉載自其它媒體,轉載目的在于信息傳遞,并不代表本站贊同其觀點和對其真實性負責。 


鮮花

握手

雷人

路過

雞蛋
該文章已有0人參與評論

請發表評論

全部評論

這個人很懶,什么也沒留下...
粉絲 閱讀193641 回復0
上一篇:
雷軍稱比馬云先講新零售:我的被蓋過去了發布時間:2017-12-04
下一篇:
全球銷售疲軟 華為OV四季度將砍單10%發布時間:2017-12-20

Powered by 商業網 X3.3 Licensed © 2001-2019 Comsenz Inc. Design by 中國商業網<>

GMT+8, 2019-12-10 04:12 , Processed in 1.144829 second(s), 34 queries .

QQ

广西快乐十分真假