丁季時雨,孫科武,董博,楊皙睿,范長超,馬喆
(中國航天科工集團有限公司第二研究院 未來實驗室,北京 100854)
多智能體系統是由一群有自主性、可相互交互的實體組成,它們共享一個相同的環境,通過感知器感知環境并通過執行器采取動作。多智能體系統的目標是讓若干個具備簡單智能卻便于管理控制的系統能通過相互協作實現復雜智能,使得在降低系統建模復雜性的同時,提高系統的魯棒性、可靠性、靈活性[1-3]。
復雜環境下不完全信息動態博弈問題已成為亟待解決的前沿熱點問題,可應用于無人機蜂群等集群博弈對抗中,而多智能體協同博弈決策技術是其核心關鍵之一[4-6]。多智能體協同博弈具有實時對抗及動作持續性、多智能體并存與異構智能體協作、非完全信息博弈、龐大的搜索空間、多復雜任務和時間空間推理等特點,當前,以深度學習和強化學習為代表的人工智能技術取得了較大的突破,多智能體協同博弈決策問題的解決方法從傳統的基于預編程規則的方法轉向智能體自主強化學習為主的方法[7-8]。采用深度學習與強化學習結合的方法,研究多智能體間的合作、競爭和對抗任務,能為解決未來軍事協同對抗問題提供新的有效途徑。
目前,已有多智能體協同博弈技術包括基于通信[9-13]的和基于值分解[14-16]的強化學習方法,兩類方法解決了多智能體之間通信受限以及信度分配不均的問題,但是大規模多智能體協同博弈仍存在學習訓練時間長的問題。本文提出了一種基于元課程強化學習的多智能體協同博弈技術,對多智能體協同的對抗策略進行在線生成,并在《星際爭霸》仿真平臺上進行仿真實驗,與傳統的訓練方法進行對比可有效地加速其訓練過程,相對于傳統訓練方法在較短時間內可以達到較高的勝率,該方法可實現多智能體協同博弈策略的高效生成。
狀態空間包括外部環境、我方兵力和敵方兵力的數量、狀態等內容,是一個高維的張量,需要從中選擇出有限的維數作為狀態空間,成為多智能體對抗決策強化學習的輸入。
在本模型中,狀態空間分為2 部分:①共享的狀態空間,在所有智能體間共享,如戰場環境信息、我方兵力和敵方兵力的部分信息等,這使得每個智能體具有全局的視野;②局部狀態信息,由每個智能體通過對周圍一定范圍(如視距范圍)內環境的感知得到,如其附近我方和敵方智能體的數量、位置和狀態等信息,其特點是局部信息較為詳盡、信息實時性較高,該局部視野有助于智能體采取具體的動作或對其動作進行調整。
每個智能體的動作空間采用連續狀態描述,為一個三維的實數向量:第1 維為攻擊概率,從[0,1]中抽取一個值,如果采樣值為1,則智能體攻擊;否則,智能體移動。第2 維和第3 維對應的是采用極坐標描述的角度和距離,表示智能體從當前位置移動或攻擊的目的地。
智能體的目標被形式化表征為一種特殊信號,稱為收益,它通過環境傳遞給智能體。獎勵函數分為全局獎勵和局部獎勵。
(1)全局獎勵
首先,定義時變的全局獎勵函數為敵方智能體生命值的減少量均值減去我方智能體生命值的減少量均值,具體計算公式為

式中:rt(s,a,b)為在時刻 t、狀態 s 下,我方智能體采用動作a,敵方智能體采用動作b 時,我方智能體的全局獎勵。

式中:R 為智能體的生命值;ΔR 為智能體生命值的減少量。我方智能體的目標是學習到一種策略可獎勵折扣因子。對應敵方智能體的聯合策略是最小化獎勵之和。
(2)局部獎勵
只使用全局獎勵函數可能會忽略以下事實:團隊協作通常由局部協作和獎勵函數促成,并且通常包括某些內部結構,每個智能體傾向于根據自己的目標來推動合作。
為建模此種情況,可以定義每個智能體自己的局部獎勵函數,我方單個智能體的獎勵函數可以定義如下:

式中:top - K - u(i)表示與智能體i 交互的K 個智能體中敵方智能體的集合;top - K - e(i)表示與智能體i 交互的K 個智能體中我方智能體的集合。
式(3)表示智能體i 的獎勵由最近的K 個智能體(包括我方和敵方智能體)的生命值減少量決定。具體來說,就是其中敵方智能體的生命值減少量減去我方智能體的生命值減少量。算法具體采用局部獎勵函數計算每個智能體每步的獎勵,這樣更加利于收斂。
本文基于元課程強化學習的多智能體協同技術采用Actor-Critic 架構,Actor-Critic 從名字上看包括2 部分,演員(Actor)和評價者(Critic)。其中Actor使用1.3 節講到的策略函數,負責生成動作(Action)并和環境交互;而Critic 使用之前所提到的動作價值函數,負責評估Actor 的表現,并指導Actor 下一階段的動作。
該架構利用深度神經網絡對強化學習中的策略函數以及動作價值函數分別進行近似:

