摘 要 针对常规线性降维方法不能有效提取实际复杂非线性工业数据局部和全局结构特征的问题,提出一种局部和全局保持堆栈自编码器(LGRSAE)以及基于LGRSAE的过程故障检测方法。在自编码器(AE)的目标函数中引入局部保持投影(LPP)算法和主成分分析(PCA)算法的目标约束构造局部和全局结构保持自编码器(LGRAE),以提取数据局部和全局结构相关的特征。为了提取过程数据深层局部和全局结构相关的特征,将LGRAE堆栈构成LGRSAE。在田纳西-伊斯曼(TE)过程数据集的故障检测结果表明,LGRSAE的特征提取方法平均故障检测率高于MRSAE、KPCA算法,且误报率更低。
关键词 故障检测 堆栈自编码器 特征提取 局部和全局结构保持 数据降维
中图分类号 TP277"" 文献标志码 A"" 文章编号 1000 3932(2025)01 0111 08
工业过程故障检测最主要的目的是能够迅速地检测出可能影响过程安全或者产品质量的异常变化[1]。多元统计监控方法的本质是基于数据驱动的故障检测方法,主要的基于数据驱动的方法有:主成分分析(Principal Component Analysis,PCA)[2]、偏最小二乘法(Partial Least Square,PLS)[3]和独立成分分析(Independent Component Analysis,ICA)[4]。上述方法使用线性降维会丢失数据局部信息,而局部保留投影(Locality Preserving Projection,LPP)算法[5]虽能提取数据的局部特征,但对于复杂分布的非线性过程表现不佳。
非线性特征提取方法有:基于核函数的方法、基于机器学习的方法和基于深度学习的方法。最经典的基于核函数的方法是核主元分析(Kernel Principal Component Analysis,KPCA)[6]。KPCA使用核函数将数据投影到高维空间,在高维空间进行特征提取。KPCA考虑了数据的非线性特征,对于非线性数据的故障检测效果要优于线性降维方法。机器学习特征提取方法有高斯混合模型(Gaussian Mixture Model,GMM)[7]、支持向量机(Sport Vector Machine,SVM)[8]及支持向量描述(Support Vector Data Description,SVDD)[9]等。基于深度学习的非线性特征提取方法是近几年的研究热点。基于深度学习的特征提取算法主要包括:卷积神经网络(Conventional Neural Network,CNN)[10]、深度置信网络(Deep Brief Network,DBN)[11]、堆栈自编码器(Stacked Auto Encoder,SAE)[12]及堆栈降噪自编码器(Stacked Diagnosing Auto Encoder,SDAE)[13]等。
堆栈自编码器(Stacked Auto Encoder,SAE)采用分层预训练和超参数微调的策略,在重构数据时提取数据的深层特征。SAE算法若将激活函数选为线性激活函数,则可达到PCA算法的效果,若选择非线性激活函数,则可用于非线性特征降维,类似于KPCA算法。常规SAE算法仅考虑了数据的全局结构,未能同时考虑数据的局部和全局结构信息,特征提取能力还有待进一步提高。在复杂的化工过程数据中,需要SAE在学习到的特征中保留数据的局部和全局结构特征。为了解决这一问题,笔者提出了一种局部全局保持堆栈自编码器(Local and Global Structure Preserving Regularized Stacked Auto Encoder,LGRSAE),以逐层保持原始输入数据的局部和全局结构。最后,通过田纳西-伊斯曼(Tennessee Eastman,TE)过程验证了LGRSAE算法的有效性。
1 局部全局结构保持堆栈自编码器
给定训练数据X=[x,x,…,x],x∈R,n为采样点个数,m为样本个数,编码器通过非线性变换f(·)将训练数据x投影到隐含层h,解码器使用非线性变换f(·)将h重构输出为,数学表达式如下:
h=f(W(e)x+b(e))""""" (1)
=f(Wh+b) """""""" """ (2)
其中,f(·)和f(·)分别是编码环节和解码环节的激活函数,W和W分别是编码环节和解码环节的权重矩阵,b和b分别是编码环节和解码环节的偏差向量。
自编码器AE通过训练找到使训练误差最小的最优参数集合θ={W,W,b,b}:
J(θ)=‖-x‖""" (3)
其中,J(θ)为自编码器的均方误差训练目标函数。
LPP是非线性拉普拉斯特征映射的线性近似,目的在于保持数据的局部拓扑结构。如果两数据点x和x在高维空间中相邻,那么对应的点h和h在投影空间中仍是相邻的。LPP目标函数为:
J=min‖h-h‖M""" (4)
其中,h=Lx,L为LPP的投影矩阵。M为数据点x和x的近邻权重,可以用热核函数表示:
M=e,x∈N(x)或x∈N(x)0"""" ,其他" (5)
其中,δ为可调参数,可控制权重随距离增大而递减;N(x)和N(x)分别为x和x的k近邻数据点集合。
PCA以线性变换将高维数据x按最大化数据方差的方向投影到低维特征空间时,h保留了数据x最大全局结构。PCA目标函数为:
J=max‖h-h‖"""" (6)
其中,h=Px,P为PCA的投影矩阵。
为了在AE算法数据重构的过程中保留数据的局部、全局结构,从而提取数据局部、全局结构相关的特征,将LPP算法和PCA算法的目标函数引入AE算法,构造局部全局结构保持自编码器(Local and Global Structure Preserving Regularized Auto Encoder,LGRAE)。为了提取数据的局部和全局结构特征,若两个数据距离足够近,它们在LGRAE的重构空间中也要足够近。在LGRAE重构空间最大化数据的方差,以提取数据的潜在全局结构特征。LGRAE的目标函数定义如下:
min J(θ)=min J+λ"" (7)
J(θ)=‖-‖M""" (8)
J(θ)=‖-x‖"""" (9)
其中,λ为非负常数;ε为非负微小常数;x为样均值本;J为重构损失;J(θ)为局部方差损失,可使数据点x和x的近邻关系在LGRAE重构空间和中得以保留;J(θ)为全局方差损失,可使重构空间按照原始数据最大化方差的投影方向构造,以在LGRAE的重构过程中提取数据的全局结构特征。LGRAE的结构如图1所示。
2 LGRSAE参数更新方式
以第i个数据x为例,LGRAE的隐含层为h,重构数据为。LGRAE的参数θ通过反向传播算法(BP)更新,直至达到设定迭代次数,或者最小设定误差。更新迭代方式如下。
a. 计算LGRAE前向传播的隐含层输出h和重构数据:
z=Wx+b""""" (10)
h=f(z)"""""" (11)
z=Wx+b""""" (12)
=f(z)"""""" (13)
其中,z为h的激活输入,z为的激活输入。
b. 根据式(3)、(8)、(9)计算LGRAE的重构损失J、局部方差损失J和全局方差损失J,然后基于损失函数(7)计算偏导数:
=
=-(-x)?茚f ′(z)+λ((-)M?茚(ε+‖-x‖)-
‖-‖M?茚(-x))?茚f ′(z)/(‖-x‖+ε)
(14)
其中,f ′为激活函数f的导数,?茚表示矩阵的逐元素乘积。
c. 计算J对隐含层h的输入z的偏导数δ:
δ=
=(w(d))?茚f ′(z)"""" (15)
其中,f ′为激活函数f的导数。
d. LGRAE的参数可由反向传播算法进行自动更新:
w=w-η=W-hTi
b=b-η=b-
w=w-η=W-xTi
b=b-η=b-""" (16)
其中,η为LGRAE的学习率。
LGRSAE(图2)是由l个LGRAE构成的。
AE——第i个预训练的AE;——第i个AE的重构输出;
h——第i个AE的潜隐变量(隐含层)
LGRSAE的训练包括两个步骤:无监督预训练和参数微调。无监督预训练首先训练LGRAE,求得最优参数集合W、W、b、b以及隐含层h,将h作为LGRAE输入,训练LGRAE。依次训练LGRAE~LGRAE可以得到LGRSAE的参数集合{W}、{W}、{b}、{b},将其作为LGRSAE参数微调阶段的初始化参数。令第1个LGRAE的训练输入x和重构输出分别为h和,第l个LGRAE的训练输入h和重构输出之间的损失函数为:
J(θ)=‖-h‖+
λ""""" (17)
LGRSAE是将LGRAE1~LGRAEl中的节点按照[x,h,…,h,h,,…,,]的顺序进行堆栈连接构成的。在LGRSAE初始化参数的基础上继续训练可得到训练好的模型。
3 基于LGRSAE的过程检测
以3个LGRAE构成的LGRSAE为例,{W}和{b}分别为第i个LGRAE编码环节的权值和偏差值,其特征空间计算步骤如下:对于第i个预处理的数据x,编码环节通过非线性变换{f(·)}构造特征空间:
h=f(Wf(Wf(Wx+b)+b)+b) (18)
其中,h为第i个数据的特征,h∈R为列向量。则第i个数据的T为:
T=(h-h)Φ(h-h)"""" (19)
其中,Φ为由d个特征构成的特征空间的协方差矩阵,h为h的均值。
由于无法确切地知道统计量的分布信息,可使用核密度估计(Kernel Density Estimation,KDE)[14]确定统计量的控制限。对于给定的数据x∈X,假设x的概率密度函数为f(x),则x的分布(·)满足如下积分条件:
(xlt;a)= f(x)dx"""" (20)
选取高斯核函数作为KDE的核函数,则:
f(x)=exp(-())"" (21)
其中,cgt;0为带宽系数。在置信度等级为α条件下,控制限阈值T的计算式如下:
1-α=(m)dm""""" (22)
基于LGRSAE的离线建模步骤如下:
a. 收集正常的过程数据集X作为LGRSAE的训练数据。
b. 对正常数据进行标准化处理,使数据的均值为0,方差为1。
c. 构建LGRSAE模型——LGRSAE、LGRSAE、LGRSAE,并进行预训练。
d. 在完成LGRSAE的训练后,根据式(18)计算得到正常过程数据的特征空间。
e. 根据式(19)计算得到T统计量。
f. 使用KDE确定T统计量的控制限T。
基于LGRSAE的在线监测步骤如下:
a. 收集含有故障的过程数据,将这些数据作为实验过程的测试数据集X′。
b. 将测试数据集X′进行标准化,使用与离线建模过程相同的标准化方法得到X′。
c. 使用训练好的LGRSAE模型生成训练数据集的特征空间。
d. 根据式(18)和(19),计算得到T统计量。
e. 通过比较T统计量和T的大小,确定系统是否处于正常运行状态。
基于LGRSAE的故障检测流程如图3所示。
4 TE过程
TE过程[15,16]是一个工业过程检测的标准测试平台,其流程如图4所示。TE过程是一个由多个单元和控制回路组成的复杂多变量过程,包括反应器、冷凝器、压缩机、汽提塔和分离器5个主要单元,具有非线性、非高斯和高维度的特点。TE过程数据集模拟了53个过程变量,包含22个过程测量值、19个成分变量和12个控制变量。训练数据集包含500个正常采样数据。在第161个采样点,仿真了6类故障构造了21个不同的故障数据集,其中每个故障数据集包含960个采样数据。这6类故障分别为:阶跃变化故障、随机变化故障、缓慢漂移故障、粘滞故障、未知故障和恒定故障,故障类型描述可参考文献[16]。
为了确定LGRSAE算法的有效性,将其与流形正则化堆栈自编码器(Manifold Regularized Stacked Auto Encoders,MRSAE)[1]和KPCA[4]算法进行对比。根据PCA算法累计方差贡献率85%,特征变量的个数选择28个。在TE正常数据集上离线建模的LGRSAE、MRSAE的训练模型结构为53 2048 1024 28 1024 2048 53。LGRSAE、MRSAE的特征提取结构为53 2048 1024 28。KDE控制限的置信等级选取0.99。λ的取值为0.003,ε的取值为0.001。仿真环境为:CPU Inter(R) Core (TM) i7 9700H,操作系统 Windows 10(64位),RAM 16 GB,软件 Python 3.8.5、TensorFlow 2.5.0。
算法故障性能指标为检测率FDR和误报率FAR。表1给出了3个算法的仿真结果,故障#3、#9、#15的检测效果较差,将其排除在外[1]。LGRSAE的平均FAR为3.29%,较MRSAE和KPCA分别低0.18%和0.81%,LGRSAE平均FDR为94.7%,较MRSAE和KPCA分别高12.37%和18.68%,而MRSAE的FDR仅优于KPCA算法6.31%。根据统计结果来看,LGRSAE在FAR和FDR上表现都最好,其次是MRSAE算法,KPCA算法表现最差。由于LGRSAE在目标函数中引入数据局部和全局结构保持的正则化,可学习数据间更有用的潜在流形结构相关特征,因此故障检测效果优于MRSAE和KPCA。
LGRSAE在故障#5、#10、#16、#19、#20表现出较高的检测率(分别为100%、93.62%、96.25%、93.12%、91.12%),而其他算法对于这5个故障的检测率都不到80%。故障#5、故障#19的检测结果如图5、6所示,LGRSAE和MRSAE方法的FDR均显著优于KPCA。从图5、6中可以看出,LGRSAE的T2统计量在故障出现后几乎同时超过控制限,可以反映出LGRSAE对于故障的灵敏性。
5 结束语
LGRSAE结合了LPP和PCA算法的思想,并在重构空间中保留了数据的局部和全局结构,可以提取数据间的潜在局部和全局结构相关特征。通过LGRSAE进行特征提取,构造T2统计量进行故障检测。在TE过程数据集中,LGRSAE的T2统计量能够有效地捕捉到故障引起的过程变量异常,从而实现对故障的准确检测。LGRSAE的T2统计量在TE过程数据集上有94.7%的平均检测率,LGRSAE在多个故障类型上要优于对照算法。LGRSAE引入正则化能够使模型提取非线性数据间流形结构相关的特征,误报率低于MRSAE和KPCA算法,具有更高的鲁棒性。
参 考 文 献
[1] YU J B,ZHANG C Y.Manifold regularized stacked aut "oencoders based feature learning for fault detection in industrial processes[J].Journal of Process Control,2020,92(1):119-136.
[2] 王海清,宋执环,王慧.PCA过程监测方法的故障检测行为分析[J].化工学报,2002,53(3):297-301.
[3] 常鹏,高学金,王普.基于多向核熵偏最小二乘的间歇过程监测及质量预测[J].北京工业大学学报,2014,40(6):851-856.
[4] JIANG Q,YAN X,LV Z,et al.Independent component analysis based nonGaussian process monitoring with preselecting optimal components and support vector data description[J].International Journal of Production Research,2014,52(11):3273-3286.
[5] 郭金玉,仲璐璐,李元.基于统计差分LPP的多模态间歇过程故障检测[J].计算机应用研究,2019,36(1):123-126.
[6] LEE J M,YOO C K,CHOI S W,et al.Nonlinear process monitoring using kernel principal componentanalysis[J].Chemical Engineering Science,2004,59(1):223-234.
[7] 谭帅,常玉清,王福利,等.基于GMM的多模态过程模态识别与过程监测[J].控制与决策,2015,30(1):53-58.
[8] 许洁,胡寿松.基于KPCA和MKL SVM的非线性过程监控与故障诊断[J].仪器仪表学报,2010,31(11):2428-2433.
[9] KIM Y,KIM S B.Optimal 1 alarm controlled support vector data description for multivariate process monitoring[J].Journal of Process Control,2018,65(1):1-14.
[10] 李元,冯成成.基于一维卷积神经网络深度学习的工业过程故障检测[J].测控技术,2019,38(9):36-40;61.
[11] SALAKHUTDINOV R,HINTON G.An Efficient Learn ing Procedure for Deep Boltzmann Machines[J].Neural Computation,2012,24(8):1967-2006.
[12] LI Z C,TIAN L,JIANG Q C,et al.Distributed ensem ble stacked autoencoder model for non linear process monitoring[J].Information Sciences,2020, 542(1):302-316.
[13] VINCENT P,LAROCHELLE H,LAJOIE I,et al.Stac "ked Denoising Autoencoders:Learning Useful Representations in a Deep Network with a Local Denoising Criterion[J].Journal of Machine Learning Research,2010,11(12):3371-3408.
[14] 刘恒,刘振娟,李宏光.基于数据驱动的化工过程参数报警阈值优化[J].化工学报,2012,63(9):2733-2738.
[15] YAN S F,YAN X F.Design teacher and supervised du al stacked auto encoders for quality relevant fault detection in industrial process[J].Applied Soft Computing,2019,81(1):105526-105543.
[16] BATHELT A,RICKER N L,JELALI M.Revision of the Tennessee Eastman Process Model[J].IFAC Papers "OnLine,2015,48(8):309-314.
(收稿日期:2024-06-20,修回日期:2024-12-30)
Fault Detection for the Chemical Process Based on LGRSAE Algorithm
YANG Jing chao
(CNOOC Petrochemical Engineering Co.,Ltd.)
Abstract"" Aiming at the conventional linear dimension reducing method’s incapability in extracting local and global structural features of the real complex nonlinear industrial data effectively, a local and global stack retaining auto encoder(LGRSAE)and a process fault detection method based on LGRSAE were developed. In addition, the objective constraints of the locality preserving projection(LPP) algorithm and the principal component analysis(PCA) algorithm were introduced into the objective function of the auto encoder(AE) to extract the features related to the local and global structure of the data, including having LGRAE stacks constructed to form LGRSAE to extract features related to deep local and global structure of the process data. The fault detection results on the TE (Tennessee Eastman) process data set show that, the average fault detection rate of the feature extraction method of LGRSAE is higher than those of the MRSAE and KPCA algorithms and the 1 alarm rate is lower.
Key words"" fault detection, stacked auto encoder, feature extraction, local and global structure preserving, data dimension reduction