基于双向长短时神经网络的流程工业故障诊断方法与流程

文档序号:22737262发布日期:2020-10-31 09:16阅读:168来源:国知局
基于双向长短时神经网络的流程工业故障诊断方法与流程

本发明涉及故障诊断技术领域,尤其涉及基于双向长短时神经网络的流程工业故障诊断方法。



背景技术:

随着计算机技术和现代工业的飞速发展,工业越来越趋向于智能化和复杂化。对于生产过程的安全性提出了更高的要求。故障的发生会造成大量的人员伤亡和财产损失。因此,及时地检测或诊断出系统的故障就显得尤为重要。故障诊断的发展经历了三个过程,第一个阶段主要依靠专家和维修人员的经验、感官和简单的数据因为这一阶段生产设备都比较简单,所以故障诊断和监控也比较简单。第二个阶段,伴随着传感器和信号技术的发展,故障诊断与检测侧重于仪器仪表,并且在维修中得到了广泛的应用。第三个阶段随着计算机技术和人工智能技术的发展,故障诊断与检测进入了智能化阶段。

故障诊断技术按照建模的方法不同可以分为定量模型,定性模型和数据驱动模型。其中定量模型有状态估计法、参数估计法以及分析冗余法,这些方法的特点都是需要精确的机理模型的,但在工业过程由于非线性、时变、变量耦合、时间相关性、多模态、间歇等特性使其难以建立精确的模型。定性模型主要利用专家知识,因果关系通过演绎推理的方式来实现故障诊断与定位。随着工业的发展未知的故障会越来越多,此种方法无法获取完整的知识,因此有此种方法有局限性。数据驱动模型主要是利用正常工况的数据建立离散模型,通过大量的数据来细化模型使其更好的适应模型,不需要精准的机理模型,非常适合当下复杂的流程工业,近几年随着传感器技术和数据实时存储技术的发展,大量的数据得以保存下来,也为数据驱动模型打下了基础。数据驱动的方法主要分为多元统计分析、机器学习、信号处理、信息融合。

传统的流程工业故障诊断方法缺点为准确率低,时常出现漏报和误报现象并且泛化能力低,随着技术手段的提升,大量的故障数据得以保存,因此,我们提出了基于双向长短时神经网络的流程工业故障诊断方法。



技术实现要素:

本发明提出的基于双向长短时神经网络的流程工业故障诊断方法,解决了上述背景技术中提出的问题。

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

基于双向长短时神经网络的流程工业故障诊断方法,包括如下步骤:

s1:数据集准备:te模型从160组数据开始引入故障,数据集用来建立监控模型,故障为21个预定义的故障和1个正常工况的数据集,正常情况下的测试集保存在d00_te.txt,训练集为d00.txt故障1的测试集保存在d01_te.txt训练集为d01.txt,……,故障21的测试集d21_te.txt,训练集d21.txt,选用正常工况下的520条,训练数据集d00_txt的第1条到第520条,进行建模,在此选取了故障8,故障12,故障13,故障17,故障20来验证模型的准确性;

s2:特征提取:特征提取采用的是基于梯度提升机提取数据特征,在梯度下降的方向上,寻找出针对多个分类器组成的可加性模型;

s3:建立实验平台:以电脑型号为联想thinkpad,操作系统为windows10家庭中文版(64位),cpu为(英特尔)intel(r)core(tm)i5-8250ucpu@1.60ghz(8cpu),内存为8192mbram建立试验平台,在python3.7语言环境下进行的故障实验;

s4:实验进行:采用keras框架搭建双向长短时神经网络模型,研究对象为田纳西伊斯曼模型;

采用故障8、故障12、故障13、故障17、故障20进行验证,故障数据集和正常工况数据集通过梯度提升机进行特征提取;

之后将提取的特征作为双向长短时神经网络的输入,由双向长短时神经网络进行二分类,实验判断依据为准确率,实验结果通过箱型图进行展示;

s5:实验结果:故障8、故障12、故障17,故障20的上下限准确率几乎为100%,而且异常值相对较少表明准确率相对稳定浮动很小,精度高,故障13由故障类型可知其类型为反应动力学中的缓慢漂移相关的故障,这类故障往往波动较大,而在双向lstm中上限准确率为100%,中位数为0.89其下限为0.55,实验结果表明效果较好。

优选的,所述步骤s4中样本数据的选择,选用田纳西伊士曼数据集中的故障8,故障12,故障13,故障17,故障20作为故障集,将故障样本按照7:3的比例划分为训练集和测试集。

优选的,所述样本数据建模的方式为在线建模,time-step步长为350,每次在pycharm中运行一次会得到其对应的准确率,将得到的准确率输入进箱型图代码即得到bilstm的箱型图,箱型图可以不受到异常值的影响能够稳定地描绘出准确率分布的情况。

本发明的有益效果为:利用双向长短时神经网络泛化能力强,能够避免长序列发生梯度消失和梯度爆炸的缺点,解决了流程工业故障诊断中准确率低,时常出现漏报和误报现象并且泛化能力低的问题;双向长短时神经网络应用在流程工领域,符合技术革新的要求;通过双向长短时神经网络提前诊断出流程工业中的故障并制定相应的措施,能够大大减少人员的伤亡和财产的损失。

