一种基于LSTM深度学习模型的水电机组故障诊断方法与系统与流程

文档序号:14774550发布日期:2018-06-23 02:44阅读:426来源:国知局
一种基于LSTM深度学习模型的水电机组故障诊断方法与系统与流程



背景技术:

长期以来,定期计划维修体制为水电站的正常运作发挥了重要作用,但这种维修体制还不能满足日益增长的设备维护需求,维修的代价仍然十分昂贵。而在社会需求以及科学技术的带动下,故障诊断技术与系统的快速发展为水电机组依据其运行状态来进行实时监测与检修提供了实现的可能性,因此对水电机组故障诊断技术的研究就显得十分必要。

伴随机器学习、模式识别、信号处理、人工智能等的发展,基于数据分析与处理的诊断方法开始得到发展,这种诊断方法将传统方法与智能方法相结合,通过对传感器的大量数据进行处理分析来提取出故障特征。但由于这些传统基于数据的故障诊断方法其相对浅层的模型结构,在随着检测数据越来越庞大的情况下面临着如维数灾难、对复杂非线性对象学习能力有限等等问题,传统方法在面对现代复杂设备故障诊断问题时显得表现不足,因此迫切需要一种新的方法以适应诊断需求的变化。

针对以上问题,本发明将人工智能领域的新兴方法深度学习长短期记忆网络(Long Short Term Memory,简写为:LSTM)与变分模态分解(Variational Mode Decomposition,简写为:VMD)相结合,实现一种针对水电机组的故障诊断方法与系统。该方法利用深度学习模型相对传统模型更深层的网络结构,来对水电机组的大量数据进行更有效的特征提取,并与VMD的信噪分离效果相结合,以一种新的方式将深度学习理论运用到水电机组的故障诊断中来,以达到相对更好的水电机组故障诊断效果。



技术实现要素:

本发明的目的在于提供一种基于LSTM深度学习模型的水电机组故障诊断方法与系统,利用深度学习领域的长短期记忆网络模型和变分模态分解算法来构建多层次模型,以寻找一种水电机组故障诊断领域更有效的新方法。

为了实现上述目的,本发明所采用的技术方案是:

第一方面,本发明提供了一种基于LSTM深度学习模型的水电机组故障诊断方法,方法包括:

步骤1:获取水电机组的N个不同信号通道的采样序列,对每一个时间序列进行变分模态分解,得到分解出来的K个IMF分量。

步骤2:对每一个IMF分量进行归一化处理,并构建相应的训练集和待诊断集。

步骤3:对每一个IMF分量的训练集构建长短期记忆网络模型,通过至少两层的LSTM层来对每一个IMF分量进行特征提取。

步骤4:同一个信号通道的K个IMF分量的LSTM层输出连接到一个Dense层,再将N个信号通道的Dense层输出连接到Softmax层来进行最后的分类,并通过交叉熵损失函数与故障标签得到误差来用于训练。

步骤5:通过RMSProp梯度下降算法对深度学习神经网络模型进行训练,将训练好的模型对待诊断集进行诊断,得到最终的诊断结果。

更进一步地,VMD分解的前提为构造一个变分问题,假设每个‘模态’都是具有中心频率的有限带宽,变分问题就可以被描述为寻求K个IMF分量uk(t),使每个模态的估计带宽之和最小,约束条件为每个模态相加之和为原始输入信号,变分问题构造过程如下:

(1)通过Hilbert变换,得到每个模态函数的解析信号,目的是可以得到它的单边频谱,具体变换如下,其中δ(t)为脉冲信号函数,uk(t)为IMF分量,*为卷积计算符号,j表示虚数单位。其中,

(2)再给各个模态的解析信号加入一个预估中心频率公式如下,其中ωk为中心频率,这样就可以将每个模态的频谱调制到相应的基频带。其中,

(3)计算上述解调信号梯度的平方L2范数,估计出各个模态信号带宽,构造使总模态信号带宽最小的变分问题,变分问题表示如下,其中f为原始信号f(t),表示对时间进行求导,t为时间。其中,

更进一步地,变分模态分解的算法通过引入惩罚因子α和拉格朗日乘法算子λ(t)得到扩展的拉格朗日表达式如下,其中f(t)为原始信号。其中,

