
1.本发明属于航空发动机性能退化技术领域,具体涉及一种基于序列重构的残差堆叠卷积网络的航空发动机退化趋势预测方法。
背景技术:2.航空发动机退化趋势预测是航空工业领域研究的重点之一,高效和准确地进行退化性能趋势预测可以帮助管理人员维护发动机健康状态和节省维修成本。基于航空发动机的监控数据,可得到发动机的性能退化状态指标,性能退化指标可以有效反应发动机退化趋势,若发动机处于退化状态,对发动机退化状态指标进行预测,即可有效监控发动机运行状态的未来变化情况进而制定有效维护策略。
3.目前,航空发动机退化趋势预测方法主要包括基于传统模型的方法和基于智能学习算法的方法。基于传统模型的预测方法通常包括自回归模型和自回归滑动平均模型等,传统模型对于退化趋势变化的规律性要求严格,准确率较低适用范围很小。基于智能学习算法的预测方法主要包括人工神经网络模型和支持向量回归模型等。传统时间序列预测模型一般只适用于平稳信号,但航空发动机信号中有较大波动,因此有研究人员基于智能学习算法强大的非线性逼近能力,预测发动机的性能退化趋势。在航空发动机性能退化趋势预测中仍然存在以下问题:(1)发动机未来的性能状态与之前若干飞行循环的性能退化状态有关,因此预测发动机性能退化状态时,不仅要考虑历史飞行循环的状态,还应考虑性能退化过程的时间累积效应。(2)发动机的退化过程随机性较大,基于一些经典分布,例如高斯过程、伽马过程等建立的退化状态预测模型不能有效监测由于突发情况带来的性能退化状态剧烈变化。
4.为了解决上述问题,提出了一种新的预测航空发动机性能退化趋势的方法,即基于序列重构的残差堆叠卷积网络的预测方法。
技术实现要素:5.本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于序列重构的残差堆叠卷积网络的航空发动机退化趋势预测方法。通过基于序列重构的残差堆叠卷积网络的方法,充分挖掘和利用了退化序列中的信息。多个基本单元块集成为一个堆栈,将多个基本单元块的残差和输入到下一个堆栈中,有效避免了残差过小而直接将残差输入到下一个单元中造成的梯度消失问题。最后,集成多个堆栈结构组成最终模型。每个堆栈学习的上一个堆栈的残差,将每个堆栈的输出求和得到最终输出结果,这种多模块集成的思想提高了模型整体预测的准确性。
6.为解决上述技术问题,本发明采用的技术方案是:一种基于序列重构的残差堆叠卷积网络的航空发动机退化趋势预测方法,其特征在于,包括以下步骤:
7.步骤一、数据预处理:
8.步骤101:设发动机整个退化过程的状态序列为n,退化状态序列 x=[x1,x2,
…
,xn],第i个传感器的性能退化状态表示为xi,i=1,2,
…
,n,性能退化状态序列为航空发动机退化过程中一个综合表示性能退化状态的序列数据;
[0009]
步骤102:对整个退化状态序列进行滑动窗口法划分样本,选取连续k 个时刻的数据为模型输入数据,第k+1时刻的数据为模型预测值构造训练样本{x
in
=[x1,x2,
…
,xk];y
in
=[x
k+1
]},k<n;
[0010]
步骤二、构建基本单元块:
[0011]
步骤201:根据公式h
l
=fr(xk·wl
+b
l
)建立基本单元块的线性层,对k 个时刻的输入数据进行处理,其中x
in
=[x1,x2,
…
,xk]为k输入数据,w
l
和b
l
表示线性层的权重和偏置,h
l
表示线性层的输出,fr为relu激活函数;
[0012]
步骤202:根据公式hc=fr(conv1d(h
l
))建立基本单元块的卷积层,对线性层的输出h
l
进行处理,其中conv1d表示一维卷积操作,hc表示卷积层的输出,fr为relu激活函数,卷积层共包含z层一维卷积操作用于对输入数据进行特征提取;
[0013]
步骤203:根据公式xf=fr(fcf(hc))建立基本单元块的重构序列部分,它是对输入序列数据进行重新预测的部分,其中xf=[x1',x2',
…
,xk']表示重新预测的输出,hc表示卷积层的输出,fcf表示全连接层,fr为relu激活函数;
[0014]
步骤204:根据公式xb=fr(fcb(hc))建立基本单元块的预测部分,它是对k+1时刻的数据进行预测的部分,其中xb=[x
k+1
']表示k+1时刻预测的输出,hc表示卷积层的输出,fcb表示全连接层,fr为relu激活函数;
[0015]
步骤三、构建整体模型并训练:
[0016]
步骤301:根据公式将h个基本单元块组合成为一个堆栈,其中xr表示堆栈中每个基本单元块的残差和,为第j个基本单元块的重新预测序列的输出,堆栈中当前基本单元块的输入为上一个基本单元块重新预测的输出xf=[x1',x2',
…
,xk'];
[0017]
步骤302:根据公式计算堆栈的预测输出部分,其中ys表示堆栈的输出,表示堆栈中第j个基本单元块k+1时刻的预测输出;
[0018]
步骤303:根据公式计算由m个堆栈组成的整体模型的预测输出,其中表示第p个堆栈的预测输出,y表示模型的整体预测输出;
[0019]
步骤304:根据公式计算模型的训练损失,其中y
t
表示模型的预测输出,y
t
表示样本的真实输出,s表示样本个数;模型激活函数选择relu函数,优化器选择为adam优化器;
[0020]
步骤四、使用模型进行航空发动机退化趋势预测:
[0021]
步骤401:设待预测的序列为x
pre
=[x1,x2,
…
,x
t
],根据步骤102截取待预测序列末尾k个连续时刻序列组成待测样本x'
pre
=[x
t-k
,x
t-k+1
,
…
,x
t
],其中t 表示待预测样本的序列长度;
[0022]
步骤402:将待测样本x'
pre
=[x
t-k
,x
t-k+1
,
…
,x
t
]输入到步骤三训练好的模型中,计算得出t+1时刻预测航空发动机退化趋势的状态y
pre
=x
t+1
;
[0023]
本发明与现有技术相比具有以下优点:
[0024]
1、本发明通过以一维卷积神经网络为基础提出了一种序列重构的基本单元块,该基本单元块不仅输出未来预测值,而且还输出了对输出序例重新预测的重构序列,充分考虑了时间的累计效应和有效挖掘了退化序列中的信息。
[0025]
2、本发明提出的基于序列重构的残差堆叠卷积网络的航空发动机退化趋势预测方法,通过将多个基本单元块集成为一个堆栈,将多个基本单元块的残差和输入到下一个堆栈中。最后,集成多个堆栈结构组成最终模型。提出的方法充分挖掘了退化过程中的时间累积信息,采用间接残差和的连接方式有效避免了梯度消失问题,同时利用多模块集成的思想提高了模型整体预测的准确性。
[0026]
综上所述,本发明提出的基于序列重构的残差堆叠卷积网络的航空发动机退化趋势预测方法可以较好地解决目前退化趋势预测中的存在的问题,可以准确的预测航空发动机未来短期内的退化趋势。
[0027]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0028]
图1为本发明的流程框图
[0029]
图2为基本单元块模型图
[0030]
图3为堆栈模型图
[0031]
图4为基于序列重构的残差堆叠卷积网络整体模型图
[0032]
图5为不同方法的实验结果
具体实施方式
[0033]
下面结合实施例对本发明的方法作进一步详细的说明。
[0034]
如图1所示,本发明包括以下步骤:
[0035]
步骤一、数据预处理:
[0036]
为了验证提出了方法的有效性,采用nasa公开的c-mapss数据集进行验证。采用c-mapss数据集中的fd001数据集生成退化趋势序列。
[0037]
步骤101:设发动机整个退化过程的状态序列为n,退化状态序列 x=[x1,x2,
…
,xn],第i个传感器的性能退化状态表示为xi,i=1,2,
…
,n,性能退化状态序列为航空发动机退化过程中一个综合表示性能退化状态的序列数据;
[0038]
步骤102:对整个退化状态序列进行滑动窗口法划分样本,选取连续k 个时刻的数据为模型输入数据,第k+1时刻的数据为模型预测值构造训练样本{x
in
=[x1,x2,
…
,xk];y
in
=[x
k+1
]},k<n;
[0039]
实际使用过程中,以fd001数据集中的某台发动机为例,它的完整的性能退化周期
包括198个飞行循环,按照k=10个飞行循环构造输入数据,即可构造188个训练数据。对应测试集包含74个飞行循环,即可构造64个测试数据。
[0040]
步骤二、构建基本单元块:
[0041]
步骤201:根据公式h
l
=fr(xk·wl
+b
l
)建立基本单元块的线性层,对k 个时刻的输入数据进行处理,其中x
in
=[x1,x2,
…
,xk]为k输入数据,w
l
和b
l
表示线性层的权重和偏置,h
l
表示线性层的输出,fr为relu激活函数;
[0042]
步骤202:根据公式hc=fr(conv1d(h
l
))建立基本单元块的卷积层,对线性层的输出h
l
进行处理,其中conv1d表示一维卷积操作,hc表示卷积层的输出,fr为relu激活函数,卷积层共包含z层一维卷积操作用于对输入数据进行特征提取;
[0043]
步骤203:根据公式xf=fr(fcf(hc))建立基本单元块的重构序列部分,它是对输入序列数据进行重新预测的部分,其中xf=[x1',x2',
…
,xk']表示重新预测的输出,hc表示卷积层的输出,fcf表示全连接层,fr为relu激活函数;
[0044]
步骤204:根据公式xb=fr(fcb(hc))建立基本单元块的预测部分,它是对k+1时刻的数据进行预测的部分,其中xb=[x
k+1
']表示k+1时刻预测的输出,hc表示卷积层的输出,fcb表示全连接层,fr为relu激活函数;
[0045]
实际使用过程中,基本单元块如图2所示,样本在每个基本单元块中首先经过一个线性变换层,输出的样本大小从(10,1)变为(128,1);然后通过一维卷积层进行特征提取,每层一维卷积层设置的卷积核大小为1
×1×
30,步长为1,最终经过三层一维卷积层输出的样本大小变为(41,1);最后通过两个不同的线性层,产生两个不同的输出,其中fc1输出为重构后的序列,大小与输入序列相同为(10,1),fc2输出为对第11个时刻的预测值,大小为(1,1)。
[0046]
步骤三、构建整体模型并训练:
[0047]
步骤301:根据公式将h个基本单元块组合成为一个堆栈,其中xr表示堆栈中每个基本单元块的残差和,为第j个基本单元块的重新预测序列的输出,堆栈中当前基本单元块的输入为上一个基本单元块重新预测的输出xf=[x1',x2',
…
,xk'];
[0048]
步骤302:根据公式计算堆栈的预测输出部分,其中ys表示堆栈的输出,表示堆栈中第j个基本单元块k+1时刻的预测输出;
[0049]
步骤303:根据公式计算由m个堆栈组成的整体模型的预测输出,其中表示第p个堆栈的预测输出,y表示模型的整体预测输出;
[0050]
步骤304:根据公式计算模型的训练损失,其中y
t
表示模型的预测输出,y
t
表示样本的真实输出,s表示样本个数;模型激活函数选择relu函数,优化器选
择为adam优化器;
[0051]
实际使用过程中,多个基本单元块组成一个堆栈如图3所示,当前堆栈的输出包括残差和和预测输出,残差和输入到下一个堆栈中进行训练,预测的输出和其他堆栈的输出集成起来组成最终模型的输出,整体模型如图4所示。
[0052]
步骤四、使用模型进行航空发动机退化趋势预测:
[0053]
步骤401:设待预测的序列为x
pre
=[x1,x2,
…
,x
t
],根据步骤102截取待预测序列末尾k个连续时刻序列组成待测样本x'
pre
=[x
t-k
,x
t-k+1
,
…
,x
t
],其中t 表示待预测样本的序列长度;
[0054]
步骤402:将待测样本x'
pre
=[x
t-k
,x
t-k+1
,
…
,x
t
]输入到步骤三训练好的模型中,计算得出t+1时刻预测航空发动机退化趋势的状态y
pre
=x
t+1
;
[0055]
实际使用过程中,利用fd001数据集中的100台发动机进行实验,为了 验证提出方法的有效性,使用长短时记忆网络(lstm)、可解释时间序列预 测网络(n-beats)和一维卷积神经网络(1d-cnn)进行实验对比,评价 指标选择平均绝对百分比误差mape和均方根误差rmse。图5展示了不同 的方法在fd001数据集中的测试集上的平均准确率和稳定性。在表4-3中, 提出的方法达到了最小的mape15.09%和最小的rmse0.0653,从实验结果 可以看出提出的方法在航空发动机退化趋势预测的任务中有良好的性能表 现。
[0056]
以上所述,仅是本发明的实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。