一种改进滤波器与LSTM融合的飞轮故障预测算法
作者: 龙弟之 陈辛 魏炳翌 史超
摘 要: 针对基于滤波器的预测方法由于依赖模型精度而导致长周期预测精度低的问题, 提出了一种基于滤波器和长短期记忆(LSTM)网络的融合故障预测算法, 实现航天器飞轮执行器缓变故障的预测。 首先, 分别设计了小批量标准化LSTM网络和趋势识别模块, 二者串联组成神经网络预测器提高对时序预测的准确性。 然后, 利用递归最小二乘(RLS)参数估计原理改进卡尔曼滤波器更新过程,以增强对时序预测误差的鲁棒性。 在此基础上, 将神经网络预测器输出的预测值与改进后的滤波器相融合, 获得未来时刻的预测残差项实现迭代更新和预测, 克服了滤波器算法对模型的依赖, 提高了预测精度。 最后, 设计仿真实验比较了三种神经网络预测器的时序预测性能, 并考虑飞轮轴承性能退化故障, 利用所提融合预测算法判断出飞轮在856 s时性能退化达到阈值, 预测时间误差为36 s, 从而验证了预测算法对缓变故障的有效性。
关键词: 故障预测; LSTM; 卡尔曼滤波器; RLS; 飞轮
中图分类号: TJ760;V44
文献标识码: A
文章编号: 1673-5048(2024)03-0129-08
DOI: 10.12132/ISSN.1673-5048.2023.0211
引用格式: 龙弟之, 陈辛, 魏炳翌, 等 . 一种改进滤波器与LSTM融合的飞轮故障预测算法[ J]. 航空兵器, 2024, 31( 3): 129-136.
Long Dizhi, Chen Xin, Wei Bingyi, et al. Flywheel Fault Prediction Algorithm Based on Improved Filter and LSTM Fusion[ J]. Aero Weaponry, 2024, 31( 3): 129-136.( in Chinese)
0 引 言
故障预测是在系统早期异常而尚未产生明显变化时, 根据历史数据来估计系统发展趋势从而判断下一时刻是否会发生故障。 有效的预测方法能够辅助监测人员及时预报在轨航天器可能的潜在故障, 将传统“检测+应对”的故障排除思路提升为“预测+干预”, 以最小的代价阻止故障影响扩大, 显著提高了航天系统的安全裕度[1-3]。
目前, 研究较为广泛的是以卡尔曼滤波器(Kalman Filter, KF)和粒子滤波器(Particle Filter, PF)为代表的基于模型的预测方法。 在系统数学模型可用情况下, 利用KF [4]、 扩展KF[5]、 无迹KF[6]和PF[7]对含有高斯/非高斯噪声的测量信号进行处理, 从而实现系统状态或故障参数的预测。 然而, 在预测过程中由于滤波器无法获取未来时刻的系统测量输出, 其修正项为零, 导致无法更新系统状态量和协方差矩阵, 在模型不精确的情况下随着预测步长的增加, 预测误差将会显著增大。 文献[8]兼顾预测性能和运算时效, 提出了一类融合预测的思想, 利用数据驱动的方法预测系统的变化趋势, 然后与基于模型的方法相融合开展预测。 但融合预测算法在使用数据驱动方法时, 其预测误差也会传递到滤波器更新过程中。 当进行中长期预测任务时, 预测精度不够理想, 因此, 提高基于数据驱动算法的预测性能是融合算法的核心需求之一。
随着系统复杂性的提升以及样本数据的多样化, 相比传统浅层神经网络, 基于深度神经网络的方法表现出更明显的优势。 LSTM网络是一种由多个非线性映射层叠加而成的深度循环神经网络模型, 克服了随网络层数递增产生的梯度消失和过拟合问题, 能够对时序数据之间的依赖性进行建模[9]。 相比于其他预测模型, LSTM网络对于时序数据的预测性能更佳[10-11]。
飞轮作为航天器常用执行器之一, 长期在轨工作, 零部件将发生损耗导致性能衰退。 由于变化幅度小且难以获得精确模型, 采用传统滤波器算法预测精度低, 无法有效预警故障。 考虑在轨航天器拥有海量遥测数据, 可将基于滤波器的预测算法与LSTM网络相融合, 既弥补基于数据方法由于对样本代表性和数量的高要求而鲁
收稿日期: 2023-11-02
基金项目: 技术基础研究项目(514010203-103)
*作者简介: 龙弟之(1995-), 男, 重庆人, 博士。
棒性差的缺点, 又解决了滤波器算法对模型依赖的问题。 因此, 如何发挥LSTM网络与滤波器各自在融合预测方法中的优势并应用于飞轮故障预测, 有待进一步研究。
1 姿控系统输出时序预测
1.1 小批量标准化LSTM网络
为解决由于LSTM网络结构复杂度增加而出现的协变量漂移现象, 采用小批量标准化对输入进行处理。 每组小批量训练集对应产生一组均值和方差的估计, 使得用于标准化的统计信息能够参与到梯度反向传播中[12]。 假设输入节点的一组小批量训练集为
航空兵器 2024年第31卷第3期
龙弟之, 等: 一种改进滤波器与LSTM融合的飞轮故障预测算法
Seta={a1, a2, …, am}, ai∈RL(1)
式中: m为一组训练集包含的输入特征序列数量; L为每个输入特征序列的维度。 对所有维度进行并行标准化处理, 以第j维输入aji(i=1, 2, …, m; j=1, 2, …, L)为例, 过程如下。
首先计算训练集平均值和方差:
μj=1m∑mi=1aji, σ2j=1m∑mi=1(aji-μj)2(2)
得到标准化后的输入为
a^ji=(aji-μj)/σ2j+εj(3)
式中: εj是为了数值稳定性而添加到小批量方差中的标准化参数。
为确保每层输入的标准化不改变该层的映射表征内容, 引入参数ρj和ηj对输入进行缩放和平移, 即
a-ji=ρja^ji+ηj(4)
式中的ρj和ηj在学习过程中将会不断调整。
至此, 原始输入aji转变为a-ji, 该标准化过程记作BN(ρ, η, a): a1, …, m→a-1, …, m。 将小批量标准化用于LSTM网络中, 分别对LSTM细胞元的状态和输出进行处理。 为了避免过拟合和不必要的冗余, 简化LSTM网络, 设置偏置和η为零, 得到带窥视功能的小批量标准化LSTM网络前向传播表达式为
[z-Ti, t z-iTi, tz-fTi, tz-oTi, t]T =Wxxi, t +BN(ρh, Wh·hi, t-1)+
Wpci
[zTi, tziTi, tzfTi, tzoTi, t]T=
[Th(z-i, t )T σ(z-ii, t)T σ(z-fi, t)T σ(z-oi, t)T]T
ci, t =zi, t ⊙zii, t+ci,t-1 ⊙zfi, t
hi, t =Th(BN(ρc, ci, t))⊙zoi, t(5)
式中: 下标i表示第i组训练样本; xi, t, ci, t和hi, t分别为当前时刻细胞元的输入、 状态和输出; ci, t-1和hi, t-1为前一时刻细胞元的状态和输出。 数据集经过归一化处理, 所以无需对xi, t标准化。 zi, t, zii, t, zfi, t和zoi, t分别为细胞元门控输入、 输入门、 遗忘门和输出门。 σ和Th为sigmoid函数和tanh函数。 ρh=[ρh, zρh, iρh, fρh, o]和ρc分别为对应门控结构和状态的缩放参数, 各项权值分别为
Wx=[WzWiWfWo]T∈R4N×M;
Wh=[RzRiRfRo]T∈R4N×N;
Wpci=[0pi⊙ci, t-1pf⊙ci, t-1po⊙ci, t]T∈R4N。
其中, M和N分别为输入向量的维数和隐藏层细胞元数; 符号⊙表示元素对应相乘。 定义下标(·)为集合{z i f o}中任意元素, 则W(·)∈RN×M, R(·)∈RN×N和p(·)∈RN分别为各门结构的输入权值矩阵、 循环权值矩阵和窥视孔权值向量。
LSTM网络将细胞元输出hi, t用于分类或回归, 根据不同任务选取不同激活函数。 用于回归任务时, LSTM网络可进行时序预测, 输出为y^i=g(Vo·hi, t), 其中g(·)为特定激活函数。 给定预测期望值yi, 定义误差损失函数为
L(y, y^)=12m∑mi=1(yi-y^i)2(6)
由于LSTM网络在设计上具有时间关联性, 其误差反向传播除了沿网络结构的反向传播外, 还包括沿时间的反向传播。 首先, 根据损失函数, 计算t时刻细胞元输出、 门控输入和三个门控节点对应的误差项分别为
Δi, t =Lhi, t =-VTog′(Vo·hi, t )/m
Δoi, t=Lz-oi, t=Δi, t ⊙Th(c^i, t )⊙σ′(z-oi, t)
Δfi, t=Lz-fi, t=Δi, t ⊙zoi, t⊙Th′(c^i, t )⊙ci, t-1 ⊙σ′(z-fi, t)
Δii, t=Lz-ii, t=Δi, t ⊙zoi, t⊙Th′(c^i, t )⊙zi, t ⊙σ′(z-ii, t)
Δzi, t=Lz-i, t =Δi, t ⊙zoi, t⊙Th′(c^i, t )⊙zii, t⊙Th′(z-i, t )(7)
式中: c^i, t=BN(ρc, ci, t)为标准化后的细胞元状态。
然后沿时间反向传播, 计算t-1时刻的误差项:
Δi, t-1=Lhi, t-1=Lhi, t hi, thi, t-1=Δi, thi, thi, t-1(8)
由LSTM细胞结构可知, hi, t-1分别与门控输入和三个门控节点相连, 利用全导数公式可得
Δi, t-1=Δi, thi, tzoi, t zoi, tz-oi, t z-oi, thi, t-1+Δi, thi, tci, t ci, tzfi, t zfi, tz-fi, t·
z-fi, thi, t-1+
Δi, thi, tci, t ci, tzii, t zii, tz-ii, t z-ii, thi, t-1+
Δi, thi, tci, t ci, tzi, t zi, tz-i, t z-i, thi, t-1=
Δoi, tz-oi, thi, t-1+
Δfi, tz-fi, thi, t-1+Δii, tz-ii, thi, t-1+Δzi, tz-i, thi, t-1(9)