APP下载

面向航空发动机多传感器并行预测模型的设计与实现

2021-08-04李晓瑜姚艳玲唐晓澜王书福

电子科技大学学报 2021年4期
关键词:时序神经网络发动机

陆 超,李晓瑜,姚艳玲,唐晓澜,彭 宇,王书福

(1. 中国航发四川燃气涡轮研究院高空模拟技术重点实验室 四川 绵阳 621000;2. 电子科技大学信息与软件工程学院 成都 610054;3. 西南石油大学计算机科学学院 成都 610500)

航空发动机是飞机最重要的部件之一,在飞机飞行发生的故障中发动机故障占相当大的比例,且一旦发生故障会致命。航空发动机中各传感器的数据曲线反应了当前该发动机是否处于正常的工作状态。因此,通过有效的手段监控航空发动机传感器数据变化趋势对飞机飞行安全有着重大的意义。

由于航空发动机传感器数据属于时序数据,因此对于航空发动机传感器数据的预测可以看作是时序数据预测。传统的时间序列预测模型主要为线性模型,如AR(autoregressive)、MR(moving average)、ARMA(autoregressive moving average)、ARIMA(autoregressive integrated moving average)等[1-8],针对平稳时间序列预测有着较好的效果。但大部分数据如股市数据、水文数据或者航空发动机传感器数据都具有非线性特征,传统的线性预测很难得到较好的预测结果。神经网络和自适应算法等非线性模型的提出解决了此问题[9-20]。其中通过基于深度学习构建神经网络模型因其自身强大的特征提取能力和自我学习能力,对具有非线性特征的时间序列数据的预测有着良好的效果。文献[21]提出了基于LSTM的预测模型,对有明显的非线性和不确定性波动的PM2.5浓度进行了预测。文献[22]提出了一种基于注意力机制的CNN(convolutional neural networks)和LSTM(long short-term memory)的联合模型,在真实的热电联产供热时序数据上进行预测,相较于传统的时序预测模型得到了更为精确的预测结果。

本文就发动机高压压气机转子转速(N2)、发动机燃烧室燃油喷嘴压力(Ptk)、发动机涡轮后温度(Tt6)等航空发动机主要传感器数据,使用滑动窗口算法构建数据集并对其进行标准化,并提出了一种基于Seq2Seq的面向航空发动机多传感器预测神经网络模型(aeroengine multi-sensor data prediction neural network, AMSDPNN)。Seq2Seq模型是基于编解码器架构的常用于时序数据预测的神经网络模型,其隐藏层可以由CNN、RNN(recurrent neural networks)、LSTM等构成,本文采用LSTM,最终以0.1%左右的均方误差实现了对多个传感器数据的预测。

1 理论基础

1.1 长短时记忆神经网络

由于数据是时间序列数据,因此在模型隐藏层的网络模型选择上优先考虑时序数据的首选神经网络——循环神经网络RNN[23]。这是因为RNN中的每一个Cell能够记住时序数据中每一个时刻的数据信息,当前Cell的隐藏层不仅由该时刻的输入决定,也由上一时刻隐藏层的输出决定。通过这样的方式,RNN能有效分析出时序数据的语义特征信息。一般的DNN不具备此功能。但RNN在长时序信息的保存和特征提取上表现并不好,容易产生梯度消失或梯度爆炸的问题,从而影响训练效果。因此本文采用了RNN的一个变种模型,即长短时记忆神经网络模型(LSTM)[24-25]。相较于RNN,LSTM使用了输入门、输出门和遗忘门来控制是否遗忘或保留序列中的历史信息,很好地解决了长期依赖问题。其单元结构如图1所示。

相较于一般RNN结构,每个循环网络单元变得复杂了,这是因为多了3道控制门,分别是遗忘门、输入门、输出门。这里的“门”是带有激活函数的全连接层,能够选择性地对信息进行过滤,激活函数一般是使用Sigmoid函数(图1中σ表示),并且相较于原始RNN,LSTM多出了一个单元状态变量C,用于保存长期的状态,称为单元状态(cell state)。

图1 LSTM单元体结构示意图

1.2 Seq2Seq网络模型

