当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于自动编码器和贝叶斯网络的故障检测方法技术

技术编号:20026903 阅读:36 留言:0更新日期:2019-01-06 05:37
本发明专利技术提出一种基于自动编码器和贝叶斯网络的故障检测方法,属于化工过程故障诊断领域。该方法离线阶段从任一化工连续生产过程中选取变量数据构建化工过程数据集和样本数据集;利用样本数据集训练自动编码器模型并计算统计量T2和SPE检测阈值;利用化工过程数据集构建贝叶斯网络并估计条件概率;在现阶段,获取实时数据并输入自动编码器模型得到对应估计值,计算输入数据对应的T2和SPE值并与检测阈值进行比较:若满足条件,则化工生产过程正常;若不满足,则计算每个变量的贡献度,通过贝叶斯网络找到故障的根原因。本发明专利技术从化工生产的过程数据中自动提取特征,有效应用于非线性的动态化工过程,实现化工过程故障的检测和快速诊断。

【技术实现步骤摘要】
一种基于自动编码器和贝叶斯网络的故障检测方法
本专利技术涉及化工过程故障诊断领域,特别涉及一种基于自动编码器和贝叶斯网络的故障检测方法。
技术介绍
化工生产过程是一个复杂过程。为了使经济效益最大化,化工生产过程往往要求“安、稳、长、满、优”,要求生产装置能够长周期、平稳地运行。随着自动控制的技术不断发展,装置的控制与状态变量紧紧耦合在一起,当化工生产过程中一个主要的变量发生异常时,这些异常会通过传质、传热等方式在装置传播,从而导致整个装置发生波动,引起装置发生报警泛滥,导致操作人员难以对故障进行正确诊断。如果操作人员因判断失误而做出错误的决策,可能引起重大事故,造成巨大的财产损失,甚至造成人员的伤亡。因此,快速准确地对故障进行诊断,对于化工的安全生产具有重大的意义。为了辅助操作人员应对异常工况,有关故障诊断的研究已经将近有40年的历史,现有的故障诊断方法主要分为3类:基于定性模型的方法,基于定量模型的方法和基于过程数据驱动的方法。而其中基于过程数据驱动的方法已经展现明显的优势,能够有效地帮助操作人员诊断故障发生的原因。现有的基于过程数据驱动的方法为动态贝叶斯网络方法;动态贝叶斯网络考虑了变量在时间上的相关性,通过连接不同时刻下的不同变量,建立起具有时间特性的贝叶斯网络。然而,对于复杂的化工流程,动态贝叶斯网路的结构生成需要花费大量的时间和人力,并且动态贝叶斯网络并没有考虑那些未测量的变量,而有些故障的发生是由非测量变量引起的。故障诊断过程分为故障检测阶段与故障原因识别阶段。在故障检测阶段,许多学者提出了主成分分析(PCA),偏最小二乘法(PLS)和费舍尔判别分析(FDA)等统计方法进行化工过程的故障检测。这些方法能够提取过程数据的特征,根据这些特征利用统计学原理定义统计量和假设检验。在生产过程中,根据监测的数据计算统计量,当统计量超过了某一个阈值,则认为有故障发生。传统的PCA方法只是适用于线性模型,并不反映数据的非线性特征。核主成分分析(KPCA)等方法虽然可以解决非线性问题,但是需要选择合适的核函数以及参数,这些参数的选择影响着最终的检测效果。除此之外,这些方法都没有将化工过程的动态性质考虑进去。近年来,研究人员开始通过机器学习的方法来进行故障检测。对于故障原因识别阶段,PCA等统计方法将过程数据分解为特征空间和残差空间,通过计算不同变量对于统计量的贡献度,来对故障发生的原因进行识别,贡献度最大的变量为导致故障发生根本原因。由于化工过程具有高度的耦合性,一个变量的异常可能导致其他变量也发生异常,单纯从贡献度出发得到原因可能不是故障发生的根本原因。因此,需要在此结果上进行进一步的推断。自动编码器是一种非监督学习的方法。它使用了反向传播算法,使输出值等于输入值。自动编码器由两个部分构成:编码器和解码器。编码器将原始数据映射到特征空间进行压缩,解码器将压缩数据复原。自动编码器可以自动提取特征,并且能够处理非线性问题。因此,自动编码器被广泛应用于图像识别、自然语言处理和机器故障识别。传统的自动编码器的编码器和解码器一般都由多层前馈神经网络构成,并没有考虑动态时间的拓展。贝叶斯网络是一种概率网络。它是基于概率推理的图形化网络。一个贝叶斯网络是一个有向无环图,由代表变量节点以及连接这些节点的有向边构成。节点代表着随机变量,而这些有向边代表着这些节点之间的相互关系,用条件概率表达这些变量之间连接强度。贝叶斯网络在处理不确定信息的智能化系统中已得到了重要的应用,已成功地用于医疗诊断、统计决策、专家系统、学习预测等领域。
技术实现思路
本专利技术旨在克服现有方法的不足之处,提出了一种基于自动编码器和贝叶斯网络的故障检测方法。本专利技术将自动编码器模型和贝叶斯网络结合,能够从化工生产的过程数据中自动提取特征,有效应用于非线性的动态化工过程,从而实现化工过程故障的检测和快速诊断。本专利技术提出一种基于自动编码器和贝叶斯网络的故障检测方法,其特征在于,分为离线阶段和在线阶段,包括以下步骤:1)离线阶段;1-1)收集化工生产过程的数据,构建样本数据集;从任一化工连续生产过程中选取若干变量数据构建化工过程数据集;从化工过程数据集中选取一段正常数据作为样本组成样本数据集;令X为样本数据集,其中xij代表第j个变量的第i个时刻的值,i=1,2…N,j=1,2…n,n为选取变量个数,N为时刻总数,则X为N×n维,表达式如下:1-2)对步骤1-1)得到的样本数据集进行标准化;对X的每一列求取对应的平均值和标准差,然后将每列中每个变量数据与该列对应的平均值作差并除以该列对应的标准差,对X的每个变量数据进行标准化;1-3)构建自动编码器模型并进行训练,得到训练完毕的自动编码器模型;具体步骤如下:1-3-1)构建一个自动编码器模型,包括:输入层、编码器层和解码器层,其中编码器层和解码器层均由长短期记忆网络LSTMs层构成;将该模型记为当前模型;模型输入:记X中第k行的数据组成的集合X(k)为[xk1,…,xkn],则自动编码器模型的每一组输入数据为Xm(k)=[X(k),X(k-1),...,X(k-m)],其中k=m+1,m+2,...,N,所有的输入数据构成输入数据集合为Xtrain={Xm(m+1),Xm(m+2),...,Xm(N)},输入数据集合为(N-m+1)×m×n的三维数组;模型的输出:模型的每一组输出数据记作其中为对应每组输入数据Xm(k)的估计值;1-3-2)将输入数据集合Xtrain的每组输入数据按批次输入当前模型,每个批次输入当前模型进行训练之后,根据损失函数,通过最速下降法更新模型的参数,损失函数如式(2)所示:其中,模型的输入批次指每一次迭代输入数据的组数,记为batch,8≤batch≤128;Xm为每个批次的输入数据集合,为经过自动编码器模型得到的对应的输出数据集合;当遍历完毕输入数据集合Xtrain之后,更新当前模型为Modelold,计算得到Modelold的损失函数记为Lossold;1-3-3)重复步骤1-3-2),再次遍历输入数据集合Xtrain,更新当前模型记为Modelnew,计算得到Modelnew的损失函数记为Lossnew1-3-4)训练停止判定条件:若Lossnew≤Lossold,则继续训练模型,将当前Modelnew更新为新的Modelold,将当前Lossnew更新为新的Lossold,重新返回步骤1-3-3);若Lossnew≥Lossold时,则模型停止训练,输出当前Modelold作为最终训练完毕的自动编码器模型,进入步骤1-4);1-4)计算检测阈值;将输入数据集合Xtrain的每组输入数据按批次输入步骤1-3)得到的训练完毕的自动编码器模型,模型的编码器层输出每个批次输入数据集合Xm对应特征为H=[h1,h2,...,hi,...,hN-m+1],其中hi为输入数据Xm(i)经过自动编码器模型得到的特征向量;记H的协方差矩阵为S,则第i个时刻所有变量对应的统计量T2的计算表达式如式(3)所示:T2i=hiS-1(hi)T(3)第i个时刻所有变量对应的统计量SPE计算表达式如式(4)所示:分别计算输入数据集合Xtrain中每组输入数据对应的T2和SPE值,取计算结果中T2的最大本文档来自技高网
...

