費思邈,霍 琳,李詩琪
(1.沈陽飛機設計研究所, 沈陽 110035; 2.沈陽航空航天大學, 沈陽 110135)
隨著經濟與科學技術的快速發展,高新技術越來越多的被運用在戰爭中,作戰環境也變得越來越復雜惡劣。具有自主決策能力的無人機,由于不受飛行員的情緒和身體狀況的影響,不會因為受到刺激而出現操縱失誤,故而在這種變化中更能體現出優越性[1]。
但單個無人機作戰能力有限。無人機集群靈活、自主、高效、可擴展,在協同作戰時能降低作戰成本、減少作戰人員傷亡[2],同時又兼具了單個無人機對飛行員的依賴、環境適應性強的特點,是未來戰爭的重要發展趨勢。從協同拓撲結構上來講,無人機協同作戰分為有中心協同與無中心協同2種。有中心協同把所有無人機看作一個整體,其中的核心決策節點決定每個無人機具體執行何種任務、何種動作,任務分配屬于這種協同類型。無中心協同指的是每個無人機節點都看作獨立的智能體,智能體本身通過對環境的感知、局部的認知實施決策行為,進而實現群體上的協同。隨著單體無人機智能水平的提升,無中心協同以其對通訊的低水平以及高生存力等特點,更有希望實現復雜任務的協同決策。異構無人機的智能協同就是一種非常常見的無中心協同模式。
異構無人機智能協同策略學習的瓶頸主要體現在不同無人機同時決策產生的動作噪聲會影響無人機對本機自身動作價值的評價,且隨著集群規模的增加,聯合動作序列的噪聲呈指數增長[3]。由于算法設計的簡單性和通用性,多智能體強化學習算法被廣泛應用于異構無人機協同策略學習中[4]。但其中常用來訓練的獨立強化學習方法由于自身價值評價的不穩定性而無法保證收斂[5]。
為了解決這個問題,很多研究集中在集中式訓練分布式執行的框架,直接構建所有智能體的聯合動作值函數,該方法在小規模多智能體協同策略學習上展現出了很好的效果[6-7],假設聯合動作函數和每個智能體動作函數的單調性的VDN算法[8]以及在其基礎上做了非線性改進的QMix算法[9]。還有一種訓練框架是集中式訓練集中式執行,這種框架把整個群體看成一個超級大腦的單智能體,用一般強化學習算法進行求解。該框架在應用上的瓶頸主要體現在當智能體數量龐大時,動作空間維度快速增長,且在真實物理環境中智能體之間的通訊連接不可能像神經網絡內部通訊那樣迅速。此外,對于動作簡單的智能體,如果動作只跟群體的平均行為相關,即使智能體規模巨大,也可采用基于平均場理論的MFMARL(mean field multi-agent reinforcement learning)算法[10-12]。然而目前為止,這類算法對于策略相對復雜的多智能體問題的有效性還有待考察。獨立強化學習和集中式訓練分布式執行框架以及MFMARL算法,均認為群體是由個體組成的,并且每個個體有一個策略用于輸出個體的動作,群體的行為是由每個個體的行為涌現而出的。相對于獨立強化學習而言,集中式訓練分布式執行框架本質上是求所有智能體聯合動作值函數。雖然該框架能降低同時決策的動作噪聲帶來的不穩定性,但無人機智能體數量較多時,聯合動作值函數很難收斂;文獻[8-9]等算法構建了近似聯合動作值函數而不是直接求聯合動作值函數本身,引入了很強的假設限制,即假設每個智能體都是無私的或者每個智能體的利益(獎賞)與群體的利益是正相關的。獨立強化學習則并不存在這種假設限制,無人機智能體可通過自私的方式單獨學習自己的動作值函數和策略模型。對于無人機編隊的多智能體的合作博弈問題,雖然很多情況下,每個無人機智能體都以群體利益為中心對于群體本身說是最佳方案,但并不代表每個智能體以自私的方式優化自身行為會影響群體執行任務的成功率或效果。相反,在自然界和人類社會中,大多數群體行為均是以自身利益最大化最終涌現出群體更大的運行效能,例如資本家對自身財富的貪婪使得社會財富增加、社會協作和科技進步。
獨立強化學習框架將單智能體強化學習算法直接套用在多智能體系統中,即每個智能體把其他智能體都當做環境中的因素,仍然按照單智能體學習的方式來更新策略。因此,獨立強化學習算法有更好的應用前景,即使在無人機智能體交互類型未知或者其他無人機智能體數量不確定的環境中也適用。但純粹的獨立強化學習忽略了其他無人機智能體也具備決策的能力、所有個體的動作共同影響環境的狀態,使得它很難穩定地學習并達到良好的效果。
近年來,基于獨立強化學習思想衍生了一些精彩的工作。文獻[13]允許智能體通過環境使用局部信息和間接協調并在環境中留下“痕跡”,激勵其他智能體的后續行動。Daskalakis[14]認為:雖然獨立策略梯度方法一般可能不會收斂,但遵循雙時間刻度規則的策略梯度方法會收斂為納什均衡。LI Hepen[15]提出了一種可以基于局部觀察和私人獎勵優化分布式策略的算法,雖然算法對異構智能體的效果還沒有被有效證明,但從同構智能體的效果來看,其在保留獨立強化學習幾乎全部優勢的同時有了質的飛躍。
本文以2個攻擊型無人機以及3個干擾型無人機作為異構多智能體,通過無人機編隊干擾4個地空雷達組成的封鎖區,并攻擊有價值目標為任務背景,運用獨立強化學習多智能體學習框架,提出了一種僅僅通過控制獨立強化學習中單個智能體的策略變化幅度和單個智能體自身獎賞設計,即可使單智能體自身利益最大化,實現任務想定目標的方法。通過獎賞函數的構造,提出的方法在某些情況可以覆蓋多種博弈形式的多智能體強化學習問題[16]。
本文旨在研究異構無人機編隊如何有效自主協作,學習到復雜的合作行為,研究任務背景為2個攻擊型無人機以及3個干擾型無人機,通過干擾4個地空雷達組成的封鎖區,并攻擊有價值目標。具體的任務想定如下:
5架飛機對指定區域進行協同搜索與打擊,包含3架干擾型無人機和2架攻擊型無人機。干擾型無人機(干擾機)可干擾地空雷達以及有價值目標的探測雷達,攻擊型無人機(攻擊機)對被攻擊目標進行自殺性攻擊。當有一個無人機發現威脅或目標后,共享給其他無人機。集群發現地空雷達后,規避威脅,繼續搜索目標,空中飛行過程中需要自主防止飛機間的相撞。搜索到被攻擊目標后,2種無人機相互配合對有價值目標進行攻擊,判斷任務完成的條件為徹底擊毀有價值目標。
本文采用每架無人機為一個單獨智能體的無中心控制模式,即每架無人機根據自身探測結果和周圍無人機探測結果決策期望的飛行速度矢量。干擾行為的有效距離是15 km,有效角度正負15°,如圖1所示。當攻擊機實施自殺式攻擊的距離小于等于10 m,有價值目標被徹底擊毀。飛機探測距離20 km,地空雷達能夠發現并摧毀10 km內干擾角域以外所有的飛機。有價值目標自帶的雷達探測距離10 km,有干擾時在干擾角度內無法攻擊飛機,其他角度可以利用自帶的1枚防空導彈,擊毀10 km內的飛機。
初始化及整個仿真過程中任意2架無人機間距離應大于100 m,否則認為相撞,2架無人機均損失。

