?

基于早期時間序列分類的可解釋實時機動識別算法

2024-02-28 01:26龐諾言關東海袁偉偉
計算機工程與科學 2024年2期
關鍵詞:貢獻度機動時序

龐諾言,關東海,袁偉偉

(南京航空航天大學計算機科學與技術學院,江蘇 南京 211106)

1 引言

在空戰決策中,準確而快速地識別出敵機機動動作,可以有效地感知空戰態勢和捕捉敵機戰術意圖。機動動作是指戰斗機在執行空戰戰術時,具有明確特點的一系列飛行動作。對于戰斗機機動的識別是國內外空戰領域研究的重點問題,也是人工智能領域的一項挑戰[1]。戰斗機執行機動過程具有時序關系,故對戰斗機機動的識別是一個時間序列分類問題。但是如果在敵機執行機動完畢后,再去識別機動,就失去了實際意義。在實際場景中,需要觀測敵機飛行時的部分數據進行識別,這就是時間序列分類中的早期分類問題,故以此設計算法識別機動。

針對機動識別問題,空戰領域的研究人員提出了多種戰斗機機動識別方法,例如專家經驗[2,3]、多維動態時間規整[4,5]、支持向量機[6,7]、貝葉斯網絡[8,9]和神經網絡[10,11]等。但是上述方法具有如下不足:(1)大部分應用于離線場景,無法進行實時的機動識別;少數已有工作雖然進行實時識別,但需要大量專家經驗和先驗知識,且識別出完整機動的時間較長;(2)大部分已有模型中需要的數據在實際應用中無法獲得,如敵機滾轉角信息,如果模型無法獲得完備的信息,那么可能導致無法識別或識別準確率低等問題;(3)已有模型不具有可解釋性,對于空戰決策領域,不透明的決策將使決策者面臨更大的決策風險。

針對空戰環境中實時性要求高且需要保證可解釋性的機動識別問題,本文設計基于早期時間序列分類的可解釋實時機動識別算法。對于算法實時性問題,本文設計了2層識別模式,先將完整機動通過時間窗口劃分出多個時間較短的機動單元,并提取機動單元中的時序特征,再使用集成學習算法對機動單元進行識別,通過對機動單元的監控保證實時性,最后通過機動窗口確定早期時間序列分類決策點進而識別完整機動。對于空戰信息不完備的問題,本文使用雷達采集的敵機坐標信息,先通過卡爾曼濾波獲得更為真實的敵機位置,再通過領域知識和時序信息提取相關特征,以滿足機動識別的特征需求。對于算法可解釋性問題,本文使用可解釋模型通過特征的貢獻度對模型進行解釋,再按照貢獻度選擇特征進行消融實驗,從而獲得最優的特征組合??諔瓠h境中戰斗機執行機動具有連續性,無法事先標記時間序列開始點和結束點,本文算法通過劃分機動單元巧妙地解決了這一問題,通過監控機動單元的變化進而獲得機動動作的開始點和結束點。最后,使用此算法對斤斗、爬升、俯沖、盤旋、破S、螺旋、尾沖、急轉、大錘機動9種機動動作進行實時識別,算法平均可在完整機動動作執行到20%時,準確識別機動動作,識別準確率可達93%,具有在線實時識別的能力和較高的實用價值。

2 相關工作