【技术保护点】
1.一种基于自动编码器和贝叶斯网络的故障检测方法,其特征在于,分为离线阶段和在线阶段,包括以下步骤:1)离线阶段;1‑1)收集化工生产过程的数据,构建样本数据集;从任一化工连续生产过程中选取若干变量数据构建化工过程数据集;从化工过程数据集中选取一段正常数据作为样本组成样本数据集;令X为样本数据集,其中xij代表第j个变量的第i个时刻的值,i=1,2…N,j=1,2…n,n为选取变量个数,N为时刻总数,则X为N×n维,表达式如下:

【技术特征摘要】
2018.05.17 CN 20181047145301.一种基于自动编码器和贝叶斯网络的故障检测方法,其特征在于,分为离线阶段和在线阶段,包括以下步骤:1)离线阶段;1-1)收集化工生产过程的数据,构建样本数据集;从任一化工连续生产过程中选取若干变量数据构建化工过程数据集;从化工过程数据集中选取一段正常数据作为样本组成样本数据集;令X为样本数据集,其中xij代表第j个变量的第i个时刻的值,i=1,2…N,j=1,2…n,n为选取变量个数,N为时刻总数,则X为N×n维,表达式如下:1-2)对步骤1-1)得到的样本数据集进行标准化;对X的每一列求取对应的平均值和标准差,然后将每列中每个变量数据与该列对应的平均值作差并除以该列对应的标准差,对X的每个变量数据进行标准化;1-3)构建自动编码器模型并进行训练,得到训练完毕的自动编码器模型;具体步骤如下:1-3-1)构建一个自动编码器模型,包括:输入层、编码器层和解码器层,其中编码器层和解码器层均由长短期记忆网络LSTMs层构成;将该模型记为当前模型;模型输入:记X中第k行的数据组成的集合X(k)为[xk1,…,xkn],则自动编码器模型的每一组输入数据为Xm(k)=[X(k),X(k-1),...,X(k-m)],其中k=m+1,m+2,...,N,所有的输入数据构成输入数据集合为Xtrain={Xm(m+1),Xm(m+2),...,Xm(N)},输入数据集合为(N-m+1)×m×n的三维数组;模型的输出:模型的每一组输出数据记作k=m+1,m+2,...,N;其中为对应每组输入数据Xm(k)的估计值;1-3-2)将输入数据集合Xtrain的每组输入数据按批次输入当前模型,每个批次输入当前模型进行训练之后,根据损失函数,通过最速下降法更新模型的参数,损失函数如式(2)所示:其中,模型的输入批次指每一次迭代输入数据的组数,记为batch,8≤batch≤128;Xm为每个批次的输入数据集合,为经过自动编码器模型得到的对应的输出数据集合;当遍历完毕输入数据集合Xtrain之后,更新当前模型为Modelold,计算得到Modelold的损失函数记为Lossold;1-3-3)重复步骤1-3-2),再次遍历输入数据集合Xtrain,更新当前模型记为Modelnew,计算得到Modelnew的损失函数记为Lossnew1-3-4)训练停止判定条件:若Lossnew≤Lossold,则继续训练模型,将当前Modelnew更新为新的Modelold,将当前Lossnew更新为新的Lossold,重新返回步骤1-3-3);若Lossnew≥Lossold时,则模型停止训练,输出当前Modelold作为最终训练完毕的自动编码器模型,进入步骤1-4);1-4)计算检测阈值;将输入数据集合Xtrain的每组输入数据按批次输入步骤1-3)得到的训练完毕的自...

【专利技术属性】
技术研发人员:赵劲松程非凡
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1