上面提到的深度神经网络模型不论是RNN还是LSTM模型,它们都可以生成与输入长度一样长的固定长度序列,如果想要获得不定长的序列通常需要维度变换,效果不理想。为了解决不定长的预测序列数据的生成,文献[24]提出了Seq2Seq模型,该模型采用编解码器结构,可以采取CNN、RNN、LSTM等不同模型作为隐藏层。本文采用LSTM,其工作原理是首先输入一个序列到编码器的LSTM层,取其最后一个LSTM单元的输出为编码向量,该向量为二维向量,再将该特征向量复制生成与预测序列长度一样长的三维特征向量输入到解码器的LSTM层中,最终得到预测序列向量。Seq2Seq模型中的主要架构编解码器如图2所示。

图2 Seq2Seq模型中的主要架构编解码器

2 数据预处理及划分

2.1 数据预处理

本文采用的数据格式为时间序列数据,是在不同时间点上收集到的数据,简称时序数据。这类数据反映了某一事物、现象等随时间的变化状态或程度。对于一般时序数据预测模型的训练而言,其数据集是由原数据集截取得到的一个个固定长度的子序列构成。本文采用滑动窗口算法实现了对航空发动机不同传感器数据的子序列截取来构建模型训练所需的数据集。该数据集包括由真实数据组成的待预测子序列和预测子序列,前者作为模型输入序列,得到预测序列数据后,后者会作为用于计算与预测序列数据之间均方误差的对比序列。其子序列个数由滑动窗口的滑动步长决定。为了能够得到更多的训练数据,本文设置滑动窗口步长为1。

2.2 数据集划分及标准化

当使用滑动窗口成功构建数据集后,需将数据集划分为训练集和测试集。一般传统的数据集划分方式是先将数据集里的数据打乱随机排序,再按照比例进行划分,目的是防止模型训练时过拟合以及能够提高模型的鲁棒性。但本文研究的传感器数据属于时间序列数据,其数据具有高度自相关的特性,前后相邻的数据有着一定的关联度,如果打乱训练会引入来自未来的数据而导致模型容易发生严重的过拟合现象,从而影响训练效果。因此,本文划分数据集的方法是将选择一个合适的时间点,取该时间点前的来自过去的数据作为模型的训练集,时间点后的来自未来的数据作为模型的测试集,按照训练集和测试集4∶1的比例进行划分。

最后在划分好训练集和测试集后还需要标准化处理。目的是消除由于量纲不同、不同传感器数值范围差距过大而引起的误差,使其有利于学习率的调整,特别是在寻找模型损失函数最优解的过程中避免梯度更新时带来数值问题,从而提高模型的训练效果。一般情况下,如果数据没有进行标准化,会因为数据中不同特征值的量纲差距过大,从而导致在进行梯度下降时,梯度的方向会偏离最快下降方向,使训练时间变得很长。而在数据标准化后,其模型目标函数呈现会变“圆”,这样梯度的下降方向能更贴近理想的最快下降方向,便能更快地找到最优解。为了防止在数据标准化的过程中引入未来数据导致训练时发生过拟合现象,本文对数据进行标准化所用的均值和标准差均来自训练集。

3 面向航空发动机多传感器数据预测模型

本文针对航空发动机多传感器数据预测多维多步预测问题,提出了一种基于Seq2Seq的多传感器数据预测神经网络模型(AMSDPNN),实现了航空发动机多传感器数据的提前预测。模型的总体结构如图3所示。

图3 AMSDPNN模型的整体结构

将奥卡姆剃刀原理延伸到深度学习模型的构建上,选择适当复杂程度的模型能有效地防止过拟合,得到满意的效果。基于本文模型的Encoder和Decoder模型都由一层LSTM层构成,其中间结果为编码器中最后一个LSTM单元的输出向量,而解码器的输入则都为该中间输出向量,且解码器的输出能够根据需求输出对应时间步大小的矩阵向量,最后通过一层全连接层得到与需求输出相对应的特征个数的预测序列数据。