對于戰斗機機動識別問題,大量的研究人員提出了解決思路。文獻[2]將機動動作分解為機動動作元,降低動作描述的復雜度,再采用隨機森林和支持向量機進行在線識別。文獻[3]通過分析飛行過程中的各種參數,建立特征數據庫來模擬所有機動類型,并在此基礎上利用模式識別理論實現自動識別。文獻[4]利用多維動態時間規整算法MDTW(Multidimensional Dynamic Time Warp- ing)對飛機動作進行離線識別和評估。文獻[5]對MDTW進一步改進,利用動態規劃初步匹配,再通過支持向量機精準識別。文獻[6]提出了一種基于運動分解和層次支持向量機的機動識別方法,結合運動分解的思想增強識別的針對性。文獻[7]利用支持向量機構建機動軌跡分割點檢測模型,同時采用基于馬氏距離的動態時間規整神經網絡構建機動軌跡識別模型,融合2個模型實現在線機動軌跡識別。文獻[8]通過基于動態時間規整DTW(Dynamic Time Warping)距離的時間序列層次聚類方法進行分類,再通過貝葉斯網絡進行推理。文獻[9]根據專家經驗與先驗知識構建基于動態貝葉斯網絡的機動動作識別模型,并通過模糊灰度理論對動作進行評估。文獻[10]通過反向傳播神經網絡BPNN(Back Propagation Neural Network)推導了無源雷達系統中機動目標的特征量,利用幀間時延和多普勒頻移的變化值對目標機動進行分類。文獻[11]利用深度學習中最常用的序列學習方法長短期記憶LSTM(Long Short-Term Memory)循環神經網絡對飛行機動進行識別。

機動的實時識別希望盡可能早地識別出敵機機動,是一項早期時間序列分類任務。早期時間序列分類是指在觀測到完整時間序列的前期部分數據時就可以給出完整序列的分類[12],如圖1所示。Xing等人[13]提出了基于最近鄰分類1NN(1 Nearest Neighbor)的時間序列早期分類方法ECTS(Early Classification on Time Series),并提出了最小預測長度MPL(Minimum Prediction Length)的概念。隨后,Xing等人[14]又在此方法上進行改進,引入局部形狀元素(Shapelet)作為特征,使ECTS具有可解釋性。Schfer等人[15]提出TEASER(Two-tier Early and Accurate Series classifiER),這是一種變長MPL的早期時間序列分類方法。本文基于早期時間序列分類的思想,采用2層算法結構對機動進行識別,使用集成學習算法進行分類,并引入可解釋模型進行模型解釋,最后通過機動窗口確定MPL進行實時識別。

Figure 1 Early time series classification圖1 早期時間序列分類

3 機動識別算法

機動識別算法的輸入信息為雷達采集的戰斗機實時經度、緯度和高度坐標數據,輸出信息為戰斗機的實時機動類別。首先,通過坐標軸轉換和卡爾曼濾波將坐標數據處理成機動識別算法需要的標準數據;其次,通過特征構造和加窗處理將標準坐標數據構造成時序特征,并切分為機動單元;然后選擇最優窗口大小和最優特征組合劃分機動單元,使用集成學習算法對機動單元進行識別,并使用可解釋模型對識別模型進行解釋;最后,通過機動窗口判斷機動地執行與改變,實時輸出機動類型。機動識別算法流程如圖2所示,其包括機動時序數據標準化、機動時序特征構造、機動單元識別和實時機動識別4個模塊。

Figure 2 Flow chart of maneuver identification圖2 機動識別流程圖

3.1 機動數據標準化

空戰環境中,若雷達僅獲取到目標的經度、緯度和高度坐標信息且獲取到的數據可能存在一定的噪聲,這將非常不利于實時識別敵機執行的機動類型,故需要對機動數據進行標準化處理。具體步驟為:先通過坐標系轉換,將所有機動數據轉移到統一坐標系下,再通過卡爾曼濾波將數據進行降噪處理。

本文中戰斗機的經度、緯度和高度是在大地LLA(Longitude, Latitude, Altitude)坐標系下獲取的,而空戰中常用的坐標系一般為東北天坐標系ENU(East-North-Up),故需要將坐標數據轉換到ENU坐標系下。雖然雷達獲取到了戰斗機的坐標,但這并不一定是戰斗機的真實位置,可能存在一定誤差。通過卡爾曼濾波,可以獲得一個基于測量值的最優估計,進而更加準確地估算戰斗機的實際位置。

3.2 機動時序特征構造

經過數據標準化后,雷達傳入的每條數據已經從帶有噪聲的LLA坐標系下的ALLA=[Longitude,Latitude,Altitude] 轉換到了濾波后較為準確的ENU坐標系下的AENU=[X,Y,Z]。但是對于機動識別而言,使用三維坐標信息顯然無法反映戰斗機的飛行狀態。故機動時序特征構造模塊依據領域知識構造戰斗機的飛行特征,再通過劃分時間窗口切分機動單元,并提取機動單元內時序特征。通過上述方法,可以滿足機動識別算法識別需求,并保證模型所有特征都是透明的。

