基于循环神经网络考虑未来工况的设备剩余寿命预测方法与流程

文档序号:18971178发布日期:2019-10-29 02:54阅读:457来源:国知局
基于循环神经网络考虑未来工况的设备剩余寿命预测方法与流程

本发明涉及数据驱动的剩余寿命预测方法领域,具体地涉及一种基于lstm(longshort-termmemory,即长短期记忆)循环神经网络的能够考虑未来工况的设备剩余寿命预测方法。



背景技术:

剩余寿命预测方法可以分为以下四类,即基于物理模型的方法、基于统计模型的方法、人工智能方法以及混合方法。对于一些复杂产品往往难以建立精确的失效物理模型,人工智能方法可以基于历史退化数据预测剩余寿命。近几年已经有许多人工智能方法被提出并取得了较好的预测结果。随着传感器技术的发展,有大量的退化数据可以获得,同时对这些数据的处理和特征提取需要大量的人工操作。因此,作为人工智能的一种常用重要方法,深度学习可以融合多变量数据,提取高维特征,是一种有力且高效的剩余寿命预测方法。当有大量历史退化数据可以获得时,深度学习方法往往优于传统的剩余寿命预测方法。已有大量的深度学习技术被用来预测剩余寿命。然而,之前的工作只关注处理历史数据,而没有考虑未来工况这一对剩余寿命预测有重要影响的因素。通过考虑未来工况,可以获得更准确的剩余寿命预测结果,同时可以为决策者提供信息来调整未来工作计划,从而延长设备寿命。

为了结合历史传感器数据和未来工况信息,需要得到设备当前的健康状态,在许多研究中通过建立健康指标来描述系统健康状态。通常,健康指标被假设为是一个一维变量。然而对于有多种失效模式和退化机理的复杂设备,一维的健康指标并不能全面地描述设备当前的健康状态,需要建立多维健康指标来与未来工况信息相结合。

lstm模型可以挖掘输入序列中的长时相关性,是序列建模预测的有效方法,但是普通lstm模型的输入是一个固定大小的矩阵,无法将维度不同的历史传感器数据与未来工况数据同时输入。目前尚没有将二者分别处理再结合以预测剩余寿命的方法。



技术实现要素:

本发明的目的在于提出一种能考虑未来工况的设备剩余寿命预测方法。为此需要建立适当的模型,将历史传感器数据和未来工况数据结合,共同预测剩余寿命。

本发明提出的方法利用多输入端模型将具有不同维度的历史传感器数据和未来工况数据有效地结合在一起,共同预测剩余寿命。模型可以刻画未来工况对剩余寿命的影响,既可以获得更高的预测准确度,还可以根据模型的预测结果调整设备的工作计划,以延长设备的寿命。

具体地,本发明提供的一种基于循环神经网络考虑未来工况的设备剩余寿命预测方法,其包括以下步骤:

s1:获取反映目标设备工作状况的从初始时刻到失效的监测数据,并对监测数据进行预处理,其中所述监测数据包括多个传感器测量得到的历史传感器数据;

s2:利用滑动时间窗口方法根据监测数据获得建模样本,并根据实验选取预设的时间窗口大小;

s3:构建深度lstm模型,将所述s2中获得的建模样本分为训练组、验证组和测试组,并使用训练组对所述深度lstm模型进行训练,使用adam算法更新深度lstm模型中的参数,使用均方误差作为训练时的损失函数,当验证组的预测误差停止减小时中止训练,计算测试组上的所述深度lstm模型的预测误差,并使用训练后的深度lstm模型对目标设备进行初步剩余寿命预测;以及

s4:根据所述s3中得到的初步剩余寿命预测的结果计算未来工况输入数据的长度,建立考虑未来工况的多输入端模型,所述多输入端模型包括第一组lstm网络和第二组lstm网络,通过第一组lstm网络和第二组lstm网络分别对历史传感器数据和所述目标设备的未来工况输入数据进行特征提取,使用所述s3中得到训练后的深度lstm模型作为第一组lstm网络的预训练模型,精调所述第一组lstm网络的最后lstm层,再将从所述第一组lstm网络获得的多维健康指标数据和从所述第二组lstm网络获得的未来工况输入数据的表征数据相结合,共同对目标设备进行剩余寿命预测。

可优选的是,所述监测数据包括反映目标设备健康状态、工作环境或载荷的所述多个传感器历史监测数据。

