基于双层长短期记忆网络的复杂设备剩余寿命预测方法与流程

文档序号:17010266发布日期:2019-03-02 02:13阅读:288来源:国知局
基于双层长短期记忆网络的复杂设备剩余寿命预测方法与流程

本发明属于复杂设备故障诊断技术领域,具体涉及一种基于双层长短期记忆网络(lstm)的复杂设备剩余寿命预测方法。



背景技术:

在实际工程应用中,机械设备不可避免的受到损伤,随着使用时间的积累,损伤的累积最终导致设备故障的发生。在设备发生故障后再采取维修手段,往往会使生产中断,导致效率下降,而过于提前更换设备又造成资源浪费,导致额外费用增加;因此,准确的预测设备剩余使用寿命能够有效的提高生产效率,降低额外费用。然而,随着设备设计趋向复杂化,准确地预测设备剩余使用寿命愈加困难,因此,如何有效的预测设备剩余使用寿命具有重要的现实意义。

从国内外现状看来,复杂设备剩余寿命预测是设备诊断和健康管理中最具有挑战性的工作之一。根据相关文献表明,大量的算法应用到了复杂设备剩余寿命的预测中,如支持向量机、隐马尔可夫模型和深度学习等,其中深度学习表现出较优异的结果,但是,与复杂设备相关的数据量大而且数据种类繁多,传统的算法很难建立数据同复杂设备剩余寿命间的映射,并且预测效果较差。因此急需提出一种精准的复杂设备预测算法,来提高对复杂设备剩余寿命预测的准确性。



技术实现要素:

本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于双层长短期记忆网络的复杂设备剩余寿命预测方法,改变对复杂设备预测精度差的现状。

本发明采用以下技术方案:

基于双层长短期记忆网络的复杂设备剩余寿命预测方法,双层lstm网络包括依次连接的输入层、隐藏层、第一lstm层、第二lstm层和输出层;

第一层为输入层,输入层的数据为m×n,m为时间序列,n为传感器的数量;

第二层为隐藏层,隐藏层的输入数据为m×n,激励函数为relu函数,隐藏层单元共q个,隐藏层的输出数据为m×q;

第三层为lstm的第一层,该层输入数据为m×q,第三层共m个lstm单元。第一个lstm单元的输入包含q个来自隐藏层的输出值,并输出q个输出值至第四层对应的lstm单元及到同层的下个lstm单元中,同时输出q个状态值到同层下个lstm单元中;中间m-2个lstm单元的输入包含:q个来自隐藏层的输出值、q个来自同层上一个lstm单元的输出值和q个来自同层上一个lstm单元的状态值,并输出q个输出值至第四层对应的lstm单元及到同层的下个lstm单元中,同时输出q个状态值到同层下个lstm单元中;最后一个lstm单元的输入包含:q个来自隐藏层的输出值、q个来自同层上一个lstm单元的输出值和q个来自同层上一个lstm单元的状态值,并输出q个输出值至第四层对应的lstm单元;

第四层为lstm的第二层,该层输入数据为m×q,第四层共m个lstm单元,第一个lstm单元的输入包含q个来自第三层对应lstm单元的输出值,并输出q个输出值到同层的下个lstm单元中,同时输出q个状态值到同层下个lstm单元中,中间m-2个lstm单元的输入包含:q个来自第三层对应lstm单元的输出值、q个来自第四层上一个lstm单元的输出值和q个来自第四层上一个lstm单元的状态值,并输出q个输出值到第四层的下个lstm单元中,同时输出q个状态值到第四层下个lstm单元中,最后一个lstm单元的输入包含:q个来自第三层对应lstm单元的输出值、q个来自同层上一个lstm单元的输出值和q个来自同层上一个lstm单元的状态值,并输出q个输出值;

第五层为输出层,输出层的输入数据为第四层最后一个lstm单元的输出值,即q个输出值,输出层单元为1个,即输出层的输出数据为1个;

基于上述双层lstm网络的复杂设备剩余寿命预测方法包括以下步骤:

s1、对复杂设备历史数据进行预处理,并搭建双层lstm网络;

