達到人類專業玩家水平,中科院自動化所研發輕量型德州撲克AI程式AlphaHoldem

機器之心發表於2021-12-16
中科院自動化所興軍亮研究員領導的博弈學習研究組提出了一種高水平輕量化的兩人無限注德州撲克 AI 程式——AlphaHoldem。其決策速度較 DeepStack 速度提升超 1000 倍,與高水平德州撲克選手對抗的結果表明其已經達到了人類專業玩家水平,相關工作已被 AAAI 2022 接收。

人工智慧學科誕生伊始,智慧博弈研究就是人工智慧技術發展創新的沃土,並且一直都是衡量人工智慧發展水平的重要評價準則 [1][2][3][4]。2016 年,AlphaGo[2] 以 4:1 的成績戰勝圍棋世界冠軍李世石,這一事件被認為是智慧博弈技術發展的一個重要里程碑。不同於完美資訊的圍棋博弈,現實世界博弈的一個顯著特點是由於資訊不完備性造成的對手不確定。以德州撲克為代表的大規模不完美資訊博弈問題很好地集中了這一難題,是進一步深入研究智慧博弈理論與技術的極佳平臺。近年來,國際上圍繞德州撲克這一大規模不完美資訊博弈問題的最佳化求解取得了長足進步,來自加拿大阿爾伯特大學和美國卡內基梅隆大學的研究者設計的 AI 程式 DeepStack[3]和 Libratus[4]先後在兩人無限注德州撲克中均戰勝了人類專業選手,隨後卡內基梅隆大學設計的 AI 程式 Pluribus[5]又在六人無限注德州撲克中戰勝了人類專業選手。

上述具有里程碑意義的德州撲克 AI 都依賴一種迭代式的反事實遺憾最小化(Counterfactual Regret Minimization,CFR)[6]演算法。該演算法在訓練過程中不僅需要耗費大量的計算資源,同時需要很多德州撲克遊戲的領域知識。近日,中國科學院自動化研究所興軍亮研究員領導的博弈學習研究組在德州撲克 AI 方面取得了重要進展,提出了一種高水平輕量化的兩人無限注德州撲克 AI 程式 AlphaHoldem。AlphaHoldem 整體上採用一種精心設計的偽孿生網路架構,並將一種改進的深度強化學習演算法與一種新型的自博弈學習演算法相結合,在不借助任何領域知識的情況下,直接從牌面資訊端到端地學習候選動作進行決策。AlphaHoldem 使用了 1 臺包含 8 塊 GPU 卡的伺服器,經過三天的自博弈學習後,戰勝了 Slumbot[7]和 DeepStack[3]。在每次決策時,AlphaHoldem 僅需不到 3 毫秒,比 DeepStack 速度提升超過了 1000 倍。同時,AlphaHoldem 與四位高水平德州撲克選手對抗 1 萬局的結果表明其已經達到了人類專業玩家水平。

背景介紹

德州撲克是國際上最為流行的撲克遊戲,由於最早起源於 20 世紀初美國德克薩斯州而得名。德州撲克的規則是使用去掉王牌的一副撲克牌,共 52 張牌,至少 2 人參與,至多 22 人,一般參與人數為兩人和十人之間。遊戲開始時,首先為每個玩家發兩張私有牌作為各自的 “底牌”,隨後將五張公共牌依次按三張、一張、一張朝上發出。在發完兩張私有牌、三張共有牌、第四張公共牌、第五張公共牌後玩家都可以多次無限制押注,這四輪押注分別稱為“翻牌前”、“翻牌”、“轉牌”、“河牌”。圖 1 展示了一場德州撲克遊戲的完整流程示意。經過四輪押注之後,若仍不能分出勝負,遊戲進入“攤牌” 階段,所有玩家亮出各自底牌並與公共牌組合成五張牌,成牌最大者獲勝。圖 2 給出了德州撲克不同組合的牌型解釋和大小。   

圖片
圖 1:兩人無限注德州撲克一次遊戲過程示意

圖片
圖 2:德州撲克不同牌型大小說明和比較

