劉士榮,王天一,劉 揚
(哈爾濱工業大學計算學部,哈爾濱 150001)
近年來,隨著深度學習的崛起,深度強化學習被廣泛研究,涌現出了許多優秀的強化學習算法,在游戲[1]、機器人控制任務中取得了出色的表現[2]。無模型強化學習算法在智能體與環境的不斷交互中采集數據學習策略,一般有兩種方法:值函數迭代法和策略梯度法。值函數迭代法通過學習狀態動作值函數來隱式學習一個確定性的策略,而策略梯度法顯式建模策略分布,通過計算策略梯度不斷學習出好的策略分布。值函數迭代法中,最廣為人知的便是DeepMind公司開發的深度Q學習(Deep Q-Learning,DQN)[3]算法,其將深度學習與Q-learning算法相結合,使用神經網絡自動學習圖像這種高維輸入的低維表示,并且可以端對端的訓練,是第一個可以在雅達利游戲中接近人類水平的人工智能體。DQN還有一系列變體,如緩解DQN中值函數過估計的Double DQN[4],用于連續動作空間的深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)[5]、緩解DDPG中值函數過估計的TD3[6]算法等。幕上的反向更新(Episodic Backward Update,EBU)[7]在整個幕上采樣,并連續將狀態的值傳遞到前面的狀態,優先經驗回放(Prioritized Experience Replay,PER)[8]根據優先級選擇訓練樣本,可以顯著提高DQN算法的采樣效率,事后經驗回放(Hindsi-ght Experience Replay,HER)[9]算法可以高效解決稀疏獎勵問題。由于策略梯度法可以顯式建模策略分布,更天然地適用于連續動作問題,通常在機器人控制等連續動作問題中被廣泛使用,但需要一些技術來降低策略梯度的方差。最直接的策略梯度算法為REINFORCE[10],信任域策略優化(Trust Region Policy Optimization,TRPO)[11]為了讓策略能夠穩定提升,顯式增加了一個約束,限制每次策略更新的最大偏移量,可以提高策略梯度法學習過程中的穩定性。為了平衡優勢函數的偏差和方差,還使用了廣義優勢估計器(General Advantage Estimation,GAE)[12]。進化策略(Evolution Strategy, ES)[13]通過突變操作改變原始參數,并檢驗改變后參數的效果,保留那些結果較好的進化策略類似于神經進化和直接策略搜索,在搜索過程中沒有使用梯度信息,本質上相當于在使用獎勵函數作為啟發式函數在參數空間中直接進行搜索。
在末制導領域中,比例制導律[14]是很常見的方法,在理想條件下有很好的表現,但其導航比是一個常數,無法為每個狀態自適應地調整該比率,很難適應復雜環境。文獻[15]使用Q-learning學習比例系數,文獻[16]使用DDPG算法學習制導策略,文獻[17]也使用DDPG算法通過優化導航比來學習末制導律,學習比例制導律中的導航比,算法效果優于比例制導律;但其實驗環境相對簡單,沒有考慮空氣動力學,其作者發現在考慮空氣動力學的環境中會有訓練不穩定的問題。本文方法關注末制導策略的在線學習,在導彈與目標在仿真環境的在線交互過程中,直接學習末制導控制量,即不借助已有末制導律,直接為導彈提供加速度,并在考慮空氣動力學的環境中進行實驗,實驗結果表明,本文提出的方法在提升訓練穩定性的同時也學習到了高效的策略。
本文第1章介紹了強化學習算法的基本原理,包括強化學習算法概述、策略梯度算法及信任域策略優化算法的原理與推導;第2章介紹了本文的實驗部分,首先給出了強化學習末制導問題的模擬環境,以及如何將信任域策略優化算法應用到末制導控制量的學習中,介紹了馬爾可夫模型中的狀態空間設計、動作空間設計以及獎勵函數設計;在實驗部分又找到兩個強化學習算法作為基準,分別是EBDQN算法和ES算法,然后將本文提出的獎勵函數與另外兩種獎勵進行對比,同時給出實驗對比結果;最后,在第3章對本文的工作進行了總結。
序列決策問題通常被形式化為馬爾可夫決策過程(Markov Decision Process,MDP)。MDP定義為一個六元組(S,A,T,r,γ,ρ0),S為狀態空間,A為動作空間,T:S×A×S→R為狀態轉移概率,r:S×A→R為獎勵函數,γ∈(0,1)為折扣因子,ρ0:S→R為初始狀態分布。
強化學習考慮智能體在與環境交互過程中學習到能夠最大化獎勵的行為。在每個時刻t,智能體處在狀態st∈S下,根據自己的策略π:S×A→[0,1]選擇一個動作at∈A,然后得到獎勵rt,并進入下一個狀態st+1∈S。
(1)
其中,at~π(·|st),st+1=T(st,at)。強化學習的目標是找到一個最優策略π*,使得期望回報最大,即π*=argmaxπJ(π)。為了便于學習策略,定義狀態值函數
(2)
以及狀態動作值函數
Q(s,a)=
(3)
策略梯度法[10]通過計算目標函數在策略參數處的梯度,得到策略的更新方向,用π(θ)表示待學習的參數化策略,θ為策略參數,則策略梯度法的目標函數如下
J(θ)=Et[logπθ(at|st)*A(st,at)]
(4)
其中,A(st,at)=Q(st,at)-V(st),為t時刻的優勢函數。策略梯度法的主要問題是估計得到的梯度有很大方差,容易造成策略崩塌,影響訓練穩定性。
信任域策略優化[11]算法在策略梯度法的基礎上加入了一個用來限制策略偏移的約束,以避免策略偏移帶來的梯度偏差所引發的策略崩塌,使得學習過程更加穩定。信任域策略優化算法的優化問題如下
(5)
Et[DKL(πθ(at|st)||πθold(at|st))]≤δ
(6)
其中,πθold表示采樣策略;θold表示采樣策略的參數;Et表示采樣策略πθold采集到的每個時刻樣本下的期望;DKL表示KL散度;δ是一個超參數,表示策略偏移的最大幅度。
為了求解該優化問題,對目標函數和約束項分別做一階、二階泰勒近似,得到如下近似優化問題
maxθJ(θold,θ)≈gT(θ-θold)
(7)

