基于CapsNet的飞控参数预测算法

2021-12-14 01:28刘颖欣段照斌
计算机应用与软件 2021年12期
关键词:航迹路由胶囊

张 鹏 刘颖欣 段照斌 王 力

1(中国民航大学适航学院 天津 300300)2(中国民航大学电子信息与自动化学院 天津 300300)3(中国民航大学工程技术训练中心 天津 300300)4(中国民航大学职业技术学院 天津 300300)

0 引 言

FCS是现代飞机中最重要的安全关键系统之一,由于其系统的高度集成性和复杂性[1],因此在飞机飞行过程中对FCS的状态进行监测并保障其飞行安全具有重要意义和挑战性。

FCS中的舵面作动筒、舵面位置传感器、驾驶员控制器、作动筒控制电子设备(Actuator Control Electro-nics,ACE)、主飞行计算机(Primary Flight Computer,PFC)、电源系统、PFC接口、地面维护接口等都有可能在飞行过程中发生故障,如姿态控制系统中的俯仰控制过程是敏感和脆弱的,它的失败可能导致飞机坠毁等灾难性的事故[1];执行器故障会对飞行控制系统的稳定性和性能产生不利影响[2];操纵面偏转失控可能会导致不希望的俯仰机动,也可能会要求飞机增加局部结构载荷[3];飞机电传操纵系统出现自检故障影响及时的飞行[4]等。在实际排故中,维修人员很大一部分根据经验和手册上对应的故障隔离程序进行故障排除,这种排除方法不仅需要维修人员对各个系统及其之间的交联关系原理非常了解,还需要花费大量的时间。

近年来,在学术界和工业界上深度学习显示了其高超的识别复杂任务的能力,大批专家学者对其理论及其应用表现出极大的兴趣,并且许多领域的专家开始尝试利用深度学习理论知识来解决本领域的一些复杂问题[5]。

Hinton等[6]提出的深度学习理论起源于对人工神经网络的研究,它是一种更深层次的神经网络,可以通过它免除繁复冗杂的人工选取特征的过程和高维数据的维度灾难问题,从而得到数据更深层次的特征表示[7],并且将其应用在工业领域中取得了不小的进步[8-10]。文献[8]提出了一种深度量子启发神经网络(Deep Quantum Inspired Neural Network,DQINN)方法,它是经典深度信任网络(Deep Belief Nets,DBN)和量子启发神经网络(Quantum Inspired Neural Network,QINN)的结合,将其应用于飞机燃油系统的故障诊断,结果表明DQINN对复杂系统进行故障诊断有很好的效果;文献[9]提出了一种基于CNN的旋转机械状态监测模型,在几种类型的轴承故障上做了实验,诊断精度可达93.61%;文献[10]提出了基于时空LSTM的轨迹预测模型(ST-LSTM)用于预测密集交通中的车辆轨迹,并在NGSIM I-80 and US-101数据集上验证了其比现有的最新模型M-LSTM具有更高的轨迹预测精度。这些传统的神经网络都保持着卷积层、池化层和全连接层的基本结构,而其中的最大池化层只处理了平移变化,如果一个特征稍微移动一下,只要它仍然在池化窗口中,就可以被检测到,并且这种方法只保留最大的特征(最主要的)而丢弃其他的特征,会给结果带来一定的偏差。

Sabour等[11]提出的胶囊神经网络输入输出均为向量,向量不仅能够表达信息的有无,还能表示信息的精确位置,并且使用动态路由协议动态地决定耦合系数体现父节点与子胶囊节点之间的耦合关系,不同于以往的全连接层,胶囊网络已经在一些领域展现出其独特的优势[12-14]。文献[12]提出了另一种矩阵胶囊网络,该矩阵胶囊网络可以用变换矩阵对实体和观察者之间的关系进行编码,从而使模型具有视点等方差的特性;文献[13]使用模糊聚类的胶囊网络在MNIST和CIFAR-10上测试得出具有比传统卷积神经网络更高的识别率,并且在随机拼接的两幅MNIST测试集的图片上也进行了验证,结果表明其具有更高的泛化能力;文献[14]提出了复值密集顶点网(cv-顶点网)和复值多样顶点网(cv-顶点网++),将胶囊网络推广到复数域,使其可以在复杂数据集上具有更好的泛化能力,实验证明这两种结构在MNIST和CIFAR10数据集上与原始CapsNet相比,可训练的参数更少,性能更好且迭代次数更少。

上述研究表明,虽然目前胶囊网络提出不久,但是基于胶囊网络的方法要比传统的卷积神经网络在图像识别上具有更高的识别准确率,这表明胶囊网络有广阔的应用前景。本文将胶囊网络应用在飞控系统参数预测上,免除了繁复冗杂的人工选取特征的过程,在未使用预测参数(飞行航迹角)历史值的情况下,预测飞行航迹角在未来500 s内的变化,实验结果表明,胶囊网络在长时间的预测当中要比CNN、LSTM的准确率都要高。

