基于堆叠稀疏自编码神经网络的航空发动机剩余寿命预测方法研究
2020-01-03
(中国飞行试验研究院 测试所,西安 710089)
0 引言
航空发动机具有自动化程度高,结构复杂,专业化程度高的特点。在整个飞机系统中,如果发动机出现故障而无法正常工作,将直接影响飞机的安全运行,造成巨大的经济损失甚至损坏飞机。死亡的严重后果[1-2]。然而,由于航空发动机结构复杂,难以确保长期安全可靠运行,随着发动机工作时间的增加,发动机故障不可避免地会因老化,环境和变载荷而发生[3-4]。因此,我们需要研究一种能够有效预测发动机剩余寿命、准确预测发动机故障时间、及时实施维护、最终防止灾难性故障的方法[5-6]。
航空发动机维护已经从过去的“基于预防”的维护思想转变为“以可靠性为中心”的维护理念,并且还从简单的定期维护到状态监控,基于状态的维护和生命存储部件监控相应的维护方法,定时维护的组合。20世纪70年代开发了发动机健康管理技术,如发动机状态监测,故障诊断和寿命预测,以实现先进的维护理念[7-8]。对于发动机用户,全面了解发动机性能,快速准确地隔离和识别故障,可以更好地更换计划[9],确定发动机维修的范围和深度,大大降低运行和维护成本,有效避免重大事故的发生[10]。
目前,国外已开发出一些发动机健康管理系统,其主要功能包括趋势分析,故障诊断,寿命预测,维护计划和管理。自1985年以来,美国空军一直使用集成发动机管理系统(CEMS)来管理其发动机机队。目前,CEMSIV已被全面的发动机趋势和诊断系统(CETADS)取代[11]。美国科学监测公司为该系统开发了一个强大的数据分析和处理模块,称为基于状态的智能状态发动机管理系统(ICEMS),具有以下功能:数据验证和监测趋势;报警,检测和隔离;故障预测;部件寿命评估;运营和维护计划管理[12-13]。
在国内民用航空发动机状态监测领域,20世纪90年代,中国民航学院,北京航空航天大学和北京飞机维修工程公司AMECO开发了发动机监测和诊断EMD(发动机监测与诊断)系统[14]。
作为大数据时代的明星,深度学习在学术界和工业界引起了广泛的关注,并在许多传统的识别任务中取得了显着的成果。基于多个隐藏层,深度学习可以很好地实现复杂高维函数的表示,因此具有强大的表示能力,并且具有其他算法在自动特征提取中无法比拟的许多优点[15-16]。堆叠自编码网络(SAE)是深度学习中最重要的模型之一,近年来,在故障诊断领域,SAE的应用已经完成了许多故障识别和分类任务。2015年,雷亚国等人。使用常见的SAE和降噪SAE来解决滚动轴承和行星齿轮箱的故障诊断,并比较SAE与传统模式识别方法之间的识别准确性[17];2016年,邵海东等。通过人工鱼群算法改进了SAE的损失函数,优化了网络的关键结构参数,有效地提高了齿轮箱和滚动轴承故障的识别率。2017年,崔江等人用灰色。通过支持向量机分类支持相关优化后的SAE提取特征,实现了航空发电机旋转整流二极管的故障诊断。此外,SAE已应用于变压器,核电站和风力涡轮机设备等复杂机电系统的故障诊断领域,并取得了良好的效果[18]。
因此研究了一种基于堆叠自编码网络的无监督特征提取方法。以自编码网络为基本单元,采用逐层贪心训练算法构建分层自编码网络模型。通过改善网络的结构复杂性,增强了网络的功能表达能力,使得网络模型可以从输入数据中获得更好的效果。提出了特征表达式,特征的自动提取,以及深度网络特征提取的定性分析方法,提高了神经网络知识获取过程的可解释性,提升了预测准确率。
1 自编码神经网络
1.1 自编码神经网络架构
自编码神经网络(auto-encoder,AE)是一个三层无监督神经网络,由输入层、隐含层和输出层构成。网络中不同层的神经单元之间采用全连接的方式,同一层的神经单元之间不存在相互连接。从结构上看,自编码神经网络可以认为是一种特殊的多层感知机,其也是通过反向传播的方式进行训练学习,但不同点在于自编码神经网络是为了重构输入数据,即自编码神经网络学习的目标是使得网络的输出等于网络的输入。由于学习规则要求网络的输出等于输入,自编码神经网络的输入层的神经单元个数必须与输出层的神经单元个数相等,而其隐含层的神经元个数可以是任意的[19-21]。因此,只要确定网络输入层和隐含层的神经元个数,自编码神经网络的结构也就确定了。图1为一个自编码神经网络的结构示意图,该网络的输入层包含5个神经元,隐含层包含3个神经元。
图1 自编码神经网络结构示意图
自编码神经网络包括两个部分:编码网络和解码网络。其中编码网络用于将原始输入数据投影到一个低维空间(当隐含层神经元个数少于输入层神经元个数时)中,得到输入数据的一种特征表达,而解码网络则用于将低维空间的特征表达重新投影回原始的数据空间,并最小化输入数据与输出数据之间的差别,从而达到数据重构的目的。对于给定的输入数据集x={x1,x2,x3...xN}(N为数据集的样本个数),其编码过程为:
an=fθ(xn)=s(W(1)xn+b(1))
(1)
(2)
式中,θ′={W(2),b(2)}为解码网络的权值参数和偏置。式(1)和式(2)中,s()为神经元的激活函数,如tanh或sigmoid。
通过对输入数据进行先编码后解码的过程,可以在网络的输出得到输入数据的重构表示,自编码神经网络通过最小化重构误差[48]完成训练,其中重构误差用下面的代价函数来衡量:
(3)
从数据重构的角度来看,对于一个训练好的自编码神经网络而言,如果去掉网络的解码部分,对任意给定的新的输入,利用网络参数可以通过编码计算,得到中间隐含层的激活值向量。一般可以认为是对原输入更好的表达向量,即提取的特征向量。自编码神经网络的特征提取模型示意图如图2所示。
图2 自编码神经网络特征提取模型示意图
1.2 稀疏自编码神经网络
在学习过程中,SAE的参数通过最小化成本使用反向传播来调整稀疏约束内的函数。稀疏性约束在隐藏层上工作以限制其单位使它成为稀疏向量,其中大多数元素为零或接近于零。对于自动编码的网络结构,具有S形激活功能的神经元处于活跃状态如果输出接近1则显示状态,如果输出接近0则显示非活动状态。因此,稀疏性约束被引入来限制大多数神经元在大多数时候不活动。
图3 去噪自编码神经网络的概念
隐藏单元j的激活由aj(x)表示,并且隐藏单元j的平均激活如下:
(4)
(5)
m训练样例的训练集{x(1),y(1)..., (x(m),y(m)}表示,原始成本函数被定义为:
(6)
式(5)中的第一项是平均平方和误差术语,第二项是正则化项或权重衰减项,这些往往会减少权重。这里,W和b与(1)和(2)中的相同,和λ是权重衰减参数。通过添加稀疏惩罚项,成本函数被修改为:
(7)
其中:β代表稀疏性惩罚项的权重。
1.3 去噪自编码神经网络
尽管描述了上述过程,学习功能很好地提高了性能并且预测模型的泛化能力仍在继续由于在现实世界数据中出现的噪音和异常值而面临挑战。为了强制隐藏层发现更强大的功能,可以重建来自损坏版本的输入来训练自编码神经网络,它是自编码神经网络去噪的理念如图4所示。
图4 两层堆叠稀疏自编码神经网络和逻辑回归
(8)
标准方法是通过将x元素的随机分数设置为零来将掩蔽噪声应用于原始数据。接下来,损坏的数据x通过一个基本的自编码神经网络进程并映射到一个隐藏表示:
(9)
从这个等式,我们重建:
z=gθ′(y)
(10)
在最后阶段,训练参数以最小化平均重建误差:
LH(x,z)=H(Bx‖Bz)
(11)
2 堆叠自编码神经网络
作为一个典型的深度神经网络,堆叠自编码神经网络由多层稀疏或去噪自编码神经网络和逻辑回归组成。堆叠自编码神经网络的每一层的输出都连接到后续层的输入。两层架构堆叠稀疏自编码神经网络如图5所示。每个稀疏或者去噪自编码神经网络生成输入的表示(来自飞机发动机传感器的数据)比前一层更抽象和更高维度,因为它是通过应用额外的非线性变换来获得的。将稀疏自编码神经网络的最后一层的输出输入到BP神经网络中,然后获得结果(发动机寿命值)
图5 堆叠自编码神经网络结构示意图
微调的过程主要集中在调整SAE网络中的权重,从而获得更好的预测性能。首先,前馈用于计算激活所有自编码神经网络层。在下一步中,我们设置δ(nl)=-(△anlJ)*f1(znl)作为输出层,在△J=θ(I-P)中,I是输入标签,P是条件概率的向量。然后,对于图层l=nl-1,nl-2,..., 3, 2,我们设定δ(l)=((W(1))Tδ(l+1))*f′(znl),然后,所需的偏导数是:
△WlJ(W,b;x,y)=δ(l+1)(a(1))T,
△blJ(W,b;x,y)=δl+1
(12)
其中:W,b和a如式(1)和(2)所示。最后,使用批量梯度下降算法最小化整体成本函数。
3 系统软件设计
基于堆叠自编码网络的航空发动机寿命预测方法结合了堆叠自编码网络模型和BP分类模型,先通过堆叠自编码网络提取航空发动机传感器数据特征,再对提取特征进行结果分类, 具体诊断流程如图6所示,具体步骤如下:
1)通过多个传感器采集航空发动机状态参数。
2)对每一组原始信号进行预处理,以构造足够的训练数据集,提高网络的训练效果。
3)将各组样本数据分别输入到网络模型中,利用逐层贪婪算法和BP反向传播算法对网络进行训练。
4)堆叠自编码网络经过训练后可以学习隐含在样本数据中的知识,从而在其高层隐含层处获得样本数据的特征向量。
5)将所有的特征向量进行合并,组合成为一个特征向量。
6)将合并的特征向量输入到BP模型中,在模型输出层得到预测的发动机寿命值区间。
图6 基于堆叠自编码网络的航空发动机寿命预测过程
4 实验结果与分析
4.1 数据说明
为检验故障诊断方法的有效性,选择验证案例的数据来源于2008年PHM国际会议预测挑战竞赛,挑战数据集包括多个多变量时间序列,这些时间序列是通过发动机系统的动态模拟收集的。该模型模拟了发动机的5个旋转部件(风扇,低压压气机,高压压气机,高压涡轮和低压涡轮)中的任何一个部件损坏的情况,发动机示意图如图7所示。 该数据集包含了45918(218个周期劣化)组数据用于训练,和29820组数据(218个周期劣化)用于测试。
图7 涡扇发动机示意图
每个发动机单元的每个循环的完整数据集包括单元ID,操作循环指数,操作状态设置和典型的传感器测量。 总共21个传感器(如表1所示)安装在飞机发动机的不同部件中。
表1 飞机气体的传感器信号的描述涡轮发动机
R:朗肯温度标度; psia:每平方英寸绝对磅;rpm:每分钟转数; pps:每平方英寸的脉冲; lbm / s:磅每秒质量。
数据组的每个劣化周期内都包含了5类发动机机操作状态,包括了马赫数、油门杆位置、大气高度,我们提取了其中一个劣化周期内相同操作状态的数据如图所示,我们从图8中的21个传感器参数数据可以看出,有些参数在劣化过程中变化不明显,有些参数数据随着发动机状态劣化变化趋势明显。仅凭人工分析,很难分析出发动机寿命规律。
图8 发动机退化过程部分传感器信号
4.2 结果分析
首先为了分析网络各层的训练情况,做出代价函数的误差曲线图,如图9所示。从图中可以看出,第一隐含层的预训练在迭代至150步时,代价函数的误差值趋于零且波动性较小,可以说明此时网络达到收敛;同理,第二隐含层约在50步时达到收敛,输出层约在100步时达到收敛,网络微调过程则约在200步时达到收敛。结果表明网络各层预训练及网络微调的重构误差均达到收敛,说明此时的网络结构及超参数的设置是较为合理的。
图9 代价函数误差曲线图
下面利用所提方法对航空发动机状态数据进行分析,首先给发动机劣化数据打上寿命区间标签,再对其进行特征提取,并实现寿命预测。首先是训练样本的构造:将每一个发动机状态参数的操作数归一化,将归一化的数据分类到10个区间范围内,构成数据寿命标签,完成训练样本的构造。实验中,选用测试集数据用于测试。然后是网络参数设置:将训练样本输入到深度网络中进行训练,并确定网络隐含层神经元个数,得到训练好的网络模型结构为24-125-75-10,即网络共有4层,每层神经元个数分别为24、125、75、10,其他网络参数的设置见表2。最后,训练结束后可在第二隐含层处获得提取的特征向量,并在输出层得到分类结果。
表2 网络参数设置表
为了使分类结果稳定,分类测试共进行50次,统计50次的误判样本个数,并取其平均值作为统计结果。同时为了对比说明,采用相同的实验方法利用单层自编码网络对航空发动机数据进行特征提取,对比两种方法的分类结果,如表3所示。
表3 分类结果对比表
表中结果显示,与自编码神经网络相比,利用堆叠自编码神经网络提取的特征在训练样本集和测试样本集上均具有较高的分类正确率,这说明在实际应用中,堆叠自编码神经网络提取的特征具有较好的可区分性,而且能够减小工况干扰的影响。
5 结束语
文中,基于深度学习开发了一种新的数据驱动的发动机剩余方法,该方法可以自己捕获有效的非线性特征并减少人工干预。基于堆叠自编码神经网络是一种深度学习模型,它不仅能够对发动机退化过程进行较好的建模,而且能够充分挖掘数据内部信息,提取有效特征,排除无关数据。将所提出的基于堆叠自编码神经网络的预测航空发动机剩余寿命方法应用于2008 PHM数据挑战数据集以证明所提出方法的有效性。实验结果显示预测精度达到预期,并用单层自编码神经网络和堆叠自编码神经网络做了对比,对别结果显示堆叠自编码神经网络在特征提取过程中有更好的效果,预测准确率更高。所研究的航空发动机寿命预测方法有助于提高飞机发动机的安全性,预测和管理飞机发动机的健康状况,降低维护成本。