吕少岚,王华伟,侯召国,陈凌子
(南京航空航天大学 民航学院,江苏 南京 210016)
无人机(Unmaned Aerial Vehicle,UAV)近年来得到发展,有望为社会创造巨大的利益。但由于无人机的安全性和可靠性问题,其在社会中尚未被广泛使用。当无人机运行异常时,在影响其自身安全的同时,更大地影响的是公共安全,甚至干扰整个低空空域的管理。无人机的异常一般是指无人机失控、失联,一方面来自于无人机自身硬件故障或外部环境的干扰,此类异常可以通过更换无人机组件解决;另外一方面,包括对无人机通信网络的攻击、全球定位系统(Global Positioning System,GPS)欺骗、GPS干扰等。一旦无人机受到入侵,将失去控制,导致无法在空中稳定机身,造成安全事故[1-4]。因此,如何快速且准确地识别无人机的异常状态,成为提高无人机运行安全性的一项关键课题。
无人机系统健康监控可视为对无人机的异常检测。在工程应用上,无人机异常检测是当前工程领域的主要研究内容。例如,Feng等人[5]使用GA-XGBoost进行高效的无人机劫持检测,Iannace等人[6]利用人工神经网络诊断无人机故障。在理论研究上,如何判定异常是重要研究内容,异常是与正常实例具有不同数据分布的数据模式,可能与运行中的故障或漂移有关。
针对异常检测,在统计学上对异常的定义是离群值,即与其他观测值距离很远的观测值[7],其应用跨越多个领域[8-9]。在航空航天领域,异常检测方法大致分为5类:基于聚类的异常检测[10-11]、基于分类的异常检测[12]、基于光谱的异常检测[13]、基于模型的异常检测[14-15]和基于统计的异常检测方法[16]。上述方法在很大程度上依赖于明确定义的特征和先验监督知识,并且其中大多数技术是从已知条件中衍生出的[17]。
本文提出的无人机异常检测方法根据无人机飞行数据的分布特点,围绕无人机安全4要素动力系统、主控制器、通信链路模块和传感器,通过机器学习技术,建立基于无人机4要素的安全飞行状态模型,实现无人机系统异常检测,能够对无人机攻击行为及时发现、预警,阻止无人机违背指令的飞行,能够有效保护无人机运行安全。本文解决方法包括以下几个方面:
① 无人机飞行数据的特征属性值选择;
② 对无人机飞行数据特征属性值进行数字化处理,形成规格化的无人机飞行数据集;
③ 分析无人机飞行数据集特征维度分布,基于训练样例,建立无监督机器学习模型;
④ 通过集成孤立森林的无人机无监督异常检测算法,分析检测出无人机异常飞行状态,为无人机健康监控研究提供一种新的技术和手段。
本文选取了不同类型的无人机数据集,分别是加拿大安大略理工大学的无人机攻击(UAV Attack,UA)数据集[18]和卡内基梅隆大学机器人研究所的AirLab故障和异常(ALFA)数据集[19]。UA数据集由4轴飞行器的原始飞行日志和对无人机系统的网络攻击引起的异常组成,数据没有任何矫正措施并且包含模拟飞行环境的飞行数据,数据集中的飞行日志分为3类:安全飞行、GPS干扰攻击下的飞行和GPS欺骗攻击下的飞行。ALFA数据集为运行在真实飞行环境下的固定翼无人机的原始飞行日志,包含23个引擎故障场景和24个其他7种控制组件故障场景,可以大致分为5类:安全飞行、发动机异常、方向舵异常、升降舵异常和副翼异常,并且实施一定程度的飞行异常矫正措施。
为了避免维度灾难并降低无人机异常检测的时间成本,需要从无人机数据中提取最适合的、有关联的、有意义的特征属性信息,利用筛选出的特征属性对模型进行训练,对于被选取的特征需要满足以下3个条件:
① 关联性:选取的特征要与无人机组件是否处于异常状态密切相关,因为算法检测出的“异常”数据不一定是该场景下真正的异常,所以需要保证所选取的特征能体现出不同于安全状态的各类异常飞行状态模式。
② 稳定性:考虑到通信链路与传感器设备本身的不可靠性以及在恶劣的天气下导致的信号不稳定,这些不确定元素都将致使无法有效获取无人机传感器数据,而这些数据的丢失会对模型的建立与异常检测造成障碍,选取无数据丢失的特征,对于缺少个别数据的特征,用拉格朗日插值法对数据进行补全。
③ 数据量:考虑到特征之间相互独立,无法先验得知异常数据,算法需要足够的数据来构建一片森林算法。该森林算法能够识别可能的异常数据,需要选择数据量大的信息作为特征。
根据选择特征的3项条件,实验对UA数据集和ALFA数据集里的众多特征属性分别进行了筛选,利用筛选出的特征属性对模型进行训练,从UA数据集中提取的特征属性如表1所示,从ALFA数据集中提取的特征属性如表2所示。
表1 从UA数据集中提取的特征属性Tab.1 Characteristic attributes extracted from UAV attack dataset
表2 从ALFA数据集中提取的特征属性Tab.2 Characteristic attributes extracted from a dataset for ALFA dataset
由于数据集中原始飞行数据时间尺度不一致,存在非数字化数据,需要提前对原始飞行数据进行规格化处理。
1.2.1 时间度量统一规则
由于传感器数据相互独立,导致各类特征在不同时段被分别记录,造成难以描述无人机在特定时间段内的状态,图1简单描述了多类特征分布状态,在相同的时间跨度上,3个特征个数分别是8,2和4,造成飞行日志不能直接转换为特征向量作为输入。
图1 多类特征的数据时间排布Fig.1 Time distribution of data for multiple features
为了应对这一问题,需要对所选取特征的时间进行尺度统一,分别从每个单位时间段内随机选出一个代表值,以使每个特征具有相同数量的值。统一时间度量如图2所示,这一操作会削减数据量,为了保证算法的精确度,选取数据量最少的特征,将其时间跨度作为单位时间,以单位时间对各类特征向量进行划分。
图2 统一时间度量Fig.2 Uniform time measure
1.2.2 数字化规则
数字化处理是指对飞行数据中各特征属性值按照设定的转换规则完成相关特征属性值从非数字到数字的转换工作,集成孤立森林树基于数字化的特征属性值的建树过程如图3所示。根据各类孤立树构建原理,利用随机分割点、随机斜率或多维度映射进行分支,小于分割点的数据递给左子树,否则移动到右子树,可见算法中的孤立树无法对非数字类型数据分支,进而影响对异常数据的判别,因此无人机攻击事件数据集不可直接用于模型,对数据集数字化处理非常重要。
图3 根据数字化规则映射特征带入集成孤立森林Fig.3 Bring into the integrated isolated forest according to the digital rule mapping feature
数字化规则为对非数字属性去重后进行排序,每个非数字特征值映射为对应编号数字,保障每个特征值对应唯一数字值,以此构建特征属性数字化映射表,接着,通过数字化映射表完成集成孤立森林树的构建[20]。
分别对UA数据集和ALFA数据集进行特征提取后,考虑到无人机的飞行时长限制,放弃包含null的无用特征向量,接着对得到的2组飞行数据分别进行时间尺度统一和数字化处理后形成规格化数据,如表3和表4所示。
表3 对UA数据集预处理后特征向量数据量Tab.3 Amount of feature vector data after preprocessing UA dataset
表4 对ALFA数据集预处理后特征向量数据量Tab.4 Amount of feature vector data after preprocessing ALFA dataset
由于无人机类型不同所选择的特征属性存在差异,并且UA数据集在模拟器上生成了大量的原始飞行日志,而ALFA数据集记录的是现实环境下的原始飞行日志,因此UA数据集根据特征工程过滤了更多的多余原始数据。
由于真实环境下无人机所遭受的攻击是复杂的,针对无人机系统异常检测常常面临问题和挑战:攻击未知;人工标记成本高、数据缺少标签;在低计算负载操作下,实现对多异常类型的高精度检测等。有监督的方法依赖于准确标注好的数据集进行模型训练,需要充足的正、负样本,然而由于存在如前所述的挑战,监督学习模型所能识别出的异常类型有限并且难以避免较长时延,因此现有方法带来的好处可能不足以弥补其局限性和控制预期的应用风险。
针对上述问题,Khan等人[17]采用孤立森林(Isolation Forest,iForest)算法对无人机健康检测[21],但iForest抓取异常数据时呈现出固有弱点[22]:
① iForest会对每个实例得出一个全局评分,导致其对局部异常不敏感。
② 在高维数据中,iForest利用维度的子集来创建传统孤立树(Isolation Tree,iTree),当相关维度较低时,所抽取的子集量不足以检测异常。
③ 当多个数据簇团存在,传统iTree分支操作时所产生的伪像在频带的交点处放大,恰好会掩盖存在于轴平行簇团之间的全局异常数据点,iForest很可能会将此类异常数据点归类为正常数据点。
为规避上述缺点,更好地应用孤立森林对无人机进行异常检测,本文提出集成孤立森林的无人机无监督检测框架,如图4所示。该异常检测框架通过无人机原始飞行日志,完成对无人机整个飞行过程中记录的传感器读数和组件信息的数据收集,然后对收集到的各类数据进行预处理,形成结构化的无人机飞行数据集。集成孤立森林将扩展孤立森林、分片选择准分孤立森林和公平分割森林相结合,弥补了传统iForest的缺陷并保持算法的低时间负载,满足无人机异常检测的要求。
图4 集成孤立森林的无人机无监督检测框架Fig.4 UAV unsupervised detection framework process integrated with isolated forest
扩展孤立森林(Extended Isolation Forest,EIF)[23]解决了传统iForest面对数据呈现多个数据簇团分布或是数据波浪曲线分布时存在异常掩盖的问题,使用具有随机斜率的超平面对数据进行切片,对于N维数据集,在训练阶段,EIF随机选择一个斜率切割分支,判别标准如下:
(x-p)·n≤0,
(1)
式中,n为法向量;p为随机截距向量。
分片选择准则孤立森林(Isolation Forest with Split-selection Criterion,SCiForest)[24]通过引入一个新的切割面来隔离离群值。在构建树的过程中,随机选择q个特征属性,将这些属性结合投影在一个超平面,超平面f的表达式为:
(2)
式中,Q为所有特征属性;j为随机选出的属性;cj为[-1,1]间随机选取的值;X′为二次采样的样本集;X′j为X′的第j个特征属性值;p为一个随机分割点,创建τ个候选超平面,利用Sdgain理论,从τ个候选超平面中选择最优超平面,Sdgain理论公式如下:
(3)
式中,Y为X′通过f投影得到的实值集;Yl∪Yr=Y,随机分割点p将Yl和Yr分开,SCiForest算法在评估阶段设置了一个可接受的范围,帮助其隔离任何超出范围的看不见的异常。
在测试数据阶段,f(x)存在范围限制,如图5所示。
图5中,v为节点中最大值与最小值之差,f(x)的范围为:
图5 参考超平面f(x)的可接受范围Fig.5 Acceptable range of reference hyperplane f(x)
f(x)>UpperLimmitorf(x) (4) 公平分割森林(Fair-Cut Forest,FCForest)[25]最初是为了弥补缺失值而产生的,但针对无人机飞行状态异常数据检测,其通过类似于SCiForest的超平面进行分支,但使用的是决策树的划分信息准则,与iForest完全随机切割相比,可以更好地对无人机飞行状态异常数据进行检测,其划分信息准则如下: (5) 式中,p(xi)代表X为xi的概率。 集成孤立森林(Integrated Isolated Forest,IIF)通过Bagging技术随机选取无人机规格化数据子样本,在此基础上将扩展孤立树(Extended Isolation Tree,EIT)、分片选择准则孤立树(Isolation Tree with Split-selection Criterion,SCiTree)和公平分割树(Fair-Cut Tree,FCTree)进行融合组成新的森林,以适应各类无人机数据分布,如图6所示。 图6 集成孤立森林的无人机无监督异常检测算法主要流程Fig.6 Main flow of UAV unsupervised anomaly detection algorithm integrated with isolated forest 当森林满足100棵树时,路径长度已经收敛[17],IIF集成了3类孤立树,因此设置300棵树带来最佳增益,同时,异常得分阈值设置为0.5,一旦算法得分超过0.5则被分类为异常数据。 计算平均路径长度需要遍历模型每一棵孤立树,对于满足分割条件实例x,将传递给左分支,否则向下移动到右分支。根据分支的平均路径长度来分配异常分数,ψ为训练样本二次抽样的样本数,c(ψ)公式如下: (6) 式中, H(i)=ln(i)+0.577 216 649。 (7) 路径长度为: h(x)=e+c(T.size), (8) 式中,e为被观测的实例x从根节点到叶子节点的过程中所经过边的数目;T.size为被观测的实例所在的叶子节点的样本个数,该实例遍历的分支的平均路径长度将使用式(9)转换为异常分数: (9) 式中,E(h(x))是单个数据点x在所有树中所达到路径长度的平均值。平均路径越短,异常得分会越大,越会被判定为异常点。 由于集成孤立森林算法检测中数据涉及2种类型的数据:训练样本数据和测试数据。训练样本数据提供给非监督学习算法学习,用来提取无人机安全飞行数据中的潜在特征量,通过无人机安全飞行数据的特征量,实现对测试数据集中的异常数据检测。为了进一步保障实验的可靠性,本文使用留出法对测试数据段进行了划分,如表5所示。 表5 训练样本集Tab.5 Training sample set 使用F-measure来评价准确度。F-measure即精度和查全率的调和平均值,同时考虑了测试的精准度和召回率来计算分数。异常检测模型评价的混淆矩阵如表6所示,真阳性(TP)为正确检测到的异常数据,假阳性(FP)为错误检测到的异常数据,假阴性(FN)为未检测到的异常数据,真阴性(TN)为正确检测出的正常数据。 表6 检测结果混淆矩阵Tab.6 Confusion matrix of detection results 可以从这些参数中推导出精准度、召回率和F-measure: (10) (11) (12) 使用F-measure值作为分类器性能的单一衡量标准,因为它代表异常检测性能,甚至比精度值或ROC曲线更好[26]。 分别对无矫正措施的无人机飞行异常(UA数据集)和有矫正措施的无人机飞行异常(ALFA数据集)进行检测,并且将IIF算法与iForest,EIF,SCiForest,FCForest以及传统无监督异常检测算法,例如局部异常值因子(Local Outlier Factor,LOF)、一类支持向量机(One-Class SVM,OC SVM),进行对比,实现了不同算法的对比结果。 4.2.1 无矫正措施的无人机飞行异常检测 UA数据集为当无人机出现故障时,没有任何矫正措施对无人机飞行状态进行调整所产生的飞行数据,针对无矫正措施的无人机飞行的异常检测算法性能对比结果如表7所示。 从表7中不难发现,IIF对于GPS干扰、GPS欺骗以及混合异常的F-measure值都保持在0.9以上。IIF算法精准度相较于传统LOF和One-Class SVM分别提高了68%和12.6%。对于传统iForest,IIF算法精准度和召回率分别平均提升了1.3%和62.6%。 表7 针对UA数据集的异常检测算法性能对比Tab.7 Performance comparison of anomaly detection algorithms for UAV attack dataset 通过上述实验和数据,在本文提供的UA数据集的学习样本集和检测样本集中,传统iForest的弊端导致其无法很好地区分无人机异常数据,出现误检测,而其优化算法IIF效果显著提升,为了进一步分析IIF算法在无人机攻击数据集上的运算,图7展现了iForest,EIF,SCiForest,FCForest,IIF在不同攻击下的异常得分数据分布图以及其对应的利用t-sne算法提取数据特征,将训练集中正常规格化数据与测试集中异常规格化数据降为3维的数据可视化分布图,利用数据维度分布图来直观显示正常数据和异常数据的空间分布,红线为0.5阈值线,线左边为异常得分小于0.5的数据,线右边为异常得分大于0.5的数据。 由图7中异常得分分布图,算法异常得分曲线双峰值之间的距离可以直观地看出该算法对于受攻击的数据和正常飞行数据的区分度。由图7(a)和图7(b)可知,面对GPS干扰下的异常数据,其异常数据呈现聚类特点,iForest和EIF分支准则相似,导致异常得分出现双峰但是出现了阈值前移,FCForest则由于其根据信息增益准则分支,而异常分数表现为总体后移,SCiForest包含Sdgain理论,该理论保障了在分支时寻找到分割次最优解,致使双峰间距过大,对数据异常程度的判断激进。 (a) GPS干扰下的异常得分分布图 由图7(c)和图7(d)可知,GPS欺骗攻击下的异常数据具有分散、与正常数据混杂的特点,ELF相较于传统iForest有所提升但也未能检测出GPS欺骗攻击下的异常数据;表7中SCiForest的召回率显示对于GPS欺骗攻击存在误报率,进而F-measure值降低了0.07;由于FCForest在无人机数据中,以香农熵作为分类变量,异常得分分布相对集中,区分度相对较低。 由图7(e)和图7(f)可知,混合攻击包含了GPS干扰与GPS欺骗2类攻击,异常数据分布呈现部分聚类,总体离散,结合图7(a)~图7(d)和表7分析,面对3类攻击,IIF算法表现优于单个算法,该算法包含了EIF对掩盖异常的抓取优势、SCiForest对聚类异常的敏感、FCForest对SCiForest过度判断的修正,能够在较高精准度的情况下,保证较高的召回率,进而获得较高的F-measure值。 (a) 发动机异常的异常得分分布图 4.2.2 有矫正措施的无人机飞行异常检测 ALFA数据集为当无人机出现故障时,有矫正措施对无人机飞行状态进行调整所产生的飞行数据,针对有矫正措施的无人机飞行的异常检测算法性能对比结果如表8所示。 表8 针对ALFA数据集的异常检测算法性能对比Tab.8 Performance comparison of anomaly detection algorithms for ALFA dataset 由表8可以看出,对于有矫正措施的无人机异常数据,传统无监督异常检测算法的F-measure值在0.33~0.69。其余算法中,FCForest算法F-measure值最高,分别达到了0.92,0.83,0.84和0.88,进一步分析其精确度和召回率可以发现,其检测4类异常所得的精确度都低于IIF算法,但反观其召回率都达到了100%。不难看出,FCForest算法对于检测有矫正措施的无人机异常数据出现了过拟合的情况,即将所有检测集数据都归位了异常数据。IIF检测发动机异常、方向舵异常、升降舵异常和副翼异常的F-measure值分别为0.86,0.76,0.75和0.75,其4类异常F-measure值排在第2位。接着是iForest和EIF,而SciForest性能排在最后。 为了进一步分析IIF算法在有矫正措施的无人机飞行数据集上的运算,图8展现了iForest,EIF,SCiForest,FCForest,IIF在不同组件异常的情况下所得异常得分数据分布图以及其对应的利用t-sne算法提取数据特征,将训练集中正常规格化数据与测试集中异常规格化数据降为3维的数据可视化分布图,红线为0.5阈值线,线左边为异常得分小于0.5的数据,线右边为异常得分大于0.5的数据。 从图8的4张规格化数据3维分布图可以看出,F-measure值最高的FCForest算法得到的异常得分全部大于0.5,超过了阈值,确实存在过拟合现象,而iForest,EIF,SCiForest在对于有矫正措施的无人机异常数据偏向于低异常得分,IIF得出的异常得分在阈值上下,进一步对4个测试集的规格化数据3维分布图进行分析,不难发现相较于无矫正措施的无人机数据,有矫正措施的无人机数据分布更接近正常数据,因此,导致IIF模型会在一定程度上混淆错误状态和安全状态。 本文提出了一种基于集成孤立森林的无人机无监督异常检测算法,从原始飞行日志中提取无人机GPS位置、角速度、加速度和姿态角等数据作为基本特征,进行集成孤立森林检测,以识别异常状态与安全状态的不同模式,并对算法结果进行了分析。在未来的工作中,为了让无人机更加多元化融入社会,将进一步对无人机运行安全进行研究,尤其是对于传感器数据的时间相关性的补充,在更好地实现检测性能方面还有改进的余地,接下来的工作将对此深入研究,并且将算法真实集成到真实无人机异常检测架构。3.3 公平分割森林
3.4 集成孤立森林
4 实验验证
4.1 规格化数据划分与模型评价指标
4.2 实验结果与分析
5 结束语