式中:πθ(a|s)為策略網絡;P(a|s)為給定狀態 s 下選擇的動作a 的概率;Qw(s,a) 表示價值函數網絡;q(s,a)為在給定狀態動作 (s,a)下的價值。
如圖 1 所示,智能體 1,2,…,N 通過與環境進行交互,獲取局部觀測 oi,執行動作 ai,獲得獎勵 ri,進行分布式策略執行。同時將動作、獎勵等信息傳遞到中心式訓練評價網絡,將總的動作價值進行分解,為每個智能體分配相應的動作價值,最后每個智能體更新相應的策略網絡。

圖1 多智能體強化學習協同博弈框架Fig.1 Multi-agent reinforcement learning autonomous coordination framework
因此Actor-Critic 算法擁有2 部分參數:動作價值函數(Critic 網絡)參數 w 以及策略參數(Actor 網絡)θ。2 類參數的更新方法為

式中:θ 為策略網絡參數;α 為更新步長;Qw(s,a)為價值函數。
對于Critic 網絡本身的模型參數w,一般都是使用均方誤差損失函數來做迭代更新,可以表示為

式中:δ 為時間差分獎勵;Rt+1為 t + 1 時刻的獎勵;Q(St,At)為 t 時刻的動作價值;w 為價值網絡的參數;β 為更新步長;φ(s,a)為線性函數。
為了給評價者Critic 提供學習所需的其他智能體的信息,本文采用集中式訓練-分布式執行的訓練框架,即訓練時采用全局信息集中式學習訓練Critic 與Actor,使用時每個智能體的Actor 只需要獲取局部信息就能運行,如圖1 所示。在應用中只使用局部信息進行決策的條件下,允許使用一些額外的信息(全局信息)進行學習,這也改善了Q-learning在學習與應用時必須采用相同的信息的局限性。
針對大規模異構多智能體訓練時間長、難度大等問題,本文提出基于元課程學習的大規模異構多智能體強化學習訓練框架,運用基礎課程元模型提取、基于課程學習的元模型遷移等機制,降低了大規模異構多智能體強化學習訓練的難度,提高學習效率。
本文將大規模學習問題基于部分可觀測性自然地轉化為若干小規模問題,并且在多智能體系統中,智能體往往只需要與鄰域內的個體進行合作,最終實現整體目標協調,這形成了一個稀疏的交互環境。基于元課程學習的大規模異構多智能體強化學習訓練框架從小型多智能體場景下開始學習,并逐步增加學習目標任務的多智能體數量,跨越不同任務,加快元課程學習過程。下面將定義課程學習以及元課程的相關概念。
定義1:課程學習是指多智能體協同博弈模型先從容易的任務開始學習,并逐漸進階到復雜的任務,將該課程表示為 T ={T1,T2,…,Tk-1,Tk}。
定義2:元課程是指上述課程列表中較為簡單的任務,即T1,T2,…,Tk-1,Tk表示需要學習的復雜任務。
定義3:元模型是指針對元課程進行訓練得到的策略模型,即 π1,π2,…,πk-1。
隨著智能體數量的增加,逐步構建課程來進行大規模異構多智能體學習訓練,課程序列可以手動設計或自動生成。圖2 展示了一個包含3 個課程的動態多智能體元課程學習機制示例。在星際爭霸Ⅱ中,目標課程是在20 對戰20 的場景,先學習課程1,即 5 對戰 5 的場景,然后學習課程 2,即 10 對戰 10 的場景,最后學習終極目標課程。

圖2 星際爭霸Ⅱ元課程構建示意圖Fig.2 Meta curriculum construction based on Star Craft Ⅱ
距離蒸餾法(kullback-leibler,KL)作為一種更普遍的監督模式,適用于on-policy 和off-policy 的強化學習算法。給定元課程序列T ={T1,T2,…,Tk-1}以及當前復雜課程Tk,為了加速當前的學習訓練過程,通過對學習過的課程進行蒸餾把基礎課程的知識進行轉化,利用元學習方法針對元課程序列T ={T1,T2,…,Tk-1}訓練元模型。具體來說,增加了一個額外的蒸餾損失LDistil,作為常規強化學習損失的正則項。