(8)
其中
(9)
(10)
該近似優化問題可求出最優解
(11)
近似優化問題雖然有最優解,但不一定是原問題的最優解,故信任域策略優化在此基礎上還做了線搜索(line search),將近似優化問題求得的最優解作為最大步長進行指數衰減線搜索,找到可以真正優化原始目標函數的步長。令α為指數衰減速度,j為搜索次數,則得到如下參數更新公式
(12)
信任域策略優化算法需要計算KL散度的Hessian陣,是一種二階優化算法,需要一些代碼上的優化來加速求解,如費雪向量積和共軛梯度法。同時,信任域策略優化算法使用了GAE估計優勢函數,可以權衡優勢函數估計器的偏差和方差。此外,二階優化算法也意味著信任域策略優化更適合低維問題,在高維問題中會面臨Hessian陣估計不準、計算量大的問題,從而影響算法訓練效果和訓練速度。末制導問題的狀態維度和動作維度都比較低,故本文將信任域策略優化算法應用到末制導控制量的學習中,使策略的學習變得更加穩定,提升習得策略的表現。信任域策略優化算法的偽代碼如表1和表2所示。

表1 算法整體流程

表2 信任域策略優化算法
為了將強化學習算法應用于末制導問題中,需要對實際制導問題進行仿真模擬。導彈作為一種高速飛行的打擊武器,通常應用于遠距離打擊范圍任務中,在這種情況下,導彈與目標本身的尺寸可以被忽略,只關注二者的相對位置關系即可,即將導彈與目標簡化成為兩個質點。
將制導問題應用在真實的三維環境中,經大量的研究顯示,三維空間的仿真建模復雜且計算量太大。文獻[18]的研究結果表明,二維空間與三維空間中的運動存在相似性,可以通過降維等手段將三維空間的運動問題分解成兩個相互正交的二維平面中的運動問題。
本文的導彈-目標仿真環境建模即采用上述的思想,選擇在二維平面內對末制導問題進行仿真環境建模,并基于質點模型,忽略了導彈和目標雙方的機身尺寸,整個攔截場景處于慣性參考系下,仿真場景如圖1所示。其中,M與T分別表示導彈與目標質點;θM與θT為導彈和目標的彈道傾角;q與r為視線角與彈目相對距離;aM與aT為控制導彈和目標轉向的法向加速度。整個仿真過程遵循如下運動學公式
(13)
(14)
(15)