圖1 突防任務想定示意圖
本文針對上述任務背景,采用基于PPO(proximal policy optimization)近端策略優化方法[17]的獨立強化學習框架,討論如何僅通過控制獨立強化學習中單個智能體的策略變化幅度和單個智能體自身的獎賞函數,使其以單智能體自身利益最大化為優化目標完成任務想定。在PPO算法本身新老策略的KL距離[18]限制基礎上,提出了一種平衡協調機制,即群體策略變化幅度增益均衡協調機制,用于統一控制參與學習的異構智能體策略變化幅度,構建相對穩定的多智能體訓練環境狀態。
根據任務想定,參與學習的無人機智能體包含2種異構策略:一類負責動態地干擾敵方探測,另一類負責攻擊有價值目標。因此設計每個無人機智能體的策略時,也構建2種異構智能體的策略網絡和估值網絡,用于承載2種策略不同的價值評價。2種策略分別驅動2個攻擊機和3個干擾機進行分布式序貫決策。2種策略在一場比賽中采集5條軌跡,并分成2組數據分別返回給2種策略,進行獨立的強化學習策略評估和改進。在策略改進的過程中,為了減少由于2種策略相互影響,以及策略自身的改進幅度對自身和其他策略的影響,需要對每種策略更新幅度的KL距離限制進行控制,使整個學習過程平穩進行。
PPO算法優化目標為:
(1)