而在模型的激活函数选择上并没有使用如Relu、Sigmoid、Tanh等激活函数,而是直接输出值。这是因为首先在LSTM层中本身默认使用了Tanh函数进行最后输出的激活,因此并没有再次使用Tanh函数和与之类似的Sigmoid函数;Relu函数本身常用于避免深度神经网络训练中经常出现的梯度消失问题,而本文模型是属于浅层神经网络,故没有采用。

关于损失函数的选择上则采用均方误差函数MSE。这里假设预测的序列数据为yp,与之对应的真实数据为yi。此时损失函数L的表达式为:

选择AMSDPNN模型来搭建时序预测模型,相较于传统的基于LSTM的时序预测模型有两点优势:1) 基于编解码器结构的Seq2Seq模型输入和输出都是序列且长度可变,而传统的LSTM模型通常需要将输出的矩阵向量经过一系列的矩阵变换才能做到;2)1.2节提到的解码器工作时每个LSTM单元里都会带入编码器输出的编码向量,其编码向量可以看作是包含了输入序列全部语义的语义向量,能够在解码器生成预测序列时充分吸纳上一序列的语义信息,得到更好的预测结果。

4 实验与分析

4.1 实验环境

本文实验所使用的操作系统为Windows10,CPU为i7-6700K,主频4 GHZ,GPU型号GTX 1060,显存6 GB,电脑内存16 GB。主要采用的编程语言为Python3.6,神经网络结构的搭建选用Keras2.2.3。

在数据集方面,本文以多型涡扇发动机在空中惯性起动、空中风车起动、进气畸变条件下的地面起动,及起动失速/喘振等12个不同场景下,约30万条故障数据作为本文模型的训练及测试数据。

4.2 试验过程及分析

模型采用的训练方法是基于批次的梯度下降法,批量大小根据整个数据集的规模而定,整个试验采用Python的第三方工具库Matplotlib对整个训练过程进行可视化。

使用梯度下降法时,根据训练效果来控制学习速率是模型能否训练成功的关键。本文选取了Adadelta、Adam、Adagrad、RMSprop这4种优化算法进行比较,每个优化算法在整个训练过程中的Loss曲线如图4所示。

从图4可以看到,相较于其余3个优化算法,Adam优化效果最好,其损失函数Loss能降至0.01左右,且收敛过程也较为稳定,故在模型搭建时,选择Adam作为模型的优化函数。

图4 不同优化算法的loss曲线对比

4.3 试验结果及分析

模型训练完成后,某发动机发生喘振时多个传感器的真实数据曲线以及预测数据曲线对比如图5所示。

图5 某发动机真实数据曲线与预测数据曲线对比

为了对模型的最终效果进行整体评估。本文以均方差MSE作为评估指标,将本文模型AMSDPNN与其他神经网络CNN、RNN、LSTM的测试结果对比,结果如表1所示。

表1 各个算法的数据预测误差对比

由表1的实验结果可知,AMSDPNN模型相较其他3个模型,其预测误差更小,说明使用基于Seq2Seq的AMSDPNN模型数据预测效果更好。

4.4 预测耗时评估

本文模型的最终目标是能够预测发动机多传感器的未来数据。因此需要通过模型的单次预测耗时计算出可以预测多长时间之后的数据。经实验得到模型单次数据预测的耗时平均约为80 ms,由于预测序列的时间跨度达到了400 ms,因此经过计算模型可以提前预测320 ms后发动机的传感器数据,如图6所示。

图6 AMSDPNN模型单次预测耗时曲线

5 结 束 语

本文基于航空发动机传感器数据集使用滑动窗口算法截取子序列构建时序数据集,并对其进行标准化。提出了一种面向航空发动机多传感器数据预测神经网络模型AMSDPNN,该模型主要基于Seq2Seq模型构成,其隐藏层使用LSTM网络结构。实验结果表明,该模型能够以极短的时间预测出航空发动机未来的传感器数据。

猜你喜欢

时序神经网络发动机
清明
基于不同建设时序的地铁互联互通方案分析
神经网络抑制无线通信干扰探究
发动机空中起动包线扩展试飞组织与实施
基于FPGA 的时序信号光纤传输系统
基于模体演化的时序链路预测方法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
新一代MTU2000发动机系列