进一步,对所述监测数据的预处理包括:

s11、对各传感器的数据进行筛选,去除在同一工况下不随时间改变的传感器监测数据;

s12、数据归一化,根据各传感器在不同工况下的最大值和最小值按照下式进行归一化,

其中,x(i,m)表示第m个传感器在第i个时间点的原始值,表示x(i,m)归一化后的值,表示第m个传感器在第c种工况下的最大值和最小值;每个x(i,m)都用相应的进行归一化;

s13、设置各时间点剩余寿命标签,根据各传感器的监测数据的变化趋势,选取最大剩余寿命标签值,并利用分段线性函数来设置各时间点的剩余寿命标签值;以及

s14、若目标设备经历的工况能够聚类,则对聚类后的工况用one-hot编码,获得反映工况的代码表达的监测数据。

可优选的是,对于每个样本,在时间窗口范围内的所有历史传感器监测数据共同构成模型的输入矩阵;对于每个输入矩阵,最后一个时间步对应的剩余寿命作为所述输入矩阵的目标输出值;通过将时间窗口从历史传感器监测数据的第一个时间步滑动到最后一个时间步,能够获得包含输入矩阵和目标输出值的样本用于建立模型,其中所述时间窗口大小根据预实验的结果来决定。

可优选的是,所述深度lstm模型包括一层遮蔽层和若干层lstm层,所述遮蔽层用于跳过填充的时间步,所述lstm层用于输入数据的特征提取,根据所述建模样本对所述模型进行训练,以得到所述深度lstm模型。

可优选的是,在建立多输入端模型前,先利用所述深度lstm模型对目标设备的剩余寿命进行预估,计算所述深度lstm模型在测试组上的预测平均绝对误差和预估值之和,并将计算结果作为所述多输入端模型的未来工况输入数据的长度。

可优选的是,由所述多输入端模型的第一组lstm网络和第二组lstm网络得到的多为健康指标和未来工况输入数据表征数据相结合后,输入到全连接层中,经过全连接层的回归计算,得到最终的剩余寿命预测结果,其中所述全连接层与所述第一组lstm网络和第二组lstm网络是共同进行训练的。

可优选的是,所述多输入端模型的训练以所述深度lstm模型为基础,首先构建多输入端模型结构,然后将所述s3中得到的深度lstm模型的输出层以外的参数赋值给所述多输入端模型的第一组lstm网络中的参数,将所述第一组lstm网络的最后lstm层以外的参数保持不变,使用adam优化算法同时更新多输入端模型的其余所有参数。

本发明优化算法的学习率要更小,保证参数更新的幅度足够小以防破坏预训练网络已提取的特征。

与现有技术相比,本发明具有以下创新点:

(1)本发明针对在未来工况已知的情况下更好地预测剩余寿命,提出了一种多输入端模型,该模型可以将具有不同维度的历史传感器数据和未来工况数据有效地结合在一起,共同预测剩余寿命。模型能刻画未来工况对剩余寿命的影响,既可以获得更高的预测准确度,还可以根据模型的预测结果调整设备的工作计划,以延长设备的寿命。

(2)本发明提出先不考虑未来工况预估目标设备的剩余寿命,再结合预估的准确度计算得到未来工况输入序列的长度,以避免信息的损失或冗余。

(3)本发明提出多输入端模型的一种精调策略,将深度lstm模型作为多输入端模型一部分的预训练模型,再进行精调,以降低模型的训练难度,提高模型的有效性。

(4)本发明提出使用多维健康指标来表征设备的当前健康状态。

附图说明

图1是本发明基于循环神经网络考虑未来工况的设备剩余寿命预测方法的步骤流程图;

图2是本发明实施例中一台设备的一个传感器全寿命周期的监测值;

图3是本发明lstm神经元的内部结构;

图4是本发明深度lstm模型结构;

图5是本发明模型训练流程图;

图6是本发明fd002测试集预测结果;

图7是本发明fd004测试集预测结果;

图8是本发明多输入端模型结构;以及

图9是本发明未来工况输入序列长度和多输入端模型精调方法示意图。

具体实施方式

下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明提供一种基于循环神经网络考虑未来工况的设备剩余寿命预测方法。下面结合附图1所示的方法流程,以c-mapss涡扇发动机仿真数据集的三个包含多种工况的子集为例,在下文中分别称为挑战比赛数据、fd002和fd004,对本发明的建模方法做进一步描述;