附图说明

图1为本发明的遗忘门的运算过程示意图;

图2为本发明的输入门的运算过程示意图;

图3为本发明的输出门的运算过程示意图;

图4为本发明的双向lstm运算模型示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

参照图1-4,基于双向长短时神经网络的流程工业故障诊断方法,包括如下步骤:

s1:数据集准备:te模型从160组数据开始引入故障,数据集用来建立监控模型,故障为21个预定义的故障和1个正常工况的数据集,正常情况下的测试集保存在d00_te.txt,训练集为d00.txt故障1的测试集保存在d01_te.txt训练集为d01.txt,……,故障21的测试集d21_te.txt,训练集d21.txt,选用正常工况下的520条,训练数据集d00_txt的第1条到第520条,进行建模,在此选取了故障8,故障12,故障13,故障17,故障20来验证模型的准确性;

s2:特征提取:特征提取采用的是基于梯度提升机提取数据特征,在梯度下降的方向上,寻找出针对多个分类器组成的可加性模型;

s3:建立实验平台:以电脑型号为联想thinkpad,操作系统为windows10家庭中文版(64位),cpu为(英特尔)intel(r)core(tm)i5-8250ucpu@1.60ghz(8cpu),内存为8192mbram建立试验平台,在python3.7语言环境下进行的故障实验;

s4:实验进行:采用keras框架搭建双向长短时神经网络模型,研究对象为田纳西伊斯曼模型;

采用故障8、故障12、故障13、故障17、故障20进行验证,故障数据集和正常工况数据集通过梯度提升机进行特征提取;

之后将提取的特征作为双向长短时神经网络的输入,由双向长短时神经网络进行二分类,实验判断依据为准确率,实验结果通过箱型图进行展示;

s5:实验结果:故障8、故障12、故障17,故障20的上下限准确率几乎为100%,而且异常值相对较少表明准确率相对稳定浮动很小,精度高,故障13由故障类型可知其类型为反应动力学中的缓慢漂移相关的故障,这类故障往往波动较大,而在双向lstm中上限准确率为100%,中位数为0.89其下限为0.55,实验结果表明效果较好。

具体的,在步骤s4的实验中双向长短时神经网络模型的搭建是基于长短时神经网络(lstm)基础之上的,其中长短时神经网络(lstm)是循环神经网络的变种,解决了循环神经网络在较长序列中出现梯度消失和梯度爆炸的缺点,在隐藏层(hidden)的基础上引入细胞状态(cellstate),主要通过门这种方式对数据起到一个选择的作用,将一些有用的信息传递给下一个神经元,舍弃一些无关紧要的信息,lstm主要分为遗忘门(forgetgate)、输入门(inputgate)、输出门(outputgate),三个门一般通过sigmoid或者tanh网络层后取值为(0,1)中的任意值,输出值为1时表示当前样本的任何信息都可用于下一样本,输出为0时表示下一样本与当前样本无关;

遗忘门就是以一定的概率控制是否遗忘上一层的隐藏细胞状态,其构成主要是输入的有上一个隐藏状态h(t-1),和本序列数据x(t)通过一个激活函数sigmoid,得到一个f(t),输出的f(t)在0~1之间,0~1之间的映射就是记忆衰减系数,越接近零表示信息越应该丢弃,越接近1表示越应该保存,遗忘门的存在也是lstm能够记住长期记忆的保证。遗忘门的运算过程如图1所示;

遗忘门的输出结果为:

ft=σ(wfht-1+ufxt+bf)(1)

σ表示激活函数sigmoid,wf,uf,bf表示表示神经网络的权值,遗忘门首先会读取上一样本隐藏层的输出信息ht-1和当前样本的xt,然后输出特定的数值,作为细胞状态ct-1的一部分。

输入门:lstm有三个输入,当前时刻网络的输入值x(t),上一个时刻lstm的输出值,上一个的细胞状态。输入门负责处理当前序列位置,输入门主要由两部分组成,1)使用了sigmoid激活函数,输出i(t),这一层决定了我们将更新哪些值2)使用了tanh激活函数,输出at,二者的结果相乘更新细胞的状态。输入门的运算过程如图2所示。

输入门的输出结果为:

t=σ(wiht-1+uixt+bi)(2)

at=tanh(wmht-1+umxt+bm)(3)

输出门:lstm的输出有两个,两条线一条是cellstate细胞状态的输出,一条是hidden隐藏状态的输出。

细胞状态的更新是遗忘门和输出门共同作用的结果,由两部分组成,第一个部分是ct-1和遗忘门的ft乘积,第二部分是输入门it和at的乘积。

ct=ct-1ft+itat(4)

隐藏状态的输出由两部分输出,第一部分由ot,它由上一序列的隐藏状态ht-1和本序列数据xt以及激活函数sigmoid得到,第二部分由隐藏状态ct和tanh激活函数构成。输出门的运算过程如图3所示。