圖1 仿真場景示意圖Fig.1 Schematic diagram of simulation environment
此外,在真實環境下,考慮到傳輸噪聲對彈頭指揮部的制導系統可能會產生的干擾,以及空氣動力學所產生的各種噪聲(如空氣密度不同帶來的聲速不同進而影響到攔截彈飛行的情況),本文在本次仿真環境中額外加入對于噪聲的考量。首先,由于不同高度下空氣的密度和聲速是不同的,因此在這里首先對給定高度下的空氣密度和聲速進行計算,具體方式如下:
1)位勢高度計算:本次仿真模型均設定在標準大氣壓下。首先計算在給定目標高度下的位勢高度
(16)
其中,r0為地球半徑,取6356766m;yM為彈體或者目標的縱向高度,單位為m。
2)實時攝氏溫度計算:此處取常壓下地面溫度15℃,由熱力學溫度轉化公式可知地面熱力學溫度為288.25K,據此計算給定高度的攝氏溫度如下
T=Tb+cT×(Z-Zb)
(17)
其中,Tb為熱力學溫度;cT為一衰減系數,由高度與溫度變化關聯公式可知,高度每升高1000m氣溫降低6.5℃,即設定為-6.5×10-3;Zb為擾動系數,此處取0.0。
3)空氣壓力計算:已知給定溫度,即可計算定高度下的空氣氣壓,其計算公式如下
(18)
其中,Pb為標準大氣壓下的毫米水柱,取值為10332.3mm H2O;g0為重力加速度,取值為9.80665;cP為干燥空氣的摩爾氣體常數,通常取287.05287。
4)空氣密度計算:在已知空氣壓力的情況下,空氣密度可由式(19)求得
(19)
5)聲速計算:聲速計算公式在已知攝氏溫度的情況下可以根據式(20)求得
(20)
單位為m/s。
在不同的空氣密度和聲速下,模型的氣動參數也是不停變化的。不同的氣動參數會影響導彈的一階特性與二階特性,進而影響到導彈的實時速度。此處假定導彈速度的初始變化率為-25m/s,結合導彈的特征面積,給出導彈受空氣密度噪聲影響的速度變化公式如下
Vdot=
(21)
其中,CD、CK、CLafa均為氣動參數;α為攻角指令,由過載指令結合空氣密度計算而來;ρ為前述空氣密度;VM為導彈的實時速度;Sxsf為導彈的特征面積,一般取0.2;m為導彈質量,此處取m=400kg;θm為導彈的彈道傾角。此外,為增加算法的魯棒性,本文對于環境中也施加了部分隨機噪聲,具體方法如下:通過對導彈運動的角噪聲進行處理,從而對視線轉率施加噪聲,進而影響視線轉率的二階特性,使得訓練更具有普遍性,減小因過擬合帶來的誤差。由上述公式,即式(16)~式(21),可以考慮真實戰場下的空空攻防戰空氣噪聲參數,從而實現更加普遍、通用、包容性強的算法模型。
2.2.1 狀態空間設計
在實驗中,將智能體的狀態定義為一個8維向量,前4維分別表示導彈和目標雙方的坐標在X坐標軸和Y坐標軸方向的分量,后4維分別表示導彈和目標雙方的速度在X坐標軸和Y坐標軸方向的分量。
s=(XM,YM,XT,YT,VM,X,VM,Y,VT,X,VT,Y)
(22)
2.2.2 動作空間設計
將智能體的動作定義為一個標量,表示提供給導彈的加速度,是一個連續的值。動作的取值范圍通過超參數A_MAX設置,在實驗中將其設置為300。
at∈(-A_MAX,A_MAX)
(23)
2.2.3 獎勵函數設計
獎勵定義為上一時刻的預測脫靶量與當前時刻的預測脫靶量的差值,表示當前時刻動作對預測脫靶量的降低量
rt=-1*(zemt-zemt-1)
(24)
其中,zemt為t時刻的預測脫靶量,是導彈和目標相對距離的最小值的預測值,計算公式參考文獻[18-19]。直觀上說,預測脫靶量是以導彈為參照系,導彈相對靜止,而目標在進行勻速直線運動,目標不斷運動直到與導彈的距離達到最近,此時的距離稱為預測脫靶量。可見,與當前時刻雙方的相對距離不同,預測脫靶量的計算考慮了導彈和目標的實際運動情況。但預測脫靶量只考慮了導彈和目標當前時刻的相對速度,沒有考慮它們在未來時刻的速度變化,是對實際脫靶量的近似估計,而實際脫靶量是不可能精準預測的,所以本文采取這種簡單的方法,通過預測脫靶量來近似估計實際脫靶量,進而計算獎勵。
上述MDP建模盡量少地使用末制導領域專業知識,只使用位置和速度這些簡單易懂的量作為狀態,動作也是直接為導彈提供的加速度,沒有制導律相關知識,更能驗證強化學習在末制導領域應用的潛力。如果使用末制導領域專業知識來設計狀態和獎勵,可能會提升算法的表現和泛化性,但降低了設計的通用性,所以本文決定采取這種簡單有效的MDP設計。
TRPO算法具體超參數設置如表3所示,環境中導彈和目標的初始參數如表4所示。

表3 TRPO算法超參數

