楊書恒,張 棟,任 智,唐 碩
(1.西北工業(yè)大學(xué)航天學(xué)院,西安 710072;2.西北工業(yè)大學(xué)空天飛行器設(shè)計陜西省重點實驗室,西安 710072)
近年來,隨著無人機(jī)技術(shù)和人工智能算法的不斷發(fā)展,實現(xiàn)未來空戰(zhàn)的關(guān)鍵途徑是空戰(zhàn)過程智能化[1]。無人機(jī)集群作戰(zhàn)是未來的主要作戰(zhàn)樣式,擁有更強(qiáng)大的動態(tài)適應(yīng)性[2],其對抗系統(tǒng)存在規(guī)模龐大、任務(wù)復(fù)雜、決策空間大、隨機(jī)性高、狀態(tài)不確定等難題。Chin和Bechtel[3-4]提出了一種基于專家系統(tǒng)的集群協(xié)同決策方法,通過模糊邏輯和專家知識庫來幫助飛行員做出更好的機(jī)動決策。人工蜂群法[5]、螢火蟲法[6]、粒子群法[7]等群體智能的方法也被廣泛應(yīng)用于此類問題。冉惟之[8]設(shè)計了基于群體智能的無人機(jī)協(xié)同控制算法,通過無人機(jī)集群信息素和任務(wù)分配、路徑規(guī)劃等的設(shè)計,實現(xiàn)了基于人工蜂群信息素的無人機(jī)集群協(xié)同方法。在此背景下,無人機(jī)集群逐漸成為無人機(jī)執(zhí)行任務(wù)的有效方式,集群作戰(zhàn)成為未來的發(fā)展趨勢。
隨著集群技術(shù)的發(fā)展,集群對抗的策略與方法逐漸成為研究的熱點和關(guān)鍵。集群演化的規(guī)則是集群智能形成的關(guān)鍵。隨著人工智能技術(shù)和深度強(qiáng)化學(xué)習(xí)技術(shù)的不斷發(fā)展、突破[9],強(qiáng)化學(xué)習(xí)技術(shù)被廣泛應(yīng)用于智能體對抗領(lǐng)域。強(qiáng)化學(xué)習(xí)主要通過獎勵函數(shù)的學(xué)習(xí)來優(yōu)化自身策略,被視為高級人工智能得以實現(xiàn)的最有潛力的方法[10]。利用深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)方法的結(jié)合,強(qiáng)化學(xué)習(xí)可通過不斷迭代訓(xùn)練使累計獎勵最大化來獲得智能化策略,而深度學(xué)習(xí)可通過深層神經(jīng)網(wǎng)絡(luò)表征復(fù)雜空間的非線性和泛化性[11]。智能體能夠在不同的環(huán)境下自主進(jìn)行迭代優(yōu)化,產(chǎn)生最優(yōu)的集群協(xié)同策略,適用于解決規(guī)模愈加龐大、決策愈加復(fù)雜的空戰(zhàn)問題,是解決集群對抗博弈問題的有效途徑。文獻(xiàn)[12-14]利用專家知識和神經(jīng)網(wǎng)絡(luò)相結(jié)合對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,對基于專家知識的方法進(jìn)行拓展,實現(xiàn)了穩(wěn)定性強(qiáng)、適應(yīng)動態(tài)環(huán)境的無人機(jī)集群協(xié)同決策控制方法。
現(xiàn)有的強(qiáng)化學(xué)習(xí)算法設(shè)計的動作空間和狀態(tài)空間較為龐大,對計算機(jī)算力提出了相當(dāng)高的要求,算力限制導(dǎo)致算法難以應(yīng)用于無人機(jī)集群對抗環(huán)境。且其通常忽略了其他智能體的動態(tài)性,動態(tài)適應(yīng)性差、不易收斂。為更好地完成集群協(xié)同控制,本文圍繞以上問題展開研究,利用中心化訓(xùn)練、去中心化執(zhí)行的方法把DDPG算法擴(kuò)充為MADDPG算法,解決了多智能體博弈問題。目前,MADDPG算法已經(jīng)得到大量應(yīng)用,但其收斂性等仍存在不合理性,算法難以在復(fù)雜環(huán)境中得到良好應(yīng)用。對于強(qiáng)化學(xué)習(xí)問題,動作空間、狀態(tài)觀測空間以及獎勵空間的設(shè)計能夠在極大程度上影響算法對于不同問題的收斂性,同時也對最終的訓(xùn)練效果起到?jīng)Q定性的作用。因此,本文對MADDPG算法所采用的動作空間、狀態(tài)觀測空間以及獎勵空間進(jìn)行設(shè)計,引入了更多的及時獎勵以引導(dǎo)無人機(jī)集群涌現(xiàn)出更優(yōu)的智能化策略,實現(xiàn)了算法在無人機(jī)集群對抗下的應(yīng)用。最終,利用MaCA環(huán)境實現(xiàn)對抗仿真,驗證了算法的優(yōu)越性、泛化性和可實行性,具有一定的現(xiàn)實意義。
MaCA(Multi-agent Combat Arena)環(huán)境是中國電子科技集團(tuán)公司認(rèn)知與智能技術(shù)重點實驗室于2019年1月推出的多智能體對抗算法研究、訓(xùn)練、測試和評估的環(huán)境。環(huán)境為研究利用人工智能方法解決大規(guī)模多智能體分布式對抗問題提供了很好的支撐。環(huán)境支持使用 Python 語言進(jìn)行算法實現(xiàn),并可調(diào)用 Tensorflow、Pytorch 等常用深度學(xué)習(xí)框架。因此本文利用其設(shè)計算法和對抗策略。
本文以MaCA環(huán)境為基礎(chǔ),創(chuàng)建了網(wǎng)格化的作戰(zhàn)空域。利用環(huán)境預(yù)設(shè)的探測無人機(jī)單元和攻擊無人機(jī)單元及其特性,引入紅、藍(lán)兩方無人機(jī)并設(shè)定各自的性能參數(shù)與對抗策略,設(shè)計了同構(gòu)智能體對抗場景和異構(gòu)智能體對抗場景。
同構(gòu)智能體對抗場景指對抗場景中的紅、藍(lán)兩方各擁有性能、參數(shù)、類型均相同的10個攻擊無人機(jī)單元,攻擊無人機(jī)具備偵查、搜索、探測、干擾和攻擊等功能。而異構(gòu)智能體對抗場景指對抗場景中的紅、藍(lán)兩方各擁有性能、參數(shù)、類型截然不同的12個攻擊無人機(jī)和探測無人機(jī),探測無人機(jī)具備偵查、搜索、探測等功能,攻擊無人機(jī)功能與同構(gòu)智能體對抗場景中相同。場景中的探測無人機(jī)可以模擬多頻點切換下兩個不同波段雷達(dá)的探測行為。場景中的攻擊無人機(jī)可以模擬多頻點切換下X波段雷達(dá)的指向性探測行為,以及模擬 3個不同波段雷達(dá)的指向性電子干擾行為。具體的雷達(dá)波段信息以及同構(gòu)、異構(gòu)對抗場景下的無人機(jī)屬性均參考環(huán)境說明文檔。
MaCA環(huán)境支持研究者設(shè)計的紅、藍(lán)兩方多智能體算法在設(shè)定的集群對抗場景中進(jìn)行博弈對抗,環(huán)境中預(yù)置了簡單的基于規(guī)則實現(xiàn)的對抗策略。同樣地,集群對抗場景也能夠利用多智能體強(qiáng)化學(xué)習(xí)算法等方法訓(xùn)練后得到的參數(shù)模型,MaCA環(huán)境與算法模型和對抗場景的交互關(guān)系如圖1所示。
圖1 MaCA環(huán)境與對抗交互關(guān)系示意圖Fig.1 Schematic diagram of the interaction between MaCA environment and confrontation
2.2.1 無人機(jī)動作行為模型
三維空間中無人機(jī)的運(yùn)動過程較為復(fù)雜,其狀態(tài)信息包括位置信息和速度矢量,而本文研究重點在于多智能體強(qiáng)化學(xué)習(xí)算法的設(shè)計,因此將其簡化為二維平面問題。同時,盡可能地簡化了現(xiàn)實空戰(zhàn)環(huán)境中對無人機(jī)的真實約束作用,使得探測無人機(jī)僅通過全向航向角以及雷達(dá)開關(guān)和頻點數(shù)對動作行為模型進(jìn)行描述,攻擊無人機(jī)僅通過全向航向角、雷達(dá)開關(guān)和頻點數(shù)、干擾設(shè)備的開關(guān)機(jī)和頻點數(shù)以及是否對目標(biāo)敵機(jī)發(fā)射何種導(dǎo)彈4個方面對動作行為模型進(jìn)行描述。因此,探測和攻擊無人機(jī)單元的動作行為空間分別被簡化為二維數(shù)組,數(shù)組的每一行代表了每一個無人機(jī)單元的動作值。以環(huán)境中2個探測無人機(jī)單元,10個攻擊無人機(jī)單元的作戰(zhàn)規(guī)模為例,其動作行為預(yù)設(shè)模型數(shù)組的具體內(nèi)容如表1、2所示。
表1 探測無人機(jī)動作行為預(yù)設(shè)模型Table 1 Detecting UAV action behavior model
表2 攻擊無人機(jī)動作行為預(yù)設(shè)模型Table 2 Attack UAV action behavior model
本文將該動作行為模型應(yīng)用于基于 DQN算法的策略和基于MADDPG算法的策略中。
DQN算法僅能夠處理離散、低維的動作空間,因此算法將動作空間分割為16份,每一份對應(yīng)22.5°的航向角,算法僅輸出[0,16]的離散數(shù)據(jù),在訓(xùn)練過程中乘以每一份對應(yīng)的22.5°航向角,將其映射到無人機(jī)的二維平面運(yùn)動模型中。
MADDPG算法能夠處理連續(xù)的動作空間,對于許多 DQN算法無法解決的問題具有良好的性能。因此,MADDPG算法采用 sigmoid激勵函數(shù)作為最后一層神經(jīng)網(wǎng)絡(luò)的激勵函數(shù),以此實現(xiàn)[0,1]范圍內(nèi)的連續(xù)輸出。在訓(xùn)練時,算法再利用先前的連續(xù)輸出乘以動作空間范圍,即乘以359。將[0,1]范圍內(nèi)的連續(xù)輸出映射到無人機(jī)的二維平面運(yùn)動模型中,實現(xiàn)了對連續(xù)動作空間的處理。
2.2.2 狀態(tài)觀測模型
除動作行為模型外,為實現(xiàn)多智能體強(qiáng)化學(xué)習(xí)算法對無人機(jī)集群的訓(xùn)練還需要建立對應(yīng)的狀態(tài)觀測模型,多智能體強(qiáng)化學(xué)習(xí)算法將利用所獲取的狀態(tài)觀測值對動作行為的選擇策略進(jìn)行更新,從而達(dá)到無人機(jī)集群智能化決策的目的。本文基于MaCA環(huán)境的環(huán)境底層原始觀測數(shù)據(jù)對狀態(tài)觀測模型進(jìn)行設(shè)計以使得其能夠適用于多智能體強(qiáng)化學(xué)習(xí)算法,創(chuàng)建了無人機(jī)數(shù)據(jù)狀態(tài)、位置狀態(tài)兩類狀態(tài)觀測模型,實現(xiàn)對無人機(jī)集群的訓(xùn)練。
探測和攻擊無人機(jī)數(shù)據(jù)狀態(tài)模型是二維數(shù)組,分別包括了無人機(jī)的航向角信息,航向角、遠(yuǎn)程、中程導(dǎo)彈剩余量信息,以此返回數(shù)據(jù)狀態(tài)觀測值。
探測和攻擊無人機(jī)位置狀態(tài)模型是四維數(shù)組,其形狀為N×X×Y× 3 ,其中
式中,Xbattlefield、Ybattlefield是表示對抗場景大小的橫縱坐標(biāo)值,ratio是圖像信息的運(yùn)算比例,用于縮減運(yùn)算值為適應(yīng)算法的大小。
四維數(shù)組的具體內(nèi)容包括探測或攻擊無人機(jī)單元的數(shù)量、所有敵方目標(biāo)可能出現(xiàn)的位置、探測敵方目標(biāo)無人機(jī)的 ID編號、探測敵方目標(biāo)無人機(jī)的類型(1為探測無人機(jī),2為攻擊無人機(jī))以及友方無人機(jī)位置。敵方目標(biāo)可能出現(xiàn)的位置和友方無人機(jī)的位置均以將對抗場景網(wǎng)格化的方式為其賦值,設(shè)計了統(tǒng)一的函數(shù)對其所在場景位置周圍3×3的矩形范圍內(nèi)賦值,實現(xiàn)了獲取位置等信息的目的。因此,該四維數(shù)組能有效表示探測和攻擊無人機(jī)的位置狀態(tài)模型,其形象化釋義如圖2所示。
圖2 位置狀態(tài)模型四維數(shù)組示意圖Fig.2 Schematic diagram of four-dimensional array of position state model
2.2.3 獎勵規(guī)則模型
通常,多智能體強(qiáng)化學(xué)習(xí)算法存在稀疏獎勵問題[15](Sparse Reward Problem),獎勵信息的缺乏將導(dǎo)致收斂緩慢甚至無法收斂到最優(yōu)策略。本文利用MaCA環(huán)境中的函數(shù)獲取紅、藍(lán)兩方無人機(jī)單位的單步獎勵值,規(guī)定多智能體強(qiáng)化學(xué)習(xí)算法每經(jīng)過一定步長的行動后獲取一次獎勵值,每局對戰(zhàn)結(jié)束后獲取一次輸贏獎勵值,以此消除僅依賴于對抗是否勝利的獎勵規(guī)則,減小稀疏獎勵問題對多智能體強(qiáng)化學(xué)習(xí)算法的影響。探測和攻擊無人機(jī)的獎勵值均為(N)的NumPy數(shù)組,每一個元素代表每一個單元的動作行為獎勵值。具體獎勵規(guī)則定義以及獎勵值設(shè)置如表3所示。
表3 集群行為獎勵規(guī)則數(shù)據(jù)列表Table 3 Swarm behavior reward rule data list
MaCA環(huán)境中默認(rèn)導(dǎo)彈具有飛行延遲且考慮導(dǎo)彈的命中概率,使訓(xùn)練結(jié)果更具泛化性和適用性。每一輪集群對抗結(jié)束后都將進(jìn)行本輪的勝負(fù)判定,每輪對戰(zhàn)結(jié)束時,環(huán)境會利用接口向算法返回對應(yīng)全局狀態(tài)的獎勵值。算法利用此全局狀態(tài)的獎勵值作為對戰(zhàn)結(jié)束后獲取的輸贏獎勵值,其總共分為完勝、完敗、勝利、失敗、平局5種結(jié)局,判定規(guī)則如下。
敵方無人機(jī)被完全摧毀時記該局對戰(zhàn)己方無人機(jī)完勝。反之,則完敗。若達(dá)到最大仿真步數(shù),則無人機(jī)剩余多的一方記為勝利。如果紅、藍(lán)兩方無人機(jī)導(dǎo)彈均無余量,此基礎(chǔ)上,無人機(jī)剩余數(shù)量多的一方記為勝利。反之,則失敗。
若達(dá)到最大仿真步數(shù)且兩方無人機(jī)剩余數(shù)量相等時記為平局。如果紅、藍(lán)兩方無人機(jī)均被摧毀,紅、藍(lán)方導(dǎo)彈均無余量且兩方無人機(jī)剩余數(shù)量相等時記為平局。
針對以上5種不同的結(jié)局,環(huán)境將根據(jù)獎勵規(guī)則數(shù)據(jù)列表返回不同的獎勵值,以實現(xiàn)對無人機(jī)集群行為的引導(dǎo)。
無人機(jī)集群對抗策略可以在基于規(guī)則的基礎(chǔ)上建立,也可以在智能算法的基礎(chǔ)上建立。除基于規(guī)則的方法外,對抗策略在算法對無人機(jī)的訓(xùn)練過程中形成,從而引導(dǎo)無人機(jī)涌現(xiàn)智能化行為,本文利用DQN算法以及設(shè)計的MADDPG算法實現(xiàn)了不同的對抗策略。后文將“基于 DQN算法的集群對抗策略”和“基于MADDPG算法的集群對抗策略”分別簡稱為“DQN策略”和“MADDPG策略”。
DeepMind團(tuán)隊[16]基于 Q-Learning算法提出了DQN(Deep Q Network)算法,對Atari游戲中的智能體進(jìn)行訓(xùn)練并獲得了很高的分?jǐn)?shù)。DQN算法在Q-Learning的基礎(chǔ)上,使用深層神經(jīng)網(wǎng)絡(luò)表示值函數(shù),做出了許多改進(jìn)。算法對數(shù)據(jù)進(jìn)行預(yù)處理,使其能夠判斷任務(wù)的動態(tài)性;采用ε-greedy策略對更多的狀態(tài)進(jìn)行探索,且隨著訓(xùn)練次數(shù)的增加,ε將不斷地衰減,實現(xiàn)了策略從探索為主到利用為主的轉(zhuǎn)變;實現(xiàn)了價值模型結(jié)構(gòu)的轉(zhuǎn)變;利用隨機(jī)初始值增強(qiáng)了算法的探索能力;控制幀數(shù),以模擬人類玩家的操作;創(chuàng)新性地引入了樣本回放緩沖區(qū)(Replay Buffer)和目標(biāo)網(wǎng)絡(luò)(Target Network),提升了算法性能。
前述算法利用的價值模型均為到R的映射,其在求解值函數(shù)時需要進(jìn)行次計算,效率較低。DQN算法將模型轉(zhuǎn)變?yōu)镾→的形式,輸出變?yōu)殚L度為A的向量,其中的每一個值表示對應(yīng)行動的價值估計,僅需進(jìn)行一次計算。Replay Buffer對交互的樣本信息進(jìn)行了存儲,其使用包含存儲樣本和采集樣本的過程,存儲樣本時若 Replay Buffer已存滿則覆蓋最早存儲的樣本,保證了其內(nèi)部樣本的實時性,采集樣本時則從緩存中均勻且隨機(jī)地采集樣本進(jìn)行訓(xùn)練。均勻采樣使得每次訓(xùn)練采用的樣本都來自多個不同的交互序列,有效提高了訓(xùn)練效果的穩(wěn)定性和樣本的利用率。
算法中引入了兩個結(jié)構(gòu)完全一致的模型并稱之為 Target Network,原先的模型為 Behavior Network。在訓(xùn)練開始時,兩個模型采用相同的訓(xùn)練參數(shù);訓(xùn)練中Behavior Network與環(huán)境進(jìn)行交互并得到交互的樣本;學(xué)習(xí)過程中Target Network計算得出由Q-Learning算法得到的目標(biāo)價值,而后用該目標(biāo)價值與Behavior Network的價值估計值比較得出目標(biāo)值并對Behavior Network進(jìn)行更新;每完成一定輪次的迭代,將Behavior Network的網(wǎng)絡(luò)參數(shù)賦給 Target Network,算法遵循此步驟不斷迭代學(xué)習(xí)并更新策略。計算目標(biāo)價值的Target Network參數(shù)將在一定的迭代輪次中被固定,能夠減輕模型的波動性和不穩(wěn)定性,DQN算法主要流程如圖3所示。
圖3 DQN算法主要流程示意圖Fig.3 Schematic diagram of the main flow of the DQN algorithm
本文將 DQN算法應(yīng)用于無人機(jī)集群對抗場景,以無人機(jī)集群數(shù)據(jù)狀態(tài)和位置狀態(tài)的觀測信息作為輸入,DQN算法主要參數(shù)取值為:
學(xué)習(xí)率(Learning Rate)=0.01,獎勵衰減率(Reward Decay)=0.9,ε-greedy=0.9,目標(biāo)網(wǎng)絡(luò)替換步長(Replace Target Iteration)=100,記憶池大小(Memory Size)=500,訓(xùn)練樣本個數(shù)(Batch Size)=32。其中,目標(biāo)網(wǎng)絡(luò)替換步長還作為訓(xùn)練參數(shù)存儲步長的判斷條件出現(xiàn),每訓(xùn)練一定次數(shù)存儲一次訓(xùn)練得到的參數(shù)模型,以便實現(xiàn)MaCA環(huán)境最終集群對抗仿真時進(jìn)行調(diào)用。
DQN算法中的 Target Network和 Behavior Network采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行建立,其形式如表4所示。
表4 DQN算法中網(wǎng)絡(luò)結(jié)構(gòu)Table 4 Network structure in DQN algorithm
在訓(xùn)練過程中,己方無人機(jī)易集中于地圖邊緣或角落,從而達(dá)到局部收斂而沒有產(chǎn)生無人機(jī)集群對抗所需要的對抗效果,如圖4(c)所示。因此,在原有獎勵規(guī)則的基礎(chǔ)上,引入了地圖邊緣限制,通過設(shè)置較大懲罰值的方法引導(dǎo)無人機(jī)避開地圖邊緣和角落。
引入懲罰值訓(xùn)練一段時間后涌現(xiàn)到達(dá)地圖邊緣后返航行為,如圖4(d)所示。
在 DQN策略中,所有無人機(jī)均采用同一個神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,在每一個循環(huán)開始時向網(wǎng)絡(luò)輸入個體無人機(jī)不同的局部觀測值,從而得到對應(yīng)的動作。而采用單個神經(jīng)網(wǎng)絡(luò)造成了無人機(jī)動作單一的結(jié)果,一旦無人機(jī)的局部觀測值相同,如訓(xùn)練初始或未觀測到敵方無人機(jī)時,其涌現(xiàn)出相同行為,如圖4(a)、(b)所示。該現(xiàn)象在敵方無人機(jī)數(shù)量較少時尤為明顯,己方無人機(jī)過于聚集,從而難以發(fā)現(xiàn)地圖其他位置的敵方無人機(jī)。在DQN算法中,在經(jīng)過相當(dāng)次數(shù)的訓(xùn)練后,己方無人機(jī)才能最終學(xué)習(xí)到這一策略,將無人機(jī)集群分散開來對敵方無人機(jī)展開巡航搜索,提高攻擊效能,如圖4(e)所示。
圖4 DQN策略下無人機(jī)集群涌現(xiàn)行為示意圖Fig.4 Schematic diagram of the emergence of UAV swarms under the DQN strategy
為了加快無人機(jī)學(xué)習(xí)該策略的速度,引入相對距離獎勵值引導(dǎo)無人機(jī)對敵方無人機(jī)展開搜索。
通過以上內(nèi)容,建立了本文中基于DQN算法的集群對抗策略,實現(xiàn)了MaCA環(huán)境對集群對抗策略的調(diào)用以及無人機(jī)集群較好的智能化行為。
3.2.1 DDPG算法
DeepMind團(tuán)隊[17]將3.1節(jié)中介紹的DQN算法的創(chuàng)新優(yōu)化方法應(yīng)用到了 Deep Deterministic Policy Gradient(DDPG)算法中。DDPG算法結(jié)合了Actor-Critic算法,在兩個網(wǎng)絡(luò)中均設(shè)置了一對估計網(wǎng)絡(luò)和現(xiàn)實網(wǎng)絡(luò),利用梯度上升尋找最大值。其中,Critic網(wǎng)絡(luò)利用當(dāng)前時刻的動作和狀態(tài)對Q值進(jìn)行預(yù)估,利用TD-Error計算差值;而Actor網(wǎng)絡(luò)則輸出一個能使Critic網(wǎng)絡(luò)輸出最大Q值的動作值,利用梯度上升進(jìn)行更新。DDPG還采用了固定網(wǎng)絡(luò)的方法,先將目標(biāo)網(wǎng)絡(luò)凍結(jié),在一定次數(shù)的更新之后再將參數(shù)賦與網(wǎng)絡(luò)。本文中利用在高斯分布中抽取隨機(jī)樣本的方式創(chuàng)造動作噪聲,以增加智能體對環(huán)境的探索。
在DDPG算法中,Actor網(wǎng)絡(luò)參數(shù)更新公式為
Critic網(wǎng)絡(luò)參數(shù)更新公式為
此方法具有兩個計算Q值的網(wǎng)絡(luò),Qtarget依據(jù)下一狀態(tài)進(jìn)行動作選擇,利用 Actor網(wǎng)絡(luò)能夠切斷相關(guān)性,獲得良好的收斂性質(zhì),算法流程如圖5所示。
圖5 DDPG算法流程示意圖Fig.5 Schematic diagram of DDPG algorithm flow
3.2.2 MADDPG算法
為解決多智能體博弈等問題,傳統(tǒng)的DQN、DDPG等強(qiáng)化學(xué)習(xí)算法難以獲得良好的性能,其根本原因在于,多智能體博弈場景復(fù)雜、系統(tǒng)龐大,單個智能體的狀態(tài)價值函數(shù)不僅僅依賴于自身的策略,也同時依賴于場景中其他智能體的策略。由于場景中的智能體均擁有獨立的策略網(wǎng)絡(luò),去中心化的方式往往會引起不完全觀測的問題,使得智能體智能觀測到局部狀態(tài),難以選擇最優(yōu)策略;中心化的方式則存在執(zhí)行速度緩慢的缺點,單個智能體沒有決策能力,需要在通信過程中耗費(fèi)大量的時間與計算。本文引入中心化訓(xùn)練、去中心化執(zhí)行的方法,利用中央控制器收集多智能體問題中個體動作、獲得的獎勵值和對場景的觀測來訓(xùn)練策略網(wǎng)絡(luò)。訓(xùn)練結(jié)束后,智能體根據(jù)自身的觀測和策略網(wǎng)絡(luò)進(jìn)行決策,不需要與中央控制器以及其他智能體進(jìn)行通信。其算法架構(gòu)如圖6所示。
圖6 MADDPG算法架構(gòu)示意圖Fig.6 Schematic diagram of MADDPG algorithm architecture
本文利用 5層全連接神經(jīng)網(wǎng)絡(luò)搭建 Actor網(wǎng)絡(luò)和 Critic網(wǎng)絡(luò),其網(wǎng)絡(luò)定義結(jié)構(gòu)如表5、6所示。
表5 MADDPG算法中Actor網(wǎng)絡(luò)結(jié)構(gòu)Table 5 Actor network structure in MADDPG algorithm
類似DQN算法,MADDPG算法也需要引導(dǎo)無人機(jī)集群避開地圖邊緣和角落,因此引入懲罰值如式(2)??紤]到將要利用所有己方無人機(jī)的局部觀測值作為輸入進(jìn)行集中式訓(xùn)練,采用第2章[L1]中的狀態(tài)空間將造成狀態(tài)空間過大,計算機(jī)內(nèi)存占用過多無法運(yùn)行的情況,因此將狀態(tài)空間進(jìn)行簡化,簡化為具有己方無人機(jī)狀態(tài)信息和觀測到的敵方無人機(jī)狀態(tài)信息的觀測值,其大小為(16,N),將本來輸入 MADDPG 算法的(5×80×40+3)×N的觀測值壓縮為16×N,犧牲了部分對作戰(zhàn)地圖觀測的完整性,從而大大減少了狀態(tài)空間的維度,提高了計算機(jī)運(yùn)算速度和算法性能。其簡化流程如圖7所示。
表6 MADDPG算法中Critic網(wǎng)絡(luò)結(jié)構(gòu)Table 6 Critic network structure in MADDPG algorithm
圖7 MADDPG算法中狀態(tài)空間簡化流程示意圖Fig.7 Schematic diagram of the simplified flow of state space under MADDPG strategy
簡化狀態(tài)空間后,針對 MADDPG算法設(shè)計的Actor狀態(tài)輸入層神經(jīng)單元數(shù)量更改為16×N,Critic狀態(tài)–動作輸入層神經(jīng)單元數(shù)量更改為16×N+4×N,其余層參數(shù)不變。其中相對距離dr及相對航向角qr定義如式(7)、(8)所示。
式中,xo、yo、qo表示己方無人機(jī)的位置及航向角,xt、ty、qt表示敵方無人機(jī)的位置及航向角。相對航向角幾何關(guān)系如圖8所示。
圖8 相對航向角幾何關(guān)系示意圖Fig.8 Schematic diagram of the geometric relationship of the relative heading angle
在訓(xùn)練過程中發(fā)現(xiàn)對動作空間施加的高斯隨機(jī)誤差仍然不能帶來很好的探索效果,因此在MADDPG算法中引入ε-greedy方法進(jìn)行訓(xùn)練,增強(qiáng)算法訓(xùn)練過程中的探索能力和算法性能。
由于 Replay Buffer中的數(shù)據(jù)量級相差過大,MADDPG出現(xiàn)梯度消失的現(xiàn)象,涌現(xiàn)始終選擇激勵函數(shù)邊界值的行為。因此,將狀態(tài)值、動作值、獎勵值全部歸一化至[0,1]的范圍內(nèi),從而實現(xiàn) MADDPG的學(xué)習(xí)。歸一化具體方式為:編號信息/10,無人機(jī)位置x、y信息/1000,航向角信息/360,導(dǎo)彈剩余量信息/10,及時獎勵值/100。
DQN算法采用的單個神經(jīng)網(wǎng)絡(luò)涌現(xiàn)出難以發(fā)現(xiàn)地圖其他位置敵方無人機(jī)的行為,而基于MADDPG算法的對抗策略采用了不同神經(jīng)網(wǎng)絡(luò)進(jìn)行構(gòu)建。每一個無人機(jī)均擁有一個獨立的神經(jīng)網(wǎng)絡(luò)和Actor-Critic結(jié)構(gòu),僅Replay Buffer采用同一個。涌現(xiàn)出了較好的無人機(jī)動作。不再產(chǎn)生相同的動作引起的聚集現(xiàn)象,實現(xiàn)快速搜索無人機(jī)的效果。
本文將訓(xùn)練過程分為探索策略學(xué)習(xí)階段、攻擊策略學(xué)習(xí)階段以及追擊策略學(xué)習(xí)階段。在訓(xùn)練過程中發(fā)現(xiàn),無人機(jī)難以涌現(xiàn)最終的追擊行為,因此在原有的獎勵規(guī)則基礎(chǔ)上引入更多的及時獎勵,以引導(dǎo)無人機(jī)涌現(xiàn)更好的智能化行為,獎勵值更改為
通過以上內(nèi)容,建立了本文中基于 MADDPG算法的集群對抗策略,實現(xiàn)了MaCA環(huán)境對集群對抗策略的調(diào)用以及優(yōu)于DQN算法的智能化行為。
為簡化仿真內(nèi)容,體現(xiàn)仿真效果,本文采用同構(gòu)對抗場景并將對抗場景地圖大小修正為800×400,以匹配真實空戰(zhàn)場景的無人機(jī)集群模式,同時減小狀態(tài)空間的大小,適應(yīng)計算機(jī)算力。為縮短訓(xùn)練時間,在更短的訓(xùn)練步長中看出訓(xùn)練效果和趨勢,將敵方基于規(guī)則的策略簡化為不附帶任何攻擊行為的基于規(guī)則的策略,利用該策略分別與基于DQN算法的策略和基于MADDPG算法的策略進(jìn)行對抗訓(xùn)練并獲得仿真結(jié)果,以此對比DQN算法和MADDPG算法訓(xùn)練效果及性能,達(dá)到本文的研究目的。
本文中訓(xùn)練所采用的硬件配置是:Intel(R)Core(TM) i7-9750H CPU@2.60GHz 2.59 GHz處理器以及GeForce GTX 1660 Ti顯卡。DQN算法采用的深度強(qiáng)化學(xué)習(xí)框架為 Pytorch,MADDPG算法采用的深度強(qiáng)化學(xué)習(xí)框架為 Tensorflow,本文在該硬件和框架下實現(xiàn)了算法的設(shè)計與仿真。
MaCA環(huán)境自身也提供了 DQN算法,本文對其進(jìn)行了改進(jìn)。環(huán)境提供的 DQN算法僅能實現(xiàn)算法的訓(xùn)練與學(xué)習(xí),其收斂效果以及涌現(xiàn)的智能化策略不理想,難以得到良好的應(yīng)用。本文對其的動作空間、狀態(tài)空間以及獎勵規(guī)則等做出了設(shè)計,引入了更多的及時獎勵,如3.1節(jié)中的式(2)、式(3)等所示。引導(dǎo)DQN算法涌現(xiàn)了良好的智能化策略,實現(xiàn)了算法在無人機(jī)集群對抗下的高效應(yīng)用。
訓(xùn)練結(jié)果如圖4所示。隨著訓(xùn)練次數(shù)的增加,無人機(jī)動作獎勵值也隨之變化,正獎勵值的獲得率不斷增加,DQN算法的lost值維持在0左右,如圖9所示。
圖9 DQN策略獎勵、lost值隨訓(xùn)練次數(shù)變化示意圖Fig.9 Schematic diagram of reward and lost value changing with training times under DQN strategy
由訓(xùn)練結(jié)果可知,DQN策略下無人機(jī)集群行為不斷趨向收斂,涌現(xiàn)出了如圖4(e)、4(f)所示的集群編隊、多打一等智能化行為,體現(xiàn)了基于DQN算法的集群策略的智能性和強(qiáng)化學(xué)習(xí)方法的有效性。
同時,算法在大步長訓(xùn)練下仍未涌現(xiàn)良好的追擊狀態(tài),且由于使用同一個神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,不同無人機(jī)個體之間的策略相互耦合,導(dǎo)致訓(xùn)練緩慢且涌現(xiàn)的智能化行為較為低效。
在簡化狀態(tài)空間、更改獎勵值后,為提高M(jìn)ADDPG算法的泛化性,本文同時也利用DQN策略對MADDPG算法進(jìn)行訓(xùn)練,對基于規(guī)則策略的訓(xùn)練結(jié)果進(jìn)行擴(kuò)充,其訓(xùn)練結(jié)果如圖10所示。
圖10 MADDPG策略下無人機(jī)集群涌現(xiàn)行為示意圖Fig.10 Schematic diagram of the emergence of UAV swarms under the MADDPG strategy
MADDPG算法是基于傳統(tǒng) DDPG算法的改進(jìn),其引入了中心化訓(xùn)練、去中心化執(zhí)行的方法,實現(xiàn)了更高效的訓(xùn)練和更具智能化的策略。若采用DDPG算法進(jìn)行訓(xùn)練,其仍能夠處理連續(xù)動作空間問題,但所有的無人機(jī)均采用同一個神經(jīng)網(wǎng)絡(luò)進(jìn)行構(gòu)建,容易涌現(xiàn)單一行為。這是兩種算法最主要的區(qū)別,同時也是本文所要驗證的優(yōu)點。DDPG算法的單一行為現(xiàn)象可以在DQN算法的仿真結(jié)果中得到體現(xiàn),因此本文直接利用DQN算法與MADDPG算法進(jìn)行橫向比較來驗證算法采用集中式訓(xùn)練、分布式執(zhí)行的優(yōu)越性。
隨著訓(xùn)練的不斷進(jìn)行,無人機(jī)集群涌現(xiàn)出一系列攻擊行為。
包圍攻擊行為:兩端無人機(jī)以更接近敵方無人機(jī)的姿態(tài)進(jìn)行包圍攻擊,如圖10(a)所示。
編隊攻擊行為:無人機(jī)以多排無人機(jī)編隊的姿態(tài)進(jìn)行編隊攻擊,如圖10(b)所示。
突防攔截行為:無人機(jī)優(yōu)先對試圖突防的敵方無人機(jī)進(jìn)行攔截攻擊,如圖10(c)所示。
分散攻擊行為:為實現(xiàn)更高的打擊及探測效率,無人機(jī)集群分散開來分別對敵方無人機(jī)進(jìn)行攻擊,如圖10(d)所示。
追擊行為:隨著訓(xùn)練步數(shù)不斷增大,無人機(jī)涌現(xiàn)出對敵方無人機(jī)的追擊行為,相比DQN策略的訓(xùn)練實現(xiàn)了更高的打擊效率,如圖10(e)所示。
多對一圍剿行為:隨著訓(xùn)練步數(shù)增大,無人機(jī)集群傾向于實現(xiàn)對敵方無人機(jī)的圍剿,產(chǎn)生了許多多對一的攻擊行為,以更高的效率實現(xiàn)毀傷效果,如圖10(f)所示。
隨著訓(xùn)練次數(shù)的增加,無人機(jī)動作獎勵值也隨之變化,正獎勵值的獲得率不斷增加,lost值在訓(xùn)練過程中快速下降后基本趨于穩(wěn)定,如圖11所示。
圖11 MADDPG策略獎勵、lost值隨訓(xùn)練次數(shù)變化示意圖Fig.11 Schematic diagram of reward and lost value changing with training times under MADDPG strategy
在 3500次左右的訓(xùn)練中,橫向比較MADDPG策略與DQN策略所涌現(xiàn)出的行為以及獲得的獎勵值等。對比圖9與圖11,兩圖均為經(jīng)過3500次左右訓(xùn)練獲得的獎勵和lost值隨訓(xùn)練次數(shù)的變化圖。能夠看出,兩種算法中智能體隨訓(xùn)練次數(shù)增加獲取獎勵值的概率均不斷增大,lost值均迅速減小后并趨于穩(wěn)定,其在一定程度上體現(xiàn)了算法的收斂性。該橫向比較可以看出,MADDPG算法相比于 DQN算法涌現(xiàn)出了更大的優(yōu)勢。DQN算法在大步長的訓(xùn)練下仍涌現(xiàn)出追擊行為,而MADDPG則涌現(xiàn)出了智能化的追擊行為,在更短的訓(xùn)練步長中達(dá)到了更好的效果,證明了MADDPG算法采用集中式訓(xùn)練、分布式執(zhí)行的優(yōu)越性。從多策略訓(xùn)練與僅規(guī)則策略訓(xùn)練的MADDPG策略涌現(xiàn)的不同行為(如追擊行為等)可以看出,利用不同策略進(jìn)行訓(xùn)練的 MADDPG算法擁有更好的泛化性,在復(fù)雜、動態(tài)的戰(zhàn)場環(huán)境中具有更優(yōu)越的動態(tài)適應(yīng)性,展現(xiàn)了本文對其泛化性的訓(xùn)練效果。
本文研究基于多智能體強(qiáng)化學(xué)習(xí)的無人機(jī)集群對抗方法,區(qū)別于傳統(tǒng)的強(qiáng)化學(xué)習(xí)方法,將擴(kuò)展的多智能體強(qiáng)化學(xué)習(xí)算法應(yīng)用于無人機(jī)集群對抗問題中,實現(xiàn)了多種策略對算法的訓(xùn)練。利用智能體行為、獎勵的可視化展示了算法的訓(xùn)練效果,驗證了算法的有效性、適應(yīng)性。多智能體對抗博弈策略在一些實際領(lǐng)域具有應(yīng)用價值[18],而算法的訓(xùn)練效率、工程實踐的適用性、訓(xùn)練結(jié)果的泛化性等仍是應(yīng)用中存在的問題,算法的創(chuàng)新、工程應(yīng)用是未來研究關(guān)鍵。