在对变分问题构造了扩展的拉格朗日表达式后利用交替方向乘子算法ADMM求取IMF分量uk(t)的具体步骤如下:

步骤1.1、初始化和n;

步骤1.2、执行循环n=n+1;

步骤1.3、更新仅计算频域ω>0的部分,其中为f(t)的傅里叶变换,uk(ω)为信号uk(t)的傅里叶变换,ωk为中心频率,更新公式如下:

步骤1.4、频率中心ωk的更新方程如下所示:

步骤1.5、更新拉格朗日乘法算子λ,λ更新式为:

其中τ为迭代系数;

步骤1.6、重复步骤1.2~步骤1.5,直到满足停止条件,由此得到最终的K个停止条件为:

步骤1.7、将满足条件的K个通过反傅里叶变换再取实部来计算得到最后的K个IMF分量uk(t)。具体公式如下,其中ifft()代表傅里叶反变换,表示取实数部分。

更进一步地,可以通过选择同一个信号通道分解的出的一部分IMF分量作为输入进行分类输出,分析不同组合的IMF分量对分类结果精确度的影响大小,从而选择出IMF分量uk(t)中对结果影响较大的几个IMF分量来用于特征提取,以减少不必要的计算量达到更高的效率和准确度。

更进一步地,通过长短期记忆网络LSTM对每一个IMF分量的时间序列进行处理,序列每一个时刻的值作为一个LSTM神经元的输入,其神经元的前向计算包括:

遗忘门的前向计算为ft=sigmoid(θf·[ht-1,xt]+bf),其中ft为遗忘门的输出值,θf为遗忘门输入权重,bf为遗忘门输入偏置。

输入门的前向计算为it=sigmoid(θi·[ht-1,xt]+bi),其中it为输入门的输出值,θi为输入门输入权重,bi为遗忘门输入偏置。

输出门的前向计算为ot=sigmoid(θo·[ht-1,xt]+bo),其中ot为输入门的输出值,θo为输入门输入权重,bo为输入门输入偏置。

输入门it控制的向记忆单元Cell里面添加的输入值计算为其中为输入门it控制的输入值,θc为输入权重,bc为输入偏置。

对记忆单元Cell的记忆内容的更新计算为其中ct-1为上一个时刻的记忆单元的值。

最后输出给下一层的隐藏层输出值ht的计算为ht=ot⊙tanh(ct),由输出门来控制记忆单元进行输出。其中ht-1为t-1时刻的隐层输出,xt为输入值,对应一个IMF分量的t时刻的值。

更进一步的,之前计算所用到的sigmoid激活函数公式为:

所用到的tanh激活函数公式为:

更进一步地,使用全连接层Dense层连接在LSTM层后面,将LSTM层的输出作为其输入向量来进行进一步的特征提取,Dense层的激活函数选择ReLu来减小梯度弥散问题,其计算公式为Dense(x)=Re Lu(θ·x+b),其中θ为权重,b为偏置,x为输入,对应K个LSTM层的输出组成的输出向量。

ReLu的计算公式为:

更进一步地,通过Softmax层对Dense层的特征向量进行特征分类得到概率输出向量,Softmax回归是当前深度学习研究中广泛使用在深度网络有监督学习部分的分类器。作为一个非线性分类器,它与深度网络中无监督学习的部分相结合,往往能够达到非常高的分类准确率,其具体公式为:

其中x为Softmax层的输入向量,在模型中为Dense层的输出,θ为softmax层的权重矩阵,左边向量中的元素p(y=n|x;θ)表示输出y的值为n的概率,最终组成一个概率输出向量。

更进一步地,在构建的LSTM多层深度学习神经网络模型中使用了Dropout技术来防止神经网络模型的过拟合。Dropout在训练模型是随机让一定比例的隐含节点不工作,这些不工作的节点会在该次训练中不会进行权值更新,而下一次训练时会重新按比例选择不工作的节点,该方法可以有效减少过拟合现象并降低分类的错误率。

