吴直遥
(西南石油大学,四川 成都 610500)
航空发动机作为现代飞机的核心部件之一,是装备制造领域的最高端产品,一旦发生故障将会造成飞行安全事故,不仅会导致巨大的财产损失,还可能造成人员伤亡事故。传统的航空发动机维护方式主要有两大类:一类是基于故障的事后维修方式,这种方式存在的最主要问题是无法提前主动预防故障;另一类则是周期性的维护维修,这类方式会带来一些不必要的维护,大大增加航空发动机的维护成本[1]。
发动机故障预测与健康管理,即利用数据分析和监测技术来提前发现可能的故障,并进行相应的维护和保养。剩余使用寿命预测是发动机故障预测与健康管理最重要的内容,也是最大的技术难点。随着该技术的不断深入,剩余使用寿命预测方法大致分为两个方向,分别是基于模型的方法和基于数据驱动的方法。
基于模型的剩余使用寿命预测方法需要对设备建立精确的数学物理模型来研究其退化机制,从而获得预测的发生故障时刻。虽然该方法能够取得十分精确的结果,但是在实践中建立实际的物理退化模型十分困难。基于数据驱动的剩余使用寿命预测方法相较于上述方法,较为简单易懂,并且随着数据样本量增加,将会得到更准确的结果。基于数据驱动的剩余使用寿命预测方法按神经网络结构的深度可以分为两类:基于浅层机器学习的方法和基于深度学习的方法。
经过20多年的研究和发展,神经网络模型在设备剩余使用寿命预测领域表现出了很好的效果。Shao Y[2]等提出了一种剩余寿命渐进预测的方法,该方法主要基于BP神经网络预测轴承剩余寿命,验证了所提出方法具有很好的效果。Wu等[3]采用Dropout提升LSTM的泛化能力,在NASA的航空发动机数据集上的预测效果优于RNN算法。
综合来看,如何有效地提取发动机退化特征并且建立准确的剩余使用寿命预测模型是实现航空发动机剩余寿命预测的关键。针对现有方法特征提取不充分,模型计算复杂度高,预测精度较低等问题,本文提出一种基于Transformer模型结构的预测模型。
在2017年,Google提出了一种基于纯注意力机制的神经网络模型,即Transformer模型。Transformer模型不需要使用循环神经网络或卷积神经网络,而是直接使用注意力机制对输入序列进行编码和解码。此外,Transformer模型还引入了残差连接和层归一化等技术,解决了梯度消失和模型不稳定性等问题。
Transformer模型采用的是编码器-解码器架构,并且都采用堆叠多头自注意力机制和全连接层。每一层编码器中有两个子层,分别为多头自注意力机制和基于位置的全连接前馈神经网络。其中多头自注意力机制用来计算输入的自注意力,而前馈网络则是对两个子层的输出进行层归一化并且采用残差连接。与编码器有所区别的是,在解码器中一共有三个子层,分别是遮挡多头自注意力机制、多头自注意力机制以及基于位置的全连接前馈网络。其中遮挡多头自注意力机制同样用来计算输入的自注意力,但是由于该层属于生成过程,在时刻时,只有在小于 时刻才会有结果,因此需要将序列大于时刻的部分做遮挡操作。而其中多头自注意力机制是对编码器中的输出进行注意力的计算。解码器中的前馈网络则与编码器中的相同。
注意力机制(Attention Mechanism)是一种计算机模型,用于序列式数据的建模和处理。它是深度学习的重要部分,特别是在自然语言处理和计算机视觉领域中。
注意力机制的目的是让模型能够关注输入数据的某些部分,而不是简单地对整个输入进行操作。这种机制使模型能够学习对不同部分的输入数据进行不同的处理,以便更好地理解和处理复杂的序列数据。例如,在翻译任务中,注意力机制可以帮助模型根据源语言的单词与目标语言的单词之间的对应关系,更好地翻译输入文本。在剩余使用寿命预测领域,设备退化阶段的输入会比健康阶段的输入更有作用。注意力机制可以动态地关注特征中更重要的信息。在该领域任务中,由于没有先验信息可用,可以利用自我注意机制来学习特征和时间步长的重要性。
美国航空航天局(NASA)负责创建和维护的C-MAPSS(Commercial Modular Aero-Propulsion System Simulation)数据集是一个用于机械故障诊断和预测的常用数据集,它包含了模拟的涡轮发动机故障数据,是剩余寿命预测领域被广泛使用的基准数据集。C-MAPSS模拟的是一个推力级为90 000磅的大型商用涡扇发动机系统。通过发动机的热力学仿真模型,传感器响应被生成。
C-MAPSS数据集已经被划分为四个子数据集,每个子数据集表示不同的发动机运行工况和故障模式,并且每个子数据集也已经被划分为训练集、测试集以及一个测试集的发动机剩余寿命的RUL标签集。其中训练集包含了发动机从开始工作直至性能完全退化时整个生命周期的运行数据,测试集中数据样本为发动机性能完全退化之前某段时间内的运行数据。
通过分析各个传感器监测数据,并计算传感器数值的方差,可以发现其中一部分传感器数据的方差为0。即表示其监测值随着发动机退化而保持恒定,所以并不是所有的传感器数据都包含有发动机退化信息。通过该方式分析21种传感器参数数据,发现传感器序号为1、5、6、10、16、18、19的参数数据在发动机运行退化过程中为恒定值,所以这部分数据对于发动机的RUL预测为无效变量,因此只保留剩余14个有效传感器数据。
由于各个传感器监测数据单位基本不同,同时这些数据数值差异也较大。因此本文采用Min-Max方法来对筛选过后的14个传感器数据分别进行归一化处理,以得到归一化后数值映射到[0,1]的各传感器数据。Min-Max归一化的公式如式(1)所示:
在实际的情况中,设备在早期阶段会保持健康的状态运行一段时间,并且该阶段的各个传感器监测数据都是趋于稳定的。Zheng等人采用分段线性函数的形式来拟合发动机的实际生命周期的退化过程。本文采用的临界RUL值为125个发动机循环数。
本文将采用滑动窗口的方式来构造训练样本,使得训练数据包含尽可能多的发动机退化信息并且尽量减轻误差和噪声带来的影响。滑动窗口方法将一个固定大小的窗口沿着序列数据向前滑动,每次滑动一个固定的步长,并从当前位置提取一个子序列构成一个样本。
针对现有方法的不足以及发动机退化数据的高维度、具有时序性的特点,同时又考虑到Transformer编码器中的注意力机制使得输出的高级特征对局部上下文信息不敏感,本文提出了一种基于GRU-Trans网络结构的RUL预测模型,以提高模型在每个时间步提取局部上下文特征的能力。
GRU-Trans模型结构主要包括三层:门控循环单元层、编码器层以及回归层。其中门控循环单元层可以学习发动机退化序列数据中的长期依赖关系,同时增强模型对退化数据的局部特征提取能力,以进一步提高模型对发动机RUL的预测准度。而编码器层则是采用Transformer模型的编码器结构,以较低的时间复杂度捕获时间序列数据中的短期和长期依赖关系。该模块利用了Transformer模型架构捕捉退化数据全局依赖性,从而更好地提取长序退化数据之间的特征关系,以进一步提高模型的预测效果。在经过编码器层之后,GRU-Trans模型的最后一层则是回归层。通过回归层的计算之后,得到最终所预测的发动机RUL值。
对于本次实验使用的数据集来说,常用的评价指标有两种方式:均方根误差和Score函数。具体的数学表达式如式(2)和式(3)所示:
在模型开始进行训练之前,需要对设计的模型设置合适的参数,因为参数对模型的性能和准确性起着重要的作用。此外,值得一提的是,本文提出的RUL预测模型在Pytorch开源深度学习框架下搭建网络预测模型。实验是在64位Windows10操作系统上进行的,该系统配备的处理器为Intel(R) Core(TM) i5-9300H CPU,主频为2.4 GHz,运行内存为RAM为16 GB,图形处理器为NVIDIA GeForce GTX 1660Ti。实验中采用的编程工具是Python3.8.8,选择Pytorch1.8.1框架进行训练。在优化器选择方面,Adam优化器集合了动量和自适应学习率的优点,能够更好地加速模型的学习,所以本文选择Adam优化器来优化模型。经过大量的实验,对于模型参数的设置,本文建立的GRU-Trans模型在编码器层使用2个编码器模块,网络隐藏层单元数选择128,4个自注意力头,滑动窗口大小win_size选择30,Dropout率选择0.1,批处理量batch_size则选择32,学习率learning_rate取0.001。
确定了最终的模型结构与参数之后,对调整好参数的GRU-Trans预测模型进行仿真实验。模型在C-MAPSS数据集中四个测试集的预测都取得了很好的效果,具体而言,FD001子集上RMSE和Score函数分别是11.29和228,在FD002子集上,分别是14.16和1 023.54,在FD003子集上,分别是12.03和259.15,在FD004子集上,分别是15.79和1087.45。
其中,FD001子数据集的效果最好,主要是由于FD001子集的数据最简单,发动机状态和故障模式都只有一种。然后在具有相同发动机状态模式的FD002和FD004子集中,模型也有较好的预测效果,并且FD002上的预测效果优于FD004,这主要是由于FD002子集和FD004子集的数据量相对于另外两个子集更大,可以让模型充分学习数据中的发动机退化特征,同时又因为FD004子集中发动机故障模型多,所以该数据集上的效果不如FD002上的。与此同时,在FD003子集上GRU-Trans模型也表现出较好的预测效果。
本文基于Transformer模型结构改进、提出了一种GRU-Trans模型,相较于经典Transformer编码器模型增加了门控循环单元。通过在C-MAPSS数据集上建模预测,实验结果表明,本文提出预测模型的有效性。但是想要更加精确地预测航空发动机的剩余寿命,并且将预测模型更好地运行到航空发动机的故障预测和健康管理中,仍然有很多工作和研究需要去做。可以考虑将本文提出的预测模型应用到其他的航空发动机退化数据集中去,以构建一个更具有鲁棒性的预测模型。