基于領域知識,本文通過采樣點之間的位置變化可計算出敵機的三軸速率信息,再通過速率信息計算出俯仰角和偏航角等姿態角信息,從而反映戰斗機在進行機動時的動作變化情況?;陬I域知識的特征構造算法如算法1所示。

算法1 基于領域知識的特征構造輸入:戰斗機的三維坐標信息[X,Y,Z]。輸出:戰斗機的機動特征集MF。Step 1 通過v=si+1-siti+1-ti計算各個軸速度[Vx,Vy,Vz],其中,si表示第i個采樣點的坐標,ti表示第i個采樣點的采樣時刻;Step 2 通過V = V2x+V2y+V2z得到飛行速率;Step 3 通過pitch = tan-1(VzV2x+V2y)計算俯仰角;Step 4 通過heading=tan-1(VxVy)計算航向角;Step 5 通過angle_rate=△angle△t計算姿態角變化率;Step 6 獲得并輸出最終機動特征集MF。

通過上述的特征構造,可以反映出戰斗機在采樣點的飛行狀態,但是無法反映出戰斗機執行機動時的時序特征。對于時間序列分類問題,劃定時間窗口提取特征可以有效地捕捉一段時間內數據的特征。常見的時序特征包括提取窗口內極值、均值和標準差等。通過時間窗口劃分后的一段機動數據就是一個機動單元MU(ManeuverUnit),劃分時間窗口的長度需要通過實驗確定?;跁r序關系的特征構造算法如算法2所示。

算法2 基于時序關系的特征構造輸入:戰斗機的機動特征集。輸出:具有時序關系的機動單元MU。Step 1 對于MF中每一維特征F,劃分時間窗口[yi,yi+m],其中m為窗口大小;Step 2 通過ymean=sum([yi,yi+m])m 得出窗口內均值;Step 3 通過ymax=max([yi,yi+m]) 計算得到窗口內最大值,通過ymin=min([yi,yi+m])計算得到最小值;Step 4 通過yrange=ymax-ymin 計算極差;Step 5 提取窗口內的其他時序信息;Step 6 獲得最終的機動單元MU。

通過對機動時序特征的構造,將超視距空戰下通過雷達獲取的三維坐標信息擴充為可以進行機動識別的高維數據信息,以有效捕捉機動時序變化特征。

3.3 機動單元識別

經過機動時序特征的構造與提取,一個完整機動被拆分成長度相同的機動單元,如圖3所示。一個機動單元的長度相較于完整機動有了大幅縮短,這樣就可以僅觀測小部分數據就獲得機動信息,極大地提高了實時性。機動單元識別模塊先通過集成學習算法CatBoost[16]找到切分機動單元的最優時間窗口,再通過SHAP(SHapley Additive exPlanation)可解釋模型[17]對特征進行貢獻度解釋并選擇最優特征。最優時間窗口和最優特征構成最優機動單元,使用集成學習算法CatBoost對最優機動單元進行識別。通過上述操作獲得的識別準確率高且輕量級的模型符合機動識別場景需求。

本文使用集成學習算法CatBoost進行機動單元識別并尋找最優時間窗口大小。這是一種基于對稱決策樹算法的梯度提升決策樹GBDT(Gradient Boosting Decision Tree)框架。這種對稱結構使得其采用較少的參數就能獲得高效的訓練速度和預測準確率[18],適合于機動識別場景。機動數據的分類算法流程如下:

第1步,初始化弱分類器的公式為式(1):

(1)

其中,F0(x)表示初始化弱分類器,此分類器會經過多次迭代成為一個強大的分類器。

第2步,對于第t次迭代(t=1,2,…,T):

(1)對第i個樣本(i=1,2,…,n),利用損失函數L(ci,Ft(x))計算負梯度值,并將該值近似為殘差rti,如式(2)所示:

(2)

