陳浩,羅棕,杜春,彭雙,李軍
(國防科技大學 電子科學學院,湖南 長沙 410073)
隨著成像衛(wèi)星技術的不斷發(fā)展,社會各領域對成像衛(wèi)星的使用需求也越來越多,由于衛(wèi)星資源有限,無法滿足所有對地觀測需求,導致觀測需求沖突經常發(fā)生.衛(wèi)星任務規(guī)劃是從眾多的衛(wèi)星對地觀測請求中選出一個無沖突子集,使得觀測收益最大化.已有研究表明,衛(wèi)星任務規(guī)劃是一個典型的NPhard 問題[1-2],目前尚沒有多項式時間快速算法,大規(guī)模情況下,衛(wèi)星任務規(guī)劃具有龐大的解空間,通過隨機搜索得到初始解的方法,需要較長的求解路徑,規(guī)劃計算費時費力[3].而衛(wèi)星繞地球飛行,軌跡和任務均呈現(xiàn)周期性特點,可見歷史規(guī)劃方案對當前方案的制定有較大借鑒意義.如果把歷史規(guī)劃方案看作訓練數(shù)據(jù),這就使得通過構建機器學習模型,從而準確預測當前規(guī)劃方案成為了可能,這就是衛(wèi)星成像任務可調度性預測問題.通過預測得到衛(wèi)星成像調度結果的方法計算量低,能夠快速獲得任務可調度性.此外預測結果不僅能初步表達最終調度結果、供操作員估算長期規(guī)劃效益,還能為規(guī)劃算法提供高價值的初始解.因而,衛(wèi)星成像任務可調度性預測問題受到了學者的廣泛關注.
Wang 等[4]、Tinker 等[5]提出基于案例學習的衛(wèi)星觀測任務規(guī)劃方法,利用衛(wèi)星規(guī)劃歷史數(shù)據(jù)集進行無監(jiān)督學習,通過與已知的實例進行比對完成衛(wèi)星任務規(guī)劃.與無監(jiān)督學習方法相比,監(jiān)督學習方法具有針對性更強、預測計算更快、泛化能力更好的優(yōu)點.鑒于此,Li 等[6]提出基于魯棒性決策樹和集成支持向量機的成像觀測任務預測方法,取得了較好的預測效果,但從深度學習視角來看,其預測精度尚有提升空間.白國慶[7]、劉嵩[8]等提出基于全連接(fullyconnected)BP 神經網絡的成像衛(wèi)星可調度性預測方法,設計了一種由協(xié)同任務分配組件、任務調度組件、特征提取組件以及任務可調度性預測組件所構成的組件化求解架構,采用變隱含層節(jié)點的集成反向傳播神經網絡集成技術求解成像任務可調度性問題,預測準確率達到85%以上.邢立寧等[9]針對星上任務可調度性預測問題,在分析實際影響成像衛(wèi)星任務執(zhí)行因素(如任務重疊度、任務收益、氣象信息等)的基礎上,設計了一種基于BP 神經網絡的預測方法,在衛(wèi)星狀況正常的情況下具有83%的預測準確率.BP 神經網絡訓練方法成熟,但沒有考慮成像衛(wèi)星任務可調度性預測問題中成像任務為時序任務的特點,難以建立相隔較遠的兩個成像任務之間的潛在依賴關系.隨著深度學習的興起,循環(huán)神經網絡受到了越來越多的關注.相關研究表明[10-11],循環(huán)神經網絡(Recurrent Neural Network,RNN)能模仿短期記憶特性,尤其適合對時序數(shù)據(jù)進行處理.
由于循環(huán)神經網絡在時序數(shù)據(jù)處理上比普通神經網絡性能更優(yōu),Peng 等[12]針對星上任務調度問題,提出了基于長短記憶網絡(Long Short-Term Memory,LSTM)的觀測任務可調度性實時預測方法,其使用兩個LSTM 網絡來實現(xiàn)特征提取,再使用一個前饋BP 神經網絡實現(xiàn)衛(wèi)星自主規(guī)劃,但每次僅能決策一個對地觀測任務是否執(zhí)行.連續(xù)的決策是一個多次序貫決策過程,該過程容易導致誤差積累,從而使得預測精確度隨時間的推移而下降.
本文提出一種基于雙向門控循環(huán)單元[13-14](Bidirectional Gated Recurrent Unit,Bi-GRU)的成像衛(wèi)星觀測任務可調度性預測模型,該方法可以有效觀測建模前后任務之間的潛在相互影響,從而一次性實現(xiàn)對多個觀測任務可調度性的準確預測.
為了便于描述衛(wèi)星對地觀測任務可調度性預測問題,現(xiàn)作如下定義.
定義1 觀測任務:衛(wèi)星對單個地面目標進行一次有效觀測,也稱為成像任務.每個觀測任務包含多種任務特征,相關符號記為:xi=〈f1,f2,…,fn〉,其中f*為任務特征,n 為特征總數(shù),i 為觀測任務的編號.
定義2 觀測任務序列:觀測任務按照觀測時間窗口開始時間的先后順序排成的序列,相關符號記為:X={xi|i∈[1,N],N∈Z+},N 為序列長度.此外定義{x1,…,xi-1}為xi的前驅任務序列,{xi+1,…,xN}為xi的后繼任務序列.
定義3 成像方案:通過衛(wèi)星任務規(guī)劃系統(tǒng)計算得出的衛(wèi)星對地成像的觀測方案.
定義4 觀測任務xi的可調度性預測結果記為yi,衛(wèi)星任務規(guī)劃系統(tǒng)真實計算結果記為.“yi=1”表示模型預測xi進入成像方案,“yi=0”則表示模型預測xi未進入成像方案.同理表示衛(wèi)星任務規(guī)劃系統(tǒng)將xi列入成像方案,表示衛(wèi)星任務規(guī)劃系統(tǒng)未將xi列入成像方案.此外定義觀測任務序列X 對應的預測結果為Y={yi|i∈[1,N],N∈Z+},對應的系統(tǒng)規(guī)劃結果為Y′={y′i|i∈[1,N],N∈Z+}.
衛(wèi)星對地觀測任務可調度性預測問題可以描述為:利用衛(wèi)星任務規(guī)劃系統(tǒng)的歷史規(guī)劃數(shù)據(jù)Strain=訓練模型,模擬任務規(guī)劃系統(tǒng)的映射關系,預測觀測任務序列集合Stest={Xi|i∈[1,m],m∈Z+}的可調度性.
利用歷史規(guī)劃數(shù)據(jù)預測衛(wèi)星對地觀測任務的規(guī)劃結果實質是一個監(jiān)督學習過程,而監(jiān)督學習過程包括特征提取與選擇、學習與訓練、分類與識別.衛(wèi)星在空間軌道上圍繞地球做周期性運動,與地面目標之間并非時時可見,只有在觀測時間窗口內才可能對該目標實施觀測.除觀測時間窗口約束條件之外,衛(wèi)星受到其他約束條件的制約,如星上存儲容量、星上能量、衛(wèi)星動作切換時間、觀測任務重疊度等等.因此,在對衛(wèi)星觀測任務進行可調度性預測時,需要考慮眾多影響因素.參考文獻[7-12,15-16]中關于成像衛(wèi)星任務規(guī)劃建模約束條件,本文主要考慮以下影響因素和約束條件.
1)優(yōu)先級:觀測任務的等級,代表觀測任務的收益,優(yōu)先級越高的觀測任務越優(yōu)先考慮列入成像方案.觀測任務xi的優(yōu)先級記為pi∈[1,40],優(yōu)先級40為最高優(yōu)先級.本文定義任務規(guī)劃優(yōu)化目標為觀測任務的收益(Fvalue)最大化:
2)觀測持續(xù)時間:觀測任務xi的觀測時間窗口開始時間與結束時間之間的時間間隔.中低軌衛(wèi)星對地面目標的觀測時間窗口非常短,通常只有幾秒鐘到幾十秒鐘.觀測持續(xù)時間過短影響觀測任務有效性,過長則會引起資源的損耗,本文定義觀測持續(xù)時間di∈[10,59].
3)衛(wèi)星動作切換時間:成像方案中前一觀測任務xi的觀測結束時間與后一觀測任務xj的觀測起始時間的間隔需要不低于衛(wèi)星動作切換所用時間tij:
4)任務沖突度:與觀測任務xi發(fā)生觀測時間窗口重疊的其他觀測任務的數(shù)量.觀測任務的任務沖突度越高,任務規(guī)劃難度越大.
5)存儲消耗:衛(wèi)星執(zhí)行觀測任務所消耗的星上存儲空間.記衛(wèi)星在t 時刻的存儲空間為m(t),執(zhí)行觀測任務xi的存儲消耗為mi,mmax、mmin分別為衛(wèi)星存儲空間上限和下限.存儲消耗滿足約束條件:
6)能量消耗:衛(wèi)星執(zhí)行觀測任務所消耗的星上能量.記衛(wèi)星在時刻t 的能量值為e(t),在執(zhí)行觀測任務xi時衛(wèi)星能量消耗為ei,emax、emin分別為衛(wèi)星能量上限和下限.能量消耗值ei滿足約束條件:
此外,本文還考慮衛(wèi)星能量補充的情況:在成像方案相鄰任務xi與xj的任務間隙,記光照條件下的能量補充為eij,滿足約束條件:
考慮到傳感器切換時間Ts(i,j)、衛(wèi)星能量補充eij都與相鄰任務之間的時間間隔有關,而任務沖突度與觀測時間間隔、觀測持續(xù)時間有關.因此本文選取優(yōu)先級、觀測持續(xù)時間、觀測時間間隔、能量變化、存儲變化作為輸入特征.
循環(huán)神經網絡(Recurrent Neural Network,RNN)是一類以序列數(shù)據(jù)為輸入,在序列的演進方向進行遞歸且所有節(jié)點(循環(huán)單元)按鏈式連接的遞歸神經網絡[14].由于標準的RNN 模型存在梯度消失或梯度爆炸等問題,一些學者提出LSTM[17-18]和GRU[19-20]等門控遞歸神經網絡以增強RNN 的可用性.通常情況下GRU 和LSTM 的性能相似,但是GRU 參數(shù)更少,因此更容易收斂.GRU 中每個單元都可以通過重置門和更新門來控制信息的流動,并且在每個時間步都可以將所有的內存內容完全暴露出來.此外,GRU的輸出是為了實現(xiàn)以前的內存狀態(tài)和新的候選內存狀態(tài)之間的平衡.
Bi-GRU 的基本思想是將規(guī)則GRU 中的神經元分為前向層和后向層,分別代表正的時間方向和負的時間方向.通過使用這種結構,很容易捕獲到來自過去和未來的輸入信息對當前狀態(tài)的影響.
從機器學習視角來看,衛(wèi)星對地觀測任務可調度性預測是一個關于時序數(shù)據(jù)的“多對多”的二分類問題.模型在預測某個觀測任務是否列入成像方案時,需要考察該任務的前驅任務序列和后繼任務序列對當前任務可調度性的影響.利用GRU 的短時記憶能力,能夠很好地建模當前任務與其前驅任務集合或者與后續(xù)任務集合之間的潛在關系.因此,我們采用了雙向GRU(Bi-GRU)作為基本單元來構建預測模型,以期能夠讓模型從兩個前后方向對當前任務的前驅/后繼任務集合依賴性進行建模,以提升預測精準度.
模型結構如圖1 所示.基于Bi-GRU 網絡的衛(wèi)星對地觀測任務可調度性預測模型(Earth Observation Satellite Task Prediction based on Bi-GRU,OTPre)由3 個部分組成,分別是MLP(Multilayer Perceptron)層、Deep Bi-GRU 層、分類層.
圖1 模型結構框圖Fig.1 Model structure block diagram
2.2.1 MLP 層
由圖1 可知,N×5 維的觀測任務序列X 首先進入MLP 層處理,經過L1次非線性變換得到矩陣UMLP.輸入特征的非線性映射可以實現(xiàn)特征的精細劃分,對時序特征提取和分類判斷產生深遠的影響.相關計算公式如下:
式中:W*、b*分別代表每一層的權重矩陣和偏置向量;f 為ReLU 激活函數(shù).最后將MLP 層的輸出矩陣傳遞到Deep Bi-GRU 層.
2.2.2 Deep Bi-GRU 層
由圖1 可知,Deep Bi-GRU 層由N 個Deep Bi-GRU 單元組成,每個Deep Bi-GRU 包含4 層Bi-GRU 單元,每個Bi-GRU 單元包含前向GRU 單元和后向GRU 單元,每個GRU 單元包含hsize個隱含節(jié)點.每個GRU 單元的輸入信息來自兩方面,一是來自同一隱含層中前向(后向)GRU 傳過來的信息二是來自上一層傳遞過來的信息
2.2.3 分類層
由圖1 可知,分類層由L2個全連接層組成,負責將Deep Bi-GRU 層的輸出Z 映射為預測概率.相關計算公式為:
為了訓練模型,本文采用交叉熵作為損失函數(shù):
由于本文提出的網絡模型內部參數(shù)較多,所以選擇Adam 優(yōu)化算法來求取使得損失函數(shù)最小的最優(yōu)解.Adam 優(yōu)化算法[21]同時具備AdaGrad 和RMSProp 算法的優(yōu)點,適用于解決含大規(guī)模數(shù)據(jù)和參數(shù)的優(yōu)化問題,計算高效且所需的內存少.如算法1 所示,模型輸入訓練數(shù)據(jù)集Strain和訓練總迭代次數(shù)J;步驟1~2 對迭代計數(shù)參數(shù)j、ω 進行初始化;步驟3從訓練數(shù)據(jù)選取樣本數(shù)據(jù);步驟4~5 利用初始化的參數(shù)計算樣本數(shù)據(jù)的初始化預測結果和平均損失函數(shù)值C(0);步驟6~12 對模型進行梯度計算、模型參數(shù)更新、預測結果更新、平均損失函數(shù)值更新.將損失函數(shù)取最小值的模型參數(shù)進行保存,重復上述步驟直到迭代循環(huán)結束.
本實驗程序在PyCharm 2019.03 編譯器上使用Python+TensorFlow 編寫,計算機配置為Inter(R)Core(TM)i7-9750H CPU @2.60GHz,內存為8.0 GB,操作系統(tǒng)為Windows10.
本次實驗使用STK 軟件計算觀測任務的觀測時間窗口,使用1.2 節(jié)所述約束條件構建衛(wèi)星任務規(guī)劃模型并使用遺傳算法作為求解算法,計算結果作為觀測任務的系統(tǒng)規(guī)劃結果.本次實驗數(shù)據(jù)集時間從2017-04-01T 00:00:00~2017-04-01T 23:59:59,共有4 791 組觀測任務序列,每個觀測任務序列中包含100 個觀測任務,其中訓練數(shù)據(jù)占比60%,驗證數(shù)據(jù)占比20%,測試數(shù)據(jù)占比20%.
模型參數(shù)設置與實驗效果之間存在緊密的聯(lián)系,為了得出模型最佳輸出結果,分別對MLP 層、全連接層數(shù)和Deep Bi-GRU 的層數(shù)、GRU 隱含節(jié)點數(shù)的實驗效果進行了測試.MLP 層數(shù)對比了層數(shù)0、1、2、3;Deep Bi-GRU 層數(shù)對比了參數(shù)3、4、5;隱含節(jié)點數(shù)對比了參數(shù)20、25、30;最后得出MLP 層L1為2、全連接層L2為3、Deep Bi-GRU 層數(shù)為4、隱含節(jié)點數(shù)為20 時模型分類準確率最高,平均預測準確率為92.21%.
為了評估模型的實驗性能,將本文提出模型OTPre 與廣泛使用和最成功的傳統(tǒng)機器學習分類模型支持向量機(SVM)、隨機森林(RF)、文獻[6]提出的穩(wěn)健決策樹和標準支持向量機模型(SVM-RF)進行了性能比較.此外,為了與文獻[7-9]提出的模型進行性能比較,本文還選用MLP、GRU 模型作為Base-Line,其中MLP 層數(shù)設置為7 層、GRU 參數(shù)參照模型OTPre 設置.采用機器學習領域中普遍使用準確率、精確率、召回率、F1值對上述模型進行評價.
表1 為各個模型預測結果的準確率、精確率、召回率、F1值.從表1 可以看出,與SVM、RF、SVM-RF、MLP 相比,本文所提出的方法在各項指標中表現(xiàn)出較為明顯的優(yōu)勢,在準確率、精確率、召回率、F1值上分別平均高出6.95%、7.66%、10.11%、7.38%,這是因為這些模型難以建立相隔較遠的兩個成像任務之間的潛在依賴關系,對受多元約束(如存儲消耗約束、能量消耗約束)影響的任務關聯(lián)關系缺乏必要記憶.而模型OTPre 能更好地捕捉到這種潛在的依賴關系,從而取得了更好的預測效果.
表1 各類模型性能對比Tab.1 Performance comparison of various models %
模型OTPre 與GRU 相比,在準確率、精確率、召回率、F1值上分別高出2.27%、2.36%、3.45%、2.37%,說明雙向循環(huán)神經網絡各方面的預測能力更好,更適合衛(wèi)星對地觀測任務可調度性預測問題求解.
本文選用優(yōu)先級、觀測持續(xù)時間、任務沖突度來測試任務特征與預測準確率之間的趨勢關系.
3.5.1 優(yōu)先級
圖2(a)表示模型OTPre、GRU、SVM-RF 的觀測任務優(yōu)先級與預測準確率之間的趨勢關系,通過分析可以得出以下結論.
圖2 優(yōu)先級、預測準確率與觀測任務數(shù)量之間的趨勢關系Fig.2 The trend relationship between priority,prediction accuracy and the task number
1)優(yōu)先級12~40 的觀測任務呈現(xiàn)優(yōu)先級越高,預測準確率越高的變化趨勢,這是因為在任務規(guī)劃時優(yōu)先級越高的觀測任務,實際被列入成像方案的概率越高,預測更加容易.
2)優(yōu)先級1~11 的觀測任務呈現(xiàn)出優(yōu)先級越高,預測準確率越低的變化趨勢,這是因為優(yōu)先級越低的觀測任務,實際未列入成像方案的概率越大,預測更為容易.因此,介于高優(yōu)先級與低優(yōu)先級之間的觀測任務(中優(yōu)先級的觀測任務)預測更加困難.如圖2(b)所示,優(yōu)先級11 是所有優(yōu)先級中實際規(guī)劃上的觀測任務數(shù)量與實際未規(guī)劃上的觀測任務數(shù)量比值最接近1∶1.
3)3 種模型表現(xiàn)的趨勢關系比較相似,均呈現(xiàn)出“V”字型,拐點都在優(yōu)先級11 附近.
4)模型性能優(yōu)良與模型對于中優(yōu)先級觀測任務的預測能力有關,模型學習能力越強,對中等優(yōu)先級觀測任務預測更加準確.
3.5.2 觀測持續(xù)時間
圖3(a)表示模型OTPre、GRU、SVM-RF 的觀測持續(xù)時間與預測準確率之間的趨勢關系.通過分析可以得出以下結論.
圖3 觀測持續(xù)時間、預測準確率與觀測任務數(shù)量之間的趨勢關系Fig.3 The trend relationship between observation duration of tasks,prediction accuracy and the task number
1)通過分析圖3(a)可以得出,在相同觀測持續(xù)時間的前提下,模型OTPre 的預測準確率要高于GRU、SVM-RF 模型,說明本文提出的模型針對本文場景具有更加優(yōu)越的性能.
2)預測準確率曲線整體呈現(xiàn)觀測持續(xù)時間越長,預測準確率越低,這種趨勢隨著模型預測性能的提升而呈現(xiàn)弱化的趨勢.
3)預測準確率通常與觀測任務實際規(guī)劃情況有關,與優(yōu)先級表現(xiàn)的趨勢關系相似.通過分析圖3(b)可得,隨著觀測持續(xù)時間的增加,實際列入成像方案的任務數(shù)量與實際未列入成像方案的任務數(shù)量的比值越接近1∶1.這是因為獲取同等收益的情況下觀測持續(xù)時間越長,消耗資源越多,需要綜合衡量是否規(guī)劃的獲益與資源消耗,判斷和預測都更加復雜.
4)模型性能優(yōu)良與模型對于高觀測持續(xù)時間的觀測任務的預測能力有關,模型學習能力越強,對高任務觀測持續(xù)時間的觀測任務預測更加準確.
3.5.3 任務沖突度
圖4(a)表示在模型OTPre、GRU、SVM-RF 中任務沖突度與預測準確率之間的趨勢關系;圖4(b)表示在不同任務沖突度的條件下,實際列入成像方案的觀測任務和實際未列入成像方案的觀測任務所占比例.通過分析可以得到以下結論:
1)通過分析圖4(a)可以得出,在相同任務沖突度的前提下,模型OTPre 在預測沖突的觀測任務的準確率最高,其次是GRU 模型,最后是SVM-RF 模型,這說明循環(huán)神經網絡模型更適合衛(wèi)星成像任務規(guī)劃問題,可以對沖突的觀測任務信息進行記憶.同時也說明雙向循環(huán)神經網絡模型比單向循環(huán)神經網絡模型預測沖突觀測任務的能力更強.
2)通過分析圖4(a)可以得出,模型OTPre 相比于GRU、SVM-RF 模型在任務沖突度為0 時的預測準確率比較接近,但是在任務沖突度≥1 時的預測準確率具有更明顯的優(yōu)勢.這說明OTPre 模型可以更好地學習到任務的沖突特征.當預測序列沖突任務數(shù)量越多,OTPre 模型與GRU 模型相比具有更加明顯的優(yōu)勢.
3)由圖4(a)可知,OTPre 模型在任務沖突度為1 時的預測準確率要比任務沖突度為0 時的預測準確率更高,這說明OTPre 模型能夠有效發(fā)現(xiàn)相鄰任務觀測時間窗的沖突,并根據(jù)任務的特征進行準確決策.
4)由圖4(a)可知,高任務沖突度(任務沖突度≥2)的預測準確率要明顯低于低任務沖突度(任務沖突度≤1)的預測準確率.這是因為高任務沖突度的觀測任務數(shù)量更多,而實際列入成像計劃的比例更少,如圖4(b)所示,正確預測高任務沖突度的任務難度更高.
圖4 任務沖突度、觀測任務所占比例與預測準確率之間的趨勢關系Fig.4 The trend relationship between task conflict degree,performed tasks and prediction accuracy
本文提出了一種基于Bi-GRU 的衛(wèi)星觀測任務可調度性預測模型,該模型能夠有效預測建模前后觀測任務之間的潛在依賴關系,充分考慮觀測任務前后之間的影響,一次性預測多個觀測任務的可調度性.實驗中與SVM、RF、SVM-RF、MLP、GRU 等可調度性預測模型進行對比,本文提出的實驗模型在準確率、精確率、召回率和F1值等指標上均表現(xiàn)更優(yōu).此外還測試了任務特征對預測準率趨勢的關系.本文針對的是單星對地觀測任務可調度性預測問題,下一步研究方向:
1)將本文模型預測結果作為初始解應用于任務規(guī)劃系統(tǒng)中,研究初始解的質量對規(guī)劃算法性能的影響.
2)利用多星任務規(guī)劃經驗數(shù)據(jù),通過機器學習方法學習多星任務規(guī)劃算法,實現(xiàn)對多星任務規(guī)劃的預測.