聶文川,樊志強
(中國電科智能科技研究院,北京 100083)
隨著我軍不斷地信息化改革,研究人員探索了眾多的人工智能技術[1-5]。強化學習技術近年來逐漸火熱,強化學習是可以自學習的,它適用于決策,已經(jīng)應用于許多領域,如流量控制、無人機控制、網(wǎng)絡構建等[6-9]。博弈是指一個理性的人或團隊從選擇行為或策略,到最終獲取相應的利益。強化學習算法通過博弈對抗中產生的回報來優(yōu)化策略選擇。強化學習的最主流應用仍在游戲領域中,近年來,強化學習征服了象棋、圍棋等完全信息游戲,以及撲克等不完全信息游戲,在電子游戲競賽中的戰(zhàn)爭迷霧和復雜狀態(tài)空間以及動作空間的游戲,如Dota、星際爭霸等[10-12],人類玩家也逐漸被強化學習算法超越,而這就是算法有效性最強有力的體現(xiàn)。
本文基于現(xiàn)實海上反艦場景中導彈機動的強化學習進行了研究,將他們遷移到仿真的場景中,尤其是導彈集群反艦任務。針對異構多智能體博弈對抗的情況,本文將MADDPG(multi-agent deep deterministic strategy gradient)算法應用到多智能體彈群反艦任務的場景中,通過分析在巨大狀態(tài)空間和動作空間的收斂速度,聚焦真實報酬稀疏的問題。同時,通過設計仿真實驗來驗證算法的有效性。
復雜對抗場景一直是強化學習的熱點和難點之一。隨著深度強化學習的發(fā)展,該算法應用到了各種場景。然而目前的主流應用是在圍棋等游戲領域[13-15],一個重要的原因就是游戲場景具有現(xiàn)成的游戲環(huán)境和自洽的規(guī)則以及獎懲機制,便于強化學習的應用。但在自動駕駛等真實場景中,由于仿真環(huán)境的仿真完成度和獎懲機制的不確定性,無法實現(xiàn)強化學習算法。因此在仿真系統(tǒng)中,仍需大量的工作來促進強化學習算法的進步,同時在類似的仿真系統(tǒng)中,強化學習算法本身也有很大的發(fā)展?jié)摿ΑT跉v史上,計算機的發(fā)展首先運用于軍事領域,用來協(xié)助人類計算以及密碼破譯,在現(xiàn)代,人工智能依舊可以運用在軍事領域?;趶娀瘜W習的博弈對抗推理是維持軍隊戰(zhàn)斗力的重要手段之一。近年來,軍事象棋推演成為人們普遍關注的熱點,人工智能在推理和分析的過程中起到重要的作用。本文將強化學習應用于多智能體博弈對抗仿真系統(tǒng)中,選取了紅藍兩面異構的博弈對抗場景,即近海反艦作戰(zhàn)場景,紅色攻擊和藍色防御,實現(xiàn)仿真作戰(zhàn)。本文將多智能體強化學習算法應用于異構多智能體系統(tǒng),增強了智能體之間的協(xié)作性,提高了算法的能力。
導彈集群協(xié)作智能化具有以下4個重要特點:
1)去中心化:任何一枚導彈的消失或者功能喪失,彈群的目標依然可以有序實現(xiàn)[16]。同時每一顆導彈都可以協(xié)作其他導彈實現(xiàn)戰(zhàn)術目標。
2)自主性:戰(zhàn)場態(tài)勢瞬息萬變,依賴指揮官根據(jù)戰(zhàn)場態(tài)勢進行決斷勢必會浪費寶貴的作戰(zhàn)時間,甚至可能錯過稍縱即逝的機會。因此為了節(jié)省人為決策消耗的時間,飛行期間導彈采取的一切機動操作均可進行自主判斷并及時決策,且彈群內的所有導彈只控制自身飛行,但可以觀察其他導彈位置,不對其他導彈產生影響。
3)高動態(tài):導彈需要根據(jù)戰(zhàn)場態(tài)勢變化做出快速響應。傳統(tǒng)預先規(guī)劃的形式已經(jīng)無法滿足現(xiàn)在瞬息萬變的戰(zhàn)場環(huán)境,而導彈的作戰(zhàn)時間非常短暫,因此要求彈群在收集到戰(zhàn)場態(tài)勢信息后迅速做出決策。
4)自治化:所有的導彈形成一個穩(wěn)定的集群,并且各自承擔相應的功能,當某一導彈喪失功能造成集群結構的缺失后,其他導彈應及時調整并重新構成穩(wěn)定的集群結構[17-18]。
綜合來看,目前多彈頭集群協(xié)同突防技術的研究仍處于初級階段,因為該技術要求各個彈頭具有高度自主性,面臨復雜任務可以快速響應,因此對于彈載計算機的要求較高[19]。
導彈的運動學方程為 :
(1)
式(1)中,i=p,e;ωi為攔截導彈或突防導彈的角速度大小;vi為攔截導彈或突防導彈的速度,其為一個固定值,即導彈在飛行過程中的速度不改變。
導彈的運動控制變量約束為:
(2)
式(2)中,ωpmax,ωemax分別為攔截導彈和突防導彈的最大角速度,其計算方程為:
(3)
式(3)中,i=p,e;ΔT為方針的時間步長;ri為導彈的機動半徑;rimin為導彈的最小機動半徑;Δψi為ΔT時間內的航向最大轉彎角;nimax為導彈的最大側向過載。因此,由式(4)可得最大角速度的確定公式為:
(4)
攔截捕獲條件為式(5),在攔截半徑范圍內,即我方導彈進入敵方攔截導彈的作用范圍,便會被攔截捕獲。
(5)
由于本文假定的突防問題是在有限的二維平面內進行的,因此導彈在設定的環(huán)境邊界內運動需要滿足式(6):
(6)
式(6)中,n=[1,...,4];xmin、xmax分別為環(huán)境邊界,本文的邊界為-250~250;ymin、ymax分別為環(huán)境邊界,本文的邊界為-250~250。
在研究中,定義速度比為攔截導彈的最大速度與突防導彈的最大速度之比:
(7)
(8)
在彈群攻防對抗的場景中,除了雙方彈群之間的對抗,彈群內部的導彈也需要協(xié)同完成任務,使得場景要素更加復雜,且對抗雙方的對抗性更強。針對在作戰(zhàn)空域內的多導彈協(xié)同攻防對抗場景,本文將對抗場景的預設為:作戰(zhàn)空域內同時存在多顆攔截導彈和突防導彈,雙方具有相反的戰(zhàn)術目標。攔截導彈的目標是追擊并攔截突防導彈,而突防導彈的目標是盡可能地突破攔截導彈的封鎖,或者盡可能地保護其他導彈進行突防。彈群突防的對抗場景如圖1所示。
圖1 導彈追捕場景
圖1中,E為進攻方導彈,P1P2為攔截方導彈,P0為進攻方目標(攔截方保護目標;ve為進攻方導彈的速度大小及方向,vp1vp2為攔截方導彈的速度大小及方向;φe為進攻方的導彈的速度航向角,φp1φp2為攔截防導彈的速度航向角。針對以上導彈集群攻防問題描述構造彈群攻防博弈數(shù)學模型[25],建立了有控制約束的多無人機追捕對抗零和微分博弈模型。
考慮到我們簡化的二維平面區(qū)域的追逃博弈,可以使用直角坐標系來表示對抗雙方導彈的實時運動狀態(tài)。圖2展示了數(shù)學幾何模型。
圖2 導彈運動模型
圖2中,δ為目標視線(LOS,line of sight)的夾角-視線角,目標視線指攻防導彈Ε的射線,(xpn,ypn)(n=1,2,…,N)、(xe,ye)分別為攻擊方導彈和攔截方導彈的位置坐標。
攔截方導彈的目標是通過最短時間內攔截目標。而突防導彈的目標是躲避攔截導彈,以避免在作戰(zhàn)時間段內被導彈攔截捕獲?;蛘弑M可能延遲其他突防導彈被攔截的時間。攻防雙方博弈標準微分博弈數(shù)學描述為:
Tc=f[vp1,ψp1,L1,…,vpn,ψpn,Ln,…,
vpN,ψpN,LN,ve,ψe]
(9)
式(9)中,Ln(n=1,2,…,N)為攔截導彈n到突防導彈的距離;Tc為攔截導彈P攔截突防導彈E的時刻。其中導彈攔截的最優(yōu)時刻是Tcmin,導彈突防的最優(yōu)時刻是Tcmax。
獎勵設計是指導增強學習算法性能改進的重要組成部分。攻防雙方之間的對抗最終結果只有一個真正的獎賞。在引導智能體產生足夠智能的策略中,人工設計的內在回報是關鍵。 本文設計了攻擊方導彈、攔截方導彈的獎勵,以指導其各自的策略。 突防導彈根據(jù)爆炸時距離目標位置扣10分到加10分不等,給予隨距離變化的負獎勵,系數(shù)為 0.001,并引導突防方導彈盡快獲得正獎勵;當攔截導彈處于攔截任務時,攔截成功的目標越多,得到的獎勵越多,以引導攔截導彈盡可能同時攔截多個突防導彈。同時,為了防止進攻方導彈耗盡燃料,將給予隨著時間變化的負獎勵。 攻擊上,殲敵航母加50分,引爆多個攔截導彈加5到20分,自身損壞扣5分。這種設置是鼓勵進攻方導彈重視協(xié)作的重要性,引導導彈進行掩護任務。同時,為鼓勵導彈進攻敵方航母,將距敵航母的距離設為正獎勵,系數(shù)為 0.000 000 1。 防御方面,攔截方將敵導彈和航空母艦的距離作為負獎勵,系數(shù)為 0.000 000 1,可防止導彈太近。
2.3.1 MADDPG算法
MADDPG算法是一種針對多智能體協(xié)同決策的強化學習算法,在導彈協(xié)同領域具有以下優(yōu)勢:1)基于策略梯度的方法,能夠有效地處理非線性、高維、連續(xù)的動作空間,更適合于導彈協(xié)同問題;2)可以學習合作策略,MADDPG算法可以學習到智能體之間的合作策略,從而在導彈協(xié)同中實現(xiàn)協(xié)同作戰(zhàn)和任務分配,提高協(xié)同效率和任務完成率[21-23]。而其他單智能體算法往往只能處理獨立策略的問題;3)具有策略共享機制,MADDPG算法具有策略共享機制,能夠讓智能體之間共享策略信息,提高學習效率并減少訓練時間;4)具有經(jīng)驗回放機制:MADDPG算法還具有經(jīng)驗回放機制,能夠利用過去的經(jīng)驗進行學習,減小樣本相關性,提高算法的穩(wěn)定性和收斂性。 綜上所述,MADDPG算法在導彈協(xié)同相比其他方法具有更好的學習效果、更高的協(xié)同效率和任務完成率。
“集中訓練,分散執(zhí)行”是一種方法,它在訓練階段集中資源進行模型學習和優(yōu)化,然后在執(zhí)行階段將訓練好的模型分散到不同計算節(jié)點或設備上進行并行計算和推理。這樣做可以通過訓練學習得到最優(yōu)的訓練策略,使算法得到高效靈活地執(zhí)行。在運行該算法時,利用智能體的觀測信息可以求出最優(yōu)解,從而得出想要的最優(yōu)策略。
在“集中訓練”階段,為了計算出更精確的Q值反饋給“表演者”網(wǎng)絡,可以根據(jù)DDPG算法平臺添加額外數(shù)據(jù),包括其他智能體的運動狀態(tài)、觀察值或動作。智能體還可以根據(jù)其他智能體的動作價值以及自身的觀察值和動作來判斷當前輸出動作的價值。
“分散執(zhí)行”是指在訓練完成后,每個Actor根據(jù)自身的觀測值選擇適當?shù)膭幼鳎瑹o需其他智能體的動作信息。在MADDPG算法中,“表演者”網(wǎng)絡和“評論家”網(wǎng)絡協(xié)同工作。每個智能體都有自己的“表演者”網(wǎng)絡,用于輸出確定的動作。然而,“評論家”網(wǎng)絡不僅考慮自身的觀測狀態(tài)和動作,同時也要考慮其他智能體的動作信息。每個智能體都有一個中心化的“評論家”網(wǎng)絡,該網(wǎng)絡同時接收所有智能體的“表演者”網(wǎng)絡生成的數(shù)據(jù)。[24]。
2.3.2 基于經(jīng)驗池篩選機制的算法策略改進
采取原始MADDPG算法時,每一個評論家都需要觀察到所有agent的狀態(tài),而對于本文中涉及的大量不確定agent的場景,不是特別適用,而且當按agent數(shù)量特別多時,狀態(tài)空間太過于巨大,導致難以收斂。同時每一個agent都對應了一個評論家和表演者網(wǎng)絡,數(shù)量多時,存在大量的模型,增加算法的計算時間。
針對上述問題,設計基于經(jīng)驗池篩選的EPF-MADDPG算法。從兩個方面對算法進行改進:1)引入長短期記憶(LSTM)網(wǎng)絡保存過往訓練信息;2)加入閾值篩選機制對算法經(jīng)驗回放策略做出調整。
MADDPG算法的經(jīng)驗回放策略沒有考慮到動作前后的相關性,在遇到從未見過的情況時,往往需要大量的嘗試才能學習到最優(yōu)動作。LSTM網(wǎng)絡主要用于處理環(huán)境狀態(tài)信息的輸入,基于“門”來控制信息的丟棄或增加,從而實現(xiàn)遺忘或者記憶的功能,達到緩解梯度消失的作用。
LSTM網(wǎng)絡中的遺忘門、記憶門以及輸出門是LSTM神經(jīng)網(wǎng)絡中的3種門控機制,用于控制輸入、輸出和忘記之前的信息。其中,遺忘門用于決定之前輸入的信息被遺忘的程度;輸入門用于控制新輸入信息的加入程度;輸出門用于控制當前狀態(tài)的輸出程度。網(wǎng)絡的整體結構如圖3所示。
圖3 LSTM網(wǎng)絡結構
遺忘門:控制歷史狀態(tài)流經(jīng)當前狀態(tài)后允許多少進入當前狀態(tài)的門控設備。
記憶門:控制從當前狀態(tài)向長期記憶中存儲哪些信息的門控設備。
輸出門:控制從長期記憶中向當前狀態(tài)輸出哪些信息的門控設備。
經(jīng)驗池閾值的設置由預訓練決定,將預訓練的樣本數(shù)據(jù)按照從大到小依次排列為一序列,序列樣本總數(shù)為n,設定參數(shù)α代表正式訓練時使用序列樣本的比例,選取α×n位置的樣本所對應的值作為預值。為設立合理的閾值進行預訓練,按優(yōu)先級從高到低的順序對數(shù)據(jù)列表進行排序,然后從高斯隨機數(shù)值生成器中獲取一個0~1之間的隨機數(shù)α,其中α在0~1之間取值的概率呈正態(tài)分布,這樣就可以盡可能取到中間的數(shù)值,避免出現(xiàn)接近0或接近1的極端情況。
對于正式訓練的樣本數(shù)據(jù),只有大于預設閾值的樣本才會放入經(jīng)驗池中。在基于經(jīng)驗池篩選的MADDPG算法中,采用純粹貪婪優(yōu)先方法對樣本進行排序,確保被采樣的頻率在繼承優(yōu)先級上是單調的。同時在排序好的樣本隊列中加入均勻隨機采樣,避免了高優(yōu)先級產生的過擬合問題。
2.3.3 算法框架實現(xiàn)
本文采用的MADDPG算法框架如圖4所示。在訓練過程中,首先初始化整體的狀態(tài)和策略網(wǎng)絡。智能體根據(jù)當前時刻的狀態(tài)輸入Actor網(wǎng)絡,生成對應的動作。環(huán)境返回智能體執(zhí)行當前動作時所獲得的獎勵和轉移到的下一狀態(tài)。智能體將生成的四元組數(shù)據(jù)存儲到經(jīng)驗回放緩存中,以備后續(xù)的“表演者”網(wǎng)絡和“評論家”網(wǎng)絡更新時使用。然后智能體從緩存池中采樣多個批次的機動軌跡,每一條機動軌跡是智能體與環(huán)境進一步交互得的。輸入 Actor 網(wǎng)絡進行訓練的數(shù)據(jù)是智能體當前時刻的狀態(tài)。智能體利用已更新的模型與環(huán)境進行下一步的交互,然后利用生成的數(shù)據(jù)更新經(jīng)驗回放緩存池。當然,每個智能體都有自己的 “表演者”網(wǎng)絡和 “評論家”網(wǎng)絡,還有一個所有智能體共有的 “評論家”網(wǎng)絡,每個智能體自身的 “評論家”網(wǎng)絡學習單個智能體每輪訓練的期望收益,所有智能體共有的 “評論家”網(wǎng)絡學習團隊的期望收益。
圖4 MADDPG算法框架
下面是本文的整體算法設計。
Forepisode = 1 to MaxEpisode do
在設定的范圍內隨機初始化突防導彈、 攔截導彈的初始狀態(tài)
Fort = 1 to MaxStep do
獲得仿真環(huán)境初始狀態(tài)st
/*全局Critic網(wǎng)絡更新*/
/*Actor網(wǎng)絡和局部Critic網(wǎng)絡更新*/
For Agenti=1 toNdo
End For
End For
End For
為了驗證所提方法的優(yōu)越性,本實驗的硬件配置為,CPU:Intel○RCoreTMi7-13700KF CPU @4.20 GHz;內存:32 G;顯卡:Geforce RTX4070Ti(12 G內存)上,基于Windows10平臺,顯存位寬為64位DDRM。
圖5為在不同范圍的仿真場景下的所有智能體的算法回報,圖中隨著場景的一步步擴大,算法收斂得到的回報也逐漸提高,說明在更大的作戰(zhàn)范圍中突防導彈可以更好地達到任務目標,攔截方導彈在更小的作戰(zhàn)范圍內,攔截的成功率就越高。同時在1 000*1 000(km)以后,場景得到的回報提升就不再顯著。
圖5 范圍-回報變化
本文實驗針對海域上的導彈集群攻防博弈情形進行了設計。假設在某海域中,我方發(fā)射兩枚導彈對敵方航母發(fā)起打擊,在相對坐標1 000*1 000(km)的區(qū)域內敵方發(fā)射三枚攔截導彈,實施突防策略。為了使實驗具有可操作性,設定突防導彈的機動能力比攔截導彈的機動能力大,同時規(guī)定為距離的安全約束,當其中有一個攔截導彈靠近了突防導彈該距離約束值內,追捕成功,博弈結束。為加速收斂,忽略z軸的動力學模型,得到一個平面內二維的博弈場景[26-27]。實驗設計的訓練參數(shù)如表1所示。
表1 算法訓練超參
首先,實驗分析了該場景下MADDPG算法的收斂性。圖6為MADDPG與DQN算法的回報獎勵,其中DQN的學習率設置為0.001,采用批量梯度下降的方式進行學習,經(jīng)驗池大小與批樣本數(shù)與EPF-MADDPG算法保持一致。經(jīng)過 14 000 輪的訓練后,網(wǎng)絡的loss值逐漸降低,且趨于穩(wěn)定,說明網(wǎng)絡收斂,各個智能體都能產生更合適的動作。 從圖5、6中可以看出,MADDPG算法相較于DQN算法具有更快的收斂速度,以及更優(yōu)秀的回報獎勵。同時,各單元參與者網(wǎng)絡的下降趨勢相似,關鍵網(wǎng)絡的下降趨勢也相似。
同時,根據(jù)圖6所示,基于經(jīng)驗池篩選策略的MADDPG算法耗時明顯低于傳統(tǒng)的MADDPG算法,其最大時延為320 ms,而DQN算法需要400 ms。EPF-MADDPG相較于DQN算法提升了8%左右,滿足實際場景中的實時性需求。
隨著不斷地訓練,敵方智能體也會學習到一些策略,這就會導致回報的下降,但這也會促進我方智能體的學習,最后收斂到一個穩(wěn)定的回報。
隨著不斷地學習,智能體會逐漸學習到一些策略,用來欺騙敵方。圖7中是智能體的行動軌跡,我們可以看到智能體會做出“假動作”誘使敵方智能體做出錯誤的判斷,并加速通過速度優(yōu)勢越過攔截導彈的攔截。
圖7 智能體機動行為
并且經(jīng)過訓練的智能體也表現(xiàn)出協(xié)作的特征,圖8中顏色較深的智能體作為誘餌,吸引了敵方3枚導彈的圍追堵截,通過消滅攔截方的3枚導彈,為己方的突防導彈創(chuàng)造了條件,另一枚導彈最后順利完成任務目標。
圖8 智能體協(xié)同行為
實驗經(jīng)過100次仿真模擬,如表2所示,經(jīng)過EPF-MADDPG算法訓練的突防方導彈勝率可以達到73%,實驗結果表明,訓練出來的協(xié)同突防策略具有明顯合作以及欺騙對手的行為,突防導彈不僅簡單的依靠速度進行突防,同時表現(xiàn)出一些高級的協(xié)同行為,極大提高了突防策略的訓練效率。
表2 各個算法突防成功率
為了在仿真環(huán)境中實現(xiàn)多智能體對抗的智能決策,提出了一種基于 MADDPG 的異構多智能體對抗決策算法,輔助決策者進行導彈集群突防方案的制訂,并且在方案執(zhí)行的過程中具有一定的自主決策能力。為了進一步地驗證MADDPG算法對于導彈突防場景的可行性,本文還從仿真的角度進行驗證,經(jīng)過基于經(jīng)驗池篩選策略的MADDPG算法計算的突防策略成功率達到73%。
本文還存在待改進的方面:首先,對于導彈突防任務來講,不僅有同波次導彈間的協(xié)同配合,同時還應有多波次導彈的協(xié)同配合,對于任務分解規(guī)劃,以及戰(zhàn)場態(tài)勢的偵察獲取,還需要進行深入的研究改進,得到一個簡單易行的方法;其次,本算法的仿真業(yè)務場景具有特殊性,仍需進行改進學習,在不同環(huán)境不同維度進行推演驗證。