(3)對于j=1,2,…,J,計算葉子區域最佳擬合值ltj:

(3)

其中l表示修正值。

由于式(3)的求解較難實現,故對其近似值進行計算:

(4)

通過式(4)對學習器進行更新,如式(5)所示:

(5)

第3步,最終得到強學習器:

(6)

上述流程是應用于二分類器,但是在機動識別中類別數是K。對此,使用One-hot編碼先將每個類別轉為K維向量,每輪同時訓練K棵樹,然后更改損失函數產生概率,確定機動屬于某一類別的概率,最終實現對多個機動進行分類。

CatBoost 算法是在GBDT算法框架下改進而來,主要包括建立樹結構和樹結構固定后求解葉子節點的值2個階段。第1階段是對 GBDT 算法中的梯度計算方式進行優化,其改進了 GBDT 算法在迭代過程中計算當前GBDT算法的負梯度值的方式,采用排序性提升方法,在每一步的迭代過程中對GBDT算法的梯度進行無偏估計,緩解了GBDT算法的過擬合問題。第2階段確定葉子節點值的方法則和 GBDT 計算框架的方法相同[19]。

其次,機動單元識別模塊設計基于SHAP的特征解釋,通過計算執行機動時每個特征的歸因值(Shapley)來衡量該特征對于最終輸出的貢獻程度。歸因值計算方式如式(7)所示:

(7)

(8)

(val(S∪{xi})-val(S))

(9)

其中,S表示模型中的特征子集,xi表示要解釋的樣本的特征向量,p表示特征數量,val(S)表示在特征組合S下的SHAP模型輸出值。通過上述計算,可以得出機動識別中每個特征對于識別該機動的貢獻。選擇貢獻較高的特征進行消融實驗,獲得維度較低的特征組合,并實現對模型的解釋。

3.4 完整機動識別

一段完整的機動可能持續幾分鐘,而一個機動單元只有幾秒。本文使用機動窗口確定早期時間序列分類決策點,實時輸出完整機動類型。設機動序列被分為s個機動單元,則機動序列可表示為R={MU1,MU2,MU3,…,MUs},其中,R表示機動序列被拆分為機動單元后的識別結果,MU表示識別的機動單元。機動窗口可以表示為MW=[MUk,MUk+1,…,MUk+a],其中,MW表示機動窗口,MUk表示第k個識別的機動單元,a表示機動窗口長度,只有當MW中全部為同一種機動時,才認為機動發生或者改變。

對于早期時間序列分類而言,機動窗口就是最小預測長度,即進行早期時間序列分類的決策點。設計機動窗口既可以消除個別識別錯誤的機動單元對完整機動識別的影響,又可以保證在一段機動執行過程中不會隨意改變識別結果,提高機動識別的準確性和實時性,還可以有效解決機動動作連續執行無法標記開始點和結束點的問題。在實時機動識別時,機動窗口的大小是一個超參數,可通過先驗知識或實驗確定。

4 實驗

4.1 實驗設置

為了驗證本文機動識別算法的有效性,本節設計仿真實驗。實驗使用DCS World模擬器飛行各項機動動作,使用Tacview 1.9.0輸出機動動作的三維坐標數據,實驗中的采樣頻率為20 Hz,即每個采樣點間隔0.05 s。圖4為一條機動數據的三維軌跡圖,執行的機動為盤旋、爬升和俯沖。下面將通過實驗環境、實驗數據集、對比方法和評價指標具體介紹本文實驗設置。

Figure 4 Maneuver three-dimensional trajectory diagram圖4 機動三維軌跡圖

本文識別的機動包括9種,分別為斤斗、爬升、俯沖、盤旋、破S、螺旋、尾沖、急轉和大錘機動。為了獲得更多數據集來比較本文算法和其他算法的優劣。實驗從上述9種機動中隨機選擇5種機動進行組合構建數據集,通過比較識別效果,得出機動之間的關系和特征對于識別機動的重要性。從可能出現的組合中隨機選擇5組,設置的機動組合和每種組合中機動的數量如表1所示。實驗使用訓練集數據進行訓練,在驗證集數據上選擇最優窗口和最優特征,在測試集數據上測試機動識別算法性能。

