付宇鵬,鄧向陽(yáng),2,朱子強(qiáng),高 陽(yáng),張立民
(1.海軍航空大學(xué),山東 煙臺(tái) 264001;2.清華大學(xué),北京100084)
自20 世紀(jì)50 年代以來,空戰(zhàn)智能博弈一直是軍事研究的重點(diǎn)之一。在諸多空戰(zhàn)機(jī)動(dòng)策略、姿態(tài)控制優(yōu)化方法研究中,基于人工智能技術(shù)的算法取得了長(zhǎng)足進(jìn)步[1-5]。隨著計(jì)算機(jī)硬件算力的提升和算法的進(jìn)步,深度強(qiáng)化學(xué)習(xí)(DRL)技術(shù)以其優(yōu)秀的逼近能力成為近年來的研究熱點(diǎn),其在面對(duì)復(fù)雜狀態(tài)空間問題時(shí)仍能獲得高水平策略模型。
傳統(tǒng)強(qiáng)化學(xué)習(xí)算法效率和效果與任務(wù)的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)密切關(guān)聯(lián),但空戰(zhàn)博弈態(tài)勢(shì)復(fù)雜,且六自由度(6-dof)飛機(jī)模型具有高階非線性的特點(diǎn),因而在訓(xùn)練初期,智能體很難獲得正向獎(jiǎng)勵(lì),致使算法難收斂。模仿學(xué)習(xí)技術(shù)則直接利用專家經(jīng)驗(yàn)數(shù)據(jù)生成策略,在自動(dòng)駕駛、無人機(jī)導(dǎo)航控制、機(jī)器人等領(lǐng)域被廣泛應(yīng)用[6-9],主要分為行為克隆[10]、逆強(qiáng)化學(xué)習(xí)[11]、對(duì)抗模仿學(xué)習(xí)[12]3 類算法。但這些算法中,智能體依靠示例數(shù)據(jù)學(xué)習(xí)策略,對(duì)于空戰(zhàn)博弈這類目標(biāo)不明確的環(huán)境表現(xiàn)不佳。因此,將模仿學(xué)習(xí)和強(qiáng)化學(xué)習(xí)相結(jié)合的算法成為這類環(huán)境中生成智能體策略的研究熱點(diǎn)[5,13-15]。
本文基于強(qiáng)化學(xué)習(xí)、模仿學(xué)習(xí)技術(shù)在飛行控制、智能博弈等方面的研究[2,4-5],針對(duì)傳統(tǒng)強(qiáng)化學(xué)習(xí)算法在生成空戰(zhàn)機(jī)動(dòng)策略時(shí)存在收斂效率低、專家經(jīng)驗(yàn)利用不足的問題,提出了生成對(duì)抗式近端策略優(yōu)化算法(GA-PPO)。在傳統(tǒng)PPO 算法的策略-價(jià)值網(wǎng)絡(luò)(Actor-Critic)框架基礎(chǔ)上,增加判別器(Discriminator)網(wǎng)絡(luò),用來判斷輸入狀態(tài)-動(dòng)作是否屬于當(dāng)前策略或?qū)<也呗?,在策略?xùn)練時(shí)約束當(dāng)前策略向?qū)<也呗苑较蚋隆?/p>
強(qiáng)化學(xué)習(xí)算法包括基于價(jià)值、基于策略和二者結(jié)合的Actor-Critic 方法。本文以Actor-Critic 方法為基礎(chǔ)。Actor網(wǎng)絡(luò)即策略網(wǎng)絡(luò),記為πθ( )st,其中,st表示t時(shí)刻狀態(tài),θ表示策略網(wǎng)絡(luò)參數(shù),策略網(wǎng)絡(luò)輸出動(dòng)作at~πθ(st);Critic 網(wǎng)絡(luò)即價(jià)值網(wǎng)絡(luò),記為Vφ(st),φ表示價(jià)值網(wǎng)絡(luò)參數(shù),價(jià)值網(wǎng)絡(luò)用來估計(jì)當(dāng)前策略的回報(bào)Rt,表示為:
式(1)中:E(?)為數(shù)學(xué)期望;γ為折扣系數(shù),確保馬爾科夫決策過程能夠收斂;r為獎(jiǎng)勵(lì)函數(shù),通常在實(shí)際環(huán)境中根據(jù)專家經(jīng)驗(yàn)設(shè)計(jì)。強(qiáng)化學(xué)習(xí)算法目標(biāo)是使回合回報(bào)最大化。在諸多算法中,TRPO[16]、PPO[17]等算法穩(wěn)定性高,收斂效率高,成為了典型的基線算法。
以PPO2 算法為例,其采用優(yōu)勢(shì)函數(shù)Aθ來表示策略優(yōu)劣,以減小方差,提高算法穩(wěn)定性。Aθ定義為:
實(shí)際實(shí)現(xiàn)時(shí),定義A?t來估計(jì)Aθ,采用使用較為廣泛的廣義優(yōu)勢(shì)估計(jì)(GAE)方法[18],定義為:
其中,δt=rt+γV(st+1)-V(st),參數(shù)λ用來平衡方差和偏差。
此外,算法中利用重要性采樣方法(important sampling)直接剪裁舊策略與新策略的概率幅度,記為ct(θ)=πθ(at|st)/πθ,old(at|st)。因此,得到PPO2 算法的損失函數(shù)表示為式(4)~(6)。
生成對(duì)抗模仿學(xué)習(xí)(GAⅠL)算法啟發(fā)于最大熵逆強(qiáng)化學(xué)習(xí)(ⅠRL)和生成對(duì)抗網(wǎng)絡(luò)(GAN)。在on-policy算法(如TRPO、PPO等算法)框架基礎(chǔ)上,設(shè)計(jì)判別器Dω(st,at),用來判斷輸入的采樣數(shù)據(jù)是生成于專家策略還是當(dāng)前策略。GAⅠL 算法目標(biāo),可理解為匹配當(dāng)前策略分布與專家策略分布,使判別器無法區(qū)分當(dāng)前策略和專家策略,其損失函數(shù)定義為:
式(7)(8)表示在GAⅠL算法中:首先,對(duì)當(dāng)前策略πθ和專家策略πE采樣,更新判別器參數(shù)ω′←ω;而后,以最大化判別器輸出更新策略網(wǎng)絡(luò)參數(shù)θ,此處可將Dω′(s,a)類比于強(qiáng)化學(xué)習(xí)算法中的狀態(tài)-動(dòng)作價(jià)值函數(shù)Q(s,a)。
由于GAⅠL 算法依靠專家數(shù)據(jù)生成策略,當(dāng)該數(shù)據(jù)集包含的策略非最優(yōu),或無法達(dá)到目標(biāo)時(shí),生成策略性能將無法保證。因此,本文將強(qiáng)化學(xué)習(xí)環(huán)境探索優(yōu)勢(shì)與模仿學(xué)習(xí)的策略約束優(yōu)勢(shì)相結(jié)合,提出生成對(duì)抗式近端策略優(yōu)化算法。
GA-PPO算法框圖見圖1。模型包含價(jià)值網(wǎng)絡(luò)、策略網(wǎng)絡(luò)和判別器網(wǎng)絡(luò),部署時(shí)只保留策略網(wǎng)絡(luò);經(jīng)驗(yàn)池包含示例經(jīng)驗(yàn)池和回合經(jīng)驗(yàn)池,示例數(shù)據(jù)池中的軌跡數(shù)據(jù)三元組()由人機(jī)對(duì)抗和基于規(guī)則模型的機(jī)機(jī)對(duì)抗產(chǎn)生。回合經(jīng)驗(yàn)池中存儲(chǔ)當(dāng)前策略與環(huán)境交互所產(chǎn)生的軌跡四元組(st、at、st+1、rt),每回合訓(xùn)練結(jié)束后,回合經(jīng)驗(yàn)池清空。圖中包括3 類數(shù)據(jù)流:環(huán)境交互數(shù)據(jù)流,當(dāng)前策略與環(huán)境交互,生成軌跡數(shù)據(jù)存入回合經(jīng)驗(yàn)池;DA網(wǎng)絡(luò)更新數(shù)據(jù)流,回合結(jié)束后,根據(jù)式(7),利用梯度下降方法更新判別器網(wǎng)絡(luò)參數(shù),而后,根據(jù)式(8)更新策略網(wǎng)絡(luò)參數(shù),從而約束當(dāng)前策略分布向?qū)<也呗允諗?;AC網(wǎng)絡(luò)更新數(shù)據(jù)流,與PPO算法流程相同,根據(jù)式(8)更新AC網(wǎng)絡(luò)。
圖1 GA-PPO算法框圖Fig.1 Framework of GA-PPO algorithm
為提高算法收斂速度和穩(wěn)定性,采用分布式并行計(jì)算方式,設(shè)置n個(gè)分布式rollout worker 和1 個(gè)中心learner。Rollout workers與環(huán)境交互,存儲(chǔ)回合軌跡數(shù)據(jù);回合結(jié)束后,計(jì)算各自策略梯度并回傳learner 進(jìn)行梯度累加,更新網(wǎng)絡(luò)參數(shù)后,廣播給各rollout worker,采集新一輪數(shù)據(jù)。
算法流程如圖2 所示。首先,建立示例經(jīng)驗(yàn)池DE={τ1,τ2,...,τn} ,其中τn表示第n條飛行軌跡,即τn=。初始化各網(wǎng)絡(luò)參數(shù)和算法超參數(shù)。每回合結(jié)束后,采樣DE和,計(jì)算策略梯度和,由learner累加梯度并更新網(wǎng)絡(luò)參數(shù),最終,輸出最優(yōu)策略網(wǎng)絡(luò)參數(shù)θ*。
圖2 GA-PPO算法流程Fig.2 Flow of GA-PPO algorithm
實(shí)驗(yàn)仿真環(huán)境采用OpenAⅠgym 平臺(tái)框架,飛機(jī)空氣動(dòng)力學(xué)模型采用JSBSim開源平臺(tái)的F-16飛機(jī)模型,其內(nèi)部包含基本增穩(wěn)系統(tǒng)。飛機(jī)在高空飛行過程中,機(jī)動(dòng)動(dòng)作由控制升降舵、副翼、方向舵和油門完成,因此,策略網(wǎng)絡(luò)輸出為舵面偏轉(zhuǎn)角度和油門開度at={δel,δai,δru,δth}。
對(duì)抗過程中,紅方由策略網(wǎng)絡(luò)控制,藍(lán)方由基于PⅠD 控制器的簡(jiǎn)單規(guī)則模型控制。為簡(jiǎn)化實(shí)驗(yàn)復(fù)雜度,雙方態(tài)勢(shì)全透明,設(shè)計(jì)狀態(tài)向量st為:
式(9)中:ψ、θ、φ為飛機(jī)自身姿態(tài)角;θ?為俯仰角速度;φ?為當(dāng)前滾轉(zhuǎn)角;h為自身當(dāng)前高度;V、ΔV、ΔX分別為NED 坐標(biāo)系下的紅方和藍(lán)方的速度矢量、速度差矢量和相對(duì)位置矢量;αATA為方位角;αAA為目標(biāo)進(jìn)入角。st均歸一化處理。
為保證算法收斂,一般設(shè)計(jì)較為稠密的獎(jiǎng)勵(lì)函數(shù)。本文主要考慮角度優(yōu)勢(shì)、能量?jī)?yōu)勢(shì)和滿足發(fā)射條件等方面,因此,設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)rt為:
式(10)中,η代表權(quán)重。此外,還應(yīng)考慮飛機(jī)穩(wěn)定飛行和保證在指定空域飛行的限制條件,因此,引入邊界懲罰項(xiàng),避免飛機(jī)誘導(dǎo)墜地等錯(cuò)誤決策出現(xiàn)。
仿真中,紅藍(lán)雙方初始高度1~9 km,初始相對(duì)水平距離±10 km,初始速度150~300 m/s,初始任意姿態(tài),仿真步長(zhǎng)20 ms,每回合5 min。算法中超參數(shù)設(shè)計(jì)如表1所示。DAC網(wǎng)絡(luò)結(jié)構(gòu)均采用全連接結(jié)構(gòu),其中隱藏層激活函數(shù)均為ReLu 函數(shù),策略網(wǎng)絡(luò)輸出層激活函數(shù)為tanh 函數(shù),判別器網(wǎng)絡(luò)輸出激活函數(shù)為sigmoid函數(shù)。損失函數(shù)采用Adam方法更新梯度[19]。
表1 GA-PPO算法參數(shù)設(shè)置Tab.1 Parameters of GA-PPO algorithm
圖3 給出了回報(bào)函數(shù)的仿真結(jié)果。仿真中,首先利用示例數(shù)據(jù)對(duì)策略模型進(jìn)行行為克隆預(yù)訓(xùn)練,避免智能體在訓(xùn)練初始階段不收斂。實(shí)驗(yàn)中,對(duì)比了PPO算法、PPO-SⅠL[20]算法和本文的GA-PPO 算法。GAPPO-1中αθ為常數(shù),GA-PPO-2表示αθ隨仿真回合增加逐漸降低,即訓(xùn)練初期通過模仿學(xué)習(xí)提高智能體訓(xùn)練效率,訓(xùn)練后期通過強(qiáng)化學(xué)習(xí)提高其環(huán)境的探索能力。結(jié)果顯示,GA-PPO 算法的收斂效率和最終回報(bào)要高于PPO 算法和PPO-SⅠL 算法。在約200 回合前,GA-PPO 算法需要訓(xùn)練判別器,因而回報(bào)函數(shù)略有波動(dòng),而后快速升高。GA-PPO-1 算法在訓(xùn)練中始終存在示例約束,因而波動(dòng)較GA-PPO-2更小。
圖3 回報(bào)函數(shù)仿真曲線Fig.3 Simulation curve of return function
圖4 給出了價(jià)值函數(shù)的仿真曲線,即價(jià)值網(wǎng)絡(luò)輸出均值仿真,表示約10 s仿真步長(zhǎng)的策略價(jià)值。為了提高比較的準(zhǔn)確性,價(jià)值網(wǎng)絡(luò)輸入均為示例數(shù)據(jù)采樣。結(jié)果表明,GA-PPO 算法較PPO-SⅠL 算法收斂速度更快,原因在于智能體狀態(tài)空間探索的概率分布更接近示例數(shù)據(jù),因而價(jià)值網(wǎng)絡(luò)更新方向更穩(wěn)定。
圖4 價(jià)值函數(shù)仿真曲線Fig.4 Simulation curve of value function
圖5 給出了根據(jù)公式(7)得到的判別器目標(biāo)函數(shù)仿真曲線。該函數(shù)接近2 ln( 0.5) =-1.38,說明當(dāng)前策略接近示例策略,即判別器無法區(qū)分當(dāng)前策略和示例策略。GA-PPO-2 中,αθ逐漸減小,因而訓(xùn)練中強(qiáng)化學(xué)習(xí)算法的更新比重逐漸增加。盡管回報(bào)仍逐漸增加,但當(dāng)前策略與示例策略分布偏差略有增加。結(jié)果說明,可以通過調(diào)節(jié)式(8)和式(5)中的αθ的比例來影響策略分布,選擇智能體探索環(huán)境或模擬專家策略。
圖5 判別器目標(biāo)函數(shù)仿真曲線Fig.5 Simulation curve of D-object funtion of discrimination
圖6給出了紅藍(lán)雙方均使用GA-PPO生成策略的對(duì)抗態(tài)勢(shì)圖。紅藍(lán)雙方初始態(tài)勢(shì)均勢(shì),高度5 km,速度200 m/s,相向飛行。
圖6 空戰(zhàn)博弈態(tài)勢(shì)圖Fig.6 Diagram of air combat play
圖6 a)中,紅方使用GA-PPO-1生成模型,藍(lán)方使用GA-PPO-2 生成模型。10 s 時(shí),雙機(jī)對(duì)頭有進(jìn)入雙環(huán)戰(zhàn)趨勢(shì),而后雙方相向飛行處于均勢(shì),20 s時(shí)紅方選擇半滾倒轉(zhuǎn)機(jī)動(dòng)迅速調(diào)轉(zhuǎn)機(jī)頭指向藍(lán)方,藍(lán)方處于劣勢(shì),爬升急轉(zhuǎn)脫離未果,紅方始終保持后半球優(yōu)勢(shì);圖6 b)中,紅藍(lán)雙方均使用GA-PPO-1生成模型自博弈,雙機(jī)交會(huì)后進(jìn)入剪刀機(jī)動(dòng),均未能率先脫離,在雙方使用相同策略下和初始均勢(shì)開局情況下,最終收斂于納什均衡點(diǎn),與直觀態(tài)勢(shì)理解相一致。
本文提出了1種基于GA-PPO的空戰(zhàn)機(jī)動(dòng)決策生成算法,能夠利用示例數(shù)據(jù)約束策略優(yōu)化方向,提高算法收斂效率。同時(shí),結(jié)合強(qiáng)化學(xué)習(xí)環(huán)境探索能力,優(yōu)化當(dāng)前策略。結(jié)果表明,基于GA-PPO 算法的策略模型具有較高智能性,較符合專家經(jīng)驗(yàn)。
但算法仍存在一些問題:一方面,利用強(qiáng)化學(xué)習(xí)技術(shù)探索環(huán)境能力受限于獎(jiǎng)勵(lì)函數(shù),對(duì)空戰(zhàn)態(tài)勢(shì)評(píng)估函數(shù)準(zhǔn)確性、引導(dǎo)性、稠密性要求較高;另一方面,示例數(shù)據(jù)的多峰或非最優(yōu)性問題未得到根本的解決。此外在模型實(shí)際部署模擬器進(jìn)行人機(jī)對(duì)抗時(shí),應(yīng)考慮對(duì)手變化帶來的遷移問題,在未來工作中需要進(jìn)一步優(yōu)化。