三个数据集都分别包括一个训练集和一个测试集。训练集包括多个同类发动机的全寿命周期监测数据,包括21个传感器数据序列和3个工况传感器数据序列。每台发动机由不同的初始健康状态开始工作,一段时间后开始退化,直到系统失效。测试集中的传感器数据序列在系统失效前的某一时间终止,目标就是要预测这些发动机在记录数据的最后一个时间点的剩余寿命。此外,fd002和fd004两组数据的测试集的各发动机剩余寿命是已知的,但是挑战比赛数据的未知。因此,fd002和fd004中测试集的预测结果与其他已有方法的结果对比可以证明本发明s3步骤得到的模型的有效性。而训练集有全寿命周期的数据,每一个时间步的未来工况信息是已知的,因此这部分数据可以被用来验证本发明整体方法在未来工况已知情况下的剩余寿命预测的有效性。

步骤一:对原始数据进行预处理。即,获取反映目标设备工作状况的从初始时刻到失效的监测数据,并对监测数据进行预处理,其中监测数据包括多个传感器测量得到的历史传感器数据。

首先进行特征选择,去除传感器监测数据中随时间没有明显变化趋势的数据序列。在本例中,21个传感器监测数据序列中,有7个数据序列在同一工况下一直保持不变,这些数据对剩余寿命预测没有任何作用,应该被舍弃掉。

每个传感器监测数据的幅值不同,同一传感器在不同工况下的幅值也不同。为了使传感器监测数据都在同一范围内有相同的幅值,并减小不同工况的影响,按照下式对传感器监测数据在不同工况下进行归一化处理,放缩到[0,1]范围内。

其中,x(i,m)表示第m个传感器在第i个时间点的原始值,表示x(i,m)归一化后的值,表示第m个传感器在第c种工况下的最大值和最小值。每个x(i,m)都用相应的进行归一化。

设置各时间点的剩余寿命标签。事实上,设备在早期的工作是正常的,一段时间以后才开始退化。例如,在本例中,fd002第一台设备的归一化后的第11个传感器监测值如附图2所示。从图中可以看出,传感器测量值在早期没有明显的变化趋势,退化开始后才表现出增大的趋势。注意到其他传感器测量值也有同样的现象,因此可以假设在早期剩余寿命的标签是一个常数,使用一个分段线性函数来设置各时间点的标签。在本例中,早期剩余寿命设为125。

对于可以聚类的工况,聚类后用one-hot向量表示各类工况。在本例中,利用数据集中三个工况传感器监测数据在三维图中画出散点图,可以看出所有点都集中在六个点附近,于是可以容易的将工况分为六类,并用长度为6的one-hot向量表示各类工况。

进一步地,在本例中,使用在phm’08会议比赛中使用的一种评分函数和均方根误差(rmse)来计算模型预测的误差,其具体计算表达式如下:

步骤二:利用滑动时间窗口方法根据监测数据获得建模样本,并根据实验选取预设的时间窗口大小。对于每个样本,在时间窗口范围内的所有历史传感器数据共同构成模型的输入矩阵。对于每个输入矩阵,最后一个时间步对应的剩余寿命作为该输入矩阵的标签即目标输出值。通过将时间窗口从历史传感器数据的第一个时间步滑动到最后一个时间步,可以获得包含输入矩阵和目标输出值的样本,用于建立模型。时间窗口的大小是一个重要的参数。选取不同的窗口大小,通过10-折叠交叉验证实验结果确定合适的值。在本例中,不同窗口大小的实验结果如表1所示。根据实验结果,选择窗口大小为80,即对于每台设备的历史传感器数据,从第1个时间点到第80个时间点的数据作为第一个输入样本,从第2个时间点到第81个时间点的数据作第二个输入样本,如此划分下去,直到最后一个时间点的数据被划分进一个样本。

表1不同时间窗口大小的实验结果

步骤三:根据建模样本建立深度lstm模型,即多层lstm模型。构建深度lstm模型,将s2中获得的建模样本分为训练组、验证组和测试组,并使用训练组对深度lstm模型进行训练,使用adam算法更新深度lstm模型中的参数,使用均方误差作为训练时的损失函数,当验证组的预测误差停止减小时中止训练,计算测试组上的深度lstm模型的预测误差,并使用训练后的深度lstm模型对目标设备进行初步剩余寿命预测。模型中每个单元,即lstm神经元的结构如图3所示。基于lstm神经元,构建如图4所示的深度lstm模型,并用步骤二得到的建模样本进行模型训练和选择。