更进一步地,为了克服一般损失函数如均方差损失函数求导时由于sigmoid等激活函数的特性带来的梯度弥散问题,本发明采用交叉熵损失函数作为整个模型的损失函数,损失函数是通过将期望输出与实际输出进行一种计算得到的一个优化的计算指标,具体公式为:

其中L(f(x(i);θ),y(i))为损失函数,m为样本个数,y(i)为第i个样本的期望输出,f(x(i);θ)为第i个样本的实际输出,对应Softmax层实际的概率输出向量。

更进一步地,梯度下降训练时的梯度优化算法采用RMSProp算法,RMSProp算法针对循环神经网络有相对普通的梯度下降算法有相对更好的训练效果。本模型中的RMSProp算法是通过结合交叉熵损失函数L(f(x(i);θ),y(i))对各个权重θ进行梯度求导,求出使损失函数变小的权重变化值,同时引入梯度累计量r和衰减系数ρ,在一定程度上加快收敛速度并避免局部最优化,具体梯度更新步骤如下:

步骤5.1、计算梯度g的大小,L(f(x(i);θ),y(i))为交叉熵损失函数,表示对权重θ求导。

其中,

步骤5.2、计算梯度累计量r,其中ρ为衰减系数。其中,r←ρr+(1-ρ)g⊙g。

步骤5.3、计算权重更新值Δθ,η为学习率,δ为一个小常数(通常取10-6),用于被小数除时的数值稳定。其中,

步骤5.4、通过Δθ更新权重θ的值。其中,θ←θ+Δθ。

第二方面,本发明还提供了一种基于LSTM深度学习模型的水电机组故障诊断系统,系统包括:

IMF分量获取单元,用于获取水电机组的N个不同信号通道的采样序列,对每一个时间序列进行变分模态分解,得到K个IMF分量;

训练集和待诊断集获取单元,用于对每一个IMF分量进行归一化处理,并构建相应的训练集和待诊断集;

特征提取单元,用于对每一个IMF分量的训练集构建长短期记忆网络模型,通过至少两层的LSTM层来对每一个本征模态函数进行特征提取;

训练模块,用于将同一个信号通道的K个LSTM层输出连接到一个Dense层,再将N个信号通道的Dense层输出连接到Softmax层来进行分类,并通过交叉熵损失函数与故障标签得到误差来用于训练;

诊断模块,用于通过RMSProp梯度下降算法对深度学习神经网络模型进行训练,将训练好的模型对待诊断集进行诊断,得到最终的诊断结果。

本发明将变分模态分解VMD算法与深度学习中的LSTM神经网络进行结合形成一种更精准高效的算法,以提高目前水电机组故障诊断的精确度,也进一步提高了水电厂的维修效率。

进一步的,本发明针对水电机组现场测量得到的信号通道中会有较大的噪音成分的问题,使用变分模态分解VMD对振动信号进行分解以得到信噪分离后的有效的波形分量再来提取特征。同时循环神经网络(Recurrent Neural Networks,简写为:RNN)这种反馈型神经网络以及其变体长短期记忆网络LSTM、门控循环单元GRU等等对时间序列的数据具有更高效的处理能力。由于RNN神经网络在沿着时间反向传播训练时存在梯度弥散的问题,从而较长时间跨度的信息无法有效的利用起来,因此本发明中选择使用深度学习中的长短期记忆网络LSTM对VMD信噪分离后的分量序列来进行特征提取。

附图说明

图1为本发明实施例提供的基于长短期记忆网络深度学习的水电机组故障诊断模型图;

图2为本发明实施例提供的循环神经网络的计算展开图;

图3为本发明实施例提供的长短期记忆网络的内部记忆单元和门结构的计算图;

图4为本发明实施例提供的一种基于LSTM深度学习模型的水电机组故障诊断系统架构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明进行进一步详细说明。应当理解,此处所描述的具体步骤仅仅用以解释本发明,并不用于限定本发明。

实施例1:

本发明实施例提出的一种基于LSTM深度学习模型的水电机组故障诊断方法,参考如图1所示的诊断模型图,具体实施步骤如下:

步骤1:获取水电机组的N个不同信号通道的振动信号的采样值。对每一个信号通道的振动信号进行变分模态分解,得到分解出来的K个IMF分量。

