APP下载

基于早期时间序列分类的可解释实时机动识别算法

2024-02-28庞诺言关东海袁伟伟

计算机工程与科学 2024年2期
关键词:贡献度机动时序

庞诺言,关东海,袁伟伟

(南京航空航天大学计算机科学与技术学院,江苏 南京 211106)

1 引言

在空战决策中,准确而快速地识别出敌机机动动作,可以有效地感知空战态势和捕捉敌机战术意图。机动动作是指战斗机在执行空战战术时,具有明确特点的一系列飞行动作。对于战斗机机动的识别是国内外空战领域研究的重点问题,也是人工智能领域的一项挑战[1]。战斗机执行机动过程具有时序关系,故对战斗机机动的识别是一个时间序列分类问题。但是如果在敌机执行机动完毕后,再去识别机动,就失去了实际意义。在实际场景中,需要观测敌机飞行时的部分数据进行识别,这就是时间序列分类中的早期分类问题,故以此设计算法识别机动。

针对机动识别问题,空战领域的研究人员提出了多种战斗机机动识别方法,例如专家经验[2,3]、多维动态时间规整[4,5]、支持向量机[6,7]、贝叶斯网络[8,9]和神经网络[10,11]等。但是上述方法具有如下不足:(1)大部分应用于离线场景,无法进行实时的机动识别;少数已有工作虽然进行实时识别,但需要大量专家经验和先验知识,且识别出完整机动的时间较长;(2)大部分已有模型中需要的数据在实际应用中无法获得,如敌机滚转角信息,如果模型无法获得完备的信息,那么可能导致无法识别或识别准确率低等问题;(3)已有模型不具有可解释性,对于空战决策领域,不透明的决策将使决策者面临更大的决策风险。

针对空战环境中实时性要求高且需要保证可解释性的机动识别问题,本文设计基于早期时间序列分类的可解释实时机动识别算法。对于算法实时性问题,本文设计了2层识别模式,先将完整机动通过时间窗口划分出多个时间较短的机动单元,并提取机动单元中的时序特征,再使用集成学习算法对机动单元进行识别,通过对机动单元的监控保证实时性,最后通过机动窗口确定早期时间序列分类决策点进而识别完整机动。对于空战信息不完备的问题,本文使用雷达采集的敌机坐标信息,先通过卡尔曼滤波获得更为真实的敌机位置,再通过领域知识和时序信息提取相关特征,以满足机动识别的特征需求。对于算法可解释性问题,本文使用可解释模型通过特征的贡献度对模型进行解释,再按照贡献度选择特征进行消融实验,从而获得最优的特征组合。空战环境中战斗机执行机动具有连续性,无法事先标记时间序列开始点和结束点,本文算法通过划分机动单元巧妙地解决了这一问题,通过监控机动单元的变化进而获得机动动作的开始点和结束点。最后,使用此算法对斤斗、爬升、俯冲、盘旋、破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]。但是对于机动识别而言,使用三维坐标信息显然无法反映战斗机的飞行状态。故机动时序特征构造模块依据领域知识构造战斗机的飞行特征,再通过划分时间窗口切分机动单元,并提取机动单元内时序特征。通过上述方法,可以满足机动识别算法识别需求,并保证模型所有特征都是透明的。

基于领域知识,本文通过采样点之间的位置变化可计算出敌机的三轴速率信息,再通过速率信息计算出俯仰角和偏航角等姿态角信息,从而反映战斗机在进行机动时的动作变化情况。基于领域知识的特征构造算法如算法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),划分时间窗口的长度需要通过实验确定。基于时序关系的特征构造算法如算法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个坐标轴数据进行卡尔曼滤波前后的对比。可以发现,经过滤波后的数据更加平滑,符合实际情况。

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时序及其设定方法