Table 1 Maneuver number of different maneuver combinations

對比算法:本文算法將與MDTW、深度學習模型中LSTM和BiLSTM算法進行對比,比較他們在識別機動上的精度和實時性差異。

評價指標:本文使用準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1-Score對分類結果進行評估。此外,對于早期時間序列分類算法,需要對分類延遲率D(Delay rate)進行評估。延遲率的定義為時間序列分類時間t相對于該時間序列總時間T的占比。

4.2 機動單元識別

首先需要將機動數據通過坐標系轉換和噪聲過濾轉換為標準數據。圖5所示是將坐標系的3個坐標軸數據進行卡爾曼濾波前后的對比??梢园l現,經過濾波后的數據更加平滑,符合實際情況。

Figure 5 Comparison before and after data filtering圖5 數據濾波前后對比圖

在特征構造過程中,通過領域知識構造Z軸的速率、速率、俯仰角、俯仰角變化率和偏航角變化率5種特征;再通過時間窗口提取窗口內最大值、最小值、極差、均值、方差、標準差以及變異系數7維時序特征,共同組合成35維機動識別算法原始特征組合。

本文在最優時間窗口尋優實驗中使用CatBoost模型,通過比較5種組合的機動在不同窗口下識別機動單元的準確率,選擇最優時間窗口。設計時間窗口大小從20到54每輪增加2個窗口分析結果,實驗結果如圖6所示。為了滿足機動識別的實時性和準確性,選擇時間窗口大小為40的機動段作為機動單元,且每次進入20個采樣點時劃分新的時間窗口,通過計算可知每個機動單元的時間長度為2 s,每1 s重新劃分時間窗口。

Figure 6 Finding optimal time window size圖6 最優時間窗口尋優

在模型可解釋實驗中,本文使用基于SHAP的模型解釋,先計算得到每種特征對于識別機動的貢獻率,再將不同機動組合的特征貢獻度累加并平均,得到最終特征貢獻度。如圖7所示為基于SHAP的特征貢獻度排名前15的特征,數值越大表示貢獻度越高。

Figure 7 Feature contribution ranking based on SHAP圖7 基于SHAP的特征貢獻度排序

選擇特征貢獻度排名前10的特征進行消融實驗,比較不同維度的特征組合對于識別精度的影響。由于過高的維度可能導致機動識別算法運算速度降低,過低的維度無法產生精度高的識別結果,故本文只比較3~6維的特征組合。經過特征篩選,并綜合特征在不同組合上的表現,不同維度的最優特征組合如表2所示??梢?判斷機動的最主要特征是戰斗機執行機動時的姿態角變化。

Table 2 Optimal combination of features in different dimensions

選擇最優時間窗口大小為40個采樣點和最優6維時序特征以及集成學習算法CatBoost,構成一個最優機動單元識別算法OMU_CatBoost(Optimal Maneuver Unit CatBoost)。對于最終最優機動單元識別算法6維時序特征的貢獻度解釋如圖8所示,圖中貢獻度為5個機動組合的貢獻度均值,貢獻度越高對應數值越大。

Figure 8 Optimal feature contribution based on SHAP圖8 基于SHAP的最優特征貢獻度

選擇單個機動組合進行解釋,可以得出不同機動動作的特征貢獻度差異。圖9為對組合3和組合4進行解釋獲得的特征貢獻度??梢缘贸?組合3中俯仰角的最大值特征貢獻度較高,是區分組合3中機動動作的主要特征;組合4中螺旋和急轉主要通過偏航角變化進行區分,故偏航角變化率均值在此貢獻度較大。

Figure 9 Feature contribution of single combination圖9 單個組合的特征貢獻度

本文在測試集上使用不同組合的5種機動,將所提算法與其他機器學習算法進行對比,比較不同算法識別最優機動單元的準確率,實驗結果如表3所示,表3中的機動組合見表1。由于LSTM本身可以提取時序關系,故只對其進行基于領域知識的特征構造,且LSTM每個序列長度與本文算法的保持一致。結果表明,OMU_CatBoost在多個機動組合上識別效果均高于其他機器學習算法的,能更準確地識別機動單元。