1 胶囊网络的核心特性

胶囊网络由Sabour等[11]在2017年首次提出,胶囊网络在飞控参数预测上的具体架构如图1所示。

图1 胶囊网络架构

可以看到,输入的是与飞行航迹角相关的21个参数在连续的21个时间点的数据。首先对其做与传统神经网络一样的卷积操作,得到ReLU Conv1;然后再对ReLU Conv1做一次卷积操作,并将其输出调整成适用于CapsNet的向量神经元层PrimaryCaps的输入,而不是以往的标量神经元;最后,使用动态路由算法进行从PrimaryCaps到DigitCaps层的传播,这也是CapsNet相比传统神经网络最明显的特征。DigitCaps层中输出21个向量,最后再经过一层Dense层输出预测参数飞行航迹角的值。

CapsNet最大的特征就在于使用动态路由算法完成从PrimaryCap到DigitCaps的转变。以图2(假设PrimaryCaps层有4个胶囊要传递到DigitCaps层的2个胶囊中)来详细解释一下动态路由算法。

(1)

(2)

(3)

(4)

耦合系数cij由bij的Softmax计算得到:

(5)

bij初始值为0,故在前向传播求sj的过程中,把Wij设计成随机值,bij初始化为0可以得到cij,ui是上一层胶囊网络的输出,有了这三个值,就可以得到下一层的sj。

动态路由并不能完全替代反向传播。权重矩阵Wij仍然使用成本函数通过反向传播训练,我们只是使用动态路由来计算胶囊的输出。通过计算cij来量化子胶囊与其父胶囊之间的连接,这个值很重要,但生命周期很短暂。对于每一个数据点,在进行动态路由计算之前,都将它重新初始化为0。在计算胶囊输出时,无论是训练或测试,都需要重新做动态路由计算。

2 基于多参数融合胶囊网络模型

高品质的FCS可以稳定操纵飞机,改善飞行性能,增加飞行安全性,同时也可以减轻驾驶员飞行负担,是民机安全飞行必不可少的重要系统。而为了实现以上功能,FCS通常采用容错冗余控制系统,这就使得FCS交联设备众多,结构复杂,很难实时定位故障,导致排故时间长、延误率高。本文将融合与预测参数(飞行航迹角)相关的21个参数数据作为CapsNet的输入来实时预测飞行航迹角的变化,为的是可以在其航迹发生偏移时提前进行干预,从而保证飞机的正常飞行。

基于CapsNet的思想,建立的多参数融合的模型结构如图3所示。将融合的与航迹角变化相关的21个参数输入后经过卷积层提取出最初的特征,然后将其输入到初级胶囊层进行再一次的卷积操作,将卷积之后的结果调整成适合高级胶囊层输入的向量形式,在初级胶囊向高级胶囊的过渡过程中采用动态路由对特征进行整合,整合的过程中修正下层胶囊与上层胶囊之间的权重矩阵和耦合系数等参数,以形成最优整合结果。最后,在高级胶囊层后连一个全连接层,预测出航迹角在t+d时刻之后的值。

图3 多参数融合的胶囊网络模型结构

3 实验及分析

为了证明CapsNet在预测飞控参数变化上的有效性,本文使用Windows 10的软件环境系统,TensorFlow 1.13.1深度学习框架下的keras 2.2.4,开发语言为Python 3.7,来验证该模型的有效性。

3.1 构造数据集

本文以B777客机FCS中的姿态控制系统为例,选取与飞行航迹角相关的一些参数来进行对其在飞行过程中变化的预测。根据姿态控制系统的工作原理[15],从飞行数据记录设备快速存取记录器(Quick Access Recorder,QAR)中选取了22个参数,采样间隔为1 s,各参数含义如表1所示。

表1 相关参数表

其中,飞行航迹角(FLIGHT PATH ANGLE)是需要模型预测出的参数,其余数据为模型输入的训练参数。

图4为样本构造方式。给定与飞行航迹角相关的n-1个飞控参数在一个时间段内的运行数据,预测飞行航迹角在一定时间间隔d之后的参数值。具体构造方法如下:(1) 首先将数据进行归一化处理并将其按照时间序列展开。(2) 以大小为w的窗口向下以一个固定步长s滑动截取数据,构造训练集。(3) 截取数据时,把窗口最后一个时刻t在时间间隔d之后的值作为预测参数在间隔d之后的标签。本文构造的模型中选取w的大小为训练参数的个数,即w=21,考虑到是一个时间序列的预测任务,故选取s=1。即构造的样本输入为相关的21个飞行参数在连续21个时间点内的飞行数据。同时,为了验证本文模型在单步以及多步预测上都具有良好的效果,分别选取d=1、5、10、15并将样本按照上述方式构造获得相应的数据集S1、S2、S3、S4。

