基于改进CNN-LSTM的剩余使用寿命预测方法
2021-06-03郭旭东宋浏阳王华庆徐福健董作一
郭旭东, 宋浏阳, 王华庆*, 徐福健, 董作一
(1.北京化工大学 机电工程学院,北京 100029;2.中国航发湖南动力机械研究所,湖南 株洲 412000;3.中化化肥有限公司,北京 100031)
机械设备性能与健康状态会在工作过程中呈现出衰退趋势,当衰退达到一定程度时,设备将无法完成规定的生产要求,进而造成难以挽回的经济损失和资源浪费。因此在机械设备的运行阶段,要保障系统的安全可靠运行,需要对其状态进行监测,通过获取的监测信息来预测其剩余使用寿命(Remaining Useful Life,RUL),而对于RUL的预测将成为预防性维护的重要依据,能够为制定合理的维护策略提供有效的支持[1]。
航空发动机的RUL预测是机械设备性能健康状态检测中最具挑战性的技术之一[2]。通常,RUL估计主要是根据传感器采集的时间序列数据,预测机械丧失其运行能力之前的剩余时间。现有的RUL估计方法可以分为三类:基于物理模型的方法,基于数据驱动的方法和混合方法。基于物理模型的方法利用故障劣化与故障机制的先验知识,以数学方式对设备的劣化模式进行建模及RUL估计,例如Paris-Erdogan Model[3]和指数模型[4],但工业实践中难以获得足够的先验知识限制了这类方法的应用。基于数据驱动的方法通过不同的机器学习方法来估计RUL[5],例如支持向量回归(Support Vector Regression,SVR)[6]和人工神经网络(Artificial Neural Network,ANN)[7],但这类方法需要事先获得大量数据。混合方法结合了前两种方法的优点:基于物理知识构建模型,通过数据驱动的方法对特征提取器参数进行优化以进行RUL估计。特征提取器可以将原始信号转换为低维向量,从而更易于进行故障识别及寿命预测。但是,在将原始信号转换为低维向量的过程中会损失部分有用信息,而且针对新任务需要重新设定特征提取器参数,因此使预测过程变得耗时。
深度学习作为新兴的机器学习方法,可以自动准确地基于低级特征学习构建高级特征来预测RUL。递归神经网络(Recurrent Neural Network,RNN)作为解决寿命预测问题的一种方案,可以跨时间步长从先前处理的数据中提取有用信息,并将其集成到当前的单元状态中以对顺序数据进行建模[8-9]。理论上RNN可以表示长时间步长状态之间的依赖关系,但是由于梯度爆炸或梯度弥散现象的存在,导致RNN在实际应用中“记忆能力”受限,往往只能学习到短时间步长的依赖关系。Hochreiter等[10]提出的长短期记忆网络(Long Short-Term Memory,LSTM)具备一定的长距离时序数据信息挖掘能力,被广泛应用于语音识别、机器翻译、故障预测和负荷预测等领域。处理过长时间序列时,传统LSTM会出现不稳定和梯度消失现象,故而不能捕捉较长时序数据中的信息[11-12]。而卷积神经网络(Convolution Neural Network,CNN)由于同一特征映射面上的神经元权值相同,可实现并行学习。借助CNN的高维特征提取能力与并行学习能力,并利用LSTM短序列时序预测能力,出现了融合CNN与LSTM网络进行行为预测、语音识别等研究[13-14]。但是传统的CNN-LSTM模型未考虑多传感器数据的融合,无法体现数据驱动的全面性,导致预测精度不高,而且CNN与LSTM网络联合方式多为嵌入式,预测精度提升的难度较大。
因此,笔者提出了一种基于改进CNN-LSTM模型的RUL预测方法,该方法不依赖于特征提取器,可直接处理时间序列,利用变窗口采样得到不同长度的时间序列,通过融合CNN与LSTM子网络得到高维特征表示,使用感官融合层对具有不同时标的高维特征进行编码,以捕获时间序列中的潜在分层结构,从而获得更准确的预测结果。
1 CNN-LSTM融合网络
1.1 网络介绍
1.1.1 LSTM网络
在处理与时间序列相关的问题时,RNN由于自身的网络结构,比其他的网络更有优势。与常见的神经网络不同,如图1所示(xt为输入数据,A为神经元,ht为神经元A的输出),RNN隐藏层的输出将作为输入反复迭代,这意味着隐藏层在一段时间内具有自连接特性。因此,RNN在处理时序相关数据方面具有一定优势。
图1 RNN神经元
数学上,在时间t处的隐藏层的输出描述如下:
h(t)=φ(Wht-1+Uxt+b)
(1)
式中,W和U分别为隐藏层神经元的输入数据xt和先前输出ht-1的权重系数;t和t-1为时间;b为偏差。然而,由于在模型训练期间反向传播过程中存在梯度消失问题, RNN无法获取数据中的长期依存关系。因此,在LSTM网络结构中,LSTM神经元通过取代传统的RNN隐藏神经元来构建LSTM层。每个LSTM神经元都有3个精心设计的门函数,即遗忘门、输入门和输出门。LSTM神经元中的3个门函数为控制信息的输入和删除提供了良好的非线性控制机制,具有发现和记忆长期依存关系的能力。输入门决定了将进入神经元状态的信息,遗忘门决定了神经元状态中需要丢弃的信息,输出门决定从神经元状态导出什么信息。
LSTM神经元的计算过程可以用数学式表示为
ft=σ(Wfxt+Rfht-1+bf)
(2)
it=σ(Wixt+Riht-1+bi)
(3)
将LSTM网络单元展开,每个单元都包含输入xt,输出ot以及储存总线C。
如图2所示,ft为遗忘门,输出如式(2)所示。其中,σ为sigmoid函数,控制该门的输出在(0,1)之间,将ft与Ct-1进行点乘,可控制从Ct-1到Ct的信息流动。输出门用于候选函数Ct的连接。
图2 LSTM神经元
在使用输入门和遗忘门后,通过式(4)决定添加到总线C的信息:
Ct=ft⊗Ct-1+it⊗tanh(Wcxt+Rcht-1+bc)
(4)
最后输出门通过式(5)对来自于总线C的信息进行过滤,决定最终输出。
ot=σ(Woxt+Roht-1+bo)⊗tanh(Ct)
(5)
由于结构特殊,LSTM网络对分类及回归问题都较为有效。
1.1.2 CNN模型
CNN目前在计算机视觉领域应用中已成为最受欢迎的深度学习模型之一。与传统神经网络相比,CNN由于受局部感受野的启发,具有局部连接、权值共享、空间池化的特性,因此具有较好的平移、缩放和扭曲不变性,使抽象特征提取能力更强。
CNN的特征提取层在学习过程中隐式地从训练数据中提取特征,避免了依赖经验知识进行特征提取的过程;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,也是卷积网络相对于神经元彼此相连网络的一大优势。CNN以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络的特点降低了特征提取和分类过程中数据重建的复杂度。
1.2 密集卷积网络(DenseNet)
如图3所示,DenseNet在稠密卷积模块(Dense Block)中将每一层的特征都输入给之后的所有层,使所有层的特征都堆叠起来。传统卷积网络中L层有L个连接,但稠密卷积网络L层有L(L-1)/2个连接。稠密卷积模块对于特征的复用性更强,可以加强特征传播,减轻梯度消失问题。DenseNet提升了信息和梯度在网络中的传输效率,每层都能直接从损失函数得到梯度,并且直接得到输入信号,可训练更深的网络并且具有正则化的效果。其他网络致力于从深度和宽度来提升网络性能,而DenseNet致力于从特征重用的角度来提升网络性能。
图3 DenseNet连接结构
1.3 改进的CNN-LSTM网络结构
本文提出的CNN-LSTM网络结构使用随时间推移展开的递归架构建模实现对RUL的估计,该模型可学习处理变化的时间步长的前后信息。此外,由于CNN与LSTM网络各自输出高级特征,因此融合来自CNN与LSTM特征表示子网络的高级特征对于预测结果至关重要。本文提出了一种变窗口取样方法,通过大小不同的窗口对多个传感器信号进行取样和融合,在网络训练过程中,加入感官融合层替代全连接层实现高维特征融合。图4为基于改进的CNN-LSTM网络实现RUL预测流程图,整个流程大致分为数据预处理、高维特征表示、特征融合和RUL预测4个部分。
CNN-LSTM网络结构必须融合CNN与LSTM特征表示子网络获得的多种高维特征。最直接的方法是将CNN和LSTM学习到的特征串联输入到Softmax层,但是,这种简单的融合方法效果很差。本文提出基于感官融合层的高维特征融合方法,如图4所示,首先将CNN和LSTM输出的高维特征经过向量拼接(concatenate)方式合并,并行输入Dense层。用DenseNet层代替传统的全连接层(Flatten)。Dense层将CNN与LSTM子网络的高维特征映射到一维数据中,实现特征融合。而且Dense层的连接方式可以使网络轻量化,降低硬件要求,有助于工业化应用。
图4 基于改进的CNN-LSTM网络实现RUL预测流程图
1.4 改进的热重启随机梯度下降(SGDR)算法
当优化算法陷入局部最优点时,与梯度下降算法相比,SGDR(Stochastic Gradient Descent with Warm Restarts)[15]可以通过突然增大学习率跳出局部最优点找到通向全局最优点的路径,而不足之处在于重启时学习率有突变会导致训练误差突然增大,因此本文采用改进的SGDR算法来解决这个问题。网络第t次迭代时SGDR算法学习率变化曲线如式(6)所示,学习率每间隔一定周期后初始化为某个预先设定值,然后采用余弦衰减逐渐降低学习率,其中αmax和αmin分别为第m个周期中学习率的上界和下界,Tm为重启周期,Tcur为从上次重启之后的回合周期数。改进的算法增加了线性增长部分,学习率变化趋势如图5所示,避免了重启时学习率突变现象。
图5 改进的SGDR学习率变化示意图
(6)
2 实验分析
2.1 C-MAPSS数据集
本文研究以涡扇发动机的状态监测数据作为输入的RUL预测模型。涡扇发动机传感器种类多,运行周期长,其状态监测数据具有维度高、数据量大的特点。高维数据带来的维数灾难问题会影响模型的预测精度和收敛速度,故有必要进行特征维度约减工作。对于大样本输入数据,传统机器学习方法的预测性能受到限制,适宜设计深度学习模型来捕捉特征间的复杂关系。涡扇发动机状态监测数据由C-MAPSS[16]软件模拟得出,C-MAPSS逼真地模拟不同运行条件下涡扇发动机的退化过程,其输出为整个退化过程的各种传感器信号以及运行参数等状态监测数据。同文献[16]一致,本文选用C-MAPSS输出的21种信号以及3种运行参数进行RUL预测,所选状态监测数据的具体描述如表1所示。
表1 涡扇发动机状态监测描述
C-MAPSS数据集如表2所示,包含4个不同工况下的子数据集(FD001-FD004),每个子数据集包含多台发动机在不同工况下由21个传感器采样的全寿命数据,并分为训练集和测试集。数据集的更多结构细节见文献[16]。发动机在开始时刻均正常运行,在某个未知的时间点出现故障。在训练集中故障不断劣化,直到系统停止。测试集数据是在系统发生故障之前的某个时间截取的。实验目的是根据测试数据训练模型,实现测试集数据剩余运行时间的估计。
表2 C-MAPSS数据集
2.2 数据预处理
不同的数据往往具有不同的量纲和量纲单位,为了消除指标之间的量纲影响,需要进行数据标准化处理。原始数据经过数据标准化处理后,各指标处于同一数量级,有利于进行综合对比评价。本文分别对每个数据集进行归一化处理,并使用最小-最大归一化将输入和RUL值缩放到(0~1)范围。
(7)
在C-MAPSS数据集中,FD001和FD003具有7个恒定读数的传感器。但是,由于4个数据集的恒定读数不一致,因此在本研究中保留这些传感器数值。除了21个传感器特征和3个运行参数特征,将运行周期也作为特征之一,即模型输入共25个特征。由于测试集退化时间序列的最短长度为31,为保证所有涡扇发动机数据可以被使用,最小窗口尺寸选为30。
2.3 网络结构
本文应用随机搜索辅以经验微调的机制实现超参数选择。具体网络结构参数设定为:可变窗口大小设定为{30,50,70,90,110}。优化器选用Adam优化器,SGDR的初始学习率设置为0.0005,线性增长周期设为5个周期,重启学习率设置为0.001,余弦下降周期设置为10。使用提前终止策略,若40个周期内验证集的损失值不再下降则提前终止。其余参数选择见表3。
表3 随机搜索超参数选择
2.4 实验结果分析
2.4.1 基于改进CNN-LSTM的RUL预测结果
模型训练完成后,在操作情况较为复杂的FD003中利用10台发动机对训练后的改进LSTM网络进行性能验证。图6比较了11个发动机的预测RUL和真实RUL差值,横坐标为发动机编号,柱状图高度为真实值与预测值差值大小,单位为周期。
图6 预测值与真实值差值图
由图6可知,差值最大的发动机为第18号发动机,差值为36,其真实寿命为209,差值占总体的17.2%,其余10台寿命差值都较小,这能够很好地反映所提方法预测发动机RUL的准确程度。在训练过程中,将测试发动机的监测信号依次输入CNN-LSTM模型,得到预测的RUL如图7所示,显示了FD001中72台发动机的实际RUL与预测RUL。结果表明,预测的RUL与实际RUL十分接近。
图7 预测值与真实值
2.4.2 结果对比
为验证所提出的基于改进CNN-LSTM的RUL预测方法的有效性,使用5种不同的方法进行对比分析。所有实验均在具有8 GB RAM和GeForce GTX 1660Ti GPU的Intel Core i7第9代处理器上进行。使用Python 3.6以及TensorFlow实现所提网络。将训练数据按照[95:5]的比例随机分为训练集和验证集,以评估提出网络架构的性能。将CNN-LSTM结果与其他5种预测方法进行比较,其中CNN-LSTM(1)为嵌入式融合网络,第1层为LSTM网络,第2、第3层为CNN网络,其余超参数与本文所提出的网络相同,输入为普通滑动窗口获得的时间序列,窗口大小为30。CNN-LSTM(2)为本文所提出的改进CNN-LSTM预测网络。
使用均方根误差(RMSE)作为评价标准。
(8)
实验结果如表4所示,结果表明所提出的CNN-LSTM在RMSE指标评估下优于其他所有方法。与传统CNN相比,所提方法效果有较好提升,例如在FD001数据集中,所提方法比CNN的RMSE值降低了7.9。与未使用所提架构CNN-LSTM方法相比,在FD002数据集中,RMSE值从18.79降低到16.62,降低了13.06%。
表4 基于不同预测方法的RMSE值
3 结束语
针对航空发动机的RUL预测问题,本文提出了一种改进的CNN-LSTM的RUL预测方法。该方法使用可变窗口获得长度不同的时间序列,利用CNN和LSTM子网络实现高维特征表示,通过感官融合层实现特征融合,针对训练过程中损失函数曲线震荡、不易收敛问题,提出了改进的SGDR学习率更新机制,最后预测RUL。基于C-MAPSS数据集将所提方法与其他方法进行对比,结果表明,本文所提的方法预测效果更好。
但是本实验基于原始时域信号进行,而在工程中通常使用降采样信号预测RUL,这会导致预测精度下降,甚至难以预测。针对上述问题,未来考虑与其他深度学习方法相结合,如注意力机制等,实现工程信号的高精度寿命预测。