智能博弈領域已逐漸成為當前AI研究的熱點之一,游戲AI領域、智能兵棋領域都在近年取得了一系列的研究突破。但是,游戲 AI 如何應用到實際的智能作戰推演依然面臨巨大的困難。綜合分析智能博弈領域的國內外整體研究進展,詳細剖析智能作戰推演的主要屬性需求,并結合當前最新的強化學習發展概況進行闡述。從智能博弈領域主流研究技術、相關智能決策技術、作戰推演技術難點3個維度綜合分析游戲AI發展為智能作戰推演的可行性,最后給出未來智能作戰推演的發展建議。以期為智能博弈領域的研究人員介紹一個比較清晰的發展現狀并提供有價值的研究思路。
以2016年AlphaGo的成功研發為起點,對智能博弈領域的研究獲得突飛猛進的進展。2016年之前,對兵棋推演的研究還主要集中在基于事件驅動、規則驅動等比較固定的思路。到2016年,受AlphaGo的啟發,研究人員發現智能兵棋、智能作戰推演的實現并沒有想象得那么遙遠。隨著機器學習技術的發展,很多玩家十分憧憬游戲中有 AI 加入從而改善自己的游戲體驗[1]。同時,在智能作戰推演領域,不斷發展的機器學習游戲 AI 技術也為智能作戰推演的發展提供了可行思路[2]。傳統作戰推演AI主要以基于規則的AI和分層狀態機的AI決策為主,同時以基于事件驅動的機制進行推演[3-4]。然而,隨著近些年國內外在各種棋類、策略類游戲領域取得新突破,智能作戰推演的發展迎來了新的機遇[5]。
國內游戲 AI 領域取得了標志性的進步。騰訊《王者榮耀》的《覺悟AI》作為一款策略對抗游戲取得了顯著成績,可以擊敗97%的玩家,并且多次擊敗頂尖職業團隊[6]。網易伏羲人工智能實驗室在很多游戲環境都進行了強化學習游戲 AI 的嘗試[6],如《潮人籃球》《逆水寒》《倩女幽魂》。超參數科技(深圳)有限公司打造了游戲AI平臺“Delta”,集成機器學習、強化學習、大系統工程等技術,通過將AI與游戲場景結合,提供人工智能解決方案[7]。啟元AI“星際指揮官”在與職業選手的對抗中也取得了勝利[8]。北京字節跳動科技有限公司也收購了上海沐瞳科技有限公司和北京深極智能科技有限公司,準備在游戲AI領域發力。除了游戲AI領域,國內在智能兵棋推演領域也發展迅速。國防大學兵棋團隊研制了戰略、戰役級兵棋系統,并分析了將人工智能特別是深度學習技術運用在兵棋系統上需要解決的問題[9]。中國科學院自動化研究所在2017年首次推出《CASIA-先知1.0》兵棋推演人機對抗AI[10],并在近期上線“廟算·智勝”即時策略人機對抗平臺[11]。此外,由中國指揮與控制學會和北京華戍防務技術有限公司共同推出的專業級兵棋《智戎·未來指揮官》在第三屆、第四屆全國兵棋推演大賽中成為官方指定平臺。中國電科認知與智能技術重點實驗室開發了MaCA智能博弈平臺,也成功以此平臺為基礎舉辦了相關智能博弈賽事。南京大學、中國人民解放軍陸軍工程大學、中國電子科技集團公司第五十二研究所等相關單位也開發研制了具有自主知識產權的兵棋推演系統[12,13,14,15]。2020年,國內舉辦了4次大型智能兵棋推演比賽,這些比賽對于國內智能博弈推演的發展、作戰推演領域的推進具有積極影響。游戲 AI 和智能兵棋的發展也逐漸獲得了國內學者的關注,胡曉峰等人[5]提出了從游戲博弈到作戰指揮的決策差異,分析了將現有主流人工智能技術應用到戰爭對抗過程中的局限性。南京理工大學張振、李琛等人利用PPO、A3C算法實現了簡易環境下的智能兵棋推演,取得了較好的智能性[16-17]。中國人民解放軍陸軍工程大學程愷、張可等人利用知識驅動及遺傳模糊算法等提高了兵棋推演的智能性[18-19]。中國人民解放軍海軍研究院和中國科學院自動化研究所分別設計和開發了智能博弈對抗系統,對于國內智能兵棋推演系統的開發具有重要參考價值[20]。中國人民解放軍國防科技大學劉忠教授團隊利用深度強化學習技術在《墨子?未來指揮官系統》中進行了一系列智能博弈的研究,取得了突出的成果[21]。中國科學院大學人工智能學院倪晚成團隊提出一種基于深度神經網絡從復盤數據中學習戰術機動策略模型的方法,對于智能博弈中的態勢認知研究具有重要參考價值[22]。
總體來說,國內在智能博弈領域進行了一系列的研究,嘗試將該技術應用到作戰推演領域,建立了具有自主產權的博弈平臺,技術層面也不斷突破,不再局限于傳統的行為決策樹、專家知識庫等,開始將強化學習技術、深度學習技術、遺傳模糊算法等引入智能博弈,取得了一系列的關鍵技術的突破。但是,當前的研究主要聚焦在比較簡單的智能博弈環境,對復雜環境及不完全信息的博弈對抗研究仍然需要進一步探索。
國外游戲 AI 領域則取得了一系列突出成果,尤其是深度強化學習技術的不斷發展,游戲 AI 開始稱霸各類型的游戲[23]。2015年DeepMind團隊發表了深度Q網絡的文章,認為深度強化學習可以實現人類水平的控制[24]。2017年,DeepMind團隊根據深度學習和策略搜索的方法推出了AlphaGo[25],擊敗了圍棋世界冠軍李世石。此后,基于深度強化學習的 AlphaGo Zero[26]在不需要人類經驗的幫助下,經過短時間的訓練就擊敗了AlphaGo。2019年, DeepMind 團隊基于多智能體(agent)深度強化學習推出的AlphaStar[27]在《星際爭霸II》游戲中達到了人類大師級的水平,并且在《星際爭霸II》的官方排名中超越了 99.8%的人類玩家。《Dota 2》AI“OpenAI Five”在電競游戲中擊敗世界冠軍[28], Pluribus 在 6 人無限制德州撲克中擊敗人類職業選手[29]。同時DeepMind推出的MuZero在沒有傳授棋類運行規則的情況下,通過自我觀察掌握圍棋、國際象棋、將棋和雅達利(Atari)游戲[30]。與軍事推演直接相關的《CMANO》和《戰爭游戲:紅龍》(Wargame:Red Dragon),同樣也結合了最新的機器學習技術提升了其智能性[31]。美國蘭德公司也對兵棋推演的應用進行相關研究,利用兵棋推演假設分析了俄羅斯和北大西洋公約組織之間的對抗結果,并利用智能兵棋推演去發現新的戰術[32]。蘭德研究員也提出將兵棋作為美國軍事人員學習戰術戰法的工具[33]。美國海軍研究院嘗試使用深度強化學習技術開發能夠在多種單元和地形類型的簡單場景中學習最佳行為的人工智能代理,并將其應用到軍事訓練及軍事演習[34-35]。
但就目前而言,國外的研究也遇到了瓶頸。雖然也嘗試將深度強化學習技術利用到作戰領域,但是就目前發表的論文和報告來看,國外學者、研究人員將機器學習技術應用到作戰推演 AI 中還有很多問題需要解決,現階段也是主要在游戲 AI 領域及簡單的作戰場景進行實驗驗證及分析。作戰推演AI 的設計也不僅僅是把機器學習技術照搬照用這么簡單。但是必須肯定的是,隨著未來計算機硬件的發展和機器學習技術的完善,作戰推演 AI 會迎來一波革命式的發展,給各類作戰智能指揮決策帶來翻天覆地的變化。本文從智能博弈的重要應用領域——作戰推演分析了國內外整體背景,進而引出作戰推演的技術需求,并給出當前可參考的主流及小眾技術思路。同時,對可能出現的技術難點進行了分析并給出解決方案建議。最后,對作戰推演的未來發展提出建議。
狀態空間是作戰推演中的每個作戰實體的位置坐標、所處環境、所處狀態等要素的表現,是深度強化學習進行訓練的基礎。在圍棋中,狀態空間就是棋盤上每個點是否有棋子。在《覺悟AI》中,狀態空間是每一幀、每個單位可能有的狀態,如生命值、級別、金幣[36,37,38,39]。在《墨子·未來指揮官系統》中,狀態空間主要是每個作戰單元實體的狀態信息,是由想定中敵我雙方所有的作戰單元信息匯聚形成的。本節尤其要明確狀態空間和可觀察空間是可區分的,可觀察空間主要是每個 agent 可以觀察到的狀態信息,是整個狀態空間的一部分。作戰推演中的狀態空間將更加復雜,具有更多的作戰單位和單位狀態。針對敵我雙方的不同作戰單位、不同單位屬性、不同環境屬性等定義作戰推演的狀態空間屬性。例如敵我雙方坦克單元應包括坐標、速度、朝向、載彈量、攻擊武器、規模等。陸戰環境應包括周圍道路信息、城鎮居民地、奪控點等。
動作空間是指在策略對抗游戲中玩家控制算子或游戲單元可以進行的所有動作的集合。對于圍棋來說,動作空間為361個,是棋盤上所有可以落子的點。對于《王者榮耀》和《Dota》這類游戲來說,動作空間主要是玩家控制一個“英雄”進行的一系列操作,玩家平均水平是每秒可以進行一個動作,但是需要結合走位、釋放技能、查看資源信息等操作。例如《覺悟AI》的玩家有幾十個動作選項,包括24個方向的移動按鈕和一些釋放位置/方向的技能按鈕[34]。因此每局多人在線戰術競技(multiplayer online battle arena,MOBA)游戲的動作空間可以達到1060 000+。假設游戲時長為45 min,每秒30幀,共計81 000幀,AI每4幀進行一次操作,共計20 250次操作,這是游戲長度。任何時刻每個“英雄”可能的操作數是170 000,但考慮到其中大部分是不可執行的(例如使用一個尚處于冷卻狀態的技能),平均的可執行動作數約為1 000,即動作空間[37]。因此,操作序列空間約等于1 00020 250= 1060 750。而對于《星際爭霸》這類實時策略對抗游戲來說,因為需要控制大量的作戰單元和建筑單元,動作空間可以達到1052 000[38]。而對于《CMANO》和《墨子·未來指揮官系統》這類更加貼近軍事作戰推演的游戲來說,需要對每個作戰單元進行大量精細的控制。在作戰推演中,每個作戰單元實際都包括大量的具體執行動作,以作戰飛機為例,應包括飛行航向、飛行高度、飛行速度、自動開火距離、導彈齊射數量等。因此,實際作戰推演需要考慮的動作空間可以達到10100 000+。可以看出,對于作戰推演來說,龐大的動作空間一直是游戲 AI 邁進實際作戰推演的門檻。現有的解決思路主要是考慮利用宏觀AI訓練戰略決策,根據戰略決策構建一系列綁定的宏函數,進行動作腳本設計。這樣的好處是有效降低了動作空間設計的復雜度,同時也方便高效訓練,但是實際問題是訓練出來的 AI 總體缺乏靈活性,過于僵化。
對于動作空間,還需要考慮其是離散的還是連續的,Atari和圍棋這類游戲動作都是離散動作空間[25,39-40],《星際爭霸》《CMANO》《墨子·未來指揮官系統》這類游戲主要是連續動作空間[38]。對于離散動作,可以考慮基于值函數的強化學習進行訓練,而對于連續動作,可以考慮利用基于策略函數的強化學習進行訓練。同時,離散動作和連續動作也可以互相轉化。國內某兵棋推演平臺由原先的回合制改為時間連續推演,即把回合制轉化為固定的時間表達。同時對于連續動作,也可以在固定節點提取對應的動作,然后將其轉化為離散動作。
智能博弈中的決策主要是指博弈對抗過程中的宏觀戰略的選擇以及微觀具體動作的選擇。宏觀戰略的選擇在《墨子·未來指揮官系統》推演平臺中體現得比較明顯。在推演比賽開始前,每個選手要進行任務規劃,這個任務規劃是開始推演前的整體戰略部署,例如分配導彈打擊目標,規劃艦艇、戰斗機活動的大致區域,以及各個任務的開始執行時間等。這一決策空間與想定中的作戰單元數量、任務規劃數量相關。在制定完成宏觀戰略決策后,推演階段即自主執行所制定的宏觀戰略決策。同時,在推演過程中也可以進行微觀具體動作的干預,這一階段的具體動作和作戰單元數量、作戰單元動作空間成正比。在實際作戰推演中利用智能算法進行智能決策,首先需要明確決策空間數量。在現有的《墨子·未來指揮官系統》中,針對大型對抗想定,計算機基本需要每秒進行數百個決策,一局想定推演中雙方博弈決策空間數量預估為 1080+個,而對于《星際爭霸》《Dota 2》和《王者榮耀》這類即時戰略(real-time strategy,RTS)游戲,決策空間會低一些。實際作戰推演每小時的決策空間數量將高于 1050+個。對于這類智能決策的方案,現有 RTS游戲中提出的思路是利用分層強化學習的方法進行解決,根據具體對抗態勢進行宏觀戰略決策的選擇,然后根據不同的決策再分別執行對應的微觀具體動作,這樣可以有效降低智能決策數量,明顯提高智能決策的執行效率。
博弈對抗的勝利是一局游戲結束的標志。而不同游戲中的勝利條件類型也不同,圍棋、國際象棋這些棋類博弈對抗過程中有清晰明確的獲勝條件[30]。而 Atari 這類游戲[40]只需要獲得足夠的分數即可獲得勝利。對于《王者榮耀》這類推塔游戲,不管過程如何,只要最終攻破敵方水晶就可以獲取勝利。這些勝利條件使得基于深度強化學習技術的游戲AI開發相對容易,在回報值設置中給予最終獎勵更高的回報值,總歸能訓練出較好的 AI 智能。然而對于策略對抗游戲,甚至實際作戰推演來說,獲勝條件更加復雜,目標更多。比如,有時可能需要考慮在我方損失最低的情況下實現作戰目標,而有時則需要不計代價地快速實現作戰目標,這些復雜多元的獲勝條件設置將使得強化學習的回報值設置不能是簡單地根據專家經驗進行賦值,而需要根據真實演習數據構建獎賞函數,通過逆強化學習技術滿足復雜多變的作戰場景中不同階段、不同目標的作戰要求。
博弈對抗過程中最核心的環節是設置回報值,合理有效的回報值可以保證高效地訓練出高水平AI。對于《星際爭霸》《王者榮耀》等游戲,可以按照固定的條件設置明確的回報值,例如將取得最終勝利設置為固定的回報值。但是一局游戲的時間有時較長,在整局對抗過程中,如果只有最終的回報值將導致訓練非常低效。這就是作戰推演中遇到的一個難題,即回報值稀疏問題。為了解決這個難題,現有的解決方案都是在對抗過程中設置許多細節條件,如獲得回報值或損失回報值的具體行為。比如在“廟算·智勝”平臺中的博弈對抗,可以設置坦克擊毀對手、占領奪控點即可獲得回報值,如果被打擊、失去奪控點等則會損失回報值,甚至為了加快收斂防止算子長期不能達到有效地點,會在每步(step)都損失微小的回報值。《覺悟AI》也同樣設置了詳細的獎賞表[36],從資源、KDA(殺人率(kill,K),死亡率(death,D),支援率(assista, A))、打擊、推進、輸贏 5 個維度設置了非常詳細的具體動作回報值。這樣就可以有效解決回報值稀疏的問題。但是,對于復雜的作戰推演來說,設計回報函數可能還需要更多的細節。因為作戰情況將更加復雜多樣,需要利用逆強化學習[41-42],通過以往的作戰數據反向構建獎賞函數。
戰爭迷霧主要是指在博弈對抗過程中存在信息的不完全情況,我方并不了解未探索的區域實際的態勢信息。圍棋、國際象棋這類博弈對抗游戲中不存在這類問題。但是在《星際爭霸》《Dota 2》《王者榮耀》以及《CMANO》等RTS游戲中設計了這一機制。實際的作戰推演過程中同樣也存在此類問題,但是情況更加復雜。在實際作戰推演中,可以考慮利用不完全信息博弈解決這個問題,已有學者利用不完全信息博弈解決了德州撲克中的不完全信息問題[29],但是在實際作戰推演中這一問題還需要進一步探討研究。
這里需要對智能博弈中的觀察信息與游戲狀態空間進行區分,觀察信息主要是指博弈的 agent在當前態勢下可以獲取的態勢信息,是部分狀態信息。由于在智能博弈對抗過程中會產生戰爭迷霧問題,因此需要在處理博弈信息時設置 agent 可以獲取到的信息。《星際爭霸》中觀察信息主要有兩層意思,一個層面是屏幕限制的區域更易于獲取態勢信息,因為玩家更直觀的注意力在屏幕局域,部分注意力在小地圖局域。為了更加符合實際, AlphaStar也按照這種限制對《星際爭霸》中的注意力區域進行限制,從而更好地防止 AI 產生作弊行為。而這也是部分《星際爭霸》AI被人詬病的原因,即沒有限制機器的關注區域。另一個層面是對《星際爭霸》中作戰單元可觀察區域內的態勢信息進行獲取,對于不能獲取的態勢信息則只能評估預測,而這一部分則涉及對手建模部分,主要利用部分可觀察馬爾可夫決策過程(partially observable Markov decision process,POMDP)[43],這一技術明顯難于完全信息博弈。而對于圍棋游戲來說,其中的態勢信息是完全可獲取的,屬于完全信息博弈,態勢信息即觀察信息。并且圍棋游戲屬于回合制,相對于即時策略游戲,其有更加充分的獲取態勢信息的時間。因此,則可以利用蒙特卡洛樹搜索(Monte Carlo tree search,MCTS)算法對所獲取的圍棋游戲中的觀察信息進行詳細分析,計算出所有可能的結果,進而得出最佳的方案策略。《Dota 2》中的觀察信息是指所控制的某個“英雄”所獲取的態勢信息,其主要也是對主屏幕的態勢信息和小地圖的態勢信息進行結合處理。《王者榮耀》也與此類似,其主要以小地圖的宏觀信息進行訓練,然后以此為基礎為戰略方案提供支持,如游戲中的“英雄”是去野區發育還是去中路對抗。同時,對主屏幕態勢信息進行特征提取,結合強化學習訓練,可以得出戰術層面的方案和建議,是去選擇回塔防御還是進草叢躲避,或者推塔進攻。墨子兵棋推演系統和《CMANO》則更加接近真實作戰推演,在作戰信息獲取各個方面都高度模擬了作戰推演的場景,需要獲取具體的對空雷達、對地雷達、導彈探測、艦艇雷達等信息后才能判斷態勢信息,這部分可觀察信息非常復雜,需要結合各種情況才能發現部分目標,對于戰爭迷霧更加真實。因此,作戰推演觀察信息完全可以借鑒POMDP進行可觀察信息建模,但還需要設置各種更加符合真實裝備的作戰情況,需要在環境中提前設置有針對性的條件。
在博弈對抗過程中對手 AI 的建模也是至關重要的,不同水平的AI會導致博弈對抗的勝率不同,并且直接影響推演對抗的價值[39,40,41,42,43,44,45]。如果對手 AI水平過低,就不能逼真地模擬假設對手,博弈過程和推演結果也價值不高。在 DeepMind 開發的AlphaGo和AlphaStar中,AI性能已經可以擊敗職業選手,通過訓練后產生的決策方案已經可以給職業選手新的戰術啟發。國內《墨子?未來指揮官系統》也與國內高校合作,研發的基于深度強化學習的智能 AI 已經可以擊敗全國兵棋大賽十強選手。而在中國科學院自動化研究所開發的“廟算?智勝”上,積分排名前三名的均是AI選手,勝率均在80%以上[11]。但是,現有對手建模主要還是聚焦在一對一的對手建模,很少學者研究多方博弈,而這在實際作戰推演中更加需要。在實際作戰對抗博弈過程中普遍會考慮多方博弈,如在《墨子?未來指揮官系統》的海峽大潮想定中,紅方不僅面對藍方,還有綠方,藍方和綠方屬于聯盟關系。這就需要在對手建模中充分考慮這種復雜的博弈關系。
博弈對抗的環境因素也是影響智能決策的重要因素之一。在圍棋、國際象棋這些棋類游戲中,想定是永久固定不變的,而且也完全沒有環境的影響,因此AlphaGo這類智能AI完全沒有考慮環境的因素。在《覺悟 AI》《Dota 2》這類游戲中就需要考慮不同“英雄”在同一個場景中會產生不同的影響。不同的“英雄”陣容搭配也會對推演結果產生不同的影響,《覺悟AI》嘗試利用強化學習技術,結合歷史數據解決這一問題。這對于作戰推演的武器裝備搭配也具有啟發價值。但是在實時策略游戲中要考慮更加復雜的環境因素及其影響,不僅作戰單元會產生變化,并且在不同的作戰推演中,不同的環境之中也會有不同的地形、地貌,這些因素會對作戰推演的過程產生非常重要的影響。《CMANO》《墨子·未來指揮官系統》《戰爭游戲:紅龍》中都需要考慮地形因素。例如《CMANO》中登陸作戰需要考慮水雷所在區域、登陸艦艇吃水深度,否則會產生擱淺,不能在理想區域登陸會對作戰目標產生較大負面影響。因此,對于實際作戰推演來說,最大的挑戰是防止訓練的深度強化學習AI 對某個想定產生過擬合。作戰場景是千變萬化的,傳統的基于規則的AI就很難適應變化的想定,早期的《先知?兵圣》比賽中就比較突出地顯示了這一問題。強化學習也容易訓練出某個過擬合的模型,導致只在某個想定會有較好的AI智能性,假如更換作戰想定就需要重新訓練很長時間。為了解決這一問題,現有思路是利用遷移學習、先驗知識和強化學習的思路來增強算法的適應性,并可以加速回報函數收斂,保證快速訓練出高水平的AI模型。
本節針對智能作戰推演所需要的關鍵屬性,結合當前游戲AI、智能兵棋等相關博弈平臺,利用相關文獻[6,8,24-25,29-30,37-39,43,46-49]進行分析,經過對比不難發現游戲 AI 過渡到智能兵棋,甚至是智能作戰推演的難度,各個關鍵屬性也是未來需要研究突破的關鍵點,具體見表1。
2 作戰推演的智能決策核心技術思路
2.1 強化學習技術框架 強化學習的核心思想是不斷地在環境中探索試錯,并通過得到的回報值來判定當前動作的好壞,從而訓練出高水平的智能AI[50]。馬爾可夫決策過程(Markov decision process,MDP)是強化學習的基礎模型,環境通過狀態與動作建模,描述agent與環境的交互過程。一般地,MDP可表示為四元組<S,A,R,T >[44]:
agent從環境中感知當前狀態st,從動作空間A中選擇能夠獲取的動作at;執行at后,環境給agent相應的獎賞信號反饋 rt+1,環境以一定概率轉移到新的狀態st+1,等待agent做出下一步決策。在與環境的交互過程中,agent有兩處不確定性,一處是在狀態 s 處選擇什么樣的動作,用策略π(a|s)表示agent的某個策略;另一處則是環境本身產生的狀態轉移概率Pass′,強化學習的目標是找到一個最優策略π*,使得它在任意狀態s和任意時間步驟t都能夠獲得最大的長期累計獎賞,即:
2.2.1 基于值函數的強化學習
強化學習早期利用Q-learning算法來建立游戲AI,通過預先設計每步動作可以獲得的回報值來采取動作。Q-learning 最大的局限是需要提前設計好所有執行動作的回報值,它用一張Q表來保存所有的Q值,當動作空間巨大時,該算法難以適應。因此,Q-learning 算法只能在比較簡單的環境中建模使用,如在簡單的迷宮問題中,讓 agent 通過Q-learning算法自動尋找出口。
DeepMind在2015年第一次利用DQN(deep Q network)算法在Atari游戲環境中實現了高水平的智能AI,該AI綜合評定達到了人類專業玩家的水平[24]。這也使得DQN算法成為強化學習的經典算法。DQN算法通過神經網絡擬合Q值,通過訓練不斷調整神經網絡中的權重,獲得精準的預測 Q值,并通過最大的Q值進行動作選擇。DQN算法有效地解決了Q-learning算法中存儲的Q值有限的問題,可以解決大量的離散動作估值問題,并且DQN算法主要使用經驗回放機制(experience replay),即將每次和環境交互得到的獎勵與狀態更新情況都保存起來,用于后面的Q值更新,從而明顯增強了算法的適應性。DQN由于對價值函數做了近似表示,因此強化學習算法有了解決大規模強化學習問題的能力。但是 DQN 算法主要被應用于離散的動作空間,且DQN算法的訓練不一定能保證Q值網絡收斂,這就會導致在狀態比較復雜的情況下,訓練出的模型效果很差。在 DQN 算法的基礎上,衍生出了一系列新的改進 DQN 算法,如 DDQN (double DQN )算法[51]、優先級經驗回放 DQN (prioritized experience replay DQN)算法[52]、競爭構架Q網絡(dueling DQN)算法[53]等。這些算法主要是在改進Q網絡過擬合、改進經驗回放中的采樣機制、改進目標Q值計算等方面提升傳統DQN算法網絡的性能。總體來說,DQN系列強化學習算法都屬于基于值函數的強化學習算法類型。基于值函數的強化學習算法主要存在 3點不足:對連續動作的處理能力不足、對受限狀態下的問題處理能力不足、無法解決隨機策略問題。由于這些原因,基于值函數的強化學習方法不能適用所有的場景,因此需要新的方法解決上述問題,例如基于策略的強化學習方法。
2.2.2 基于策略的強化學習
在基于值函數的強化學習方法中,主要是對價值函數進行了近似表示,引入了一個動作價值函數q,這個函數由參數w描述,以狀態s與動作a為輸入,計算后得到近似的動作價值,即式(4):
在基于策略的強化學習方法中,主要采用類似的思路,只不過主要對策略進行近似表示。此時,策略可以被描述為一個包含參數θ的函數,θ主要為神經網絡中的權重,即式(5):
在基于策略的強化學習方法中,比較經典的就是理查德·薩頓(Richard S.Sutton)在2000年提出的 AC(actor-critic)框架強化學習算法。AC 包括兩部分:演員(actor)和評價者(critic)。其中actor使用策略函數負責生成動作(action),通過動作與環境進行交互。而critic使用第2.2.1節提到的價值函數來評估actor的表現,并指導actor下一階段的動作。總體來說,critic 通過 Q 網絡計算狀態的最優價值Vt,而actor利用Vt迭代更新策略函數的參數,進而選擇動作,并得到反饋和新的狀態, critic 使用反饋和新的狀態更新 Q 網絡參數 w,在后面critic會使用新的網絡參數w幫助actor計算狀態的最優價值Vt。
2016 年 DeepMind 在國際機器學習大會(International Conference on Machine Learning)提出了A3C算法[54]。之前的DQN算法為了方便收斂使用了經驗回放的技巧;AC 也可以使用經驗回放的技巧。A3C更進一步,還克服了一些經驗回放的問題,主要采取隨機性策略[55]。這里確定性策略和隨機性策略是相對而言的,對于某一些動作集合來說,它可能是連續值,或者非常高維的離散值,這導致動作的空間維度極大。如果使用隨機性策略,即像DQN算法一樣研究它所有的可能動作的概率,并計算各個可能動作的價值,那需要的樣本量是非常大的。于是DeepMind就想出使用確定性策略來簡化這個問題[56]。作為深度確定性策略梯度(deep deterministic policy gradient)、critic目標網絡和深度雙Q網絡(double DQN )的當前Q網絡,目標Q網絡的功能定位基本類似,但是DDPG有自己的actor策略網絡,因此不需要貪婪法這樣的選擇方法,這部分DDQN的功能到了DDPG可以在actor當前網絡完成。而對經驗回放池中采樣的下一狀態s'使用貪婪法選擇動作a',這部分工作的作用是估計目標 Q 值,因此可以放到 actor 目標網絡完成。
此外,actor當前網絡也會基于critic目標網絡計算出的目標Q值進行網絡參數的更新,并定期將網絡參數復制到 actor 目標網絡。DDPG 參考了DDQN的算法思想,通過雙網絡和經驗回放,以及一些其他的優化,比較好地解決了AC難收斂的問題。因此在實際產品中尤其是與自動化相關的產品中使用得比較多,是一個比較成熟的AC算法。2017年, Open AI在神經信息處理系統大會(Conference and Workshop on Neural Information Processing Systems)上又提出了改進的多 agent 深度確定性策略梯度(multi-agent deep deterministic policy gradient)算法[57],把強化學習算法進一步推廣應用到多agent環境。在AC框架下,比較經典的算法還有近端策略優化(proximal policy optimization)算法[58]、柔性演員-評論家(soft actor-critic)算法[59]、雙延遲深度確定性策略梯度(twin delayed deep deterministic policy gradient)算法[60]等,這些算法也都是在樣本提取效率、探索能力增強方面進一步改進優化AC框架的。
在現有策略對抗游戲中利用深度學習技術結合強化學習來實現游戲AI已成為主流研究方向[52]。其主要思路為在游戲對抗過程中利用圖像特征的卷積提取技術。如在《覺悟AI》中,圖像特征的提取采取了分層的思想,在主視野和小地圖中,對不同種類的要素進行提取并合并到一個層中,最終每層都提取到一類關鍵屬性節點信息,形成“英雄”“野怪”“小兵”位置矩陣[6]。最終將多尺度特征的信息融合形成全局態勢特征信息,這一工作同樣應用在AlphaStar中。對于作戰推演來說,態勢理解一直是研究的難點,那么考慮利用深度學習技術來實現態勢圖像特征的提取,進而最終輸出態勢圖的關鍵信息將是解決方案之一。此外,筆者所在團隊也嘗試利用深度學習技術對態勢信息進行卷積提取,然后將提取信息與語義模型結合,生成當前態勢的直觀文本語義。而在前端利用強化學習進行實體單元控制,這樣就可以將強化學習、深度學習、自然語言處理融合,在推演過程中實時生成方便人類理解的智能決策文本語義信息,這一工作對于實現推演系統中的人機融合具有積極意義。
智能博弈對抗的建模過程面臨兩個難題,一個是動作空間龐大,另一個是獎勵稀疏問題。面對這兩個問題,有研究人員提出了分層強化學習的解決思路。該思路的核心是對動作進行分層,將低層級(low-level)動作組成高層級(high-level)動作,這樣搜索空間就會被減小[52]。同時基于分層的思想,在一個預訓練的環境中學習有用的技能,這些技能是通用的,與要解決的對抗任務的關系不太緊密。學習一個高層的控制策略能夠使 agent 根據狀態調用技能,并且該方法能夠很好地解決探索效率較低的問題,該方法已在一系列稀疏獎勵的任務中表現出色[61-62]。《覺悟 AI》同樣設計了分層強化學習的動作標簽來控制“英雄”的微觀操作。具體來說,每個標簽由兩個層級(或子標簽)組成,它們表示一級和二級操作。第一個動作,即一級動作,表示要采取的動作,包括移動、普通攻擊、一技能、二技能、三技能、回血、回城等。第二個是二級動作,它告訴玩家如何根據動作類型具體地執行動作。例如,如果第一個層級是移動動作,那么第二個層級就是選擇一個二維坐標來選擇移動的方向;當第一個層級為普通攻擊時,第二個層級將成為選擇攻擊目標;如果第一個層級是一技能(或二技能、三技能),那么第二個層級將針對不同技能選擇釋放技能的類型、目標和區域。這對于作戰推演中不同算子如何執行動作也具有參考價值,每一個類型的算子同樣存在不同的動作,例如坦克可以選擇直瞄射擊、間瞄射擊、移動方向等,實際作戰推演不同裝備同樣具有眾多復雜的動作,通過這樣的特征和標簽設計,可以將人工智能建模任務作為一個層次化的多類分類問題來完成。具體來說,一個深層次的神經網絡模型被訓練以預測在給定的情境下要采取的行動。作戰推演也可以參考層次化的動作標簽來不斷細化動作執行過程,進而訓練解決復雜的動作執行難題。在作戰推演中完全可以借鑒這種思路設計適用于作戰場景的分層強化學習框架。南京大學的研究人員利用分層強化學習建立宏觀策略模型和微觀策略模型,根據具體的態勢評估宏觀策略模型,然后利用宏函數批量綁定選擇微觀動作,這樣可以在不同的局勢下選擇對應的一系列動作,進而實現了分層強化學習在《星際爭霸》環境中的應用[63]。分層強化學習比較通用的框架是兩層,頂層策略被稱為元控制器(meta-controller),負責生成總體宏觀目標,底層策略被稱為控制器(controller),負責完成給定的子目標,這種機制本質也對應作戰推演中的戰略、戰役、戰術3個層次,不同層次關注的作戰目標各有不同,但又互相關聯。其他相關改進是學者在獎賞函數設置、增加分層結構、保持分層同步、提高采樣效率等方面改進分層強化學習[64]。
在游戲博弈對抗過程中必然需要考慮多 agent建模,而在作戰推演中利用多 agent 技術實現不同作戰單元的協同合作也是博弈智能研究的重點之一。在這方面OpenAI和AlphaStar在多agent深度強化學習方面使用了不同的技術思路。OpenAI 使用的是分布異構的多agent建模思路,每一個agent都有一個相同的訓練神經網絡,但是沒有全局控制網絡[37,47]。AlphaStar則是使用了一個集中的控制網絡對不同的單元進行控制。還有一種思路是對于每一個agent,都建立屬于各自的神經網絡進行訓練。第三種思路是最理想的,但是訓練過程復雜,也難以適用于大規模的推演過程[43]。對于實際作戰推演來說,除了要考慮多 agent 建模方法,還需要讓每個 agent 具有柔性加入的能力,在對抗過程中可以按照需要隨時加入所需要的作戰單元,而不需要每次加入作戰單元后,再重新訓練一遍網絡。基于此考慮,讓每一個 agent 具有自己獨立的神經網絡將是更好的選擇。
《覺悟 AI》在設計過程中利用深度學習不斷提取游戲界面的態勢信息。利用深度學習雖然可以把一個對抗界面的所有特征提取出來,但是提取的是靜態的某一幀的界面信息,并沒有把時間步之間的信息關聯起來。時間步一般指一幀,也可以指多幀,其關鍵是將歷史的幀信息和現在的信息關聯起來。基于此,需要引入長短期記憶(long short-term memory,LSTM)網絡。讓 LSTM 一次接收多個時間步信息來學習這些時間步之間的關聯信息,從而讓 LSTM 幫助“英雄”學習技能組合,并選擇“英雄”應該關注的主視野和小地圖的具體方面,進而綜合輸出合理的動作,也通過 LSTM 關聯歷史數據來訓練強化學習的神經網絡模型[65]。在實際作戰推演過程中同樣需要考慮這種情況,防止出現訓練的AI為了某個戰術目標而忽視了整體戰略目標。
強化學習的回報值往往根據專家經驗手工設置,但是這種手工設置的回報值的收斂性及智能性均難以保證,并且長時間訓練才能評估設置的回報值的效果。因此可以考慮結合推演數據,結合多屬性決策方法進行客觀分析,總結提煉出合適的回報值。首先,從推演環境中獲取各關鍵屬性數據,如在陸戰對抗環境提取作戰單元位置、高程、類型、射程屬性、打擊屬性、裝甲屬性等。以這些屬性數據為基礎,計算出對應的評估指標,如目標距離威脅、目標攻擊威脅、目標速度威脅等,通過熵權法計算相應權重,并最終結合多屬性方法對敵方威脅度進行排序,將其和強化學習的回報值函數進行關聯,進而設置出更加客觀合理的回報值函數,這樣有利于提高強化學習訓練的智能性,并有利于加快收斂。
在對強化學習的訓練過程中,研究人員總是會遇到訓練過程時間長、難以收斂的問題,這種情況通常被稱為冷啟動問題。針對這個問題,現有研究人員提出了多種解決方案,比較有效的解決方案是利用專家的領域知識預先設計固定的先驗知識,利用先驗知識進行智能博弈訓練,進而在強化學習的經驗存儲中得到高水平的訓練數據。在強化學習的后期訓練中直接利用這些先驗知識對抗出來的經驗數據進行模型訓練,從而可以有效縮小探索空間和動作空間,進而保證強化學習可以快速訓練出高水平的AI,避免了前期盲目探索的情況。在實際作戰推演過程中,也可以考慮使用高水平指揮員的先驗知識,提前進行形式化存儲,進而在強化學習訓練過程中導入先驗知識,加快訓練結果的收斂,得到較高水平的智能AI。
在智能博弈對抗過程中經常會出現訓練一定階段后陷入局部最優結果的情況。表現為在智能兵棋比賽中,經過長時間訓練后,強化學習訓練出的結果是控制算子進行固定的線路和射擊套路,這種情況可被稱為過擬合現象。為了避免這種情況的出現,應該在算法設計中加入隨機可能性,在一定比例的動作選擇概率下隨機探索,而不是完全按照強化學習算法給出的結果進行執行。其次,按照貝爾曼方程,應該在獎勵函數設計過程中,考慮當前影響和未來影響的可變比重,即回報函數設計包括一定的可變性,而不是固定不變的。當然也可以利用強大的計算力,生成大量新的對手,從不同方面與需要訓練的 agent 進行對抗,從而避免因為固定對手而導致的過擬合現象。
智能博弈的 AI 建模普遍存在適應性不高的問題,有部分研究人員開發的 AI 是針對某個固定想定開發的,導致更換博弈想定后AI性能大幅下降。考慮到大部分數據或任務是存在相關性的,通過遷移學習可以將已經學到的模型參數通過某種方式分享給新模型,從而加快優化模型效率。中國科學院自動化研究所的研究人員引入了課程遷移學習,將強化學習模型擴展到各種不同博弈場景,并且提升了采樣效率[81]。DeepMind 在 AlphaZero 中使用同樣的算法設置、網絡架構和超參數,得到了一種適用于圍棋、國際象棋和將棋的通用算法,并戰勝了基于其他技術的棋類游戲AI[82]。《覺悟AI》引入了課程學習方法,將訓練至符合要求的參數遷移至同一個神經網絡再次訓練、迭代、修正以提高效率,使《覺悟AI》模型能熟練掌握40多個“英雄”[6,36]。在作戰推演中,更需要這種適用性強的通用 AI 算法,不需要在更換作戰想定后重新訓練模型,也只有這樣才可以更加適應實時性要求極高的作戰場景。
對手建模指在兩個 agent 博弈的環境中,為了獲得更高的收益,需要對對手的策略進行建模,利用模型(隱式)推斷其所采取的策略來輔助決策。智能藍方建模主要是在具有戰爭迷霧的情況下,對對手進行建模,并預測對手的未來動作。其前提通常是博弈環境存在戰爭迷霧,我方在無法獲取準確的對手信息的情況下,針對對方進行預測評估。在對抗過程中,一種假設是對手是完全理性的,對對手(隊友)進行建模是為了尋找博弈中的納什均衡策略。為了解決這一難點問題,阿爾伯塔大學的研究人員提出了反事實遺憾最小化(counterfactual regret minimization,CFR)技術,該技術不再需要一次性推理一棵完整的博弈樹,而是允許從博弈的當前狀態使用啟發式搜索。另外,對手建模可分為隱式建模和顯式建模。通常隱式建模直接將對手信息作為自身博弈模型的一部分來處理對手信息缺失的問題,通過最大化agent期望回報的方式將對手的決策行為隱式引進自身模型,構成隱式建模方法。顯式建模則直接根據觀測到的對手歷史行為數據進行推理優化,通過模型擬合對手行為策略,掌握對手意圖,降低對手信息缺失帶來的影響[83]。總體來說,對手建模技術是智能博弈對抗是否有效的關鍵,只有建立一個可以高效預估對手行為的模型,才能保證智能博弈AI的有效性。
路徑規劃作為智能博弈中的重要組成部分,其主要任務是根據不同的想定,針對每個單元在起始點和終止點之間快速規劃一條由多個路徑點依次連接而成的最優路徑[84]。在智能博弈的背景下,最優路徑的含義不僅僅是兩點之間的距離最短,而是綜合考慮博弈態勢、資源情況和綜合威脅后的最佳路徑。但是,已有的路徑規劃算法主要以A-Star算法、Dijkstra算法、D算法、LPA算法、D* lite算法等為典型代表,在物流運輸、無人駕駛、航空航天等領域都取得了顯著成效。同時也有學者提出其他的路徑規劃算法,如基于神經網絡和人工勢場的協同博弈路徑規劃方法[85]等,但是在智能博弈的環境下,需要考慮的問題更加復雜,需要進一步對這些算法進行改進優化。
現有的游戲平臺中也有比較成熟的AI開發通用框架(如 pysc2[86-87]),但是相比成熟的作戰推演通用框架還有較大差距。智能作戰推演系統可以設計一個適用于復雜環境的通用框架,該框架包括作戰推演算子、地圖、規則、想定。同時最關鍵的是設計通用的算法接口,這些接口可以方便智能博弈算法的設計與實現,如環境加載接口、環境重置接口、環境渲染接口、動作隨機選擇接口、執行動作接口等。同時,也可以提前設計智能作戰推演的基本功能框架,包括地圖編輯模塊、想定編輯模塊、算子管理模塊、規則編輯模塊、推演設置模塊、數據分析模塊、系統配置模塊。其中最核心的是推演設置模塊可以自由選擇每局推演使用的智能算法,從而實現智能算法設計和作戰推演環境開發的解耦,這樣才可以保證智能作戰推演的靈活適應性。通用框架中另一個重要的因素是可以提供AI使用的工具,例如對于深度學習的分層態勢顯示,可以直觀地提供一個通用接口進行展現,方便指揮人員快速調用該接口實現智能算法的輔助決策功能。
智能作戰推演必然面對的問題是選擇在戰略、戰役還是戰術場景下應用。現階段主要還是在戰術層面進行智能算法的研究,包括國內的某智能兵棋推演大賽,各種想定只有算子數量種類的差別,但本質上都還屬于戰術智能決策。《墨子?未來指揮官系統》中的對抗想定更接近于戰役層面的智能決策方案,現階段對戰略層面的智能決策的研究還比較少。其原因就在于面臨的想定越宏觀,智能決策的技術挑戰越大,包括動作空間、狀態空間的變化以及現階段 agent 之間的協同交互還并沒有很成熟。因此,當前考慮戰術層面的智能決策更容易。如果要解決戰略層面的智能決策,必然需要研究各agent之間的協同機制,還要考慮作戰的后勤支持機制。然而當前尚未有游戲、作戰推演在智能推演中考慮后勤機制的影響。另外,戰術、戰役、戰略層面的方案制定技術思路也并不相同,有的研究以各agent獨自訓練、交互,進而涌現出智能決策方案。這一技術思路更加逼近真實場景,但是算力要求和技術實現難度都較高。另一思路是建立統一的宏觀agent 模型,利用宏觀 agent 控制所有算子進行推演,這一技術思路實現比較簡單,所需的算力也較低,可以考慮將其作為初期實現的路徑之一。
智能作戰推演的未來趨勢主要分為人不在環和人在環兩種類型。人不在環主要類似于AlphaStar、OpenAI 的游戲智能,通過預先訓練完成agent,完全由訓練好的agent自主進行博弈對抗,左右互搏,實現方案的預演和推測。人在環的模式又分為兩種,一種是實現人機對抗,國內已有這方面的比賽,通過開發訓練好的智能算法 agent 與高水平指揮人員進行對抗,探測發現自身指揮問題并不斷提高,可用于指揮人員訓練場景。另一種人在環更加困難,即 agent 可以響應人的指令,并完成低層次的規劃任務。主要還是由指揮人員進行整體戰略宏觀判斷,并通過指令交互部署 agent 完成低層次任務,最后總體實現戰略目標。同時,也需要對人機融合模式的框架進行探索,如將人類領域知識引入智能算法中,幫助智能算法更高效地實現智能作戰推演。
隨著智能博弈的興起,國內外高校、研究所、企業都已逐漸開發完成各種類型的智能博弈平臺。但是不同平臺之間并不互通,相互獨立,形成了各個平臺的信息孤島,在智能算法開發的過程中,面對新的平臺就需要研究人員重新學習適應新的平臺接口和架構,這浪費了研究人員大部分精力。另外,智能博弈的強化學習接口以及其他算法雖然在不同平臺體現不同,但本質都一樣,很有必要構建一個通用一體化智能博弈平臺框架,減少不斷重新開發、學習的過程,提高智能博弈平臺的研究效率也勢在必行。
本文構建并梳理了智能作戰推演的國內外發展概況,詳細介紹了智能作戰推演所需要的各項技術難點及國內外進展,同時借鑒游戲 AI 領域的發展現狀并將其與智能作戰推演所需要的技術需求進行對比,分析現有技術還需要改進和優化的方向,也對智能作戰推演的各個研究方向進行了歸納。可以為從事游戲AI、智能兵棋、智能作戰推演等智能博弈領域的研究人員提供一定的思路。當前智能博弈的研究思路還主要以深度強化學習為基礎,但絕不僅僅是深度強化學習技術,各種傳統的智能算法和新的機器學習算法都可以作為智能博弈領域補充完善的技術力量。本文以作戰推演技術需求為牽引,結合國內外游戲AI、兵棋推演相關實際發展情況,總結出雖然智能博弈依然還有很多難題需要解決,現有技術實現程度相比于實際應用還有較大差距,但智能博弈這一研究方向是未來智能決策研究發展的必由之路,相信最終會在各個相關領域得以實現。
參考文獻
[1] 沈宇, 韓金朋, 李靈犀, 等. 游戲智能中的 AI: 從多角色博弈到平 行博弈[J]. 智能科學與技術學報, 2020, 2(3): 205-213. [2] 胡曉峰, 賀筱媛, 陶九陽. AlphaGo 的突破與兵棋推演的挑戰[J]. 科技導報, 2017, 35(21): 49-60. [3] 葉利民, 龔立, 劉忠. 兵棋推演系統設計與建模研究[J]. 計算機與 數字工程, 2011, 39(12): 58-61. [4] 譚鑫. 基于規則的計算機兵棋系統技術研究[D]. 長沙: 國防科學 技術大學, 2010.
近年來,人機對抗智能技術作為人工智能領域的前沿方向取得了一系列突破性的進展,如 AlphaGo 和 DeepStack 分別在圍棋和二人無限注德州撲克中擊敗了人類專業選手. 這些突破離不開博弈論和機器學 習的深度結合. 本文通過梳理當前人機對抗智能技術領域的重要工作,深入分析博弈論和機器學習在其中 發揮的作用,總結了面向人機對抗任務的博弈學習研究框架,指出博弈論為人機對抗任務提供博弈模型和 定義求解目標,機器學習幫助形成穩定高效可擴展的求解算法. 具體地,本文首先介紹了人機對抗中的博 弈學習方法的內涵,詳細闡述了面向人機對抗任務的博弈學習研究框架,包括博弈模型構建、解概念定義、 博弈解計算三個基本步驟,之后利用該框架分析了當前人機對抗智能技術領域的典型進展,最后指出了人 機對抗中的博弈學習未來發展可能面臨的挑戰. 本文梳理總結的人機對抗中的博弈學習研究框架為人機對 抗智能技術領域的發展提供了方法保障和技術途徑,同時也為通用人工智能的發展提供了新思路.周雷,尹奇躍,黃凱奇. “人機對抗中的博弈學習方法”, 計算機學報,2022.(//cjc.ict.ac.cn/online/bfpub/zl-2022323165812.pdf)
1 引言
人機對抗智能技術研究計算機博弈中機器戰 勝人類的方法,是當前人工智能研究領域的前沿方 向,它以人機(人類與機器)和機機(機器與機器) 對抗為主要形式研究不同博弈場景下,機器智能戰 勝人類智能的基礎理論與方法技術[1] . 人機對抗智 能技術通過人、機、環境之間的博弈對抗和交互學 習,探索巨復雜、高動態、不確定的對抗環境下機 器智能快速增長的機理和途徑,以期最終達到或者 超越人類智能.
人機對抗智能技術的突破離不開機器學習的 發展,機器學習主要研究如何讓機器通過與數據的 交互實現能力的提升[2][3] . 然而,與傳統的機器學習 關注單智能體(single-agent)與環境的交互不同, 人機對抗智能技術研究的場景往往包含兩個或兩 個以上智能體,也就是多智能體(multi-agent)的 情形,這些智能體都擁有自己的優化目標,比如最大化自身收益. 此時,如果直接應用單智能體機器 學習方法,得到的智能體(稱為中心智能體)一般 表現欠佳[4][5] . 這是因為傳統機器學習方法假設數 據的產生機制是平穩的(stationary)[6](即數據均 來自于同一個分布,簡稱為環境的平穩性),這一 假設忽略了研究場景中的其他智能體,而這些智能體也同時在進行學習,因此其行為模式會隨著時間 發生變化,從而破壞中心智能體所處環境的平穩 性,進而導致傳統機器學習方法失去理論保證[2][3] . 更為嚴峻的是,隨著人機對抗場景中智能體數量的 增加,環境非平穩的問題將會愈發凸顯,多個趨利 的智能體在學習的過程中相互影響的情況將不可 避免.
為了處理環境非平穩的問題,有學者考慮將博 弈論引入機器學習方法中[7] . 這主要是因為博弈論 本身就是為了研究多個利己個體之間的策略性交 互(strategic interactions)而發展的數學理論. 博弈 論誕生于 1944 年 von Neumann 和 Morgenstern 合著 的 Theory of Games and Economic Behavior[8] . 在完 全理性的假設下,博弈論給出了一系列解概念來預 測博弈最終可能的結果. 博弈論早期的大部分工作關注不同博弈場景下解概念(solution concepts)的 定義、精煉(refinement)、存在性及其擁有的性質 [9] . 隨著博弈論的發展,部分研究者開始研究在非 完全理性的情形下,個體是否可以通過迭代學習的 方式來達到這些解概念,其中著名的工作包括 Brown 提出的虛擬對局(fictitious play)[10],Hannan 和 Blackwell 研究的無悔學習(no-regret learning, regret minimization,or Hannan consistency)[11][12][13] 等. 近年來,得益于機器算力的提升和深度學習的 興起,人機對抗智能技術領域取得了一系列突破, 如 DeepMind 團隊開發的 AlphaGo[14]首次擊敗了人 類圍棋頂尖選手李世石,阿爾伯塔大學團隊開發的 DeepStack[15]在二人無限注德州撲克中擊敗了專家 級人類選手等. 在 AlphaGo 中,圍棋被建模為二人 零和完美信息擴展形式博弈,并利用自我對局、蒙 特卡洛樹搜索以及深度神經網絡近似來對博弈進 行求解;在 DeepStack 中,二人德州撲克被建模為 二人零和非完美信息擴展形式博弈,求解方法結合 了自我對局、反事實遺憾最小化算法以及深度神經 網絡近似. 從這些例子可以看出,人機對抗智能技 術領域的突破離不開博弈論和機器學習的深度結合.
然而,雖然人機對抗智能技術領域目前取得了 一系列突破,博弈論與機器學習交叉方向的研究卻 缺乏清晰的研究框架. 基于此,本文通過梳理人機 對抗智能技術領域的重要工作,介紹了人機對抗中 的博弈學習方法的內涵,總結了面向人機對抗任務 的博弈學習研究框架,包括其組成要素和基本步 驟,并利用該框架對人機對抗智能技術領域的典型 進展進行了分析. 本文作者認為,隨著人機對抗智 能技術領域試驗場景和測試環境逐漸接近真實場 景,場景的復雜性和對抗性急劇增加,結合現代機 器學習方法和博弈論的博弈學習方法將會在未來 人機對抗領域的發展中發揮越來越重要的作用。
2 發展歷史
自圖靈測試這一人機對抗模式在 1950 年被提 出[16]以來,博弈論和機器學習就在人工智能的發展 中發揮著越來越重要的作用,并呈現出交叉融合的 趨勢. 本文梳理了人機對抗智能技術和博弈論領域 開創性的工作和里程碑事件,并將其發展歷史分為 兩條路線,一條是博弈論結合專家系統(見圖 1 中 綠色實線),另一條是博弈論結合學習方法(見圖 1 中橙色虛線).
1.1 路線一:博弈論結合專家系統
在發展路線一中,為了取得較好的人機對抗表 現,研究者們主要是針對基于博弈論的 min-max 樹 搜索算法進行優化,并結合專家經驗來改進評估函 數. 路線一的簡要發展歷程如下: 1950年Shannon發表了第一篇利用編程來實現 國際象棋走子程序的論文[17],論文中 Shannon 參考 von Neumann 證明的 minimax 定理[8][18]設計了 min-max 搜索算法和局面評估函數. 對于局面評估 函數的設計,參考的是如下定理:在國際象棋中, 最終的結局只可能是以下三種當中的一種:(1) 不 論白方如何走子,黑方有一種策略總能保證贏;(2) 不論黑方如何走子,白方有一種策略總能保證贏; (3)黑白雙方都有一種策略保證至少平局. 1956 年 Samuel 利用第一臺商用計算機 IBM 701 編寫了跳棋(checkers)走子程序,并在 1959 年發表論文總結了該程序的設計思想和原理[19] . 該 跳棋走子程序使用了 min-max 搜索. 1957 年,Bernstein 帶領的團隊在 IBM 701 上 完成了第一個能下完整局的國際象棋走子程序,該程序使用了 min-max 搜索,但每次最多向后搜索 4 步,每步只能考慮 7 個備選走法. 1958 年,Newell,Shaw 和 Simon 第一次在國 際象棋程序中使用 alpha-beta 剪枝搜索算法[20] . Alpha-beta 剪枝算法是 min-max 搜索算法的改進, 通過剪掉明顯次優的子樹分支,該算法極大地降低 了搜索空間. 該算法最初由 McCarthy 在 1956 年提 出. 此后,跳棋和國際象棋程序的優化大多圍繞評 估函數和搜索算法進行改進. 隨著計算能力的增 強,IBM 公司開發的國際象棋程序 Deep Blue 在 1997 年利用總結了大量人類經驗的評估函數和強 大的搜索能力擊敗國際象棋大師 Kasparov,一時轟 動. 該事件從此成為人機對抗智能技術發展歷史上 的標志性事件.
1.2 路線二:博弈論結合學習方法
路線一中采用的方法很難稱得上實現了機器 的―學習‖能力,在路線二中,研究者們試圖克服機 器對專家數據的過度依賴,希望能夠打造自主學習 的智能機器. 路線二的簡要發展歷程如下: 最早在人機對抗研究中引入學習的是 Samuel, 他 1957 年 完 成 的 跳 棋 走 子 程 序 不 僅 使 用 了 min-max 搜索,同時也引入了兩種―學習‖機制[19]: 死記硬背式學習(rote learning)和泛化式學習 (learning by generalization). 前者通過存儲之前下 棋過程中計算得到的局面得分來減少不必要的搜 索,后者則根據下棋的不同結果來更新評估函數中 不同參數的系數來得到一個更好的評估函數. 此 外,該論文也第一次提到了自我對局(self-play). 此 后,這種通過學習來提升機器能力的思想就一直沒 能引起重視. 直到 1990 年前后,才陸續出現了能夠 學習的棋類程序. 這其中比較知名的是 1994 年 Tesauro 結合神經網絡和強化學習訓練出的雙陸棋 程序 TD-Gammon[21] . TD-Gammon 的成功引起了許多學者對學習算 法的興趣,并促成了博弈論與機器學習的初步結 合,其中著名的工作是 Littman 在 1994 年正式建立 了 Markov 博弈(或隨機博弈)與多智能體強化學 習之間的聯系. 之后,Markov 博弈便作為多智能體 強化學習的理論框架,啟發了眾多學者的研究. 同 時,在該論文中 Littman 也提出了第一個多智能體 強化學習算法 minimax-Q [22]. Minimax-Q 是針對二 人零和博弈的學習算法,當博弈的雙方都使用該算 法時,最終博弈雙方的策略都會收斂到二人零和博 弈的最優解極大極小策略上. 值得指出的是,除了人工智能領域,博弈論領 域的研究者們很早也開始了對學習方法的研究.與 人工智能領域學者的出發點不同,他們關注的是在 博弈模型給定的情形下,如何設計迭代學習的規則 能使個體的策略收斂到均衡.此類方法之后被稱為 博弈學習(game-theoretic learning)方法.博弈學習 方法的思想最早可以追溯到 1951 年 Brown 提出的 虛擬對局(fictitious play)[10],即采用迭代學習的 方式來計算二人零和博弈的極大極小策略,之后著 名 的 博 弈 學 習 方 法 包 括 無 悔 學 習 ( no-regret learning ) [11][12][13] 和 復 制 動 力 學 ( replicator dynamics)[23] . 在 1998 年,幾乎與 Littman 等人同 一時期,Fundenberg 和 Levine 出版了著作 The Theory of Learning in Games[24],對之前博弈學習方 法的研究進行了匯總、總結和擴展.博弈學習方法的 研究為博弈論中的解概念(主要是納什均衡)提供 了非理性假設下的解釋,換言之,非理性的個體在 一定學習規則的指導下也能達到均衡. 此后,博弈論和機器學習領域的研究興趣和研 究內容開始交叉,逐步形成了博弈論與機器學習結 合的博弈學習方法[25][26][27][28][29][30] .相關工作包括: (1) 利 用 強 化 學 習 方 法 計 算 博 弈 的 解 , 比 如 Nash-Q [31]等;(2)利用博弈論中的學習方法進行游戲 AI 的算法設計,比如針對不完美信息博弈的反事實 遺憾最小化算法[28](屬于無悔學習算法的一種); (3)利用機器學習加強博弈論中學習方法的可擴展 性,比如虛擬自我對局(fictitious self-play,FSP) [29] . 相比于傳統解決單智能體與環境交互問題的機 器學習方法,與博弈論結合的學習方法有兩個優 勢:一是充分考慮了多個智能體同時最大化收益時 環境的非平穩問題,學習的目標是任務的均衡解而 不是讓某個智能體的收益最大化;二是在滿足模型 的假設時,這些算法一般具有收斂的理論保證.特別 地,面向人機對抗任務,人機對抗中的博弈學習方 法在此基礎上添加了人機對抗任務建模,為的是能 更好地利用和拓展現有的博弈學習方法來處理復 雜的人機對抗任務.
近年來,隨著深度學習的興起,深度神經網絡 被廣泛應用于人機對抗任務,形成了一系列優秀的 模型和博弈學習算法[5][32][33][34][35][36][37][38][39][40] . 這 也促進了人機對抗智能技術近期一系列的突破,包 括2016 年AlphaGo擊敗圍棋9段選手李世石,2017 年 Libratus[30]和 DeepStack[15]分別在二人無限注德州撲克中擊敗人類專業選手以及 2019 年 AlphaStar[41]在星際爭霸 2 中擊敗人類頂級選手.
3 人機對抗中的博弈學習方法內涵
人機對抗中的博弈學習方法是一種面向人機 對抗任務,以博弈論為理論基礎、以機器學習為主 要技術手段,通過智能體與環境、智能體與其他智 能體的交互來獲得具有良好性質(比如適應性、魯 棒性等等)博弈策略的學習方法,是實現人機對抗 智能技術的核心. 具體地,人機對抗中的博弈學習 方法基于博弈論建模人機對抗任務和定義學習目 標,并利用機器學習方法來幫助設計高效、穩健、 可擴展的學習算法以完成人機對抗任務. 為了闡述博弈學習方法與當前機器學習方法 的區別與聯系,本文按照系統中信息的流向以及信 息產生的機制將已有的學習框架劃分為一元、二元 以及三元(或多元)學習. 在一元學習中,智能體 從數據中獲取知識,并且這個過程只涉及數據到智 能體的單向信息流動,監督學習、無監督學習以及 深度學習都屬于一元學習(見圖 2 (A)). 在二元學 習中,智能體通過與環境互動得到數據,進而獲取 知識,與一元學習不同的是此時數據的產生不僅取 決于環境也取決于智能體,即智能體決策的好壞影 響它自身學習的效果,必要時智能體還需要對環境 動力學進行建模,單智能體強化學習屬于二元學習 (見圖 2 (B)). 在三元學習中,智能體通過與環境 和其他智能體的交互獲得數據,此時智能體學習的 效果受到環境和其他智能體的共同影響,必要時智 能體需要對環境動力學和其他智能體進行建模(見 圖 2 (C)),博弈學習屬于三元學習.
4 人機對抗中的博弈學習研究框架
通過對博弈論和人機對抗智能技術發展歷程 的梳理,并結合人機對抗中的博弈學習方法的內 涵,本文總結出了如圖 3 所示的人機對抗中的博弈 學習研究框架:人機對抗中的博弈學習研究框架以 人機對抗任務為輸入,首先通過博弈模型構建獲得博弈模型,然后通過解概念定義得到博弈的可行 解,最后通過博弈解計算輸出滿足需求的博弈策略 組合,也就是學習任務的解. 直觀來講,人機對抗 中的博弈學習研究框架將一類人機對抗任務的解 決近似或等價轉換為對某一類博弈問題的求解,該 框架包含兩個組成要素(博弈模型和博弈解)和三 個基本步驟(博弈模型構建、解概念定義和博弈解 計算).
5 典型應用上一節闡述了人機對抗中的博弈學習研究框 架,本節將利用該框架對當前人機對抗智能技術領 域的重要工作進行分析(如表 2 所示),這些工作 基本涵蓋了本文介紹的幾種博弈模型,包括完美信 息擴展形式博弈(圍棋)、不完美信息擴展形式博 弈(德州撲克)以及部分可觀測 Markov 博弈(星 際爭霸 2). 各工作的具體分析如下:
6 總結與展望
人機對抗智能技術是人工智能發展的前沿方 向,它通過人、機、環境之間的博弈對抗和交互 學習研究機器智能快速提升的基礎理論與方法技 術. 為了更好地促進人機對抗智能技術的發展, 本文通過梳理人機對抗智能技術領域的重要工作, 總結了面向人機對抗任務的博弈學習研究框架, 指出了博弈論和機器學習在其中發揮的作用,闡 述了人機對抗中的博弈學習方法的兩個組成要素 和三個基本步驟,并利用該框架分析了領域內的 重要進展. 與此同時,本文就當前人機對抗中的 博弈學習方法面臨的理論和應用難點問題進行了 介紹,包括非零和博弈求解目標定義、博弈學習 方法的可解釋性、多樣化博弈學習測試環境構建 以及大規模復雜博弈快速求解. 人機對抗中的博 弈學習方法是人機對抗智能技術的核心,它為人 機對抗智能技術領域的發展提供了方法保障和技 術途徑,同時也為通用人工智能的發展提供了新 思路.
摘 要:智能博弈領域已逐漸成為當前 AI 研究的熱點之一,游戲 AI 領域、智能兵棋領域都在近年取得了一系列 的研究突破。但是,游戲 AI 如何應用到實際的智能作戰推演依然面臨巨大的困難。綜合分析智能博弈領域的國 內外整體研究進展,詳細剖析智能作戰推演的主要屬性需求,并結合當前最新的強化學習發展概況進行闡述。從 智能博弈領域主流研究技術、相關智能決策技術、作戰推演技術難點 3 個維度綜合分析游戲 AI 發展為智能作戰 推演的可行性,最后給出未來智能作戰推演的發展建議。以期為智能博弈領域的研究人員介紹一個比較清晰的發 展現狀并提供有價值的研究思路。
關鍵詞:智能博弈;游戲 AI;智能作戰推演;智能兵棋;深度強化學習
以2016年AlphaGo的成功研發為起點,對智能博弈領域的研究獲得突飛猛進的進展。2016年之前,對兵棋推演的研究還主要集中在基于事件驅動、規則驅動等比較固定的思路。到2016年,受AlphaGo的啟發,研究人員發現智能兵棋、智能作戰推演的實現并沒有想象得那么遙遠。隨著機器學習技術的發展,很多玩家十分憧憬游戲中有 AI 加入從而改善自己的游戲體驗[1]。同時,在智能作戰推演領域,不斷發展的機器學習游戲 AI 技術也為智能作戰推演的發展提供了可行思路[2]。傳統作戰推演AI主要以基于規則的AI和分層狀態機的AI決策為主,同時以基于事件驅動的機制進行推演[3-4]。然而,隨著近些年國內外在各種棋類、策略類游戲領域取得新突破,智能作戰推演的發展迎來了新的機遇[5]。
國內游戲 AI 領域取得了標志性的進步。騰訊《王者榮耀》的《覺悟AI》作為一款策略對抗游戲取得了顯著成績,可以擊敗97%的玩家,并且多次擊敗頂尖職業團隊[6]。網易伏羲人工智能實驗室在很多游戲環境都進行了強化學習游戲 AI 的嘗試[6],如《潮人籃球》《逆水寒》《倩女幽魂》。超參數科技(深圳)有限公司打造了游戲AI平臺“Delta”,集成機器學習、強化學習、大系統工程等技術,通過將AI與游戲場景結合,提供人工智能解決方案[7]。啟元AI“星際指揮官”在與職業選手的對抗中也取得了勝利[8]。北京字節跳動科技有限公司也收購了上海沐瞳科技有限公司和北京深極智能科技有限公司,準備在游戲AI領域發力。除了游戲AI領域,國內在智能兵棋推演領域也發展迅速。國防大學兵棋團隊研制了戰略、戰役級兵棋系統,并分析了將人工智能特別是深度學習技術運用在兵棋系統上需要解決的問題[9]。中國科學院自動化研究所在2017年首次推出《CASIA-先知1.0》兵棋推演人機對抗AI[10],并在近期上線“廟算·智勝”即時策略人機對抗平臺[11]。此外,由中國指揮與控制學會和北京華戍防務技術有限公司共同推出的專業級兵棋《智戎·未來指揮官》在第三屆、第四屆全國兵棋推演大賽中成為官方指定平臺。中國電科認知與智能技術重點實驗室開發了MaCA智能博弈平臺,也成功以此平臺為基礎舉辦了相關智能博弈賽事。南京大學、中國人民解放軍陸軍工程大學、中國電子科技集團公司第五十二研究所等相關單位也開發研制了具有自主知識產權的兵棋推演系統[12,13,14,15]。2020年,國內舉辦了4次大型智能兵棋推演比賽,這些比賽對于國內智能博弈推演的發展、作戰推演領域的推進具有積極影響。游戲 AI 和智能兵棋的發展也逐漸獲得了國內學者的關注,胡曉峰等人[5]提出了從游戲博弈到作戰指揮的決策差異,分析了將現有主流人工智能技術應用到戰爭對抗過程中的局限性。南京理工大學張振、李琛等人利用PPO、A3C算法實現了簡易環境下的智能兵棋推演,取得了較好的智能性[16-17]。中國人民解放軍陸軍工程大學程愷、張可等人利用知識驅動及遺傳模糊算法等提高了兵棋推演的智能性[18-19]。中國人民解放軍海軍研究院和中國科學院自動化研究所分別設計和開發了智能博弈對抗系統,對于國內智能兵棋推演系統的開發具有重要參考價值[20]。中國人民解放軍國防科技大學劉忠教授團隊利用深度強化學習技術在《墨子?未來指揮官系統》中進行了一系列智能博弈的研究,取得了突出的成果[21]。中國科學院大學人工智能學院倪晚成團隊提出一種基于深度神經網絡從復盤數據中學習戰術機動策略模型的方法,對于智能博弈中的態勢認知研究具有重要參考價值[22]。
總體來說,國內在智能博弈領域進行了一系列的研究,嘗試將該技術應用到作戰推演領域,建立了具有自主產權的博弈平臺,技術層面也不斷突破,不再局限于傳統的行為決策樹、專家知識庫等,開始將強化學習技術、深度學習技術、遺傳模糊算法等引入智能博弈,取得了一系列的關鍵技術的突破。但是,當前的研究主要聚焦在比較簡單的智能博弈環境,對復雜環境及不完全信息的博弈對抗研究仍然需要進一步探索。
國外游戲 AI 領域則取得了一系列突出成果,尤其是深度強化學習技術的不斷發展,游戲 AI 開始稱霸各類型的游戲[23]。2015年DeepMind團隊發表了深度Q網絡的文章,認為深度強化學習可以實現人類水平的控制[24]。2017年,DeepMind團隊根據深度學習和策略搜索的方法推出了AlphaGo[25],擊敗了圍棋世界冠軍李世石。此后,基于深度強化學習的 AlphaGo Zero[26]在不需要人類經驗的幫助下,經過短時間的訓練就擊敗了AlphaGo。2019年, DeepMind 團隊基于多智能體(agent)深度強化學習推出的AlphaStar[27]在《星際爭霸II》游戲中達到了人類大師級的水平,并且在《星際爭霸II》的官方排名中超越了 99.8%的人類玩家。《Dota 2》AI“OpenAI Five”在電競游戲中擊敗世界冠軍[28], Pluribus 在 6 人無限制德州撲克中擊敗人類職業選手[29]。同時DeepMind推出的MuZero在沒有傳授棋類運行規則的情況下,通過自我觀察掌握圍棋、國際象棋、將棋和雅達利(Atari)游戲[30]。與軍事推演直接相關的《CMANO》和《戰爭游戲:紅龍》(Wargame:Red Dragon),同樣也結合了最新的機器學習技術提升了其智能性[31]。美國蘭德公司也對兵棋推演的應用進行相關研究,利用兵棋推演假設分析了俄羅斯和北大西洋公約組織之間的對抗結果,并利用智能兵棋推演去發現新的戰術[32]。蘭德研究員也提出將兵棋作為美國軍事人員學習戰術戰法的工具[33]。美國海軍研究院嘗試使用深度強化學習技術開發能夠在多種單元和地形類型的簡單場景中學習最佳行為的人工智能代理,并將其應用到軍事訓練及軍事演習[34-35]。
但就目前而言,國外的研究也遇到了瓶頸。雖然也嘗試將深度強化學習技術利用到作戰領域,但是就目前發表的論文和報告來看,國外學者、研究人員將機器學習技術應用到作戰推演 AI 中還有很多問題需要解決,現階段也是主要在游戲 AI 領域及簡單的作戰場景進行實驗驗證及分析。作戰推演AI 的設計也不僅僅是把機器學習技術照搬照用這么簡單。但是必須肯定的是,隨著未來計算機硬件的發展和機器學習技術的完善,作戰推演 AI 會迎來一波革命式的發展,給各類作戰智能指揮決策帶來翻天覆地的變化。本文從智能博弈的重要應用領域——作戰推演分析了國內外整體背景,進而引出作戰推演的技術需求,并給出當前可參考的主流及小眾技術思路。同時,對可能出現的技術難點進行了分析并給出解決方案建議。最后,對作戰推演的未來發展提出建議。
狀態空間是作戰推演中的每個作戰實體的位置坐標、所處環境、所處狀態等要素的表現,是深度強化學習進行訓練的基礎。在圍棋中,狀態空間就是棋盤上每個點是否有棋子。在《覺悟AI》中,狀態空間是每一幀、每個單位可能有的狀態,如生命值、級別、金幣[36,37,38,39]。在《墨子·未來指揮官系統》中,狀態空間主要是每個作戰單元實體的狀態信息,是由想定中敵我雙方所有的作戰單元信息匯聚形成的。本節尤其要明確狀態空間和可觀察空間是可區分的,可觀察空間主要是每個 agent 可以觀察到的狀態信息,是整個狀態空間的一部分。作戰推演中的狀態空間將更加復雜,具有更多的作戰單位和單位狀態。針對敵我雙方的不同作戰單位、不同單位屬性、不同環境屬性等定義作戰推演的狀態空間屬性。例如敵我雙方坦克單元應包括坐標、速度、朝向、載彈量、攻擊武器、規模等。陸戰環境應包括周圍道路信息、城鎮居民地、奪控點等。
動作空間是指在策略對抗游戲中玩家控制算子或游戲單元可以進行的所有動作的集合。對于圍棋來說,動作空間為361個,是棋盤上所有可以落子的點。對于《王者榮耀》和《Dota》這類游戲來說,動作空間主要是玩家控制一個“英雄”進行的一系列操作,玩家平均水平是每秒可以進行一個動作,但是需要結合走位、釋放技能、查看資源信息等操作。例如《覺悟AI》的玩家有幾十個動作選項,包括24個方向的移動按鈕和一些釋放位置/方向的技能按鈕[34]。因此每局多人在線戰術競技(multiplayer online battle arena,MOBA)游戲的動作空間可以達到1060 000+。假設游戲時長為45 min,每秒30幀,共計81 000幀,AI每4幀進行一次操作,共計20 250次操作,這是游戲長度。任何時刻每個“英雄”可能的操作數是170 000,但考慮到其中大部分是不可執行的(例如使用一個尚處于冷卻狀態的技能),平均的可執行動作數約為1 000,即動作空間[37]。因此,操作序列空間約等于1 00020 250= 1060 750。而對于《星際爭霸》這類實時策略對抗游戲來說,因為需要控制大量的作戰單元和建筑單元,動作空間可以達到1052 000[38]。而對于《CMANO》和《墨子·未來指揮官系統》這類更加貼近軍事作戰推演的游戲來說,需要對每個作戰單元進行大量精細的控制。在作戰推演中,每個作戰單元實際都包括大量的具體執行動作,以作戰飛機為例,應包括飛行航向、飛行高度、飛行速度、自動開火距離、導彈齊射數量等。因此,實際作戰推演需要考慮的動作空間可以達到10100 000+。可以看出,對于作戰推演來說,龐大的動作空間一直是游戲 AI 邁進實際作戰推演的門檻。現有的解決思路主要是考慮利用宏觀AI訓練戰略決策,根據戰略決策構建一系列綁定的宏函數,進行動作腳本設計。這樣的好處是有效降低了動作空間設計的復雜度,同時也方便高效訓練,但是實際問題是訓練出來的 AI 總體缺乏靈活性,過于僵化。
對于動作空間,還需要考慮其是離散的還是連續的,Atari和圍棋這類游戲動作都是離散動作空間[25,39-40],《星際爭霸》《CMANO》《墨子·未來指揮官系統》這類游戲主要是連續動作空間[38]。對于離散動作,可以考慮基于值函數的強化學習進行訓練,而對于連續動作,可以考慮利用基于策略函數的強化學習進行訓練。同時,離散動作和連續動作也可以互相轉化。國內某兵棋推演平臺由原先的回合制改為時間連續推演,即把回合制轉化為固定的時間表達。同時對于連續動作,也可以在固定節點提取對應的動作,然后將其轉化為離散動作。
智能博弈中的決策主要是指博弈對抗過程中的宏觀戰略的選擇以及微觀具體動作的選擇。宏觀戰略的選擇在《墨子·未來指揮官系統》推演平臺中體現得比較明顯。在推演比賽開始前,每個選手要進行任務規劃,這個任務規劃是開始推演前的整體戰略部署,例如分配導彈打擊目標,規劃艦艇、戰斗機活動的大致區域,以及各個任務的開始執行時間等。這一決策空間與想定中的作戰單元數量、任務規劃數量相關。在制定完成宏觀戰略決策后,推演階段即自主執行所制定的宏觀戰略決策。同時,在推演過程中也可以進行微觀具體動作的干預,這一階段的具體動作和作戰單元數量、作戰單元動作空間成正比。在實際作戰推演中利用智能算法進行智能決策,首先需要明確決策空間數量。在現有的《墨子·未來指揮官系統》中,針對大型對抗想定,計算機基本需要每秒進行數百個決策,一局想定推演中雙方博弈決策空間數量預估為 1080+個,而對于《星際爭霸》《Dota 2》和《王者榮耀》這類即時戰略(real-time strategy,RTS)游戲,決策空間會低一些。實際作戰推演每小時的決策空間數量將高于 1050+個。對于這類智能決策的方案,現有 RTS游戲中提出的思路是利用分層強化學習的方法進行解決,根據具體對抗態勢進行宏觀戰略決策的選擇,然后根據不同的決策再分別執行對應的微觀具體動作,這樣可以有效降低智能決策數量,明顯提高智能決策的執行效率。
博弈對抗的勝利是一局游戲結束的標志。而不同游戲中的勝利條件類型也不同,圍棋、國際象棋這些棋類博弈對抗過程中有清晰明確的獲勝條件[30]。而 Atari 這類游戲[40]只需要獲得足夠的分數即可獲得勝利。對于《王者榮耀》這類推塔游戲,不管過程如何,只要最終攻破敵方水晶就可以獲取勝利。這些勝利條件使得基于深度強化學習技術的游戲AI開發相對容易,在回報值設置中給予最終獎勵更高的回報值,總歸能訓練出較好的 AI 智能。然而對于策略對抗游戲,甚至實際作戰推演來說,獲勝條件更加復雜,目標更多。比如,有時可能需要考慮在我方損失最低的情況下實現作戰目標,而有時則需要不計代價地快速實現作戰目標,這些復雜多元的獲勝條件設置將使得強化學習的回報值設置不能是簡單地根據專家經驗進行賦值,而需要根據真實演習數據構建獎賞函數,通過逆強化學習技術滿足復雜多變的作戰場景中不同階段、不同目標的作戰要求。
博弈對抗過程中最核心的環節是設置回報值,合理有效的回報值可以保證高效地訓練出高水平AI。對于《星際爭霸》《王者榮耀》等游戲,可以按照固定的條件設置明確的回報值,例如將取得最終勝利設置為固定的回報值。但是一局游戲的時間有時較長,在整局對抗過程中,如果只有最終的回報值將導致訓練非常低效。這就是作戰推演中遇到的一個難題,即回報值稀疏問題。為了解決這個難題,現有的解決方案都是在對抗過程中設置許多細節條件,如獲得回報值或損失回報值的具體行為。比如在“廟算·智勝”平臺中的博弈對抗,可以設置坦克擊毀對手、占領奪控點即可獲得回報值,如果被打擊、失去奪控點等則會損失回報值,甚至為了加快收斂防止算子長期不能達到有效地點,會在每步(step)都損失微小的回報值。《覺悟AI》也同樣設置了詳細的獎賞表[36],從資源、KDA(殺人率(kill,K),死亡率(death,D),支援率(assista, A))、打擊、推進、輸贏 5 個維度設置了非常詳細的具體動作回報值。這樣就可以有效解決回報值稀疏的問題。但是,對于復雜的作戰推演來說,設計回報函數可能還需要更多的細節。因為作戰情況將更加復雜多樣,需要利用逆強化學習[41-42],通過以往的作戰數據反向構建獎賞函數。
戰爭迷霧主要是指在博弈對抗過程中存在信息的不完全情況,我方并不了解未探索的區域實際的態勢信息。圍棋、國際象棋這類博弈對抗游戲中不存在這類問題。但是在《星際爭霸》《Dota 2》《王者榮耀》以及《CMANO》等RTS游戲中設計了這一機制。實際的作戰推演過程中同樣也存在此類問題,但是情況更加復雜。在實際作戰推演中,可以考慮利用不完全信息博弈解決這個問題,已有學者利用不完全信息博弈解決了德州撲克中的不完全信息問題[29],但是在實際作戰推演中這一問題還需要進一步探討研究。
這里需要對智能博弈中的觀察信息與游戲狀態空間進行區分,觀察信息主要是指博弈的 agent在當前態勢下可以獲取的態勢信息,是部分狀態信息。由于在智能博弈對抗過程中會產生戰爭迷霧問題,因此需要在處理博弈信息時設置 agent 可以獲取到的信息。《星際爭霸》中觀察信息主要有兩層意思,一個層面是屏幕限制的區域更易于獲取態勢信息,因為玩家更直觀的注意力在屏幕局域,部分注意力在小地圖局域。為了更加符合實際, AlphaStar也按照這種限制對《星際爭霸》中的注意力區域進行限制,從而更好地防止 AI 產生作弊行為。而這也是部分《星際爭霸》AI被人詬病的原因,即沒有限制機器的關注區域。另一個層面是對《星際爭霸》中作戰單元可觀察區域內的態勢信息進行獲取,對于不能獲取的態勢信息則只能評估預測,而這一部分則涉及對手建模部分,主要利用部分可觀察馬爾可夫決策過程(partially observable Markov decision process,POMDP)[43],這一技術明顯難于完全信息博弈。而對于圍棋游戲來說,其中的態勢信息是完全可獲取的,屬于完全信息博弈,態勢信息即觀察信息。并且圍棋游戲屬于回合制,相對于即時策略游戲,其有更加充分的獲取態勢信息的時間。因此,則可以利用蒙特卡洛樹搜索(Monte Carlo tree search,MCTS)算法對所獲取的圍棋游戲中的觀察信息進行詳細分析,計算出所有可能的結果,進而得出最佳的方案策略。《Dota 2》中的觀察信息是指所控制的某個“英雄”所獲取的態勢信息,其主要也是對主屏幕的態勢信息和小地圖的態勢信息進行結合處理。《王者榮耀》也與此類似,其主要以小地圖的宏觀信息進行訓練,然后以此為基礎為戰略方案提供支持,如游戲中的“英雄”是去野區發育還是去中路對抗。同時,對主屏幕態勢信息進行特征提取,結合強化學習訓練,可以得出戰術層面的方案和建議,是去選擇回塔防御還是進草叢躲避,或者推塔進攻。墨子兵棋推演系統和《CMANO》則更加接近真實作戰推演,在作戰信息獲取各個方面都高度模擬了作戰推演的場景,需要獲取具體的對空雷達、對地雷達、導彈探測、艦艇雷達等信息后才能判斷態勢信息,這部分可觀察信息非常復雜,需要結合各種情況才能發現部分目標,對于戰爭迷霧更加真實。因此,作戰推演觀察信息完全可以借鑒POMDP進行可觀察信息建模,但還需要設置各種更加符合真實裝備的作戰情況,需要在環境中提前設置有針對性的條件。
在博弈對抗過程中對手 AI 的建模也是至關重要的,不同水平的AI會導致博弈對抗的勝率不同,并且直接影響推演對抗的價值[39,40,41,42,43,44,45]。如果對手 AI水平過低,就不能逼真地模擬假設對手,博弈過程和推演結果也價值不高。在 DeepMind 開發的AlphaGo和AlphaStar中,AI性能已經可以擊敗職業選手,通過訓練后產生的決策方案已經可以給職業選手新的戰術啟發。國內《墨子?未來指揮官系統》也與國內高校合作,研發的基于深度強化學習的智能 AI 已經可以擊敗全國兵棋大賽十強選手。而在中國科學院自動化研究所開發的“廟算?智勝”上,積分排名前三名的均是AI選手,勝率均在80%以上[11]。但是,現有對手建模主要還是聚焦在一對一的對手建模,很少學者研究多方博弈,而這在實際作戰推演中更加需要。在實際作戰對抗博弈過程中普遍會考慮多方博弈,如在《墨子?未來指揮官系統》的海峽大潮想定中,紅方不僅面對藍方,還有綠方,藍方和綠方屬于聯盟關系。這就需要在對手建模中充分考慮這種復雜的博弈關系。
博弈對抗的環境因素也是影響智能決策的重要因素之一。在圍棋、國際象棋這些棋類游戲中,想定是永久固定不變的,而且也完全沒有環境的影響,因此AlphaGo這類智能AI完全沒有考慮環境的因素。在《覺悟 AI》《Dota 2》這類游戲中就需要考慮不同“英雄”在同一個場景中會產生不同的影響。不同的“英雄”陣容搭配也會對推演結果產生不同的影響,《覺悟AI》嘗試利用強化學習技術,結合歷史數據解決這一問題。這對于作戰推演的武器裝備搭配也具有啟發價值。但是在實時策略游戲中要考慮更加復雜的環境因素及其影響,不僅作戰單元會產生變化,并且在不同的作戰推演中,不同的環境之中也會有不同的地形、地貌,這些因素會對作戰推演的過程產生非常重要的影響。《CMANO》《墨子·未來指揮官系統》《戰爭游戲:紅龍》中都需要考慮地形因素。例如《CMANO》中登陸作戰需要考慮水雷所在區域、登陸艦艇吃水深度,否則會產生擱淺,不能在理想區域登陸會對作戰目標產生較大負面影響。因此,對于實際作戰推演來說,最大的挑戰是防止訓練的深度強化學習AI 對某個想定產生過擬合。作戰場景是千變萬化的,傳統的基于規則的AI就很難適應變化的想定,早期的《先知?兵圣》比賽中就比較突出地顯示了這一問題。強化學習也容易訓練出某個過擬合的模型,導致只在某個想定會有較好的AI智能性,假如更換作戰想定就需要重新訓練很長時間。為了解決這一問題,現有思路是利用遷移學習、先驗知識和強化學習的思路來增強算法的適應性,并可以加速回報函數收斂,保證快速訓練出高水平的AI模型。
本節針對智能作戰推演所需要的關鍵屬性,結合當前游戲AI、智能兵棋等相關博弈平臺,利用相關文獻[6,8,24-25,29-30,37-39,43,46-49]進行分析,經過對比不難發現游戲 AI 過渡到智能兵棋,甚至是智能作戰推演的難度,各個關鍵屬性也是未來需要研究突破的關鍵點,具體見表1。
深度強化學習是目前機器學習領域中重要的研究分支之一,它可以通過直接與環境進行交互實現端到端的學習,對高維度和大規模的問題有著很好的解決能力.雖然深度強化學習已經取得了矚目的成果,但其仍面臨著對環境探索能力不足、魯棒性差、容易受到由欺騙性獎勵導致的欺騙性梯度影響等問題.進化算法普遍具有較好的 全局搜索能力、良好的魯棒性和并行性等優點,因此將進化算法與深度強化學習結合用于彌補深度強化學習不足 的方法成為了當前研究的熱點.該文主要關注進化算法在無模型的深度強化學習方法中的應用,首先簡單介紹了 進化算法和強化學習基本方法,之后詳細闡述了兩類結合進化算法的強化學習方法,分別是進化算法引導策略搜 索的強化學習和結合進化算法的深度強化學習,同時對這些方法進行了對比與分析,最后對該領域的研究重點和 發展趨勢進行了探究. 長期以來,強化學習都是機器學習方法中不可 或缺的一部分,在國際上也一直是機器學習領域中 炙手可熱的研究分支.在強化學習中,智能體首先根 據環境狀態進行決策從而產生動作,之后通過產生 的動作與環境進行交互獲得強化信號,調整產生決 策的函數映射,使得智能體能夠選擇獲得環境最大 獎勵的決策方案.智能體經過長期與環境的交互,不 斷向累積回報最大的方向優化策略,最終使累積回 報盡可能地最大化.2013年,DeepMind團隊的 Mnih 等人首先將 傳統強化學習中的Q-Learning算法[1]與深度神經網 絡相結合,并提出了深度Q 網絡(Deep Q-Network, DQN)算法[23],使用 DQN 算法訓練的智能體在Atari游戲中取得了超過人類得分的驚人表現.這一成 果開拓了深度強化學習這一新的方向,并成為了當今人工智能領 域新的研究熱點.深度強化學習是一種端到端的學習方法,它不需要標記的數據作為輸入,而是通過與環境進行交互獲取原始輸入信息,從而學習動作策略,通過不斷的試錯形成具有強大學習能力的智能體[4].2016年,DeepMind團隊使用深度強化學習訓練的AlphaGo智能體[5]擊敗了人類最頂尖的圍棋 選手,是機器學習領域的重大標志性事件,使得深度強化學習成為研究者們關注的焦點.目前深度強化 學習在機器博弈[57]、機器人控制[8]、自然語言處理[9]、最優控制[10]和計算機視覺[1]等領域中取得了廣泛的應用,被認為是通向通用人工智能的重要方 法之一[12].
作者:尹奇躍,趙美靜,倪晚成,張俊格,黃凱奇
近年來, 以人機對抗為途徑的智能決策技術取得了飛速發展, 人工智能技術AlphaGo、AlphaStar等分別在圍棋、星際爭霸等游戲環境中戰勝了頂尖人類選手. 兵棋推演, 作為一種人機對抗策略驗證環境, 由于其非對稱環境決策、更接近真實環境的隨機性與高風險決策等特點受到智能決策技術研究者的廣泛關注. 本文將梳理兵棋推演與目前主流人機對抗環境如圍棋、德撲、星際爭霸等對抗環境的區別, 闡述兵棋推演智能決策技術的發展現狀, 并分析當前主流技術的局限與瓶頸, 對兵棋推演中的智能決策技術研究進行了思考, 期望能對兵棋推演相關研究人員的智能決策技術研究帶來啟發.
人機對抗, 作為人工智能技術的試金石, 近年來獲得了舉世矚目的進展. 隨著Deep Blue[1]、AlphaGo[2]、Libratus[3]、AlphaStar[4]等智能體分別在國際象棋、圍棋、二人無限注德州撲克以及星際爭霸中戰勝頂尖職業人類選手, 其背后的智能決策技術獲得了廣泛的關注, 也代表了智能決策技術在中等復雜度完美信息博弈、高復雜度完美信息博弈再到高復雜度不完美信息博弈中的技術突破.
國際象棋、圍棋代表了完美信息博弈, 其狀態空間復雜度由1047增至10360, 后者更是被譽為人工智能技術的阿波羅. 相比于上述兩種博弈環境, 二人無限注德州撲克, 盡管狀態空間復雜度僅有10160, 但其為不完美信息博弈, 相比于國際象棋與圍棋信息集大小僅為1, 其信息集平均大小達到103. 而星際爭霸, 作為高復雜度不完美信息博弈的代表, 因其相比于上述游戲的即時制、長時決策等特性[4, 5], 對智能決策技術提出了更高的要求.
星際爭霸突破之后, 研究人員迫切需要新的人機對抗環境實現智能技術的前沿探索. 兵棋推演是一款經典策略游戲[6-8], 也被稱為戰爭游戲, 作為一種人機對抗策略驗證環境, 由于其具有不對稱環境決策、更接近真實環境的隨機性與高風險決策等特點, 受到智能決策技術研究者的廣泛關注. 近些年來, 研究者投入了大量的精力進行兵棋推演智能體研發以及兵棋推演子問題求解, 試圖解決兵棋推演的人機對抗挑戰[9-14].
兵棋推演, 一直以來都是戰爭研究和訓練的手段, 分為早期的手工兵棋與20世紀80年代后期普及的計算機兵棋[15-17]. 胡曉峰等人[6]全面綜述了兵棋推演的基本要素(參演人員、兵棋系統模擬的戰場環境和作戰部隊、導演部及導調機構), 指出“兵棋推演的難點在于模擬人的智能行為”, 進而得出“兵棋推演需要突破作戰態勢智能認知瓶頸”, 最后給出了如何實現態勢理解與自主決策可能的路徑. 和目前兵棋推演關注的重點不同, 本文關注的是兵棋推演中的智能體研究, 針對通用性的智能決策技術與挑戰展開. 另外, 需要闡明的是, 本文中的兵棋推演, 如非特別闡述, 在不引起歧義的前提下統一指雙方計算機兵棋推演(紅藍兩方).
本文內容組織如下: 第二章將梳理兵棋推演與目前主流人機對抗環境如星際爭霸等的區別, 以及為什么其潛在是人機對抗的下一個挑戰; 第三章將介紹兵棋推演智能技術的研究現狀; 之后在第四章闡述當前主流技術的瓶頸; 第五章對兵棋推演的智能決策技術進行展望與思考, 希望啟發新的研究方向; 最后對全文進行總結.
本章首先簡要介紹兵棋推演問題以及與手工兵棋的比較. 在此基礎上, 以人機對抗發展脈絡為主線, 以兵棋推演中的智能體研究為核心, 介紹兵棋推演與其他主流策略游戲的通用挑戰, 之后重點闡述兵棋推演的獨特挑戰. 前者為實現兵棋推演人機對抗的成功提供了技術基礎, 后者則對當下人機對抗智能體決策技術提出了新的挑戰.
早期的兵棋推演一般指手工兵棋, 具有200年的研究歷史, 而隨著信息技術與計算機性能的不斷發展, 計算機兵棋, 因其簡便、快速、逼真等特點成為目前兵棋推演的主流方向[18]. 王桂起等人[15]在2012年概述了兵棋的概念、發展、分類以及應用, 并分析了兵棋的各組成要素以及國內外兵棋的研究現狀. 彭春光等人[16]在2009年對兵棋推演技術進行了綜述, 指出兵棋主要研究人員決策與兵棋事件之間的因果關系.
2017年, 胡曉峰等人[6]對兵棋推演進行了全面的綜述, 描述了兵棋推演的基本要素, 重點闡述了兵棋推演的關鍵在于模擬人的智能行為, 面臨的難點為“假變真”、“粗變細”、“死變活”、“靜變動”、“無變有”, 歸結起來為“對戰場態勢的判斷理解”以及“對未來行動的正確決策處置”, 在此基礎上, 作者展望了AlphaGo等技術對兵棋推演帶來的新機遇. 不同于上述工作, 本文以人機對抗智能決策切入, 針對通用性的智能決策技術與挑戰展開對兵棋推演中的智能體研究.
回顧當前典型的已獲得一定人機對抗突破的決策環境如雅達利、圍棋、德州撲克以及星際爭霸, 可以得出一些基本的結論. 人機對抗研究的重心已經從早期的單智能體決策環境如雅達利過渡到了多智能體決策環境如圍棋與星際爭霸; 從回合制決策環境如圍棋逐漸過渡到更貼近現實應用的復雜即時戰略類決策環境如星際爭霸; 從完美信息博弈如圍棋逐漸過渡到非完美信息博弈如德撲與星際爭霸; 從以樹為基礎的博弈算法如圍棋與德撲過渡到以深度強化學習為基礎的大規模機器學習算法. 針對上述轉變與各自博弈對抗環境的特點, 可以凝練抽取一些影響智能體設計與訓練的關鍵因素, 如表1所述. 典型的兵棋推演仿真環境一般由算子、地圖、想定以及規則要素組成, 展現了紅藍雙方之間的博弈對抗. 與代表性策略游戲如雅達利、圍棋、德州撲克以及星際爭霸等類似, 兵棋推演的智能體研究表現出策略游戲中智能體研究的普遍挑戰性問題.
表 1 對決策帶來挑戰的代表性因素
不完美信息博弈. 不完美信息博弈是指沒有參與者能夠獲得其他參與者的行動信息[19], 即參與者做決策時不知道或者不完全知道自己所處的決策位置. 相比于完美信息博弈, 不完信息博弈挑戰更大, 因為對于給定決策點, 最優策略的制定不僅僅與當下所處的子博弈相關. 與德州撲克、星際爭霸相似, 兵棋推演同樣是不完美信息博弈, 紅方或者藍方受限于算子視野范圍、通視規則、掩蔽規則等, 需要推斷對手的決策進而制定自己的策略.
長時決策. 相比于決策者僅做一次決策的單階段決策游戲, 上述游戲屬于序貫決策游戲[20]. 以圍棋為例, 決策者平均決策次數在150次, 相比于圍棋, 星際爭霸與兵棋推演的決策次數以千為單位. 長時決策往往導致決策點數量指數級的增加, 使得策略空間復雜度變大, 過高的策略空間復雜度將帶來探索與利用等一系列難題, 這對決策制定帶來了極大的挑戰.
策略非傳遞性. 對于任何策略vt可戰勝vt?1, vt+1可戰勝vt, 有vt+1可戰勝vt?1, 則認為策略之間存在傳遞性. 一般情況下, 盡管部分決策環境存在必勝策略, 但在整個策略空間下都或多或少存在非傳遞性的部分, 即大多數博弈的策略不具備傳遞性[21]. 例如, 星際爭霸與兵棋推演環境, 策略難以枚舉且存在一定的相互克制關系. 策略非傳遞性會導致標準自博弈等技術手段難以實現智能體能力的迭代提升, 而當前經典的博弈算法如Double Oracle[58]等又往往難以處理大規模的博弈問題, 使得逼近納什均衡策略極其困難.
智能體協作. 在多智能體合作環境中, 智能體間的協作將提升單個智能體的能力, 增加系統的魯棒性, 適用于現實復雜的應用場景[22-24]. 圍棋與兩人德州撲克參與方屬于純競爭博弈環境, 因此不存在多個智能體之間的協作. 星際爭霸與兵棋雖然也屬于競爭博弈環境, 但是需要多兵力/算子之間配合獲得多樣化且高水平策略. 將上述問題看作是單個智能體進行建模對求解是困難的, 可以建模為組隊零和博弈, 隊伍之間智能體相互協作, 最大化集體收益. 針對組隊零和博弈問題, 相比于二人零和博弈問題, 理論相對匱乏.
為應對上述挑戰, 研究人員進行了大量的技術創新. 例如, 在蒙特卡洛樹搜索基礎上引入深度神經網絡實現博弈樹剪枝、通過自博弈實現強化學習的圍棋AI AlphaGo系列[2], 在虛擬遺憾最小化算法基礎上引入安全嵌套子博弈求解以及問題約簡等技術的二人無限注德州撲克AI Libratus[3], 采用改進自博弈以及分布式強化學習的星際爭霸AI AlphaStar[4]. 上述技術為相應決策問題的挑戰性因素提出了可行的解決方案, 盡管兵棋推演存在上述挑戰, 但相關技術基礎已經具備, 可以指導兵棋推演的研究方向.
傳統的非對稱信息指某些行為人擁有但另一些行為人不擁有的信息, 本文的非對稱以學習的角度考慮, 指的是游戲雙方的能力水平或游戲平衡性. 以圍棋、星際爭霸以及絕大多數游戲環境為例, 游戲設計者為保證游戲的體驗以及促進人類選手競技水平的提升, 往往保證游戲不同方具有相對均衡的能力. 例如, 星際爭霸游戲中包含了三個種族, 即人族、蟲族以及神族, 盡管不同種族具有截然不同的科技樹、兵力類型等, 但是三個種族在能力上處于大致均衡的狀態.
相比于星際爭霸等, 兵棋推演中游戲是不平衡的. 這不僅體現在紅方與藍方在兵力配備上的不同, 也體現在不同任務/想定下紅方和藍方的現實需要. 以部分奪控戰為例, 紅方兵力水平一般弱于藍方, 同時紅方往往具有更好的視野能力(如紅方配備巡飛彈算子), 而藍方往往具有更強的進攻能力(如配備更多的坦克算子). 這種嚴重的非對稱性, 對于目前的學習算法提出了極大的挑戰.
當前主流的或改進的自博弈技術, 在智能體迭代過程中往往對每個參與智能體以對稱的方式進行訓練, 進而保證智能體能力在相互對抗的迭代過程中持續增長. 但是, 在兵棋推演中, 紅方與藍方嚴重的非對稱性, 使得直接采用相似的設計難以保證弱勢方的訓練, 需要設計更合理的迭代方式(如啟發式迭代)保證相對較弱勢方的訓練. 另一方面, 在二人零和博弈中, 雖然弱勢方的納什均衡策略可取, 但是如何根據對手的情況調整自己的策略以最大可能剝削或者發現對手的漏洞并加以利用, 可能是要考慮的重點問題.
隨機性與高風險主要體現在游戲的裁決中, 泛指交戰規則中隨機影響因素以及對交戰結果產生的影響. 裁決是游戲的重要組成部分, 在決定游戲的勝負規則之外, 明確定義了參與方在對抗過程中的交戰結果. 例如, 在圍棋中, 黑子包圍白子之后, 需要將白子從棋盤中拿下, 即吃子. 在星際爭霸環境中, 兩隊兵力對抗中, 血量為零的兵力將直接消失. 一般來說, 在圍棋等棋類游戲中, 裁決不受隨機因素的干擾, 即不具有隨機性. 而在星際爭霸環境中, 盡管不同兵力攻擊產生的傷害數值是固定的, 但仍然受到少量隨機因素的影響, 例如具有一定概率觸發某項技能(如閃避).
相比于上述游戲, 兵棋推演在所有攻擊裁決過程中均受到隨機因素的影響, 即隨機性較高, 這主要是因為兵棋裁決一般遵循著“攻擊等級確定、攻擊等級修正、原始戰果查詢、最終戰果修正”的基本流程. 在原始戰果查詢與最終戰果修正中, 將基于骰子產生的隨機數值(兩個骰子1?12點)分別進行修正, 上述修正的結果差距較大, 可能產生壓制甚至消滅對方班組的戰果, 也有可能不產生任何效果. 更重要的是, 相比于其他即時戰略類游戲(如星際爭霸), 兵力一旦消失, 將不能重新生成, 因此會造成極高的風險, 對于專業級選手, 兵力的消失往往意味著游戲的失敗.
兵棋推演的隨機性與高風險決策對于智能體的訓練提出了極高的挑戰. 反映在數據上, 環境的狀態轉移不僅受到其他算子以及不可見信息的影響, 也受到裁決的影響, 即狀態轉移高度不確定. 另一方面, 決策的高風險使得算子所處狀態的值估計等具有高方差特性, 難以引導智能體的訓練, 尤其是在評估上難以消除該隨機性的情況下訓練更加困難.
總的來說, 兵棋推演, 作為一種人機對抗策略驗證環境, 由于其具備目前主流對抗環境的挑戰性問題, 使得完成兵棋推演的人機對抗挑戰具備一定的技術基礎. 同時, 由于其不對稱信息決策、更接近于真實環境的隨機性與高風險決策特點, 對當前人機對抗技術提出了新的挑戰, 也使得兵棋推演成為人機對抗的下一個挑戰.
為應對兵棋推演的挑戰性問題, 研究者提出了多種智能體研發與評測方法. 與圍棋、星際爭霸等主流游戲人機對抗智能體研發脈絡類似(如星際爭霸從早期知識規則為主, 中期以數據學習為主, 后期以聯合知識與強化學習完成突破), 兵棋推演也經歷了以知識驅動為主、以數據驅動為主以及以知識與數據混合驅動的研發歷程. 兵棋的評測技術包含了智能體的定量與定性分析方法. 在本節中, 將重點闡述兵棋智能體研發的技術與框架, 同時對智能體的評估評測進行簡述.
當前智能體的研發技術與框架主要包含三類, 即知識驅動、數據驅動以及知識與數據混合驅動的兵棋推演智能體, 本節將分別闡述各個技術框架的研究進展.
知識驅動的兵棋推演智能體研發利用人類推演經驗形成知識庫, 進而實現給定狀態下的智能體決策[25]. 代表性的知識驅動框架為包以德循環(OODA[26]), 其基本觀點是通過觀察(Observation)、判斷(Orientation)、決策(Decision)以及執行(Action)的循環過程實現決策, 如圖1所示. 具體來說, 觀察包括觀察自己、環境以及對手實現信息的收集; 判斷對應態勢感知, 即對收集的數據進行分析、歸納以及總結獲得當前的態與勢; 決策對應策略的制定, 利用前面兩步的結果實現最優策略的制定; 執行對應于具體的行動.
圖 1 包以德循環
通過引入高水平人類選手的經驗形成知識庫, 可以一定程度規避前面所述的挑戰性問題, 實現態勢到決策的規則制定與編碼. 自2017年國內各類兵棋大賽舉辦以來, 每年都有數十甚至上百個參賽隊伍進行機機對抗, 角逐的精英智能體將參與人機對抗以及人機混合對抗. 為適應不同的想定以及進行人機協同, 目前絕大多數智能體為知識驅動型, 即依據人類選手的經驗進行戰法總結, 以行為樹[27]、自動機[28]等框架實現智能體決策執行邏輯的編程實現. 總的來說, 知識驅動型智能體研發依賴于人類推演經驗與規律的總結, 實現相對簡單, 不需要借助于大量的數據進行策略的訓練與學習.
近些年來, 通過編碼高水平選手的決策, 涌現出了一系列高水平知識驅動型智能體并開放對抗①, 例如, 信息工程大學的“兵棋分隊級AI-微風1.0”, 該智能體基于動態行為樹框架, 在不同想定下實現了不同的戰法戰術庫. 中國科學院自動化研究所的“兵棋群隊級AI-紫冬智劍2.0”, 該智能體以OODA環為基本體系架構, 以敵情、我情以及地形等通用態勢認識抽象狀態空間, 以多層級任務行為認知抽象決策空間, 可以快速適應不同的任務/想定. 目前部分智能體可以支撐人機混合對抗, 甚至在特定想定下達到了專業級選手水平.
隨著AlphaGo、AlphaStar等智能體取得巨大成功, 以深度強化學習為基礎進行策略自主迭代(如自博弈中每一輪的策略學習)成為當前的主流決策技術[29]并被成功應用于兵棋推演[30, 31]. 其基本框架如圖2所示, 智能體以自博弈或改進的自博弈方式進行每一代智能體的迭代, 而每一代智能體采用強化學習的方式進行訓練. 對于強化學習來說, 智能體與環境進行交互收集狀態、動作與獎賞等序列數據進行訓練, 直至學習得到可以適應特定任務的策略. 由于兵棋推演環境沒有顯式定義狀態、動作與獎賞等的具體表現形式, 因此在應用于強化學習的過程中, 首要的任務是進行上述基本要素的封裝, 在此基礎上便可以進行基本的強化學習訓練.
圖 2 自博弈+強化學習訓練
深度強化學習通過改進神經網絡的設計可以一定程度緩解非完美信息與長時決策帶來的挑戰. 例如, 通過增加認知網絡結構如記憶單元[32, 33]可以有效使用歷史信息, 一定程度解決部分可觀測狀態下的決策問題; 通過增加內在獎勵驅動的環境建模網絡[34], 可以緩解長時決策尤其是獎勵稀疏情況下強化學習的訓練. 自博弈尤其是改進的自博弈框架, 如星際爭霸提出的帶有優先級的虛擬自我對局與聯盟博弈有效緩解了策略非傳遞性的挑戰, 并通過初期的強化學習網絡監督訓練初始化實現了對策略非傳遞性的進一步緩解. 針對智能體協作, 研究者提出了大量的多智能體協同算法, 并通過獎勵共享、獎勵分配等實現了不同智能體的有效訓練. 關于非對稱性與高隨機性, 據本文作者所了解, 尚未有相關文獻解決兵棋推演的上述挑戰.
近些年來部分研究者將其他數據學習方式與強化學習進行結合以緩解端到端強化學習的困難. 例如, 李琛等[30]將Actor-Critic框架引入兵棋推演并與規則結合進行智能體開發, 在簡化想定(對稱的坦克加步戰車對抗)上進行了驗證. 張振等[31]將近端策略優化技術應用于智能體開發, 并與監督學習結合在智能體預訓練基礎上進行優化, 在簡化想定(對稱的兩個坦克對抗)驗證了策略的快速收斂. 中國科學院自動化研究所提出的AlphaWar②引入監督學習與自博弈技術手段實現聯合策略的學習, 保證了智能體策略的多樣性, 一定程度緩解了兵棋推演的策略非傳遞性問題. 2020年, AlphaWar在與專業級選手對抗過程中通過了圖靈測試, 展現了強化學習驅動型兵棋推演智能體的技術優勢.
另一方面, 分布式強化學習作為一種能夠有效利用大規模計算資源加速強化學習訓練的手段, 目前已成為數據驅動智能體研發的關鍵技術, 研究者提出了一系列算法在保證數據高效利用的同時也保證了策略訓練的穩定性. 例如, Mnih等人[35]在2016年提出異步優勢動作評價算法(Asynchronous advantage actor-critic), 實現了策略梯度算法的有效分布式訓練. Horgan等人[36]在2018年提出APE-X分布式強化學習算法, 對生成數據進行有效加權, 提升分布式深度Q網絡(Deep Q Network)訓練效果. Mnih等人[37]在2018年提出IMPALA算法實現了離策略分布式強化學習, 在高效數據產生的同時也可以通過V-Trace算法進行離策略(off-policy)修正, 該技術被成功用于奪旗對抗[38]. Espeholt等人[39]在2019年引入中心化模型統一前向, 進一步提升了IMAPLA的分布式訓練能力, 并被應用于星際爭霸AlphaStar的訓練中. 考慮到IMPALA的高效以及方便部署, 以IMPALA為代表的分布式強化學習已經成為兵棋智能體訓練的常用算法. IMPALA的結構如下圖3所示, 其實現可以方便地通過TensorFlow③、Pytorch④或伯克利近期提出的Ray[40] 框架完成.
圖 3 IMAPLA用于兵棋推演AI訓練
知識驅動智能體具有較強的可解釋性, 但是受限于人類的推演水平. 與之相反, 基于數據驅動的兵棋智能體較少依賴人類推演經驗, 可以通過自主學習的方式得到不同態勢下的決策策略, 具有超越專業人類水平的潛力, 但是由于數據驅動的兵棋推演智能體依賴數據以及深度神經網絡, 其訓練往往較為困難且決策算法缺乏可解釋性.
為了有效融合知識驅動與數據驅動框架的優點, 避免各自的局限性, 目前越來越多的研究者試圖將兩者進行結合[41]. 其中關注較多的工作為將先驗信息加入到學習過程中進而實現對機器學習模型的增強[42-44]. 在該類工作中, 知識或稱為先驗信息作為約束、損失函數等加入到學習的目標函數中實現一定程度的可解釋性以及模型的增強. 近年來, Laura von Rueden等人[42]進行了將知識融合到學習系統的綜述并提出了知信機器學習的概念(informed machine learning), 從知識的來源、表示以及知識與機器學習管道的集成對現有方法進行了分類.
知識與數據混合驅動框架結合了兩者的優勢, 可以更好應對兵棋推演環境的挑戰, 目前代表性的融合方式包括“加性融合”, 如圖4所示, 即知識驅動與數據驅動各自做擅長的部分, 將其整合形成完整的智能體. 一般來說, 知識驅動善于處理兵棋推演前期排兵布陣問題, 因為該階段往往缺乏環境的有效獎勵設計. 另一方面, 緊急態勢下的決策以及相對常識性的決策也可以由知識驅動完成, 以減少模型訓練的探索空間. 數據驅動善于自動分析態勢并作出決策, 更適用于進行兵棋推演中后期多樣性策略的探索與學習. 此外, 一些難以用相對有限的知識規則刻畫的態勢-決策也可由數據驅動完成. 黃凱奇等人[45] 提出了一種融合知識與數據的人機對抗框架, 如圖5所示, 該框架以OODA為基礎, 刻畫了決策不同階段的關鍵問題, 不同問題可以通過數據驅動或知識驅動的方式進行求解.
圖 4 知識與數據驅動“加性融合”框架
圖 5 人機對抗框架[45]
另一種代表性融合方式為“主從融合”, 如圖6所示, 即以一方為主要框架, 另一方為輔助的融合方式. 在以知識驅動為主的框架中, 整體設計遵循知識驅動的方式, 在部分子問題或者子模塊上采用如監督學習、進化學習等方式實現優化. 例如, 武警警官學院開發的分隊/群隊AI“破曉星辰2.0”⑤在較為完善的人類策略庫基礎上結合蟻群或狼群等算法進行策略庫優化, 以提升智能體的適應性. 在以數據驅動為主的框架下, 則采用如數據驅動的改進自博弈加強化學習的方式進行整體策略學習, 同時增加先驗尤其是常識性約束. 例如, 將常識或人類經驗作為神經網絡選擇動作的二次過濾以減少整體探索空間.
圖 6 知識與數據驅動“主從融合”框架
智能體的評估涉及智能體整體能力與局部能力評估, 同時開放的智能體評估平臺將有效支撐智能體的能力測評與迭代. 本節將從智能體評估算法與智能體評估開放平臺展開介紹.
正確評估智能體策略的好壞對于智能體的訓練與能力迭代具有至關重要的作用. 考慮到兵棋推演中策略的非傳遞性以及其巨大的策略空間問題, 進行智能體的準確評估挑戰巨大. 近年來, 研究者們提出了一系列評估算法, 試圖對智能體能力進行準確描述. 經典的ELO算法[46]利用智能體之間的對抗結果, 通過極大似然估計得到反映智能體能力的分值. 例如, 圍棋、星際爭霸等對抗環境中的段位就是基于ELO算法計算獲得. Herbrich等人[47]提出TrueSkill算法, 通過將對抗過程建立為因子關系圖, 借助于貝葉斯理論實現了多個智能體對抗中單一智能體能力的評估. 考慮到ELO算法難以處理策略非傳遞性這一問題, Balduzzi等人[48]提出多維ELO算法, 通過對非傳遞維度進行顯式的近似改善了勝率的預測問題. 更進一步, Omidshafiei等人[49]提出α-rank算法, 基于Markov-Conley鏈, 使用種群策略進化的方法, 對多種群中的策略進行排序, 實現策略的有效評估.
定量評估之外, 也可以通過專家評判的方式進行定性評估, 實現對智能體單項能力的有效評估. 例如, 圖7是廟算杯測試賽 ⑥中對智能體AlphaWar的評估, 在人為抽象出的“武器使用”、“地形利用”、“兵力協同”、“策略高明”、“反應迅速”方面與測試賽排名第一位的人類選手進行了比較.
圖 7 智能體單項能力評估
為促進兵棋推演智技術的發展, 構建標準的評估評測平臺至關重要, 其可以實現廣泛的兵棋智能體機機對抗、人機對抗甚至人機混合對抗[50], 這對兵棋推演評估評測平臺提出了較高的要求, 但也極大地促進了兵棋評估評測平臺的建設與標準化. 最近, 中國科學院自動化研究所構建了人機對抗智能門戶網站(//turingai.ia.ac.cn/), 如圖8所示. 該平臺以機器和人類對抗為途徑, 以博弈學習等為核心技術來實現機器智能快速學習進化的研究方向. 平臺提供兵棋推演智能體的機機對抗、人機對抗以及人機混合對抗測試, 并支持智能體的多種評估評測.
圖 8 “圖靈網”平臺
針對兵棋推演的智能技術研究現狀, 本節重點闡述不同技術框架存在的挑戰性問題, 引導研究者對相關問題的深入研究.
知識驅動型作為智能體研發的主流技術之一, 其依賴人類推演經驗形成知識庫, 進而實現給定態勢下的智能體決策. 基于此, 知識驅動型智能體具有較強的可解釋性, 但同樣面臨不可避免的局限, 即受限于人類本身的推演水平, 同時環境遷移與適應能力較差, 造成上述局限的根本原因在于缺乏高質量的知識庫[51, 52]實現知識建模、表示與學習[53], 這也是目前知識驅動型技術的主要挑戰. 知識庫一般泛指專家系統設計所應用的規則集合, 其中規則所聯系的事實及數據的全體構成了知識庫, 其具有層次化基本結構.
對于兵棋推演來說, 知識庫最底層是“事實知識”, 如算子機動能力等; 中間層是用來控制“事實”的知識(規則、過程等表示), 對應于兵棋中的微操等; 最頂層是“策略”, 用于控制中間層知識, 一般可以認為是規則的規則, 如圖9所示. 兵棋推演中知識庫構建過程最大的挑戰便是頂層策略的建模, 面臨著通用態勢認知與推理困難的挑戰. 胡曉峰等人[6]指出兵棋推演需要突破作戰態勢智能認知瓶頸, 并提出戰場態勢層次不同, 對態勢認知的要求和內容也不同. 盡管部分學者嘗試從多尺度表達模型[54]、指揮決策智能體認知行為建模框架[55]以及基于OODA環框架下態勢認知概念模型[56]等進行態勢建模, 但是, 目前基于經典知識規劃的智能體受限于對環境的認識的正確性和完備程度, 表現相較呆板缺乏靈活應對能力, 不能很好地進行不確定環境邊界下的意圖估計與威脅評估等態勢理解.
圖 9 兵棋推演知識庫構建示例
數據驅動型技術以深度強化學習為基礎進行策略自主迭代, 從該角度出發解決兵棋推演智能體研發, 訓練得到的智能體具有潛在的環境動態變化適應能力, 甚至有可能超越專業人類選手的水平, 涌現出新戰法. 同樣地, 為實現有效的智能體策略學習, 目前數據驅動型技術面臨以下技術挑戰: 自博弈與改進自博弈設計、多智能體有效協作、強化學習樣本效率較低. 其中, 自博弈與改進自博弈設計可以實現智能體能力的有效迭代提升, 多智能體有效協作將解決兵棋推演中的算子間協同(異步協同)問題, 而解決強化學習樣本效率較低問題可以實現在可控計算資源與時間下的智能體訓練.
自博弈與改進自博弈. 在兵棋推演這一二人零和博弈問題下, 傳統的博弈算法如虛擬自我對局[57]、Double Oracle[58]等難以適用于兵棋推演本身巨大的問題復雜度, 采用目前較為主流的自博弈或改進自博弈方式實現智能體能力的迭代成為一種可行的方案. 例如, 圍棋游戲的AlphaGo系列[2]采用結合蒙特卡洛樹搜索與深度神經網絡的自博弈強化學習實現智能體能力的迭代. 星際爭霸游戲的AlphaStar[4]則改進傳統的虛擬自我對局, 提出帶有優先級的虛擬自我對局并結合聯盟博弈進行智能體迭代. 具體來說, AlphaStar引入主智能體、主利用智能體以及聯盟利用智能體, 并對不同的智能體采用不同的自博弈進行以強化學習為基礎的參數更新. 總的來說, 盡管上述自博弈與一系列改進自博弈方法可以實現智能體的迭代, 但當前的設計多是啟發式迭代方式, 兵棋推演的非對稱環境等獨特挑戰是否適用有待驗證與開展深入研究.
多智能體協作. 協作環境下單個智能體的訓練受到環境非平穩性的影響而變得不穩定[59-62], 研究者提出了大量的學習范式以緩解該問題, 但仍然面臨著智能體信用分配這一核心挑戰, 即團隊智能體在和環境交互時產生的獎勵如何按照各個智能體的貢獻進行合理分配以促進協作[63-65]. 目前, 一類典型的算法為Q值分解類算法, 即在聯合Q值學習過程中按照單調性等基本假設將聯合Q值分解為智能體Q值的聯合, 進而實現信用隱式分配[66-68]. 例如, Sunehag等人[66] 率先提出此類算法將聯合Q值分解為各個智能體Q值的加和. 在此基礎上, Rashid等人[67]基于單調性假設提出了更為復雜的Q值聯合算法QMIX. 另外一類典型的信用分配算法借助于差異獎勵(difference reward)來實現顯式獎勵分配. 例如, Foster等人[69]通過引入反事實的方法提出COMA以評估智能體的動作對聯合智能體動作的貢獻程度. 通過將夏普利值引入Q學習過程中, Nguyen等人[70]提出了Shapley-Q方法以實現“公平”的信用分配. 在兵棋推演環境中, 不同智能體原子動作執行耗時是不一樣的, 導致智能體協作時的動作異步性, 如圖10所示. 這種異步性使得智能體間的信用分配算法要求的動作同步性假設難以滿足, 如何實現動作異步性下多智能體的有效協作仍然是相對開放的問題.
圖 10 兵棋推演中的異步多智能體協同
強化學習低樣本效率. 強化學習通過與環境交互試錯的方式進行模型訓練, 一般樣本效率較低, 因此在復雜環境下智能體訓練需要動用巨大的計算資源. 例如, AlphaZero[71] 采用了5000一代TPU與16二代TPU進行智能體學習; AlphaStar[4]采用192 TPU (8核)、12 TPU (128核)與50400 CPU實現群體博弈. 探索作為一種有效緩解樣本效率低的手段[72], 近些年來受到了研究者的廣泛關注, 并潛在適用具有巨大狀態空間、稀疏獎勵的兵棋推演環境中. 在單智能體強化學習中, 目前涌現了大量的探索類算法[72, 74], 如隨機網絡蒸餾(random network distillation)[34]、Go Explore[73] 等. 但多智能體的環境探索問題研究相對較少, 代表性方法包括MAVEN[75]、Deep-Q-DPP[76]、ROMA[77] 等. 其中MAVEN通過在QMIX的基礎上引入隱變量來實現多個聯合Q值的學習, 進而完成環境的有效探索. Deep-Q-DPP將量子物理中建模反費米子的行列式點過程(Determinantal Point Process)引入多智能體探索中, 通過增加智能體行為的多樣性來實現探索. 另一方面, ROMA通過考慮智能體的分工, 讓相同角色的單元完成相似的任務, 進而利用動作空間劃分來實現環境高效探索. 上述算法在星際爭霸微操等驗證環境中取得了有效的驗證, 但是兵棋推演環境擁有更加龐大的狀態空間, 如何實現智能體異步動作下的環境高效探索對當前技術提出了新的要求.
知識與數據混合驅動型相比于知識型與數據型, 可以有效融合兩者的優點, 既具備對環境的適用能力, 涌現出超越高水平人類玩家的策略, 同時又具備一定可解釋性, 實現可信決策. 在融合過程中面臨知識與數據驅動本身的技術挑戰之外, 另一個核心技術挑戰在于融合方式, 即如何實現兩者的有機融合[78]. 上一章節提到了代表性的 “加性融合”、“主從融合”, 可以實現知識與數據的一定程度融合, 但是何種融合方式更優目前并無定論, 另一方面, 探索更優的兵棋推演知識與數據融合思路是值得深入探索與研究的開放問題.
加性融合的挑戰. 在加性融合中, 知識驅動與數據驅動負責智能體不同的模塊, 兩者加和構成完整的智能體. 首先需要解決的問題是整個決策過程的模塊化或解耦合. 目前兵棋推演中較為簡單的一種做法是開局過程(算子前期布局/機動到中心戰場)采用知識驅動的方式, 中后期對抗(中心戰場對抗如消滅對手、奪控等)采用數據驅動的方式. 但是上述做法如何解耦合或者定義兩者的邊界是困難的, 這不可避免引入專家的領域知識, 也將受限于專家對問題認識的局限. 以OODA為基礎的人機對抗框架[45]雖然給出了較為一般化的框架, 但是如何在兵棋推演中具體實現存在較大的不確定性. 另一方面, 知識驅動與數據驅動部分相互制約, 在設計或訓練過程中勢必受到彼此的影響. 例如, 數據驅動的部分在迭代過程中受到知識驅動部分的限制. 這要求知識驅動或數據驅動部分在自我迭代的同時, 設計兩者的交替迭代進而實現完整智能體能力的迭代提升. 上述設計與研究目前仍然是相對開放的問題.
主從融合的挑戰. 在主從融合中, 以知識驅動或數據驅動為主, 部分子問題以另一種方式為手段進行解決. 在以數據驅動為主的框架中, 難點在于如何將知識或常識加入到深度學習或深度強化學習的訓練中. 例如, 如何引入領域知識設計狀態空間、動作空間以及獎賞. 相關設計將極大影響智能體的最終水平以及訓練效率, 因此需要對上述問題進行折中, 保證智能體能力的同時盡可能引入更多的知識以提升訓練效率. 在以知識為主的框架中, 難點在于尋找適宜用學習進行解決的子問題, 進而解決難以枚舉或難以制定策略的場景. 例如采用經典的尋路算法[79]實現臨機路障等環境下的智能體機動設計; 利用模糊系統方法實現兵棋進攻關鍵點推理[80]; 基于關聯分析模型進行兵棋推演武器效用挖掘[81]. 目前, 在星際爭霸、dota2等復雜即時戰略類游戲中的取得代表性成果的智能體多采用以數據驅動為主的方式, 即引入領域知識設計深度強化學習的各要素和訓練過程, 如何根據兵棋推演獨特的挑戰進行相關技術遷移與改進目前是相對開放的問題.
當前智能體的評估主要借助機機對抗的勝率進行智能體綜合能力/段位的排名/估計. 除此之外, 兵棋推演一般建模為多智能體協作問題, 因此, 單個智能體的能力評估將量化不同智能體的能力, 在人機協作[82]中機的能力評估中占據重要的地位. 另一方面, 人機對抗中人對機的主觀評價正逐漸成為一種智能體能力評估的重要補充. 下面將分別介紹相關的挑戰性問題.
非傳遞性策略綜合評估. 多維ELO算法[48]在傳統ELO的基礎上通過對非傳遞維度進行顯式的近似, 可以緩解非傳遞性策略勝率的預測問題, 但是因為其依賴于ELO的計算方式, 也就存在ELO本身對于對抗順序依賴以及如何有效選取基準智能體等問題. 對于兵棋推演這一面臨嚴重策略非傳遞性的問題, 目前的評估技術基于ELO或者改進的ELO, 仍然具有較大的局限性.
智能體協作中的單個智能體評估. 基于經典的ELO算法, Jaderberg等人[38]提出啟發式的算法進行協作智能體中單個智能體的評估, 但是該算法依賴于智能體能力的可加和假設, 因此難以應用于兵棋推演環境, 即算子之間的能力并非線性可加和. 另一方面, TrueSkill算法通過引入貝葉斯理論, 實現了群體對抗中的某一選手的評估, 但是其對時間不敏感, 且往往會因為對抗選手的冗余出現評估偏差. 因此如何設計有效的評估算法實現協作智能體中的單個智能體的評估是當前的主要挑戰之一.
定性評估標準體系化. 當前一些評估評測平臺人為抽象了包括“武器使用”、“地形利用”等概念實現人機對抗中人對智能體的打分評測. 上述概念主要啟發于指揮決策中對指揮官能力的刻畫, 因此是面向現實應用下智能體能力評估的重要維度[83, 84]. 但是, 如何將智能體的評估體系與作戰指揮中的能力維度進行對齊仍然是開放的問題, 需要指揮控制領域的研究人員與博弈決策領域的研究人員共同協作.
為緩解兵棋推演智能決策技術存在的挑戰性問題, 部分研究者另辟蹊徑, 引入了新的理論、抽象約簡問題等以應對兵棋推演的人機對抗.
博弈理論是研究多個利己個體之間的策略性交互而發展的數學理論, 作為個體之間決策的一般理論框架, 有望為兵棋人機對抗挑戰突破提供理論支撐[85-88]. 一般來說, 利用博弈理論解決兵棋推演挑戰, 需要為兵棋推演問題定義博弈解, 并對該解進行計算. 兵棋推演作為典型的兩人零和博弈, 可以采用納什均衡解. 但是, 納什均衡解作為一種相對保守的解, 并非在所有場合都適用. 考慮到兵棋推演的嚴重非對稱性, 納什均衡解對于較弱勢方可能并不合適. 因此, 如何改進納什均衡解(例如以納什均衡解為基礎進行對對手剝削解的遷移)是需要研究關鍵問題.
在博弈解求解這一問題上, 早期相對成熟的求解方法包括線性規劃、虛擬自我對局[57]、策略空間回應oracle (Policy space response oracle)[89]、Double oracle[58]、反事實遺憾最小化[90] 等. 但是, 上述納什均衡解(或近似納什均衡解)優化方法一般只能處理遠低于兵棋推演復雜度的博弈環境, 而目前主流的用于星際爭霸等問題的基于啟發式設計的改進自博弈迭代往往缺乏對納什均衡解逼近的理論保證. 因此, 針對兵棋推演這一具有高復雜度的不完美信息博弈問題, 如何將深度強化學習技術有效地納入可逼近納什均衡解的計算框架、或者提出更有效/易迭代的均衡逼近框架, 來實現兵棋推演解的計算仍然是開放性問題.
總的來說, 盡管博弈理論為兵棋推演的人機對抗挑戰提供了理論指導, 但是, 如何借助于該理論實現兵棋推演人機對抗的突破仍然是相對開放性的問題, 需要研究者們進行更深入的研究.
近些年來, 大模型(預訓練模型)在自然語言處理領域獲得了飛速發展[91, 92]. 例如, OpenAI于2020年發布的GPT-3模型參數規模達到1750億[93], 可以作為有效的零樣本或小樣本學習器提升自然語言處理下游任務的性能, 如文本分類、對話生成、文本生成等. 中國科學院自動化研究所在2021世界人工智能大會上發布了三模態(視覺、文本、語音)大模型, 具備跨模態理解與生成能力⑦. 一般來說, 預訓練的大模型, 作為通用人工智能的一種有效探索路徑, 需要海量的數據支撐訓練, 但具有重要的學術研究價值與廣闊的應用前景.
兵棋推演提供多種任務/想定, 理論上可以有大量不同的訓練環境, 深度強化學習與環境交互試錯的學習機制使得大模型訓練的數據問題得以緩解. 但是, 如何針對兵棋推演訓練大模型, 使得其在不同的兵棋對抗任務中可以快速適應仍然面臨各種挑戰, 如圖11所示. 首先, 兵棋推演沒有如自然語言處理任務較為通用的訓練目標或優化目標, 尤其是不同規模的對抗任務差異較大, 因此如何設計該大模型的優化目標是需要解決的首要問題, 這涉及強化學習中動作空間、獎勵空間等多項要素的深入考慮.
圖 11 兵棋推演大模型訓練挑戰
另一方面, 兵棋推演包含異質且異步協同的智能體, 不同任務下需要協同的智能體在數量、類型上有所差距, 這就要求大模型在訓練過程中既能解耦合不同智能體之間的訓練, 同時可以建立有效的協同機制實現智能體之間的協同. 盡管, 可以采用智能體共享獎勵、神經網絡獨立訓練的框架, 但是該設計過于簡單, 難以有效實現智能體協同時的信用分配等挑戰性問題. 總的來說, 如何設計大模型下多智能體訓練以適應具有較大差異的兵棋推演任務是需要重點研究的問題之一.
最后, 在自博弈過程中進行大模型的訓練, 需要適應不同規模(兵棋推演天然存在連隊級、群隊級、旅隊級等規模)以及同規模下不同任務難度的對抗, 這對大模型的訓練提出了新的挑戰. 自步學習[94]的范式提供了智能體由易到難的逐步訓練框架, 但如何定義兵棋推演不同任務難度是啟發式的. 另一方面, 要求智能體在更難任務訓練時不能遺忘對已訓練任務的記憶, 這也需要持續學習[95]等前沿技術手段的引入.
星際爭霸完整游戲的人機對抗挑戰突破之前, 研究者們設計了包括敵方意圖識別[96]、微操控制(多智能體協同)[97, 98, 99]等在內的關鍵子任務以促進智能決策技術的發展. 針對兵棋推演問題, 為引領技術突破進而反饋解決兵棋人機對抗挑戰, 迫切需要對兵棋推演中的關鍵問題進行抽象、約簡, 在保證約簡的問題能夠表征原始問題的重要特征前提下, 在約簡的問題中進行求解.
基于上述考慮, 本文提出兩個約簡問題, 即排兵布陣與算子異步協同對抗. 需要指出的是, 問題約簡過程中不可避免對兵棋推演環境等要素的規則進行簡化, 甚至脫離兵棋推演本身的任務或者目的導向屬性, 但是相關問題的約簡與抽象一定程度反映了兵棋推演智能體決策的核心挑戰, 將極大促進研究者對相關問題的研究.
排兵布陣. 排兵布陣反映了決策者在未知對手如何決策的前提下采取何種規劃或者兵力選擇可以最大化自己的收益, 代表性環境如爐石傳說卡牌類游戲, 即如何布置自己的卡牌以在后期積累優勢獲得最大化利益. 其挑戰在于未知對手如何規劃的條件下實現己方規劃, 該問題因為缺乏驗證環境, 目前研究較少.
兵棋推演的前期, 紅方或者藍方基于未知的對手信息布局自己的兵力, 該布局一定程度決定了后期的對抗成敗. 該過程因為缺少環境的顯式反饋, 無法度量何種排兵布陣能夠最大限度利用地形、能夠最大化攻擊等, 也就難以評估何種兵力布置最優. 基于上述原因, 本文設計如圖12所示的排兵布陣簡化問題. 具體來說, 在一個簡化的地圖中, 紅方與藍方各占有一部分區域進行兵力放置, 同時紅方與藍方之間具有一定距離間隔, 考慮紅方與藍方不能移動且兵力放置之后自動進行裁決.
圖 12 排兵布陣問題示意圖
需要指出的是, 上述簡化環境對兵棋推演本身做了極大的簡化, 更多是從算法研究的角度出發. 在研究兵力放置過程中, 可以由簡單到復雜進行調整, 以契合兵棋推演問題本身, 包括兵棋推演的目的加入(如奪控)、地形設置(如高程)等.
算子異步協同對抗. 算子協同對抗是多智能體相關問題的重要組成部分, 目前相關領域已經開放了大量的智能體協同對抗環境, 如星際爭霸微操、捉迷藏等[22-24]. 值得注意的是, 目前絕大多數環境, 不同算子之間協同是同步的, 即智能體的動作執行周期一致. 以此為基礎, 研究者提出了大量的算法實現有效的算子間協同[100, 75, 101]. 但是當不同智能體的動作執行周期不一致時, 便導致異步協同問題, 兵棋推演的對抗便屬于異步協同對抗, 當前的研究因為相關環境的缺乏相對較少.
兵棋推演中后期, 紅方與藍方進行對抗, 為評估智能體的接敵能力實現算子之間異步動作的有效協同, 本文設計算子異步協同對抗簡化問題. 如圖13所示, 在一個簡化的相對較小的地圖上, 不考慮復雜地形、復雜交戰規則以及兵棋推演任務約束等因素, 紅方與藍方在各自的起始位置出發進行對抗, 算子可選動作包括機動(6個方向與停止)與射擊(對方算子). 由于不同算子機動能力的差異, 重點為領域提供多智能體異步協作的評估環境.
圖 13 算子異步協同問題示意圖
同排兵布陣問題, 簡化更多從驗證算法性能的角度入手. 在研究算子異步協同對抗過程中, 可以對任務的難度進行調整, 如對地圖進行調整, 包括設置高程、增加特殊地形等.
為了促進上述問題的深入研究, 在約簡問題設計上, 本文將陸續公開:
1)與OpenAI Gym⑧一致的領域認可的環境接口, 供智能體與環境交互進行策略的學習;
2)提供不同難度等級的內置智能體, 供算法研究人員進行算法驗證與算法間比較;
3)完全開放的底層源碼, 進而支持自博弈等主流技術以及人機對抗.
星際爭霸人機對抗挑戰的成功標志著智能決策技術在高復雜不完美信息博弈中的突破. 星際爭霸之后, 迫切需要新的人機對抗環境以牽引智能決策技術的發展. 兵棋推演, 因其非對稱信息決策以及隨機性與高風險決策等挑戰性問題, 潛在成為下一個人機對抗熱點. 本文詳細分析了兵棋推演智能體的研究挑戰尤其是其相比于其他博弈環境的獨特挑戰性問題, 在此基礎上了梳理了兵棋推演智能決策技術的研究現狀, 包括智能體研發技術框架以及智能體評估評測技術, 之后指出了當前技術的挑戰, 并展望兵棋推演智能決策技術的發展趨勢. 通過本文, 將啟發研究者對兵棋推演關鍵問題的研究, 進而產生實際應用價值.
中國科學院自動化研究所的周雷博士在“兵棋推演與博弈理論”章節給出了博弈理論解決兵棋推演問題的研究思路, 在此感謝周雷博士的建議.