設定目標距離限制dtarg,根據dtarg與d的關系動態調整自適應因子β,調整方法如下:
(2)
(3)
首先對于整體任務想定而言,攻擊機與干擾機策略有2個共同的子任務:第1個子任務是搜索并發現抵近目標,第2個子任務是飛機間在飛行過程中的防撞。對于這2個子任務,2種策略有相同的價值評價,可以共享相同的動作值函數網絡。其次對于個性化的子任務而言,攻擊機策略個性化任務是躲避地空雷達搜索以及攻擊有價值目標,而干擾機的個性化任務是在有價值目標或者地空雷達附近建立穩定的干擾區,保護攻擊機不被防御系統攻擊。這2種個性化任務相互交織、互為前提。攻擊機個性化任務是否成功,依賴于干擾機能否根據攻擊機的行進軌跡預先建立穩定的干擾區,而干擾機的個性化任務依賴于攻擊機的飛行路線以及攻擊行為。因此,為了平衡這種相互依賴的任務價值評價關系,本文提出2個階段的訓練模式。
為了讓異構策略的獨立強化學習的多智能體訓練的每一種策略類型相互間充分適應,提出一種2個階段的學習訓練模式,具體為:
1) 將每一種策略的任務目標區分為所有策略共有的目標以及每一種策略特有的任務目標。然后先針對共性任務目標開展學習訓練,再引入個性化任務目標開展訓練。
2) 在整個訓練過程中,周期性調整每一種策略的目標距離限制,目的是當一種策略大幅更新時其他策略相對穩定。
第1階段,主要體現在優勢函數的迭代更新過程,即需要將每一種策略的估值函數Vφ(st)區分成針對共性任務目標的估值函數,以及針對差異化個性任務目標的估值函數,Vφ(st)=Vφc(st)+Vφs(st),相應的模型參數φc∪φs=φ。需要注意的是,對于所有策略來說,Vφc(st)的參數φc可以是共享的。該策略的獎賞函數同樣區分成共性和個性獎賞的和,即,R(st,at,st+1)=Rc(st,at,st+1)+Rs(st,at,st+1),訓練過程首先固定該策略對應估值函數參數φs,可以是初始化狀態。同時令Rs(st,at,st+1)≡0,開展所有策略的迭代訓練,優化L(θ,φc)。本階段,策略改進的目標距離限制dt arg為常數。策略的平均累計獎賞值收斂后開展第,2階段的全局訓練,還原Rs(st,at,st+1),同時引入第2種機制,優化L(θ,φ)。
第2階段,主要作用在全局訓練中,以本文的2種策略為例,個性化子任務與共有子任務的獎賞均有效,即,R(st,at,st+1)=Rc(st,at,st+1)+Rs(st,at,st+1),并在訓練過程中,同時更新θ與φ,但采用鐘擺式策略改進幅度,也就是說,2種策略的新老策略KL距離限制隨著迭代次數的增加,周期性此消彼長的變化,即每種策略的更新幅度交替進行。例如,當攻擊機策略更新幅度限制較大時,干擾機策略保持相對平穩的狀態,因此攻擊機策略就會在相對平穩的環境中訓練,經過一段時間的訓練,攻擊機策略的更新幅度限制降低,而干擾機策略更新幅度限制增加,使得干擾機策略能夠基于相對穩定的攻擊機當前策略響應進行最優的訓練。這種機制在一定程度上解偶了2種目標迥異的策略在同時訓練過程中的相互干擾,并交替式在對方策略穩定的基礎上,朝向自身任務目標方向更新。經過一段時間的交互式訓練,隨著2種策略平均累積獎賞逐漸收斂,2種策略改進幅度的鐘擺幅度也將阻尼式收斂,這種振幅收斂方式有利于2種異構策略的融合訓練。
在3.1節算法策略幅度變化KL限制的基礎上,本文提出了一種平衡協調機制,可以用表示為:

(4)
式(4)中,d是帶阻尼鐘擺效應的平衡因子。d表示為:
(5)
式(5)中:titer是訓練迭代次數,完成一次所有策略的評估和改進即為一代;T為總訓練代數;Ts為鐘擺效應周期。
具體算法如下:
群體策略幅度增益均衡算法
Step1: 定義攻擊機與干擾機的策略及動作之函數πθ1,πθ2,Vφ1,Vφ2,Rc(st,at,st+1),Rs(st,at,st+1)其中πθ1,πθ2為攻擊機和干擾機的策略網絡,Vφ1=Vφc1+Vφs1,Vφ2=Vφc2+Vφs2分別是攻擊機和干擾機個性化任務的估值函數網絡以及共性任務估值函數網絡。
Step2: 針對共性任務的策略訓練,屏蔽個性化任務獎賞函數,固定Vφs1及Vφs2,Rs(st,at,st+1)≡0,dtarg=c,更新θ1,θ2與φc1,φc2來優化每個策略,直到平均累計獎賞值收斂或到規定的迭代次數。

為了更加直觀地體現并驗證利用上述方法訓練多智能體無人機編隊協同執行復雜任務的效果,設定2個攻擊型無人機以及3個干擾型無人機通過干擾4個地面雷達,通過封鎖區并攻擊有價值目標為作戰任務,進行仿真實驗。實驗通過控制獨立強化學習中單個智能體的策略變化幅度和單個智能體自身獎賞設計,使其僅僅通過優化單智能體自身利益最大化,實現防撞路徑規劃、干擾壓制以及有效利用干擾區攻擊有價值目標。
所考慮的戰場范圍為100 km×100 km的矩形區域,集群從西向東搜索有價值目標,決策周期1 min。敵方目標分布在戰場東部區域,有價值目標被4個地空雷達防空系統包圍,基本上封鎖了被保護的有價值目標。地空雷達防御系統,具備探測和打擊功能。有價值目標是無人機集群的核心打擊目標,它同時也具備探測和攻擊功能。從經驗上來說進攻思路是:由干擾機撕裂地空雷達防空系統的封鎖,構建一片小范圍的安全區域,攻擊機沿著動態變化的安全區域進入封鎖區。同時干擾機在有價值目標的攻擊路線上構建干擾安全區域,攻擊機沿著新的安全區域進攻有價值目標,還要考慮全程的相互避障。
總體上,若想成功完成打擊任務,需要所有無人機智能體自我學習出如下群體策略能力:① 相互之間防撞能力;② 干擾機主動構建出對攻擊機有利的安全區;③ 攻擊機主動識別安全區位置和角度,并利用安全區實施攻擊;④ 干擾機和攻擊機相互配合動態調整干擾區的位置,運送足夠多的攻擊機去攻擊有價值目標。這個無人機群體的攻擊行為由每個智能無人機自主決定并實施,需要他們通過各自策略的學習最終涌現出群體上有效的進攻行為。
攻擊機的任務是不與友機相撞,并且在干擾機的掩護下攻擊有價值目標。干擾機的任務是不與友機相撞,并且通過干擾敵方雷達來構建安全區掩護攻擊機完成任務。
觀測空間:對于攻擊機與干擾機來說,其策略的輸入是智能體的觀測量相同,均由x維度向量構成,主要包含自身位置坐標,其他友軍的位置坐標以及存活狀態,敵方單位位置坐標。以戰場西南方為坐標原點,智能體不允許出戰場,敵方單位在未被發現時坐標為-1。
動作空間:假設攻擊機發現目標后可以自動攻擊,干擾機可以進行全程干擾,因此對于攻擊機和干擾機來說,策略的輸出是智能體所做的動作相同,由y維度向量構成,分別代表東西方向與南北方向的速度。
干擾機和攻擊機策略模型輸入分別如表1、表2所示,其中,計算本機與其他無人機坐標之差,默認被摧毀的無人機坐標差認為0。

表1 干擾機策略模型輸入