表4 導彈和目標初始的參數
為了驗證本文提出的算法的高效性能,對比了其他兩種強化學習制導律算法,分別是基于進化策略的ES算法和基于EBDQN的自適應導航比末制導律算法[20]。ES算法使用進化算法直接優化策略,EBDQN算法通過從經驗回放池中采樣整個軌跡,并從結束狀態從后向前更新值函數,可以提高樣本的使用效率。
在2.1節介紹的仿真環境中,在2.2節介紹的MDP設置下,基于表3所示的TRPO算法超參數與表4所示的導彈和目標的初始參數,使用TRPO算法學習末制導控制量,測試脫靶量,與直接學習末制導控制量的ES算法和學習引導率參數的EBDQN算法相比,其脫靶量累積分布圖如圖2所示。在圖2中,橫軸為脫靶量大小,單位為m,縱軸為累積分布概率,實驗重復次數為500次,脫靶量分布結果如表5所示。可以看出,同是直接學習末制導控制量的TRPO和ES算法,TRPO算法的脫靶量比ES算法更低,而且TRPO算法的脫靶量優于學習引導率導航比參數的EBDQN算法,說明TRPO學習到的控制量比引導率的效果更好,在復雜場景中直接學習控制量的方法有希望超過學習引導率的方法。

圖2 脫靶量累計分布Fig.2 Cumulative distribution of miss distance

表5 制導律脫靶量分布
此外,本文將在線強化學習算法應用于末制導控制量的學習中,由于末制導常常強調機動性,故需要通過實驗測試算法的響應時間,即智能體做出決策所需要的時間。表6展示了三種強化學習算法的響應時間,單位為ms,實驗運行環境為i5 7300HQ CPU,16G內存,沒有用到 GPU。可以看到,三種算法的響應時間都是ms級的,響應都很快速,這是因為它們的策略網絡和值網絡都是簡單的全連接層,參數較少,計算時間短。

表6 三種算法的響應時間
在強化學習中,獎勵承擔著重要的作用,它負責傳遞這一次動作的獎懲情況,智能體根據獎勵的變化進行策略的優化。本節通過實驗對比不同的獎勵函數,包括稀疏獎勵、樸素獎勵以及本文提出的新穎獎勵,從而驗證本文所提的獎勵函數的高效性。
首先介紹稀疏獎勵。在末制導的實際物理環境中,只有當導彈命中目標時,才會收到命中的獎勵,其他時間無論導彈怎么改變方向、調節速度,在命中之前都不會獲得任何獎勵,這種獎勵函數是一個典型的稀疏獎勵。將其設計為式(25),當一條軌跡最終距離目標小于5m時,給予10的獎勵,其余時刻全都是0的獎勵。然而,稀疏獎勵問題會導致強化學習算法收斂緩慢,甚至是無法收斂。
(25)
樸素稠密獎勵函數是最符合人類直覺的一種獎勵,將導彈與目標之間的距離作為衡量獎勵的尺度,距離目標越近,則給出越大的獎勵,距離目標越遠,則給出越小的獎勵。獎勵的具體形式如式(26)所示,在每一時刻,將導彈與目標之間距離的負數作為獎勵。然而,這種負獎勵會促使智能體盡早結束軌跡,影響策略學習。
(26)
為了解決在末制導環境中的稀疏獎勵問題以及樸素稠密獎勵的學習效率低下的問題,提出了一種創新性的獎勵函數設計。將獎勵定義為上一時刻的預測脫靶量與當前時刻的預測脫靶量的差值,表示當前時刻動作對預測脫靶量的降低量,關于該獎勵的更詳盡的介紹請參考2.2.3節式(24)。
為了說明本文設計的新穎獎勵函數的高效性,圖3對比了與三種獎勵函數在相同實驗環境下訓練時的脫靶量變化曲線,橫軸為訓練輪數,共訓練500輪,縱軸為每一輪訓練后的脫靶量,單位為m,每輪測試次數為5次。可以發現,本文提出的獎勵函數能夠使訓練更穩定,并且能達到更低的脫靶量。

圖3 三種獎勵在訓練時的脫靶量變化曲線Fig.3 Curves of miss distance of three rewards during training
1)本文將TRPO算法應用于末制導問題,在與環境交互的過程中直接學習末制導控制量,而非學習末制導律中的參數,有助于發現更優的制導策略。設計了簡單的狀態,避免引入末制導專業知識,并設計了一種新穎的獎勵函數,該獎勵函數考慮了導彈和目標的運動情況,更適合末制導問題。仿真環境中考慮了空氣動力學,更接近真實場景。
2)實驗結果表明,通過使用本文算法和提出的獎勵,智能體學到的控制策略可以達到更低的脫靶量,命中效果更好。
3)本文只在仿真環境中進行實驗,使用強化學習算法在真實場景中進行控制量學習是未來有價值的研究方向。