圖 3 中,πi為課程 Tk的策略網絡,π*為元模型策略網絡,由于元課程序列 T ={T1,T2,...,Tk-1}的智能體數量不斷增加,不同的元課程網絡輸入有所不同,網絡維度逐漸增加,將維度較小的網絡進行補零處理。

圖3 基礎課程元模型提取示意圖Fig.3 Meta model extraction in basic tasks
在對基礎課程元模型π*進行提取后,利用基于課程學習的模型遷移方法來初始化目標課程場景的策略網絡。
如圖4 所示,針對元模型遷移再訓練問題,保留原網絡中的歷史知識信息,也即基礎課程元模型π*,并且引入新的擴展網絡權重再訓練新網絡,提升模型在新課程下的泛化能力及準確性,主要用于保留公共部分權重,完成遷移訓練,加快收斂速度。由于智能體數量不同,策略網絡的動作空間也會有所不同,同樣會將維度較小的網絡進行補零處理。

圖4 基于課程學習的元模型遷移Fig.4 Meta model transfer based on curriculum learning
在眾多實時策略游戲人工智能研究環境中,星際爭霸相比之前大多數平臺更具規范性和挑戰性。DeepMind 和暴雪聯合開發了基于《星際爭霸Ⅱ》的深度學習研究環境SC2LE,如圖5 所示。該環境可在指定地圖上提供AI 接口,利用基于規則或者基于學習的方法控制相應智能體。因此,選擇了在《星際爭霸II》指定地圖上進行仿真與實驗。

圖5 《星際爭霸II》地圖Fig.5 "Star Craft II" map
在《星際爭霸Ⅱ》3m_vs_3m 以及5m_vs_5m 2 個地圖上進行基礎課程元模型提取,將得到的元模型策略網絡遷移至8m_vs_8m 目標地圖上進行再訓練,得到仿真結果如圖6、7 所示。
從圖6 中可以看出基于元課程強化學習的訓練方法可以有效地提升訓練速度,在訓練的初始階段便可以獲得較高的勝率,而傳統訓練方法的勝率則上升較為緩慢,體現出了元課程強化學習的優勢。

圖6 基于元課程強化學習的訓練過程對比圖Fig.6 Training process based on the meta curriculum reinforcement learning
圖7 展現了訓練過程中的獎勵回饋情況,可以看到在訓練初始階段,由元模型策略網絡初始化的訓練網絡可以獲得較高的獎勵,而傳統訓練方法則需要進行探索以提升獲得的獎勵。獎勵機制的增加過程展現了元課程強化學習,可以有效地支撐多智能體協同博弈策略的高效生成。

圖7 不同訓練步長下的平均獎勵對比圖Fig.7 Training process based on the meta curriculum reinforcement learning
進一步對2 種方法分別進行了20 次獨立的仿真實驗,繪制了不同訓練步長下元課程學習訓練方法與傳統直接訓練方法的勝率箱線圖,如圖8 所示。可以看出,在不同訓練步長下,元課程強化學習的勝率分布均大幅高于直接訓練方法,而且提升幅度在初始訓練步長中體現尤為明顯,證明了基于元課程強化學習的多智能體協同博弈技術的有效性。

圖8 不同訓練步長下的勝率對比圖Fig.8 Win rate under different training steps
針對大規模多智能體協同博弈訓練時間長的問題,本文提出了一種基于Actor-Critic 的多智能體強化學習協同博弈框架,利用元課程強化學習方法對小規模場景進行元課程模型提取,并且基于課程學習向大規模場景進行模型遷移訓練,最終得到較優協同策略。仿真實驗結果表明基于元課程強化學習的多智能體協同博弈技術可有效地加速其訓練過程,相對于傳統訓練方法在較短時間內可以達到較高的勝率,訓練速度提升約40%,該方法可有效支撐多智能體協同博弈策略的高效生成,為低資源下的強化學習高效訓練提供可靠支撐。
非完全信息下的多智能體博弈研究是當前眾多人工智能研究團隊努力攻克的難題,雖然有新的成果不斷產生,但至目前為止,完整游戲情況下,人工智能游戲程序仍無法達到人類高水平玩家的水平。為了達成這一目標,除了文章前述的研究方法之外,一些研究者將注意力放在多智能體分布式決策上。分層和分任務決策對星際爭霸來說可能是一種發展方向,通過將對抗任務分為不同的層次和拆分成不同的任務模塊,在小的任務范圍內進行學習,最終將這些模塊整合成一個完整的人工智能游戲程序。另外,將博弈論作為對抗分析的指導方法,會給該領域帶來新的解決思路。除此之外,模仿學習、遷移學習以及增量式學習也可能在該領域具有良好的表現。