其中,VMD分解的前提为构造一个变分问题,假设每个‘模态’都是具有中心频率的有限带宽,变分问题就可以被描述为寻求K个IMF分量uk(t),使每个模态的估计带宽之和最小,约束条件为每个模态相加之和为原始输入信号,变分问题构造过程如下:

(1)通过Hilbert变换,得到每个模态函数的解析信号,目的是可以得到它的单边频谱,具体变换如下,其中δ(t)为脉冲信号函数,uk(t)为IMF分量,*为卷积计算符号,j表示虚数单位。

(2)再给各个模态的解析信号加入一个预估中心频率公式如下,其中ωk为中心频率,这样就可以将每个模态的频谱调制到相应的基频带。

(3)计算上述解调信号梯度的平方L2范数,估计出各个模态信号带宽,构造使总模态信号带宽最小的变分问题,变分问题表示如下,其中f为原始信号f(t),表示对时间进行求导,t为时间。

更进一步地,变分模态分解的算法通过引入惩罚因子α和拉格朗日乘法算子λ(t)得到扩展的拉格朗日表达式如下,其中f(t)为原始信号。

在对变分问题构造了扩展的拉格朗日表达式后利用交替方向乘子算法ADMM求取IMF分量uk(t)的具体步骤如下:

步骤1.1、初始化和n;

步骤1.2、执行循环n=n+1;

步骤1.3、更新仅计算频域ω>0的部分,计算公式如下其中为f(t)的傅里叶变换,为信号uk(t)的傅里叶变换,ωk为中心频率;

步骤1.4、频率中心ωk的更新方程如下所示:

步骤1.5、更新拉格朗日乘法算子λ,λ更新式如下,其中τ为迭代系数:

步骤1.6、重复步骤1.2~步骤1.5,直到满足停止条件,由此得到最终的K个停止条件为:

步骤1.7、将满足条件的K个通过反傅里叶变换再取实部来计算得到最后的K个IMF分量uk(t),公式如下,其中ifft()代表傅里叶反变换,表示取实数部分。

步骤2、对每一个IMF分量进行归一化处理,并构建相应的训练集和待诊断集。归一化时对同一个通道的所有分量进行整体上的归一化,同时训练集中作为一个样本的输入序列的长度可以取与包含最低频的信号的时间长度的采样序列以保证能对所有有用信息进行提取,同时将采样信息分成多个时间段作为样本,采用一定比例来划分训练集和待诊断集。

步骤3、对每一个IMF分量的训练集构建长短期记忆网络模型,通过两层的LSTM层来对每一个IMF分量进行特征提取。其中第一层LSTM网络以多输出方式输出序列,该序列用于提供给第二层LSTM层再次进行特征提取。第二层LSTM层为单输出,再和同一通道的LSTM层输出进行合并,得到的K个IMF分量的LSTM层输出合并的特征向量用于作为Dense全连接层的输入。同时两层LSTM层均取Dropout值为0.2来防止过拟合现象。

其中LSTM的前向计算过程如图3所示,具体计算步骤如下,其中ht-1为t-1时刻隐层输出,xt为输入值,对应一个IMF分量的t时刻的值。

遗忘门的计算如下,其中ft为遗忘门的输出值,θf为遗忘门输入权重,bf为遗忘门输入偏置。

ft=sigmoid(θf·[ht-1,xt]+bf) (10)

输入门的计算如下,其中it为输入门的输出值,θi为输入门输入权重,bi为遗忘门输入偏置。

it=sigmoid(θi·[ht-1,xt]+bi) (11)

输出门的计算如下,其中ot为输入门的输出值,θo为输入门输入权重,bo为遗忘门输入偏置。

ot=sigmoid(θo·[ht-1,xt]+bo) (12)

输入门it控制的向记忆单元Cell里面添加的输入值计算如下,其中为输入门it控制的输入值,θc为输入权重,bc为输入偏置。

对记忆单元Cell的记忆内容的更新计算如下,其中ct-1为上一个时刻的记忆单元的值。

隐藏层输出值ht的计算如下。

ht=ot⊙tanh(ct) (15)