图4 样本构造方式

在各个数据集中,训练集与验证集按4∶1的比例划分,最后500个数据作为测试集,最终各个数据集划分好的样本情况如表2所示。

表2 数据集划分

3.2 实验过程

为验证所提CapsNet在预测飞行航迹角的效果,实验在基于TensorFlow的Keras深度学习平台上实现,首先对CapsNet中的迭代次数进行了探索,以数据集S1为例,分别比较了迭代次数为1、3、5的模型误差,然后用误差最小的模型分别与CNN、LSTM在数据集S1、S2、S3、S4上进行对比实验。各模型结构参数如图5所示。

以其中的单步预测数据集S1为例,详细说明模型结构。首先数据输入形式是(?,21,21,1),其中?表示batch_size,取batch_size为50,epochs为100,在CapsNet模型中,数据矩阵首先通过Sklearn的MinMaxScaler简单归一化到[0,1]范围之后经过一层卷积层(Conv2),含有32个3×3的卷积核,激活函数为ReLU,张量形状变为(?,19,19,32);再经过一个2×2的卷积层(PrimaryCaps),步长为2,张量形状变为(?,9,9,32),把其中的4个输出神经元组合在一起构成一个胶囊,激活函数为Squash,此时张量形状变为(?,324,8);经过路由算法传到DigitCaps,激活函数为Squash,此时输出的张量为(?,21,1),经过Flatten层之后将张量“压平”,由全连接层输出维度为1的张量,此时维度为(?,1)。在模型训练的过程中,优化器选用Adam,在整个训练过程中使用动态变化的学习率,每次以0.9的速率衰减,并且使用keras.callbacks.EarlyStopping(patience=4)提前停止训练,防止产生过拟合现象。

3.3 结果分析

为衡量模型性能,采用回归模型常用的评价指标[16](平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方根误差(RMSE)、均方根对数误差(RMSLE))对模型性能进行评估,计算公式如式(6)-式(9)所示。

(6)

(7)

(8)

(9)

式中:yi为预测值;xi为真实值。式(6)-式(9)计算出来的值越小说明预测值与真实值相差越小,也可以表明模型搭建得很好,预测准确度高。

表3为数据集S1上不同迭代次数的误差比较。

表3 不同迭代次数实验结果

可以看出,当迭代次数为3时,误差最小,即预测越准确。然后用迭代次数为3的CapsNet模型分别与CNN、LSTM在数据集S1、S2、S3、S4上做了对比实验,其测试结果如图6所示,评价指标计算如表4所示。

(a) S1单步预测结果

(b) S2预测结果

(c) S3预测结果

(d) S4预测结果图6 各个模型预测结果对比

表4 误差对比结果

比较图6的结果可知:在单步预测中LSTM误差最小,在更长时间间隔的预测中,CapsNet的误差最小。在单步预测数据集S1上,CapsNet模型稍逊于LSTM,误差平均比LSTM高29.1%,比CNN低42.2%;在五步预测集S2上,CapsNet比LSTM误差降低16.0%,比CNN误差降低51.2%;在十步预测集S3上,CapsNet比LSTM误差降低23.9%,比CNN误差降低30.4%;在十五步预测集S4上,CapsNet比LSTM误差降低21.6%,比CNN误差降低24.5%。综合而言,CapsNet在单步及多步预测上误差比LSTM平均降低8.1%,相比CNN平均降低37.1%。

根据上述结果可知,LSTM在短时间内预测效果很好,而CapsNet在长时间间隔的预测效果更佳。

4 结 语

FCS的实时性故障诊断及其故障预测对飞机航班运行效率有重要作用。由于FCS是一个高动态的、子系统强耦合的复杂系统,传统的基于模型的方法难以适用。胶囊网络是一种新型网络结构,它将特征的表示由标量提升为向量,这种表示方式极大地提升了特征的表达能力,使得胶囊网络具有很好的泛化能力。本文将胶囊网络用于飞控参数预测上,在故障发生之前可以提前预知,为故障排除提供良好的预见性。实验结果表明,CapsNet模型比传统的CNN和LSTM模型误差都要低,具有很高的应用价值。

猜你喜欢
航迹路由胶囊
基于自适应视线法的无人机三维航迹跟踪方法
大数据分析的船舶航迹拟合研究
基于数据挖掘的船舶航迹自动识别系统
基于反距离权值的终端区航迹预测方法仿真
时光胶囊
数据通信中路由策略的匹配模式
一种用于6LoWPAN的多路径路由协议
OSPF外部路由引起的环路问题
我有一颗神奇胶囊
服用胶囊的小细节