德州撲克不僅是最流行的撲克類遊戲,而且也為研究智慧博弈基礎理論和方法提供了一個絕佳試驗和測試平臺。首先,德州撲克博弈的問題複雜度很大,兩人無限注德州撲克的決策空間複雜度超過 10 的 161 次方[3];其次,德州撲克博弈過程屬於典型的回合制動態博弈過程,遊戲參與者每一步決策都依賴於上一步的決策結果,同時對後面的決策步驟產生影響;另外,德州撲克博弈屬於典型的不完美資訊博弈,博弈過程中玩家各自底牌資訊不公開使得每個玩家資訊都不完備,玩家在每一步決策時都要充分考慮對手的各種可能情況,這就涉及到對手行為與心理建模、欺詐與反欺詐等諸多問題。此外,由於德州撲克遊戲規則又非常簡單且邊界確定,特別適合作為一個虛擬實驗環境對博弈的相關基礎理論方法和核心技術演算法進行深入探究。

目前主流德州撲克 AI 背後的核心思想是利用反事實遺憾最小化(Counterfactual Regret Minimization, CFR)演算法 [6] 逼近納什均衡策略。具體來說,首先利用抽象(Abstraction)技術 [3][7] 壓縮德撲的狀態和動作空間,從而減小博弈樹的規模,然後在縮減過的博弈樹上進行 CFR 演算法迭代。這些方法嚴重依賴於人類專家知識進行博弈樹抽象,並且 CFR 演算法需要對博弈樹的狀態結點進行不斷地取樣遍歷和迭代最佳化,即使經過模型縮減後仍需要耗費大量的計算和儲存資源。例如,DeepStack 使用了 153 萬的 CPU 時以及 1.3 萬的 GPU 時訓練最終 AI,在對局階段需要一個 GPU 進行 1000 次 CFR 的迭代過程,平均每個動作的計算需耗時 3 秒。Libratus 消耗了大於 300 萬的 CPU 時生成初始策略,每次決策需要搜尋 4 秒以上。這樣大量的計算和儲存資源的消耗嚴重阻礙了德撲 AI 的進一步研究和發展;同時,CFR 框架很難直接擴充到多人德撲環境中,增加玩家數量將導致博弈樹規模呈指數增長。另外,博弈樹抽象不僅需要大量的領域知識而且會不可避免地丟失一些對決策起到至關作用的資訊。

圖片
表 1:不同演算法的訓練測試資源對比

方法介紹

不同於已有的基於 CFR 演算法的德州撲克 AI,中國科學院自動化研究所博弈學習研究組基於端到端的深度強化學習演算法研發了一款高水平輕量型的德州撲克 AI 程式 AlphaHoldem,其整體架構如圖 4 所示。AlphaHoldem 採用 Actor-Critic 學習框架[8],其輸入是卡牌和動作的編碼,然後透過偽孿生卷積網路(結構相同引數不共享)提取特徵,接下來透過兩個全連線層得到狀態的高層特徵,最終輸出動作機率和價值估計。AlphaHoldem 的成功得益於其採用了一種高效的狀態編碼來完整地描述當前及歷史狀態資訊、一種基於 Trinal-Clip PPO 損失的深度強化學習演算法來大幅提高訓練過程的穩定性和收斂速度、以及一種新型的 Best-K 自博弈方式來有效地緩解德撲博弈中存在的策略剋制問題。            

圖片
圖 4:端到端學習德州撲克 AI 學習框架

高效的全狀態空間編碼:已有德州撲克 AI 受限於 CFR 演算法的處理能力,均需要對牌面狀態和動作資訊進行壓縮,壓縮的好壞完全取決於對德撲領域知識的掌握程度,而且不可避免地造成資訊的損失。AlphaHoldem 對整個狀態空間進行高效編碼,不利用德撲領域知識進行資訊壓縮。對於卡牌資訊,將其編碼成包含多個通道的張量,用來表示私有牌、公共牌等資訊。對於動作資訊,AlphaHoldem 同樣將其編碼為多通道張量,用來表示各玩家當前及歷史的動作資訊。AlphaHoldem 的多維張量狀態表示方法不僅完整地編碼了當前及歷史的狀態資訊,而且非常適合作為卷積神經網路的輸入進行特徵的學習。