步骤4、同一个信号通道的K个IMF分量的LSTM层输出连接到一个Dense层,再将N个信号通道的Dense层输出连接到Softmax层来进行最后的分类,并通过交叉

与故障标签得到误差来用于训练。

其中Dense层用于对LSTM层提取的特征进行进一步特征提取,再用于下一层Softmax的分类计算。为防止过拟合,并减少计算量,Dense层取Dropout值为0.5。Dense层的计算公式如下,其中θ为权重,x为输入,b为偏置,ReLu为激活函数:

Dense(x)=ReLu(θ·x+b) (16)

ReLu的计算公式如下:

Dense层的输出向量通过Softmax层来进行归一化输出,Softmax层输出对应每个故障的概率,输出的向量的每一位表示对应该位为1的水电机组故障的概率大小,通过概率大小即可判断此时信号通道的输入最可能对应的故障原因。Softmax的计算公式如下,其中x为Softmax层的输入向量,在模型中为Dense层的输出,θ为softmax层的权重矩阵,左边向量中的元素p(y=n|x;θ)表示输出y的值为n的概率,最终组成一个概率输出向量。

为了克服一般损失函数如均方差损失函数求导时由于sigmoid等激活函数的特性带来的梯度弥散问题,相应的误差损失函数的构建通过交叉熵来实现。损失函数是通过将期望输出与实际输出进行一种计算得到的一个优化的计算指标,交叉熵的计算如下,其中L(f(x(i);θ),y(i))为损失函数,m为样本个数,为第i个样本的期望输出,为第i个样本的实际输出,对应Softmax层实际的概率输出向量。

交叉熵在反向求取梯度时的求导如下,表示对输入的权重θj进行求导计算:

步骤5、通过RMSProp梯度下降算法对深度学习神经网络模型进行训练,将训练好的模型对待诊断集进行诊断,得到最终的诊断结果。RMSProp算法针对循环神经网络有相对普通的梯度下降算法有相对更好的训练效果,通过结合交叉熵损失函数L(f(x(i);θ),y(i))对各个权重θ和偏置b进行梯度求导,求出使损失函数变小的权重变化值,同时引入梯度累计量r和衰减系数ρ,在一定程度上加快收敛速度并避免局部最优化。RMSprop算法迭代过程如下:

步骤5.1、计算梯度g的大小,L(f(x(i);θ),y(i))为交叉熵损失函数,表示对权重θ求导。

步骤5.2、计算梯度累计量r,其中ρ为衰减系数。

r←ρr+(1-ρ)g⊙g (22)

步骤5.3、计算权重更新值Δθ,η为学习率,δ为一个小常数(通常取10-6),用于被小数除时的数值稳定。

步骤5.4、通过Δθ来更新权重θ的值。

θ←θ+Δθ (24)

进行训练优化后的深度学习网络模型即可用于对待诊断集进行故障诊断,具体为将某一类故障的每一个信号通道的振动信号序列进行VMD分解再归一化处理后输入到网络模型中,对得到的最终的概率向量进行分析,若对应该故障的向量中的哪一位的概率值最大并最接近于1,表明网络诊断该故障可能性最大,代表该故障的诊断结果正确。

实施例2:

本发明实施例还提供了一种基于LSTM深度学习模型的水电机组故障诊断系统,如图4所示,系统包括:

IMF分量获取单元,用于获取水电机组的N个不同信号通道的采样序列,对每一个时间序列进行变分模态分解,得到K个IMF分量;

训练集和待诊断集获取单元,用于对每一个IMF分量进行归一化处理,并构建相应的训练集和待诊断集;

特征提取单元,用于对每一个IMF分量的训练集构建长短期记忆网络模型,通过至少两层的LSTM层来对每一个本征模态函数进行特征提取;

训练模块,用于将同一个信号通道的K个LSTM层输出连接到一个Dense层,再将N个信号通道的Dense层输出连接到Softmax层来进行分类,并通过交叉熵损失函数与故障标签得到误差来用于训练;

诊断模块,用于通过RMSProp梯度下降算法对深度学习神经网络模型进行训练,将训练好的模型对待诊断集进行诊断,得到最终的诊断结果。

本领域的技术人员容易理解,以上所述仅为本发明的具体实施步骤,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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