时间:2024-05-22
唐 鹏 彭开香 董 洁
现代工业过程是一个高度复杂的系统.由于实际的物理连接、控制回路的作用,工业过程中的设备、部件、过程变量相互耦合,构成了复杂的互连网络.这种互联耦合关系使得系统某一部位一旦发生异常,将会随着系统网络传播并演变演化,进而导致更加严重的故障.采用先进的故障检测和诊断技术是保证工业过程安全有效稳定运行的重要手段.传统的基于知识或者模型的方法很难构建大规模系统变量间的复杂关系.随着工业自动化、信息化的快速发展,工业过程收集了越来越多的传感器数据,这为数据驱动方法提供强有力的支撑.数据驱动的故障检测和诊断方法也因此受到了广泛关注和研究,并大量应用到化工、半导体制造等过程,尤其是多元统计过程监测 (Multivariate statistical process monitoring,MSPM) 方法[1].
MSPM 利用多元投影技术将高维观测数据投影到低维主元子空间和残差子空间,并设计相应的多元统计量(如T2,SPE) 及其控制限来监测数据是否超出正常工作范围,常用的多元统计方法有主元分析 (Principal component analysis,PCA)[2]、偏最小二乘 (Partial least squares,PLS)[3]、独立主元分析 (Independent component analysis,ICA)[4]和典型相关分析(Canonical correlation analysis,CCA)[5]等.一旦检测出故障,需要采用贡献图[6]、重构贡献图[7]等故障隔离方法来辨识故障相关变量.这些方法由于拖尾效应[8]的影响并不能准确地辨识出所有的故障变量.随后,格兰杰因果分析[9]、传递熵[10]等因果分析方法被用来进行故障根源诊断和传播路径辨识,然而这些算法很难达到预期效果,且需要较长的分析时间.深度学习能够处理大规模数据,自动地提取深层次特征,在工业领域也取得了较成功的应用.近些年来,自动编码器 (Autoencoder,AE)[11]、深度信念网(Deep belief network,DBN)[12]、变分自编码器(Variational autoencoder,VAE)[13]等深度学习技术越来越多地应用到过程监测中,但是由于神经网络的黑箱特性,变量贡献率难以计算,限制了其在故障隔离、根源诊断和传播路径辨识方面的应用.
图论技术利用由若干节点和连接节点的线构成的图模型来定性或者定量地表征变量之间关系,能够较好地描述工业过程的复杂网络结构[14-15].其中贝叶斯网络 (Bayesian network,BN) 作为一种概率有向图模型,已经应用在风险分析、可靠性可维护性分析等领域[16],在故障检测和诊断领域也取得了较成功的应用.Mehranbod 等使用BN 进行稳定和过渡阶段的故障检测和隔离[17-18].Azhdari 和Mehranbod 验证了BN 在田纳西-伊斯曼 (Tennessee Eastman,TE) 过程中故障检测与诊断应用的有效性[19].Gonzalez 等将BN 应用在过程监测中的维数化简过程[20].Chen 和Ge提出了一个分层BN (Hierachical Bayesian network,HBN)建模框架[21],通过对工业过程进行分解,构建局部单元以及单元间的贝叶斯网络,实现大规模工业过程的故障检测与诊断.随后,Chen 和Ge 又针对过程监测中低质量数据建模问题,提出了鲁棒BN (Robust Bayesian networks,RBN)[22].针对工业过程中存在的动态特性,Yu 和Rashid 采用动态贝叶斯网络 (Dynamic Bayesian networks,DBN),用异常似然指标 (Abnormality likelihood index,ALI) 和动态贝叶斯概率指标 (Dynamic Bayesian probability index,DBPI)分别进行故障检测和根源诊断[23].Zhang 和Dong 将高斯混合模型(Gaussian mixture model,GMM)和三时间切片DBN 整合来解决过程监测中存在的数据缺失和非高斯问题[24].
BN 为过程变量的因果关系提供了条件概率表示,但是,该条件概率关系一般是线性的,无法描述过程中存在的非线性特性.同时,大多数基于BN 的方法需要通过过程知识得到BN 的网络结构,这在很多复杂工业过程中是很难确定的.BN 作为一种有向无环图模型,也较难表示系统中存在的闭环结构.为解决上述问题,并考虑系统中存在的动态特性,本文提出了一种深度因果图 (Deep causality graph,DCG) 建模方法,利用多层感知器 (Multilayer perceptron,MLP) 和门控循环单元 (Gate recurrent unit,GRU)对每一个过程变量建立概率预测模型.在模型训练过程中,引入组稀疏惩罚项,自动地检测变量间因果关系,从而得到过程变量的因果有向图结构以及定量的条件概率表征;然后基于DCG 模型的条件后验概率分布建立单变量监测统计指标,并通过贝叶斯推理融合,构建综合的监测统计量,实现工业过程的整体监测.进一步通过计算变量贡献度指标,隔离出故障相关变量;最后根据深度因果图模型获得的有向图结构,诊断出故障根源,并辨识故障的传播路径.
论文的结构如下:第 1 节详细介绍了深度因果图推导和建模过程;第 2 节提出了基于深度因果图模型的故障检测和诊断框架;随后,在第 3 节利用TE 过程数据对所提算法进行了验证,并在最后一节中进行了总结.
考虑一个有向图模型,其网络结构为G=〈V,E〉,V表示节点的集合,E表示连接节点的有向边集合.在工业过程中,节点可以指过程变量特征,有向边对应着连接节点之间的因果关系,有向边的首和尾连接的节点分别表示为父节点和子节点.
对一个有n维观测变量的工业过程,t时刻观测变量表示为xt=[x1,t,x2,t,···,xn,t], 则节点i在t时刻观测变量为xi,t, 其父节点集在t时刻的状态用xpa(i),t表示.考虑系统的动态特性,观测变量xi,t不仅与当前时刻父节点状态有关,而且与历史时刻自节点和父节点的状态有关.t时刻观测变量xi,t用节点i的历史观测数据xi,t-T:t-1和其父节点集的观测数据xpa(i),t-T:t非线性表示:
式中,εi,t为随机噪声项.利用概率形式来表示这种变量间的依赖关系:
式中,xc,t-T:t为xpa(i),t-T:t和xi,t-T:t-1组合的观测值向量;分别为xi,t的后验概率分布的均值和方差,均为非线性函数,其非线性关系可以用神经网络表示.
通过神经网络构建节点i预测模型,其条件概率对数似然表示为lnp(xi,t|xc,t-T:t).设预测模型参数集为 Θi,模型参数Θi学习的目标是最大化对数似然期望值,目标函数表示为:
由上述讨论可知观测变量xi,t由节点i与其父节点的历史状态以及父节点的t时刻状态共同决定.将节点i及其父节点的历史状态中与变量xi,t相关的动态特征信息表示为zi,t-1, 父节点当前时刻的相关特征信息表示为hi,t,式 (1) 中的非线性预测模型于是可以转变为以下形式:
当前时刻相关特征hi,t的信息提取可以利用多层感知器实现,历史时刻的动态特征信息zi,t-1采用GRU 进行特征提取.GRU 作为循环神经网络 (Recurrent neural network,RNN) 的一种变体能够提取时间序列的动态特征,同时有效地解决标准RNN 算法存在的长期记忆和反向传播中的梯度问题.GRU 的详细介绍可以参考文献[25].
上述节点预测模型是建立在因果有向图结构已知的情况.而在很多复杂工业过程中,变量之间的因果关系是未知的.为了寻找每个变量的因变量,本文首先将除自变量外的其他变量都默认为因变量,然后在模型训练过程中引入Group Lasso 惩罚项,使得节点预测模型中与输入变量相关的连接稀疏化,使用尽可能少的输入获取尽可能准确的预测,进而实现变量之间的因果关系自动检测,其单一节点i的后验概率预测模型如图1 所示.节点的概率分布预测模型由两个动态特征提取单元和一个预测输出单元构成.在第一个动态特征提取单元中,输入为t时刻观测变量值xt={xi,t,xi-,t},xi-,t表示除节点i之外其他节点的观测值.为在t时刻从输入xi-,t提取的m1维隐藏特征,其过程表示为:
图1 深度因果图的单节点预测模型网络结构Fig.1 The network structure of single node prediction model for deep causality graph
式中,σ为激活函数;W1表示第一层全连接层的连接权重,是一个m1×(n-1)大小的权重矩阵.将W1展开为则式(5) 重写为:
为了获取深层次的特征,增大节点特征提取的视野域,以便用较少的变量连接获取准确的预测结果,将除自节点外的其他节点提取的动态特征合并作为第二个动态特征提取单元的输入,再进一步地提取节点的动态特征.其网络结构与第一个动态特征提取单元一致,第二层全连接层连接权重为其中
预测输出单元将t-1时刻的动态特征以及t时刻隐藏特征合并作为输入,通过多层感知器输出节点i在t时刻观测变量预测概率分布的均值μi,t和方差对数
组最小绝对收缩和选择算子(Group least absolute shrinkage and selection operator,Group Lasso) 惩罚项被选择为稀疏惩罚项加入到单节点的概率预测模型目标函数中.Group Lasso 是Yuan 在 2006 年在Lasso 稀疏约束方法上到组上的推广[26].它根据输入变量对权重矩阵进行分组,然后在目标函数中惩罚每一组的L2 范数,这样就可以将部分组的全部系数同时消成零,即抹掉整组的变量,这种方法叫做Group Lasso 分组最小角回归算法.对节点i的预测模型网络权重矩阵W1和W2,根据连接的过程变量节点划分成n-1组.与过程变量节点j对应的权重范数为加入Group Lasso 惩罚项后,节点i的预测模型通过最小化目标函数(7) 来迭代更新网络参数:
超参数λ控制着连接权的稀疏性,λ越大,越多组的权重会被消零,使其节点的因果关系连接呈现为稀疏集.
由于在单一节点预测过程中需要利用其他节点提出的动态特征信息,因此在模型训练过程中需将n个过程变量节点的预测模型作为整体进行训练,故深度因果图整体模型的目标函数是n个目标函数的和形式:
在深度因果图模型训练过程中,首先要用大小为T+1的滑动窗口将标准化后的时间序列训练数据集规范为Xtrain∈RNtrain×(T+1)×n.由于目标函数中存在Group Lasso 惩罚项,其在权重范数为 0 处不可微.为解决目标函数存在不可微的问题,采用了近端梯度下降 (Proximal gradient descent,PGD) 算法进行模型优化训练.对包含可微和不可微函数的目标函数f(θ),优化问题分解为:
式中,g(θ)是可微函数,h(θ) 是不可微函数.
定义一个近端映射函数:
参数θ的迭代过程可以表示为:
对给定的一个批次的训练数据,PGD 的一次迭代算法可以理解为:给定优化参数起点θ(k-1), 可微函数g沿着起点的负梯度方向,做步长为tk的梯度下降得到一个预更新值,然后使用近端映射寻找一个z,使得不可微函数h(θ)足够小,并接近预更新值,用z作为本次迭代的更新值θ(k).
在模型训练中,选择软阈值算子作为PGD 的近端算子.该优化算法可以使非因果变量的连接权重精确地收敛到 0,以便能够用权重值来解释变量之间的因果性.
完成深度因果图模型构建后,可以利用该图模型得到的条件后验概率分布设计过程监测统计量.首先,对每一个变量节点设计单变量统计指标.考虑观测变量为n维的动态连续过程,t时刻观测变量表示为xxx1:n,t={x1,t,x2,t,···,xn,t}.节点i有实际观测值xi,t.根据深度因果图模型,计算其预测值概率分布为其平方马氏距离服从自由度为 1 的χ2分布:
为了获取一个综合评价指标来监测整个过程,本文利用贝叶斯融合对各节点检测信息进行融合.根据贝叶斯推理,变量节点i的统计量为故障的概率表示为:
调节因子ηp可以调整概率值对故障状态的灵敏度,在本文中ηp设置为 1.
根据上述推导过程,可以将单节点的监测统计指标转换为概率形式表示.当1-α时,节点i发生异常.然后对单变量概率监测指标加权平均,来计算综合监测指标PD2:
对收集的历史正常操作数据,计算每个时刻的综合监测指标.利用核密度估计方法,可以估计PD2的控制限为在线故障检测阶段,可以直接通过判断PD2是否超出控制限来判断该过程是否发生故障.
根据深度因果图模型的稀疏化的连接权重矩阵确定过程变量之间的定性因果关系,构建描述过程变量因果关性的因果矩阵以及相对应的因果有向图.利用有向图可以有效地分析故障的传播路径,辨识故障根源.但是,深度图学习模型的节点预测考虑到了其他节点当前时刻的输入,同一时刻不同变量之间可能存在强相关性,使得两个变量互为因果.对深度图学习模型中存在的互为因果的变量进行格兰杰因果分析,可以去除部分错误的连接.
一旦检测出故障,需要设计合理的变量贡献图指标来辨识出故障相关变量.设置指标τi,t为一个二进制数,表示t时刻节点i的概率检测指标是否超出设定的阈值αc,如下式所示:
在一设定的时间周期T1内节点i的概率检测指标超出阈值的次数累计和为:
然后,变量贡献度指标(Variable contribution index,VCI)设计为如下形式:
由于系统噪声的影响,即使在正常运行状态下单变量检测指标也会有超出设定阈值的可能性.设定一个 VCI 阈值为1/n,去除掉异常频度较小的变量,将 VCI大于阈值的节点被辨识为故障相关变量.然后,根据深度因果图模型得到的因果关系矩阵,确定由故障相关变量构成的局部因果有向图网络.根据分析网络的因果连接,定性地确定出故障的根源和传播路径.在进行根源诊断时,故障根源一般为没有其他异常变量影响的变量,即在由故障相关变量构成的局部因果有向图中,将局部有向图中的根节点变量辨识为故障的根源.
实际模型中,由于岔路的遍布,很多故障在追溯源头的过程中存在多条传播路径,在利用局部有向图进行根源诊断时也会存在多个根节点或者根节点不存在的情况.在使用深度因果图模型进行故障检测过程中,已经提供了每一个变量的故障概率对辨识出来的故障相关变量,可以通过对故障发生后T1时间段内的故障概率均值,以此来衡量每一个故障相关变量的故障程度.然后,再结合故障相关变量的局部有向图,以概率均值为依据,确定最有可能的故障传播路径,进而在存在多个根节点或者根节点不存在的情况确定其根源.
对深度因果图模型获得后验概率分布进行统计分析,并利用模型得到的定性因果关系,所提的方法可以确定故障发生的时间,并隔离故障相关的变量,以及辨识出故障的根源和传播路径.基于深度因果图模型的故障检测和诊断框架包含离线建模和在线监测两部分:
离线阶段:
1) 获取历史正常操作时间序列数据并标准化,滑动窗口时间片处理;
2) 近端梯度下降法迭代训练深度因果图模型直至收敛;
3) 计算历史数据集的综合监测指标PD2;
在线阶段:
1) 获取t-T到t时刻在线观测数据,标准化处理;
2) 通过深度因果图模型计算单变量节点后验概率分布,计算单变量监测指标
3) 计算全过程综合监测指标PD2;
5) 计算变量贡献度指标VCI,确定故障相关变量;
6) 使用故障相关变量构建局部因果有向图模型,辨识故障根源和传播路径.所提框架的算法流程图如图2 所示.
图2 基于深度因果图模型的故障检测和诊断框架Fig.2 The fault detection and diagnosis based on deep causality graph model
本文用TE 过程来验证算法有效性.TE 过程是由美国化工公司的Downs 和Vogel 提出的一个仿真过程模型,被广泛应用于过程控制和监测方法的性能评估中,其工艺流程图如图3 所示,由五个生产单元构成,分别是冷凝器、反应器、分离器、汽提塔和压缩机.TE 过程仿真包括了41个测量变量和 12个控制变量,其测量变量中 22个是连续过程变量, 19个是成分测量值.本文采用Bathelt 提供的仿真模型进行数据生成,模型的采样周期为 36秒,选择测量变量XMEAS1~XMEAS22, 控制变量XMV1~XMV4、XMV6、XMV7、XMV9、XMV10 共31个变量作为监测变量.在正常模态下仿真模型运行1000个小时,生成 105个正常操作数据样本,作为训练集.对 21种故障模型,分别运行 10个小时,并在第 3 小时引入故障,即每个故障样本量为 1000个,故障发生在第301个样本及之后,故障检测置信度设置为α=95%.
图3 TE 过程工艺流程图Fig.3 The flowchart of TE process
深度因果图学习模型参数设置如下:1) 模型特征层维数设置为30;2) 图4 展示了超参数λ在[0.3,0.8]范围以0.1为间隔选取下的变量连接数和预测误差的关系,随着λ的增大,预测误差跟随增大,变量连接数量随之减小.当超参数λ为 0.5 时近似为曲线拐点,能较好保证预测误差尽量小的同时尽可能减少变量连接数量;3) 滑动时间窗大小设置为10.硬件平台使用了Core i7 4.2 GHz 四核CPU,NVIDIA GTX 1070 6 GB 显存,16 GB RAM,采用Pytorch进行算法仿真.
图4 变量连接数和预测误差的关系曲线Fig.4 The relation curve between prediction error and the number of variable connections
利用标准化的历史正常操作数据集对深度因果学习模型进行迭代训练.根据稀疏化连接权重可以确定变量之间的因果关系,从而确定TE 过程的有向图结构.格兰杰因果分析进一步对互为因果的变量进行分析,去除部分虚假连接.TE 过程的过程变量因果关系构成的因果矩阵如表1所示,表的行名对应果变量,列名对应因变量.在单变量统计指标控制限设定中,核密度估计的带宽为 10-3,并根据正常操作历史数据,通过核密度估计确定控制限
在线故障检测中, 21 个故障集的故障检测率(Fault detection rate,FDR)结果如表2 所示,平均故障误报率(False alarm rate,FAR)为2.7%,单个样本的平均计算时间为10 ms.可以发现基于深度因果图学习模型的故障检测方法可以快速有效地检测出大部分类型的故障.由于所提出的故障检测方法是基于实际观测值在预测概率分布中的偏离程度,当故障程度较小时,变量之间的因果依赖关系可能没有被破坏,实际的预测值仍然能够跟踪变量变化,所以所提故障检测方法不能有效地检测出故障5、9、15、21 这几种微小故障.
表2 21个故障类型的FDRs (%)Table 2 The FDRs of 21 faults (%)
故障 4 是反应器冷却水入口温度的一个阶跃变化故障,其直接导致影响反应器内部温度(v9),然后反应器冷却水出口温度(v21)也会上升.但是,由于反馈控制,反应器冷凝水流量增大,补偿反应器冷却水入口温度的上升造成的影响.反应器温度会逐渐恢复正常,冷却水出口温度也趋于正常.采用深度因果图模型进行故障检测的结果如图5所示,由图可以看出检测指标PD2在第 301 个采样点及时检测出过程异常.利用故障发生后的 50 个连续样本点,计算所有变量的VCI,结果如图6 所示.VCI 大于 1/n的变量为故障相关变量,由图可知v9、v11、v16、v21、v27、v30共6个变量被诊断为故障相关变量.根据深度因果图模型提供的因果矩阵,利用这 6 个故障相关变量构建局部因果有向图网络,如图7 所示,节点的数值表示 50 个连续样本点的平均故障概率,反映节点的故障程度.根据故障程度的大小,确定主要故障传播路线为根节点是变量v9,即反应器内部温度异常为故障 4 发生的根源,这与故障 4 的机理分析结果一致.
图5 故障4 的故障检测结果Fig.5 The fault detection result for Fault 4
图6 故障4 的VCI 图Fig.6 The plot of VCI for Fault 4
图7 故障4 的故障相关变量的因果关系Fig.7 The causalities among fault-related variables for Fault 4
故障 8 是A、B、C 进料量的一个随机变化故障.由图8的检测曲线可知过程异常在第 354 个采样点被检测出来.根据图9 所示的VCI,确定故障相关变量为v6、v7、v10、v16、v20、v25、v27、v29共 8 个变量.根据表1 的因果矩阵,用故障相关变量构建局部因果有向图网络,如图10所示.分析构建的有向图网络,故障的主要传播路径为v25→v16→v20→{v6,v29},v25辨识为故障根源变量.v25是A 进料控制量,这和故障导致的原因一致.根据TE 过程的故障描述,故障8会导致反应器压力 (v7) 和汽提塔压力 (v16) 发生明显变化,由于闭环反馈调节作用,排放阀 (v27)、压缩机工作功率(v20)也跟随变化,从而导致反应器进料率(v6) 发生异常.图10 可以反映出这一故障传播路径.
图8 故障8 的故障检测结果Fig.8 The fault detection result for Fault 8
图9 故障8 的VCI 图Fig.9 The plot of VCI for Fault 8
图10 故障8 的故障相关变量的因果关系Fig.10 The causalities among fault-related variables for Fault 8
表1 TE 过程的因果矩阵Table 1 The causality matrix of TE process
通过对两个故障案例的故障检测和诊断结果分析,发现所提出的深度因果图模型能够及时有效地检测出故障,并且在没有经验知识来确定过程变量的有向图结构的情况下,仍然能够提供较为精准的故障隔离和故障根源诊断结果.
本文提出了一种新颖的深度因果图建模方法,通过在模型训练目标函数中引进Group Lasso 稀疏惩罚项,可自动地获取变量之间的因果关系.不同于贝叶斯网络,该深度因果图无需先验过程知识即可得到过程变量的网络结构及其条件概率分布.然后,基于该深度因果图模型计算每个变量的检测统计指标,通过融合得到综合检测指标,从而实现整体过程的故障检测.一旦检测到故障,分析变量贡献指标和变量因果关系,来隔离故障相关变量,诊断故障根源,并辨识故障传播路径.将所提出的方法在TE 过程验证.实验结果表明所提方法能够有效地检测出故障,辨识故障传播路径,并定位故障的根源.深度因果图模型的因果有向图结构受训练模型中稀疏惩罚项的超参数影响,合理的超参数能够减小网络结构的复杂性,提升故障根源诊断的精准度.由于没有利用先验过程知识,确定的因果有向图结构可能与实际网络结构有差别.在后期的研究中,考虑将先验知识引入到深度因果图模型建模中,以获得更加精准的网络结构,提升故障诊断性能.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!