Table 3 Comparison of the proposed algorithm with other machine learning algorithms for maneuver unit identification

4.3 實時機動識別

使用OMU_CatBoost,設計機動識別窗口的大小從2到9個機動單元,每次增加一個機動單元進行實驗,選擇最優機動識別窗口。實驗結果如圖10所示,由于6個機動窗口在所有組合中均達到了90%以上的精度,既保證實時性強又保證識別精度高,故本文選擇窗口大小為6的作為最優機動窗口。

Figure 10 Finding optimal maneuver window size圖10 最優機動窗口尋優

使用最優機動窗口大小在測試集上對不同組合的完整機動進行分類,分類結果如表4所示??梢钥吹?對于完整的機動識別具有較高的準確率、精確率、召回率以及F1-Score,且由于只有6個機動窗口即7 s的分類時間,故具有較強的時效性。此外,不同組合中的不同機動類型會對最終識別精度產生影響,例如組合2中急轉機動是角速度較大的盤旋,故2種機動容易產生錯分,組合5中尾沖機動的后半部分和俯沖機動十分相似,容易造成錯分。

Table 4 Complete maneuver identification results

不同機動的執行時間不同,表5為各種機動平均執行時間及對于機動識別算法延遲率的評估??梢钥吹?本文算法可以在機動執行的早期時間就對機動動作進行識別,具有較強的實時性。

Table 5 Delay rate of identification

MDTW是解決時間序列分類最常用的算法,其通過比較2個序列的相似程度找到與測試序列最相近的序列,從而獲得被測試序列的分類標簽。使用MDTW算法時,如果以每個采樣點數據為一條數據,運算效率非常低,故本文對其進行如下改進:提取40個采樣點的均值作為一條數據,加快運算速度,稱之為加速多維動態時間規整AMDTW(Accelerated Multidimensional Dynamic Time Warping)。此外,本文算法還與深度學習算法進行對比,深度學習算法選擇LSTM以及BiLSTM。對比結果如表6所示,可以看出,MDTW雖然具有較高的識別精度,但運行緩慢且需要完整時間序列,明顯不具備實時性;深度學習算法運算速度較快,但識別精度較低且黑盒模型不具有可解釋性;本文算法在分類準確率、精確率、召回率和F1-Score上均優于其他算法的,且模型延遲率低、運行時間短,具有較強的實時性。

Table 6 Performance comparison of the proposed algorithmwith other time series algorithms

5 結束語

本文使用空戰中易于獲取到的敵機三維坐標信息,設計基于早期時間序列分類的可解釋實時機動識別算法,實時識別敵機執行的機動動作。本文設計算法具有可解釋性,利用特征貢獻度對特征進行分析,保證算法輸出結果讓算法使用者信任。本文算法在9種機動的不同組合上準確率達90%,識別時間僅為7 s,平均識別時間僅為完整機動執行時間的20%??傊?本文算法識別精度高、實時性強、可解釋性好,具有較高的實用價值。

相對于現有的機動識別算法,此算法在預測實時性和可解釋性上有了較大的提高,但目前本文算法針對不同機動的分類時間一致,未來應該針對不同機動的特點設計不同的分類時間,以期達到更高的實時性。此外,由于目前無法構造滾轉角,導致機動識別中對于橫滾類型的機動識別效果不佳,后期需要挖掘出更多有利于機動識別的特征。

猜你喜歡
貢獻度機動時序
基于Sentinel-2時序NDVI的麥冬識別研究
裝載機動臂的疲勞壽命計算
充分把握教育對經濟社會發展的貢獻度
基于貢獻度排序的腎透明細胞癌串擾通路分析
12萬畝機動地不再“流浪”
機動三輪車的昨天、今天和明天
基于FPGA 的時序信號光纖傳輸系統
一種毫米波放大器時序直流電源的設計
需求側資源促進可再生能源消納貢獻度綜合評價體系
DPBUS時序及其設定方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合