基于改进LSTM的航空发动机寿命预测方法研究
2022-11-23郭晓静殷宇萱贠玉晶
郭晓静,殷宇萱,贠玉晶
(中国民航大学电子信息与自动化学院,天津 300300)
0 前言
航空发动机是飞机正常飞行的重要部件,由于发动机运行工况繁杂多变、运行环境相对恶劣,一旦发生故障,会对飞行安全以及乘客的生命安全造成巨大的威胁。航空发动机剩余寿命预测依据状态监测数据,如风扇、压气机进出口的温度、压力、转速等历史数据并提取特征。因此,构建寿命预测模型,为预防性维护提供技术支撑,具有广泛的应用价值。
近年来,基于数据驱动的方法逐渐成为剩余寿命预测领域的主流技术,常用的数据驱动方法主要有两类:基于统计分析的数据驱动算法,基于深度学习的智能学习算法。万昌豪等[1]对非线性随机系数回归进行退化建模,提出一种融合先验信息和现场信息的剩余寿命预测方法,能够有效利用历史数据进行建模,相对准确地预测设备的实际剩余寿命。但由于该方法采用严格意义上的数学建模,往往需要较为理想的假设条件,限制了其发展与应用。基于深度学习的智能学习算法则不需要构建具体的数学模型,而是通过分析传感器监测数据,提取描述发动机性能退化的特征,利用深度学习技术预测发动机剩余寿命。周福娜等[2]提出了一种基于DNN的寿命预测方法,首先对高维特征降维,然后构建寿命预测模型,但忽视了发动机传感器数据时序退化性的特点,在进行模型构建时,无法关注到过去时刻与当前时刻的相关关系。曾慧洁和郭建胜[3]提出一种基于双向LSTM(Long Short-Term Memory, 长短期记忆网络)的故障预测方法,能够在正向和反向同时处理序列数据特征,但由于其仅采用单层网络结构,特征提取能力以及预测精度方面都有待提高。深度学习是解决发动机寿命预测问题的有效方法,较传统统计方法相比,可以处理样本量更大的数据,故预测可靠性更高。
特征提取是利用深度学习技术进行剩余寿命预测的重要前提。在进行寿命预测前,需要对传感器数据进行预处理,如特征提取、特征融合等。关于特征提取方面的研究已有众多研究成果。康守强等[4]利用核主成分分析(Kernel Principal Component Analysis,KPCA)去除特征之间的信息冗余,构建约简后的特征矩阵,该算法的复杂度与数据的维度紧密相关,由于发动机传感器采集的监测数据具有高维度、多参数、规模大的特点,导致特征提取模型复杂度高。武滢和舒启林[5]提出了基于信号数据时频特征向量和支持向量机回归模型(Support Vector Regression, SVR)的剩余寿命预测方法,将采集到的全寿命周期数据分解为时频特征向量再分别进行特征提取,但在数据分解过程中易造成特征丢失。王玉静等[6]提出一种基于深度森林的轴承剩余寿命预测方法,但网络模型仍需人工设计标签数据进行有监督特征提取。
基于深度学习的寿命预测算法包括特征提取与寿命预测两部分,针对前述不足,本文作者提出一种融合深度稀疏自动编码器(Sparse Deep AutoEncoder,SDAE)与长短期记忆网络的航空发动机寿命预测方法。通过引入SDAE模型,利用深层编码器无监督特征提取的优势,对发动机传感器信号进行有效特征提取,避免人工提取特征的低效率以及所带来的预测不确定,并利用LSTM模型处理时序数据的优势进行发动机剩余寿命预测。
1 预测模型结构设计
发动机传感器采集的监测数据包含风扇进出口的总温度、高压与低压压气机进出口压力、风扇物理转速、涵道比、油气比、涡轮冷气流量等21组时序数据。本文作者采用深度稀疏自动编码器作为特征提取模型,长短期记忆网络作为预测模型,将二者融合,进行预测剩余寿命。
1.1 深度稀疏自动编码器特征提取模型
自动编码器(AutoEncoder,AE)在1986年首次被提出,AE能够建立从原始数据到低维抽象特征的映射关系,处理非线性关系更有优势。它是一种无监督的神经网络模型,分为编码和解码两部分。编码过程是指隐含层学习输入数据特征的过程,并映射到低维空间,解码过程则使实际输出与输入误差最小化。
深度稀疏自动编码器是在AE基础上引入稀疏正则化约束形成的,原理如图1所示。稀疏自动编码器采用平均激活度和稀疏约束参数描述模型隐含层利用率,以提高特征提取时的降维效果。
(1)
其中:aij为第i个样本在第j个隐含层节点处的激活度;wi和b分别为网络权值和偏置;xi为输入样本。
(2)
1.2 长短期记忆网络预测模型
发动机性能数据由传感器数据解算而来,涵盖其从初次运行到失效的全寿命周期中的监测参数,因此数据具有时序性。发动机寿命预测时,采用传统深度学习方法进行样本训练更新参数,易造成梯度消失,而采用LSTM优势明显。LSTM是一种具有记忆功能的特殊的神经网络,通过门控制将加法运算代入网络中,通过对网络中的信息进行选择性的遗忘与保留操作,使得较早时间步长的信息能够被携带到较后时间步长的细胞中,一定程度上解决了梯度消失的问题,从而提高预测精度。因此,本文作者基于LSTM网络建立发动机的剩余寿命预测模型。
LSTM常采用单层、多层结构实现寿命预测问题。基本的LSTM网络结构如图2所示。
LSTM时序数据处理过程如式(3)—式(8)所示,具体为:遗忘门、输入门和输出门选择sigmoid激活函数,记为σ,输出范围为[0,1],代表当前输入信息的重要程度,越接近1表示越重要。在生成候选记忆时,选择tanh激活函数,用于调节流经网络的值,将输出数值始终限制在[-1,1]之间。
遗忘门:
ft=σ(Wf[ht-1,xt]+bf)
(3)
输入门:
it=σ(Wi[ht-1,xt]+bi)
(4)
(5)
输出门:
ot=σ(Wo[ht-1,xt]+bo)
(6)
(7)
ht=ot⊙tanh(Ct)
(8)
其中:W和b分别为网络权值和偏置;xt为输入样本。
单层LSTM模型在处理长时序高维数据时,存在对时间序列信息特征学习不充分的问题,可将多层的LSTM网络堆叠在一起,提高网络的泛化能力。同时为避免层数过多导致过拟合,文中构建双层LSTM结构作为发动机剩余寿命预测模型,如图3所示。第1层的隐藏层输出作为第2层的时间序列输入,形成更深层的神经网络模型,能够更有效地学习长时间序列的退化信息。
2 基于SDAE-LSTM的航空发动机剩余寿命预测
2.1 SDAE-LSTM模型结构
基于上述分析,构建SDAE-LSTM模型,框架如图4所示。根据航空发动机传感器数据特点,结构主要包括前期预处理、模型训练以及预测评估三部分。前期数据预处理实现传感器数据的常量剔除、有效数据选取以及数据的量纲一化;模型训练通过学习构建出发动机剩余寿命预测模型;预测评估用于模型的更新完善,使得测试样本寿命预测效果有效提升。
2.2 特征数据预处理
在发动机的多组传感器监测数据中,由于风扇进口温度、压力、风扇转速、目标风扇转速等监测数据在发动机的全寿命周期保持不变或变化较小,为提高寿命预测精度,应剔除此类数据。标签数据fRUL采用分段线性函数进行处理,将早期循环中fRUL设为常值,在一定循环后开始线性退化,直至达到0,以提高模型预测的准确性。如图5所示,在75次循环后分段线性退化模型按线性规律退化直至寿命为0。
此外,由于发动机性能参数数据范围不同,导致数据的量纲不统一,不同输入数据样本差异较大,产生奇异样本,导致训练时间增大,同时也可能使模型无法收敛。因此,为提高训练效率,应先对传感器数据进行量纲一化和标准化处理。
量纲一化方法使用Min-Max模型,如式(9)所示;数据标准化如式(10)所示。将量纲一化后的数据转换为均值为0、标准差为1的分布。
(9)
(10)
数据预处理之后,原传感器数据样本中存在的奇异样本数据问题得到有效解决。
2.3 模型训练与预测评估
在模型训练阶段,通过SDAE编码提取输入数据深层特征,构建健康因子(Health Indicator,HI)曲线,表征发动机退化趋势。编码后的时序数据作为LSTM网络的输入,以发动机全寿命周期的逆序数作为网络的标签,设置学习率、隐含层神经元个数等网络参数后进行训练。选择回归类问题默认的损失函数——均方差损失批量计算损失,更新模型参数。在预测评估阶段,将测试集输入到训练好的SDAE-LSTM网络模型,得到预测的fRUL值,并对预测的性能进行评估。
在寿命预测问题中,常用均方根误差fRMSE作为评价预测结果的指标。fRMSE表示预测值与真实值偏差的平方与样本量n比值的平方根,也叫回归系统的拟合标准差,用来评估样本值较均值的平均偏离程度,其值越小,预测效果越好,计算公式如式(11)所示:
(11)
本文作者在性能度量指标方面增加fScore评分函数,以解决发动机数据预处理后,不同样本fRMSE差异较小的问题。当fRMSE指标相近时,fScore有较好的偏差度。fScore计算公式如式(12)所示,采用指数函数调整偏差度,fScore越小,预测效果越好,以便弥补fRMSE的不足。
(12)
3 仿真实验结果与分析
本文作者选择NASA故障预测研究中心公开的C-MAPSS数据集进行实验验证。仿真环境采用NVIDIA GeForce GTX 1650 Ti、Intel Core i5-10200H CPU、16G RAM、Windows 10、MATLAB R2020b。
该数据集由多个多变量时间序列组成,被划分为4个子集,FD001~FD004,每个子集按1∶1划分为训练集和测试集。各子集样本量如表1所示。FD001与FD003分别为100台发动机退化数据,FD002与FD004分别为260、249台发动机退化数据。其中,各子集训练样本为涡扇发动机全寿命周期传感器监测数据,测试样本为发动机从第1个循环周期到失效前的某个循环周期之间的监测数据。
表1 原始样本集文件
3.1 仿真实验
仿真实验具体包括数据预处理、模型参数训练、发动机剩余寿命预测3个方面。
首先对FD001~FD004的数据进行预处理,以FD001中第1台发动机退化数据为例,原始数据经过量纲一化与标准化,结果如图6(a)所示。图6(b)所示为该发动机中风扇进口温度、高压压气机出口温度、风扇进口压力、高压压气机出口压力、实际核心机转速的数据预处理结果。可知:经过预处理的数据被限定在 [-3,3] 范围内,消除了量纲不统一对预测效果的影响。
其次,将预处理后的数据输入到SDAE中,对训练集数据进行无监督预训练。由于数据来自21个传感器,故SDAE编码网络结构选择为5层,每层神经元数量分别选择为17、16、15、8、1,最后1层为最终提取出的特征值。最终得到发动机健康因子(HI)曲线,如图7所示。可知:滤波前HI曲线存在噪声,曲线平滑度差,区分度不足;对其进行平滑滤波处理,滤波后由于不同发动机在退化过程中各传感器权重的差别,由SDAE提取出的深层特征在发动机全生命周期内呈现出明显单调递增或递减的特性,能较好地表征发动机的退化过程。经实验表明,其余3个子集FD002~FD004同样具有明显的单调性。
最后,选取每台发动机全寿命周期的循环逆序数作为训练集标签,训练LSTM网络模型参数。根据数据集的4种运行工况、4种故障模式以及传感器采集参数,分组训练不同工况、不同故障模式下的传感器数据对剩余寿命影响的权重,将训练好的权重引入LSTM模型进行发动机剩余寿命预测。
设置隐藏层神经元为400,学习率分段设置,初始学习率为0.005,每迭代30轮减小1/5。为防止神经元过多、迭代次数大造成过拟合,导致模型泛化性能下降,添加dropout层,取值为0.25。在训练过程中,为提高寿命预测准确率,在反向传播过程中寻找损失函数的最优解,以更新权重和偏置参数,应选择合适的梯度下降优化算法。在FD001~FD004四个测试子集分别比较3种梯度下降算法ADAM、RMSProp和SGDM的预测误差,SGDM算法预测误差最小,故文中使用SGDM进行梯度计算。预测的RMSE和Score结果如表2所示。
表2 不同优化方法比较
3.2 实验结果
随机从每个测试子集中选择3台发动机绘制寿命预测结果曲线,如图8所示。可知:预测值曲线与真实值曲线拟合度高,失效时间早的发动机临近失效拐点时,曲线有较小偏差,但总体预测准确性仍保持较高水平。
为全面验证模型在不同数据集上的预测效果,定义各数据集中发动机剩余寿命预测误差与实际寿命比值为预测寿命偏离度,比较4个测试集中所有发动机的预测寿命与真实寿命,并计算绘制误差曲线如图9所示,横坐标为发动机编号。由表3可见,FD001偏离度最小,为16.35%,其最大误差为55.22;FD002偏离度最大,为22.14%,最大误差为67.16。
表3 最大误差与偏离度
同等实验条件下,选择DNN、BiLSTM、单层LSTM 3种方法与文中方法比较,结果如表 4所示。文中提出的SDAE-LSTM模型的fRMSE分别比DNN、BiLSTM、单层LSTM平均降低了6.6%、25%、19.8%;fScore分别平均降低了39.1%、92.7%、66.7%。除在FD003数据集上fRMSE和fScore略高于DNN外,其余子集中文中模型均为最优。
表4 文中模型与其他模型预测效果比较
4 结论
为提高模型回归预测效率与预测结果准确度,本文作者提出了深度稀疏自动编码器与双层长短期记忆融合模型SDAE+LSTM。结果表明:采用SDAE+LSTM模型可以利用自动编码器的特征提取优势,实现数据深层特征提取,获得HI曲线,建立与RUL曲线的特征关系。数据编码降维后,预测模型的复杂度大大降低,寿命预测效果明显提升。文中所提方法具有较强的泛化能力和可行性,能够有效进行寿命预测。