基于递归神经网络(RNN)的飞机数据异常检测
Posted 及时行樂_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于递归神经网络(RNN)的飞机数据异常检测相关的知识,希望对你有一定的参考价值。
paper:ANOMALY DETECTION IN AIRCRAFT DATA USING RECURRENT NEURAL NETWORKS (RNN)
摘要
从飞机飞行数据记录器(FDR)或飞行运行质量保证(FOQA)数据收集的多变量时间序列数据中的异常检测为识别降低安全裕度的事件和趋势提供了强有力的手段。“超标检测”算法使用指定参数列表及其阈值来识别已知偏差。相比之下,机器学习算法通过半监督或非监督学习检测数据中未知的异常模式。基于一类支持向量机的多核异常检测(MKAD)算法在一个大型数据集中识别了11个典型异常中的6个,但受到降维需求、对短期异常的敏感性差以及无法检测潜在特征中的异常的限制。
本文描述了具有长短时记忆(LTSM)和选通递归单元(GRU)结构的递归神经网络(RNN)的应用,它可以克服上述限制。RNN算法检测到测试数据集中11个异常中的9个,精度为1,召回率为0.818,F1值0.89。为时间序列数据设计的RNN体系结构适合在飞行甲板上实施,以提供实时异常检测。还讨论了这些结果的含义。
一、介绍
从飞机飞行数据记录器(FDR)或飞行运行质量保证(FOQA)数据收集的多变量时间序列数据中的异常检测为识别降低安全裕度的事件、趋势或预兆提供了一种强有力的手段。
标检测算法使用一组规则来检测飞行各个阶段中存档的FDR数据中的异常情况。超越检测算法的性能取决于“规则”的设计。相比之下,机器学习算法通过学习“决策边界”来检测输入数据中的异常(即非正常)模式。Li等人比较了多核异常检测(MKAD)和聚类异常检测算法的性能通过对11个已知异常的同一组数据进行测试。这两种算法识别了11个异常中的6个。此外,这两种机器学习算法受到以下限制:(i)降维的需要,(ii)对短期异常的敏感性差,(iii)无法检测潜在特征中的异常。此外,它们不能用于飞行甲板上的实时异常检测。
本文介绍了递归神经网络(RNN)在飞行数据异常检测中的应用。具有长-短期记忆细胞的递归神经网络(RNN LSTM)和具有门控递归单元的递归神经网络(RNN GRU)能够处理多变量连续时间序列数据,而无需降维,并且能够检测潜在特征中的异常。RNN还可用于飞行甲板上的实时异常检测。
RNN LTSM和RNN GRU结果的性能与MKAD在本研究中从模拟到达SFO 24L和24R生成的存档时间序列飞行数据中11个预定义异常的性能进行了比较。RNN LSTM和RNN GRU在测试集中检测到11个异常中有9个异常(精度=1,召回率=0.818,F1得分=0.89),而MKAD在11个异常中有6个异常(精度=1,召回率=0.5,F1得分=0.66)。
RNNs显示出比MKAD检测更细微异常的能力,如飞行指引仪切换和一例跑道对准异常。RNN和MKAD一样,未能在短时间内检测到俯仰的变化,以及跑道线形变化的微妙情况。此外,通过接受多变量数据点序列作为输入并将其作为时间序列数据处理,预训练的RNNs模型可用于飞机上的实时异常检测。
二、飞行数据异常检测的研究进展
Exceedance Detection
超标检测是当今航空业使用的标准飞行数据分析方法。在特定条件下,检查飞行参数是否超出预定义的限制。这些限制和条件由领域专家根据航空公司的标准操作程序预先确定。示例事件包括:起飞期间的俯仰和速度、襟翼回缩点以及稳定进近的各种参数。因此,此方法无法检测未知和未指定的条件。
Multiple Kernel Based Anomaly Detection (MKAD)
基于多核的异常检测(MKAD)使用多核学习(MKL)同时为离散和连续序列合并单独的核函数。
MKAD中使用一类支持向量机作为异常检测方法。单类支持向量机是一种半监督方法,它通过最大化原点和超平面之间的边界,在高维特征空间中构造最优超平面。这是通过解决优化问题来实现的,其对偶形式如下所示:
min
Q
=
1
2
∑
i
,
j
α
i
α
j
K
(
x
i
,
x
j
)
s
u
b
j
e
c
t
t
o
0
≤
α
i
≤
1
l
v
,
∑
i
α
i
=
1
,
ρ
≥
0
,
v
∈
[
0
,
1
]
\\min Q=\\frac12\\sum_{i,j}\\alpha_i\\alpha_jK(x_i,x_j)\\\\ subject\\; to\\;\\;\\; 0\\le\\alpha_i\\le\\frac1{lv},\\sum_i\\alpha_i=1,ρ\\ge0,v\\in[0,1]
minQ=21i,j∑αiαjK(xi,xj)subjectto0≤αi≤lv1,i∑αi=1,ρ≥0,v∈[0,1]
其中 α i \\alpha_i αi为拉格朗日乘子, v v v为可调参数,给出了训练误差的上界和作为支持向量的训练点分数的下界。解决这个优化问题会产生至少 v l vl vl个拉格朗日乘数大于零的训练点,这些数据点称为支持向量。 ρ ρ ρ是一个偏差项, K K K是离散核 K d K_d Kd和连续核 K c K_c Kc线性组合得到的复合核,如下所示: K ( x i , x j ) = η K d ( x i , x j ) + ( 1 − η ) K c ( x i , x j ) K(x_i,x_j)=\\eta K_d(x_i,x_j)+(1-\\eta)K_c(x_i,x_j) K(xi,xj)=ηKd(xi,xj)+(1−η)Kc(xi,xj)其中 η \\eta η是控制两个内核贡献的参数。
支持向量 x i : i ∈ [ l ] , α i > 0 x_i:i\\in[l],\\alpha_i > 0 xi:i∈[l],αi>0是边际 ξ m = i : 0 < α i < 1 \\xi_m=i:0<\\alpha_i<1 ξm=i:0<αi<1或非边际 ξ n m = i : α i = 1 \\xi_{nm}=i:\\alpha_i=1 ξnm=i:αi=1。一旦获得了支持向量 α ˙ \\dot\\alpha α˙,以下等式给出的决策函数用于确定测试数据点是否正常或异常。负值的数据点被归类为异常,正值的数据点被视为正常。 f ( x j ) = s i g n ( ∑ i ∈ ξ m α i k ( x i , x j ) + ∑ i ∈ ξ n m α i k ( x i , x j − ρ ) ) f(x_j)=sign\\Big(\\sum_{i\\in\\xi_m}\\alpha_ik(x_i,x_j)+\\sum_{i\\in\\xi_{nm}}\\alpha_ik(x_i,x_j-ρ)\\Big) f(xj)=sign(i∈ξm∑αik(xi,xj)+i∈ξnm∑αik(xi,xj−ρ))
基于聚类的异常检测(ClusterAD)
基于聚类的异常检测(ClusterAD)最初将原始数据转换为时间序列数据。为了将数据映射到高维空间中的可比向量,来自不同航班的时间序列数据通过特定事件锚定,以使时间模式具有可比性。然后,根据时间、距离或参考事件的其他参考,以固定间隔对每个飞行参数进行采样。所有采样值按以下形式排列,以形成每次飞行的高维向量:
[
x
t
1
1
,
x
t
2
1
,
⋯
,
x
t
n
1
,
⋯
,
x
t
1
m
,
x
t
2
m
,
⋯
,
x
t
n
m
]
[x_{t_1}^1,x_{t_2}^1,\\cdots,x_{t_n}^1,\\cdots,x_{t_1}^m,x_{t_2}^m,\\cdots,x_{t_n}^m]
[xt11,xt21,⋯,xtn1,⋯,xt1m,xt2m,⋯,xtnm]
其中 x t j i x_{t_j}^i xt以上是关于基于递归神经网络(RNN)的飞机数据异常检测的主要内容,如果未能解决你的问题,请参考以下文章