表2 攻擊機策略模型輸入
狀態轉移:由于2種機型的動作空間均為2個方向的速度,因此狀態轉移方程可直接用運動方程表示,為了統一維護所有智能體的狀態,構建一個全局性的矩陣,矩陣包含3列,前2列代表每個無人機的坐標,第3列代表每個無人機是否存活,矩陣的行代表不同的無人機。每一個決策周期均維護這個矩陣。
獎賞函數:對于干擾機和攻擊機,觀測空間、動作空間和狀態轉移基本上遵循相同的形式,然而獎賞函數由于任務內涵的不同,整體結構也不同。因此,需要針對不同種類的智能體設計不同的獎賞函數。每個智能體獎賞函數分為2個部分:第1部分,稱之為共性獎賞函數,用于獎勵或懲罰任務內涵中相同的任務導向,在本文的想定任務中,共性任務包含2個方面:① 多個無人機智能體之間時刻保持大于某個防撞距離,防止智能體之間相撞損毀;② 每個無人機智能體盡快發現目標并朝敵方目標抵近。第2部分,稱之為個性獎賞函數,對于攻擊機來說,個性化獎賞函數是引導智能體進入干擾機構建的安全區,并伺機攻擊敵方有價值目標。而對干擾機來說,是引導智能體構建合理的動態安全區,護送攻擊機安全地攻擊。因此,2種無人機智能體策略對應的獎賞函數如表3、表4所示。

表3 干擾機獎賞類別

表4 攻擊機獎賞類別
策略形態:2種策略均采用4層256節點全連接神經網絡表示。
整個無人機編隊協同訓練任務采用分布式訓練方式,主訓練節點采用2塊Nvidia Tesla v100 32G GPU開展集中式神經網絡訓練,采樣節點構建128個worker用于并行采樣,每個worker占用1核CPU,分布在2臺64核CPU,256G內存的服務器上。根據上述策略幅度增益均衡機制算法,首先進行共性獎賞訓練,即獎賞函數中表3、表4第3列,共性獎賞所在的獎賞描述生效。主要目的是讓每個智能體學會一些通用的策略準則,例如主動尋找有價值目標以及相互之間的防撞。迭代n次以后,開展針對個性獎賞訓練,并運用策略變化幅度動態平衡技術,周期性更新每種策略的更新幅度。具體訓練結果如圖2~圖4所示,其中,綠線是采用KL距離限制的策略幅度增益均衡機制算法訓練得到的結果,紅線是除了策略幅度增益均衡機制外其他訓練參數均相同的獨立強化學習算法的訓練結果。
分別訓練后,策略幅度增益均衡機制算法經過30輪左右的迭代,學習到了完成任務的方法,并在探索關閉的情況下可以穩定地完成任務,實現了異構多智能體的穩定自主協同合作完成想定任務,如圖5所示。而獨立強化學習算法經過100輪的訓練仍然沒有找到完成任務的方法,并且平均獎賞曲線抖動很大、訓練效果不穩定。最終結果是攻擊機和干擾機沒有有效配合,導致攻擊機一直處于被防空導彈擊落的狀態。

圖2 訓練結果與獨立強化學習的訓練曲線(攻擊機獎賞)

圖3 訓練結果與獨立強化學習的訓練曲線(干擾機獎賞)

圖4 訓練結果與獨立強化學習的訓練曲線(平均獎賞)

圖5 策略增益均衡機制算法訓練的2種異構智能體的行為表現示意圖
本文以異構無人機集群執行復雜任務為背景,基于獨立獨立強化學習的多智能體框架,提出了一種新的群體策略變化幅度增益均衡協調機制與一種兩階段的訓練方式,使其僅通過單智能體自身利益最大化學會協同,完成復雜任務,構建相對穩定的多智能體訓練環境狀態,訓練并實現異構無人機編隊的智能協同合作策略。通過仿真實驗證實,本文提出的算法策略學習效果遠好于改良之前的獨立強化學習算法。該試驗任務想定面向的是智能體之間的合作博弈場景,然而本方法涉及到合作博弈問題的部分是獎賞函數的構建,即,將獎賞函數區分為共性獎賞和個性獎賞。策略變化幅度均衡部分,并沒有涉及到合作博弈假設,在某些情況下策略變化幅度均衡機制可以覆蓋多種博弈形式的多智能體強化學習問題。