s2、对搭建的双层lstm网络进行训练;

s3、将测试数据进行预处理后传递到训练好的双层lstm网络中;

s4、双层lstm网络的输出值为复杂设备剩余寿命的预测值。

可选的,步骤s1中,复杂设备数据采用标准化方法进行预处理,去除不同地数据因量纲和幅值对网络训练造成地影响。

进一步的,预处理具体如下:

其中,代表训练样本中第i号传感器的在j时刻标准化得到的值,代表训练样本中第i号传感器的在j时刻的值,代表训练样本中第i号传感器的均值,代表训练样本中第i号传感器的方差。

可选的,步骤s2中,对搭建的双层lstm网络进行训练,具体过程为:

s201、确定每次训练批次大小,确定每次训练批次;

s202、损失函数为均方根误差函数;

s203、将数据和对应的标签即复杂设备剩余寿命值传递到双层lstm网络中,进行训练,采用adamoptimizer优化算法最小化损失函数;

s204、将训练好的双层lstm网络参数进行保存。

进一步的,步骤s201中,每个训练批次选取的样本数为s,学习率设置为l。

进一步的,步骤s202的均方根误差函数loss计算如下:

其中,nb代表每个训练批次中地样本数,hi为预测地剩余寿命值减去实际的剩余寿命值。

可选的,步骤s3中,对训练数据采用标准化方法进行预处理,预处理具体如下:

其中,代表训练样本中第i号传感器的在j时刻标准化得到的值,代表训练样本中第i号传感器的在j时刻的值,代表训练样本中第i号传感器的均值,代表训练样本中第i号传感器的方差。

与现有技术相比,本发明至少具有以下有益效果:

本发明基于深度学习,提出了基于双层lstm的复杂设备剩余寿命预测方法,双层lstm网络可以较好的适应复杂设备中与时序相关的传感器数据,将循环神经网络时序处理的优点应用到复杂设备剩余寿命预测的过程中,提高对复杂设备剩余寿命预测的精准性,减少设备事故率,降低维护工作人员的工作量。

进一步的,本发明提出的基于双层lstm网络更有利于建立数据同复杂设备剩余寿命之间映射关系,同单层lstm网络相比,具有更优异的特征提取能力,过多层的网络带来网络参数过多问题,因此在保证模型优异的性能基础上,避免了过多参数的学习。

进一步的,双层lstm网络可以提高对复杂设备剩余寿命预测的精度,使得复杂设备可以得到及时维护,同时降低了不必要的维护,降低了维护成本。利用双层lstm网络对复杂设备剩余寿命进行预测,可以大幅降低复杂设备维护人员的工作量,并且可以有计划针对性的对复杂设备进行维护。

进一步的,双层lstm神经网络在每次训练过程中,两层lstm网络之间的连接只有一半被激活,降低了双层lstm训练的难度,同时加快了lstm网络的训练速度。

进一步的,在对当前数据地处理过程中,是以历史数据的标准值和方差为基准,利于训练更为客观的模型,避免了未来数据对当前训练模型的影响。

综上所述,本发明提供的基于双层lstm的复杂设备剩余寿命预测模型,能够对复杂设备剩余寿命的预测准确性带来较高的提升。复杂设备因此可以得到及时有效维护,同时降低了事故的发生。能够确保复杂设备运行的安全,同时减少不必要的维护,具有重大意义。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明方法的流程示意图;

图2为本发明提出的双层lstm网络结构图;

图3为双层lstm网络训练示意图。

具体实施方式

本发明提供了一种基于双层长短期记忆网络的复杂设备剩余寿命预测方法,将深度学习算法应用到复杂设备剩余寿命的预测中来,并且更利于建立起复杂设备相关数据和复杂设备剩余寿命之间的映射关系。通过提供准确可靠的复杂设备剩余寿命预测方法,使得复杂设备可以得到及时的维护,并且减少了不必要的维护,使得复杂设备维护根据有针对性,同时对复杂设备剩余寿命的精确预测,降低设备事故。

请参阅图1,本发明一种基于双层长短期记忆网络的复杂设备剩余寿命预测方法,在具体实施方式中,以对航空发动机的剩余寿命预测为基础,包括以下步骤:

s1、对复杂设备相关的历史数据进行预处理,并搭建双层lstm网络,双层lstm网络的每一层有m个lstm单元,每个lstm单元都是一个独立记忆单元;

s101、复杂设备(航空发动机)相关数据采用标准化方法进行预处理;

预处理具体如下:

不同传感器的数值具有较大的差别,在神经网络中,数值相对较小的数据带来的特征将会被削弱,数值相对较大的数据带来的特征将会被放大,为了消除数值不同所带来的问题,需要对数据进行标准化处理,本发明标准化公式为:

其中,代表训练样本中第i号传感器的在j时刻标准化得到的值,代表训练样本中第i号传感器的在j时刻的值,代表训练样本中第i号传感器的均值,代表训练样本中第i号传感器的方差。

s102、搭建双层lstm网络,请参阅图2,具体如下:

第一层为输入层,输入层的数据为m×n,m为时间序列,n为传感器的数量;

第二层为隐藏层,隐藏层的输入数据为m×n,激励函数为relu函数,隐藏层单元共q个,隐藏层的输出数据为m×q;

第三层为lstm的第一层,该层输入数据为m×q,第三层共m个lstm单元。第一个lstm单元的输入包含q个来自隐藏层的输出值,并输出q个输出值至第四层对应的lstm单元及到同层的下个lstm单元中,同时输出q个状态值到同层下个lstm单元中;中间m-2个lstm单元的输入包含:q个来自隐藏层的输出值、q个来自同层上一个lstm单元的输出值和q个来自同层上一个lstm单元的状态值,并输出q个输出值至第四层对应的lstm单元及到同层的下个lstm单元中,同时输出q个状态值到同层下个lstm单元中;最后一个lstm单元的输入包含:q个来自隐藏层的输出值、q个来自同层上一个lstm单元的输出值和q个来自同层上一个lstm单元的状态值,并输出q个输出值至第四层对应的lstm单元;

第四层为lstm的第二层,该层输入数据为m×q,第四层共m个lstm单元,第一个lstm单元的输入包含q个来自第三层对应lstm单元的输出值,并输出q个输出值到同层的下个lstm单元中,同时输出q个状态值到同层下个lstm单元中,中间m-2个lstm单元的输入包含:q个来自第三层对应lstm单元的输出值、q个来自第四层上一个lstm单元的输出值和q个来自第四层上一个lstm单元的状态值,并输出q个输出值到第四层的下个lstm单元中,同时输出q个状态值到第四层下个lstm单元中,最后一个lstm单元的输入包含:q个来自第三层对应lstm单元的输出值、q个来自同层上一个lstm单元的输出值和q个来自同层上一个lstm单元的状态值,并输出q个输出值;

第五层为输出层,输出层的输入数据为第四层最后一个lstm单元的输出值,即q个输出值,输出层单元为1个,即输出层的输出数据为1个。

s2、训练双层lstm网络,如图3所示;

s201、确定每次训练批次大小,确定每次训练批次,学习率设置为l;

进行网络训练时,每一批(batch)包含的样本数对整个模型的训练结果会产生影响,样本数过少难以达到收敛,样本数过多会造成内存溢出,训练负担加重等问题。因此选择合适批尺寸有利于卷积神经网络的训练。

本发明每个训练批次选取的样本数为s。过大的学习率将会造成梯度震荡,过小的学习率将使得训练时间增加,因此将学习率设置为l。

s202、损失函数为均方根误差函数;

均方根误差函数计算如下:

其中,nb代表每个训练批次中地样本数,hi为预测地剩余寿命值减去实际的剩余寿命值。

s203、将数据和对应的标签即复杂设备剩余寿命值传递到双层lstm网络中,进行训练,采用adamoptimizer优化算法最小化损失函数;

s204、将训练好的双层lstm网络参数进行保存。

s3、将当前数据预处理后作为输入数据传递到步骤s2所训练好的双层lstm网络中;

s301、将数据利用标准化方法进行预处理;

预处理具体如下:

其中,代表训练样本中第i号传感器的在j时刻标准化得到的值,代表训练样本中第i号传感器的在j时刻的值,代表训练样本中第i号传感器的均值,代表训练样本中第i号传感器的方差。

同时,测试集中的数据标准化处理,应以训练集中的均值和方差为基准,这样在本质上可以避免未来数据的对当前模型造成影响。

s302、将预处理后的测试数据传递到训练好的双层lstm网络中。

s4、双层lstm网络的输出值为复杂设备剩余寿命的预测值。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于双层lstm的复杂设备剩余寿命预测方法,包括以下步骤:

s1、对复杂设备历史数据进行预处理,并搭建双层lstm网络,双层lstm网络的每一层有30个lstm单元;

第一层为输入层,输入层的数据为30×15,30为时间序列,15为传感器的数量;

第二层为隐藏层,隐藏层的输入数据为30×15,激励函数为relu函数,隐藏层单元共128个,隐藏层的输出数据为30×128;

第三层为lstm的第一层,该层输入数据为30×128,第三层共30个lstm单元。第一个lstm单元的输入包含128个来自隐藏层的输出值,并输出128个输出值至第四层对应的lstm单元及到同层的下个lstm单元中,同时输出128个状态值到同层下个lstm单元中;中间28个lstm单元的输入包含:128个来自隐藏层的输出值、128个来自同层上一个lstm单元的输出值和128个来自同层上一个lstm单元的状态值,并输出128个输出值至第四层对应的lstm单元及到同层的下个lstm单元中,同时输出128个状态值到同层下个lstm单元中;最后一个lstm单元的输入包含:128个来自隐藏层的输出值、128个来自同层上一个lstm单元的输出值和128个来自同层上一个lstm单元的状态值,并输出128个输出值至第四层对应的lstm单元;

第四层为lstm的第二层,该层输入数据为30×128,第四层共30个lstm单元,第一个lstm单元的输入包含128个来自第三层对应lstm单元的输出值,并输出128个输出值到同层的下个lstm单元中,同时输出128个状态值到同层下个lstm单元中,中间28个lstm单元,每个单元的输入包含:128个来自第三层对应lstm单元的输出值、128个来自第四层上一个lstm单元的输出值和128个来自第四层上一个lstm单元的状态值,并输出128个输出值到第四层的下个lstm单元中,同时输出128个状态值到第四层下个lstm单元中,最后一个lstm单元的输入包含:128个来自第三层对应lstm单元的输出值、128个来自同层上一个lstm单元的输出值和128个来自同层上一个lstm单元的状态值,并输出128个输出值;

第五层为输出层,输出层的输入数据为第四层最后一个lstm单元的输出值,即128个输出值,输出层单元为1个,即输出层的输出数据为1个,得到对应的复杂设备剩余寿命预测值;

s2、对搭建的双层lstm网络进行训练;

s201、每个训练批次选取的样本数为500,学习率设置为0.001;

s202、计算损失函数;

s203、将数据和对应的标签即复杂设备剩余寿命值传递到双层lstm网络中,进行训练,采用adamoptimizer优化算法最小化损失函数;

s204、将训练好的双层lstm网络参数进行保存

s3、将测试数据进行预处理后传递到训练好的双层lstm网络中;

s4、双层lstm网络的输出值为复杂设备剩余寿命值。

本发明采用连续30个时间节点的数据作为模型的输入数据,单一时间点的数据很难对应该时刻剩余寿命的值,因此需要连续时间的数据,来进行数据挖掘和特征提取,提出的连续时间节点的数据作为模型的输入数据更有利于建立数据同复杂设备剩余寿命值之间的映射。

本发明预测方法适用于航空发动机,航空发动机剩余寿命预测是设备诊断和健康管理中最具有挑战性的工作之一。

本发明基于深度学习,提出了基于双层lstm的复杂设备剩余寿命预测方法,双层lstm网络可以较好的适应复杂设备中与时序相关的传感器数据,将循环神经网络时序处理的优点应用到复杂设备剩余寿命预测的过程中,提高对复杂设备剩余寿命预测的精准性,减少复杂设备领域事故率,降低复杂设备维护工作人员的工作量。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

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