Trinal-Clip PPO 強化學習:由於資訊不完美及不同對手的各種 “詐唬” 欺騙行為,使得德州撲克成為一種結果具有很強隨機性的遊戲,這導致常見的強化學習演算法(如 PPO[9]等)訓練過程很不穩定且難以收斂。AlphaHoldem 提出了一種新型的 Trinal-Clip PPO 損失用於改進深度強化學習過程的穩定性,透過引入 3 個截斷引數解決了 PPO 演算法在優勢函式小於零時損失值方差過大的問題以及 “全壓” 等動作造成的價值函式難估計的問題。整體上來說,Trinal-clip PPO 損失有效緩解了德撲博弈的強隨機性造成的策略訓練不穩定問題,使 AlphaHoldem 訓練得又快又好。

Best-K 自博弈訓練方法:德撲遊戲不同策略之間存在複雜的剋制關係,這使得 Naive 自博弈方法 [10] 或是 AlphaGo 採用的 Best-Win 自博弈方法 [3] 很難在德撲遊戲中收斂。然而使用 AlphaStar 的群體博弈 PBT[11],神經虛擬自博弈 NFSP[12]等方法來訓練德撲 AI 會消耗比傳統 CFR 演算法更多的計算資源。為了有效地平衡訓練效率和模型效能,AlphaHoldem 採用了一種新型的 Best-K 自博弈方法。該方法透過在訓練過程中測試歷史模型的效能,挑選出 K 個最好的模型與現在最新的模型對打,不斷透過強化學習提升自身效能。

效能測試

AlphaHoldem 到底能達到什麼水平呢?

我們將 AlphaHoldem 與當前的高水平德撲 AI 進行了比較,發現 AlphaHoldem 都有明顯優勢。經過 10 萬局的對抗,AlphaHoldem 平均贏 Slumbot[7](2018 年世界計算機撲克大賽 ACPC 冠軍,現在還在進化)111.56 mbb / 局(每 1000 手牌贏多少個大盲注),贏 DeepStack(課題組使用 120 GPU 卡訓練 3 周復現的版本)16.91 mbb / 局。同時,它可以達到人類專業玩家水平,透過和 4 位專業玩家對抗 1 萬局,AlphaHoldem 平均贏專業玩家 10.27 mbb / 局。另外,AlphaHoldem 在一臺包含 1 個 AMD 2.00GHz CPU(64 個核心)、8 個 NVIDIA TITAN V GPU 的伺服器上僅訓練三天,在一個 CPU 核心下每次決策僅需 4 毫秒,做到了真正的又快又好。