双向lstm(bi-directionlstm,bilstm)是在lstm的基础上,仿照人类理解文字前后的联想意识,引进了正负时间方向概念的变形结构,bilstm神经网络结构如图4bilstm神经网络结构所示,每个隐层单元保存两个信息,即a和a*,a参与正向运算,a*参与反向运算,正向lstm处理从x1到xn,而后向lstm处理从xn到x1,二者共同决定输出y,通过这种方式,输出同时来自过去和未来的特征,当进行正向运算时,隐层单元st和st-1相关,反向运算时隐层单元相关,对于与因果无关的时间序列,双向长短时神经网络利用已知的时间序列和反向的位置序列,通过正反两个方向对原序列特征提取层次,显著地提升了模型的精度,因此在处理时序问题上双向长短时神经网络往往比单向长短时神经网络效果要好,在处理复杂任务上潜力更大,双向lstm运算模型如图4。

具体的,在步骤s2数据特征提取中,采用的梯度提升算法(gradientboosting)是一种组合模型,具体算法过程如下:

f*(x)=araminey,x(y,f(x))(5)

根据现有数据训练模型的问题可以看做是优化问题,优化的目标是满足公式5的模型f*(x),此时优化问题的解空间是在函数空间中而不是数值空间,如果将f*(x)改变形式,定义为一个含有参数的模型即f(x,p),那么函数优化问题就转变成了参数优化问题,公式为:

f*(x)=f*(x,p*)(7)

其中p为模型的参数,代表基于参数p的损失函数,参数优化的问题,当要估计最优参数p*时,通常采用步进寻优的方式,即首先猜测一个参数初始值p0,然后通过m步的迭代提升求得最优参数,最优参数p*表示为累加形式:其中p0为参数初始值,{p1,p2,…pm}为每步迭代的提升量,梯度下降法又称为最速下降法,是一种典型的数值优化求解方法,其思想是如果实值函数为在a处是可微的而且有定义,那么在梯度相反的方向下降最快即更容易找到函数的最小值,如果采用梯度下降法对最优参数p*求解,其步骤如下:

对于可以用参数表示的模型,梯度下降法的参数优化过程是非常有好的求解方式,但是对于非参数模型是不可行的,一种替代思路就是将f(x)整体看成是一个参数,在函数空间中找出最优化函数,但由于样本数据是有限的因此函数f(x)值域受限于样本集,所以样本上的数据点不一定能得到准确估计,为了解决函数空间局限性的问题,friedman提出了梯度提升算法(gradientboosting),其算法流程如下:提升算法本质上是建立一个多个基函数组成的累加模型,表示为:

其中βm为展开式系数,b(x,γm)为基函数b0(x,γm)为初始化的基函数,通过m步的提升得到f(x)最优估计值f*(x),其要求是

因此求解(8)的问题可转化为求得下面参数,即对于m=1,2……,

由(9)、(10)得到对于提升模型fm-1(x),βmb(x,γm)要满足(8)的约束即使得损失函数最小,换言之,每次迭代添加的基函数就是使得(8)减少最多的基函数,那么在这个意义上,新加入的基函数就相当于梯度下降法中的pm=-ρmkm,用平方误差来度量基函数和负梯度即公式

式(11)意味着使用βb(xi,γ)来拟合负梯度-km(xi),用平方误差来度量接近程度,当拟合误差最小时求得基函数参数γm;

梯度提升算法使用决策树当做基函数,表示为v个端节点的树可以表示为其中θ=(rv,γv)为树的参数,rv为树建立过程在输入变量x空间划分的区域,γv为每个端节点的赋值,θm对应式(12)中γm,以式(8)的模型表示方式,梯度提升算法可以表示为m棵树累加的形式

对于每一棵加入模型的基树tm(x,θm),要求θm符合

由式(12)式同理可得:

使用基树对当前损失函数进行拟合,利用当前的损失函数梯度值和输入变量x为新的样本,进而更新梯度提升模型:

其中η为一个系数,作为正则化处理措施防止出现过拟合现象。

具体的,在步骤s4中样本数据的选择,样本数据的选择:选用田纳西伊士曼数据集中的故障8,故障12,故障13,故障17,故障20作为故障集,将故障样本按照7:3的比例划分为训练集和测试集,故障编号及故障类型如表1所示:

表1故障编号及故障类型

具体的,样本数据的建模方式为在线建模,time-step步长为350,每次在pycharm中运行一次会得到其对应的准确率,将得到的准确率输入进箱型图代码即得到bilstm的箱型图,箱型图可以不受到异常值的影响能够稳定地描绘出准确率分布的情况。

综上所述,利用双向长短时神经网络泛化能力强,能够避免长序列发生梯度消失和梯度爆炸的缺点,解决了流程工业故障诊断中准确率低,时常出现漏报和误报现象并且泛化能力低的问题;双向长短时神经网络在多个领域取得了显著的成果,但目前在国内流程工业领域应用较少,因此将双向长短时神经网络应用在流程工领域,符合技术革新的要求;通过双向长短时神经网络提前诊断出流程工业中的故障并制定相应的措施,能够大大减少人员的伤亡和财产的损失。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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