具体地,模型训练和选择的流程如图5所示。首先,数据集经过预处理得到了包含归一化后的传感器监测数据和代表不同工况的one-hot向量的时间序列。然后,通过滑动时间窗口方法得到了2维的输入样本,窗口的大小通过不同值的实验确定。

深度lstm模型对于建立多输入端模型是必要的。当未来工况已知时,每个样本的未来工况输入数据长度是深度lstm模型的剩余寿命预估值及其在测试组的平均绝对误差之和。如果已知的未来工况序列长度不足,则在其后随机生成工况来补足。需要注意的是,每个样本的未来工况输入序列长度并不相同,所以在较短的序列后面补零使得每个样本的未来工况的维度相同,以便模型的训练。

然后,由训练集得到的样本按照8:1:1的比例进一步分为训练组、验证组和测试组。训练组的样本用于训练模型,验证组的样本用于决定训练轮数防止过拟合,当在最大训练轮数之前验证组的误差不再减小时则停止训练,测试组用于评价模型的表现并选择模型的超参数。

接着,基于准备好的样本,先建立深度lstm网络,它的结构参数根据其在测试组样本上的表现决定。然后,基于第一个建立好的模型,建立考虑未来工况的多输入端模型。模型根据每小批次样本的均方误差进行训练,在本例中,每批次包括1024个样本比较合适。

最后,测试组的样本输入到模型中预测其剩余寿命,并计算预测误差。在本例中,fd002和fd004测试集中各目标设备的预测结果分别如图6和图7所示,各测试集的设备按照标签从小到大排序。可以发现,预测值比较接近真实值,尤其是当设备快要失效时。本发明的方法在这一步的预测结果与现有其他方法的对比如表2所示:

表2本发明中剩余寿命初步预估准确度与现有其他方法预测准确度对比

步骤四:根据初步预测结果和未来工况数据,建立考虑未来工况的多输入端模型,据此预测目标设备剩余寿命。根据s3中得到的初步剩余寿命预测的结果计算未来工况输入数据的长度,建立考虑未来工况的多输入端模型,多输入端模型包括第一组lstm网络和第二组lstm网络,通过第一组lstm网络和第二组lstm网络分别对历史传感器数据和目标设备的未来工况输入数据进行特征提取,使用s3中得到训练后的深度lstm模型作为第一组lstm网络的预训练模型,精调第一组lstm网络的最后lstm层,再将从第一组lstm网络获得的多维健康指标数据和从第二组lstm网络获得的未来工况输入数据的表征数据相结合,共同对目标设备进行剩余寿命预测。

构建如图8所示的多输入端模型,并根据步骤三得到的目标设备剩余寿命预估值及其统计平均绝对误差计算得到未来工况输入序列长度,根据未来工作计划得到未来工况输入序列,与历史传感器数据组成输入样本,进行模型训练和选择。模型的训练和选择的总体过程同步骤三,如图5所示。

生成未来工况输入序列和训练多输入端模型的精调方法如图9所示。具体地,第一步,不考虑未来工况,通过深度lstm模型预估每一个目标设备的剩余寿命,并计算每个目标设备对应的未来工况输入序列长度;第二步,根据未来工况输入序列长度和未来工作计划得到每个目标设备的未来工况数据;第三步,载入训练好的s3中得到的深度lstm模型中的lstm部分,最后一层全连接层以外的全部结构和预训练好的参数作为多输入端模型中计算多维健康指标的预训练模型;第四步,构建整个多输入端神经网络,冻结预训练模型中最后一层lstm层以外的层,并训练网络的其他部分。

表3两种模型的预测结果对比

不考虑未来工况的深度lstm模型和考虑未来工况的多输入端模型的预测结果对比如上面的表3所示。可以看出,当未来工况已知时,多输入端模型的预测结果更准,此外,预测结果还表明,使用图9所示的生成未来工况输入序列和训练多输入端模型的精调方法可以提高模型的预测准确度,因此,本发明的方法是更有效的。

最后应说明的是:以上所述的实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1