AlphaHoldem 接下來會接入到課題組自研的人機對抗平臺 OpenHoldem[13](http://holdem.ia.ac.cn/)中供研究者開放測試(圖 5)。OpenHoldem 是學術界第一個開放的大規模不完美資訊博弈研究平臺,包含了多維度評測指標、高效能基準 AI 以及公開的線上測試環境。平臺支援人人對抗、機機對抗以及人機對抗等多種模式、支援 AI 分散式並行對抗、支援動態測試請求響應及資源分配、支援多使用者併發訪問和跨終端統一登入。平臺目前已經吸引了來自高校、研究所、網際網路企業等 200 餘家單位的近 500 名註冊使用者,並受到了國內多家權威機構和主流媒體的轉發報導。

圖片
圖 5:OpenHoldem 線上不完美資訊博弈對抗平臺首頁

後續計劃

AlphaHoldem 採用了端到端強化學習的框架,大大降低了現有德撲 AI 所需的領域知識以及計算儲存資源消耗,並達到了人類專業選手的水平。該框架是一個通用的端到端學習框架,我們已經在多人無限注德撲上驗證了該框架的適用性,目前正在提升多人模型訓練過程的學習效能。我們還準備將 AlphaHoldem 背後的技術應用到更多不完美資訊博弈問題中,比如麻將、鬥地主、橋牌等,同時也計劃進行多人博弈策略空間的均衡結構分析等研究內容。

博弈學習研究組介紹

博弈學習研究組是中科院自動化所下屬科研團隊,是中科院人工智慧創新研究院的骨幹研究力量。課題組負責人為興軍亮研究員。課題組現有正式員工 9 人,博士研究生 7 人,碩士研究生 9 人,形成了一支以青年科研骨幹為主體的高水平、高素質的科研隊伍。

研究組以計算機博弈為研究切入點,透過將最新的機器學習技術引入到經典博弈理論和模型之中,同時借鑑運籌學、最最佳化、演算法設計等學科的研究方法和演算法,形成具有鮮明交叉特點的技術研究體系;透過使用經典博弈理論對博弈過程進行建模,然後利用最新機器學習技術對模型的引數進行學習更新,從而實現對複雜人機博弈問題的可建模性、可計算性和可解釋性的結合。

課題組從 2018 年底開始研究以德州撲克為代表的大規模不完美資訊博弈問題,在 2020 年公開了學界首個大規模不完美資訊博弈對抗平臺 OpenHoldem,整合了高效能基準 AI、多維度評測協議、線上對抗評估等完整功能,支援人機、機機、人人、人機混合等對抗模式。相關研發工作的主要完成人員包括興軍亮研究員,李凱副研究員,博士生趙恩民、徐航、李金秋,碩士生閆仁業、吳哲等。

相關論文資訊

Enmin Zhao#, Renye Yan#, Jinqiu Li, Kai Li, Junliang Xing*. 
High-Performance Artificial Intelligence for Heads-Up No-Limit Poker via End-to-End Reinforcement Learning. In AAAI 2022.

Kai Li, Hang Xu, Enmin Zhao, Zhe Wu, Junliang Xing*. 
OpenHoldem: An Open Toolkit for Large-Scale Imperfect-Information Game Research. ArXiv preprint arXiv:2012.06168, 2020.

參考文獻
[1] Murray C, Joseph H, and Feng-hsiung H. Deep Blue. Artificial Intelligence, 2002, 134(1):57-83.
[2] Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484-489.
[3] Moravčík M, Schmid M, Burch N, et al. Deepstack: Expert-level artificial intelligence in heads-up no-limit poker[J]. Science, 2017, 356(6337): 508-513.
[4] Brown N, Sandholm T. Superhuman AI for heads-up no-limit poker: Libratus beats top professionals[J]. Science, 2018, 359(6374): 418-424.
[5] Brown N, Sandholm T. Superhuman AI for multiplayer poker[J]. Science, 2019, 365(6456): 885-890.
[6] Zinkevich M, Johanson M, Bowling M, et al. Regret minimization in games with incomplete information[J]. Advances in neural information processing systems, 2007, 20: 1729-1736.
[7] Jackson E G. Slumbot NL: Solving large games with counterfactual regret minimization using sampling and distributed processing[C]. Workshops at the Twenty-Seventh AAAI Conference on Artificial Intelligence. 2013.
[8] Konda V R, Tsitsiklis J N. Actor-critic algorithms[C]. Advances in neural information processing systems. 2000: 1008-1014.
[9] Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[J]. ArXiv preprint arXiv:1707.06347, 2017.
[10] Silver D, Hubert T, Schrittwieser J, et al. A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play[J]. Science, 2018, 362(6419): 1140-1144.
[11] Vinyals O, Babuschkin I, Czarnecki W M, et al. Grandmaster level in StarCraft II using multi-agent reinforcement learning[J]. Nature, 2019, 575(7782): 350-354.
[12] Heinrich J, Lanctot M, Silver D. Fictitious self-play in extensive-form games[C]. International conference on machine learning. PMLR, 2015: 805-813.
[13] Li K, Xu H, Zhang M, et al. OpenHoldem: An Open Toolkit for Large-Scale Imperfect-Information Game Research[J]. ArXiv preprint arXiv:2012.06168, 2020.

相關文章