-
随着化工行业的快速发展,化工生产过程的复杂性也随之增加。然而,如此复杂的工业过程一旦发生故障,可能导致严重的财产损失和人员伤亡,因此,高效的故障检测和诊断(Fault Detection and Diagnosis,FDD)方法对于维护化工过程的安全稳定生产是十分重要的[1-4]。在故障诊断方法中,按照建模原理的不同可以被分为基于模型的方法以及基于数据的方法两大类。基于模型的方法需要对化工过程进行机理建模,但由于现代化工过程的复杂性,很难直接应用基于模型的故障诊断方法。与此同时,集散控制系统(Distributed Control System,DCS)技术被广泛运用,系统可以收集大量的工业数据,这有利于开发基于数据的故障诊断方法。目前,基于数据的故障诊断方法主要根据变量之间的相关性来提取特征,传统的基于数据的故障诊断算法有:主成分分析(Principal Component Analysis,PCA)、费舍尔判别分析(Fisher Discriminant Analysis,FDA)、支持向量机(support vector machine,SVM)等[5-9],其中,PCA、FDA方法通过线性方法提取特征,不适用于实际的化工过程。而SVM将故障诊断视为分类任务,建立判别函数对故障进行分类,但这类方法需要手动设计特征,导致实用性有限。此外,上述方法均未考虑过程数据间的时序关联性。因此,为了提高故障诊断方法的性能,应开发一种直接、有效的非线性动态特征提取方法。
深度学习技术能有效地学习复杂、抽象的特征,因此,深度学习在过去几年中引起了FDD领域研究者的关注[10-13]。其中,变分自编码器利用变分推断能够提取服从标准高斯分布的潜变量,Zhang等[14]提出了一种基于变分自编码器(Variational AutoEncoder,VAE)的非线性故障检测方法。此外,变分推断不仅可以利用其构建生成模型,还可以结合信息论来提高模型的特征提取能力[15]。Alemi等[16]结合变分推断与信息论提出了VIB,从而将与任务目标最相关的信息保留在潜层。另外,在故障诊断任务中,卷积神经网络(Convolutional Neural Network,CNN)被用来提取动态特征。二维卷积神经网络(Two-Dimensional Convolutional Neural Network,2-D CNN)是最常见的卷积神经网络类型。一般来说,2-D CNN首先将数据进行二维分块,然后与2-D CNN中的卷积核矩阵进行卷积生成特征。在故障诊断任务中,2-D CNN的输入矩阵通常由一个时间窗内的采样点组成,矩阵维度分别代表采样时间和过程变量。Wu等[17]采用2-D CNN提取动态特征的方式进行故障诊断。然而,2-D CNN同时对输入矩阵的两个维度进行拆分,这将导致每个二维分块内只包含部分变量,这部分变量与初始变量的排序方式有关。变量的不同排序可能导致不同的结果,会引入一定的随机性。此外,不同于2-D CNN,一维卷积神经网络(One-Dimensional Convolutional Neural Network,1-D CNN)将输入数据沿单一维度划分。Chen等[18]利用1-D CNN将输入数据沿变量维度划分,以降低变量的维度,用于多变量过程的故障诊断。
受上述研究启发,本文提出了一种新型的深度学习模型(MBCVIB)用于故障诊断,该模型利用1-D CNN沿时间域维度划分输入数据,提取相邻样本之间的动态特征。1-D CNN在每次滑动中都会考虑所有变量,因此变量的排序不会引入随机性。同时,1-D CNN通过并行计算提取动态特征,降低了计算复杂度并且使得梯度能够有效传播。不同的卷积核在1-D CNN中能够学习到不同的时序相关特性,使得1-D CNN能够更全面地考虑样本的时序信息。但是由于化工过程中变量数目愈来愈多,1-D CNN每次考虑所有变量导致模型参数过多,无法有效学习过程的动态特征。因此本文采用变量分块的方式,将属于同一操作单元的变量划分到同一个子块中,在每个子块中使用含有多个卷积层的深度1-D CNN来学习每个操作单元的局部动态特征表示。其次,为了整合网络学习到的所有局部动态特征,利用特征拼接方法得到全局特征。然后,希望网络能够从提取到的全局特征中保留与故障类别信息最相关的特征,利用信息瓶颈思想从全局特征中进一步提取与故障最相关的特征表示。最后,基于CSTR和TEP验证了该模型的有效性。
-
1-D CNN由卷积层、池化层、全连接层和输出层4个单元组成。图1示出了一个输入为多变量时滞数据的1-D CNN架构,图中
$T$ 表示输入数据的时间窗长度,$V$ 是每一个采样点的变量个数。卷积核${f}$ 在时域对应的维度上滑动,提取动态特征。它提取每一个卷积层的高层次的抽象特征表示中。 特征${\bf{h}}_j^l \in {{\bf{R}}^{{C_l} \times 1}}$ 可以表示为其中:
${h}_j^l$ 表示第$l$ 层的第$j$ 个特征;${{H}^{l - 1}} = \left[ {{h}_1^{l - 1},{h}_2^{l - 1},...{\rm{,}}{h}_N^{l - 1}} \right] \in {{\bf{R}}^{{C_{l - 1}} \times {N_{l - 1}}}}$ 表示第$l - 1$ 层卷积层;${f}_j^l$ 表示第$l$ 层的第$j$ 个卷积核;${b}_j^l$ 表示网络偏置;C表示特征维度;N表示卷积核个数;$\sigma \left( \cdot \right)$ 表示非线性激活函数;“$ * $ ”表示卷积操作。每个卷积层由多个卷积核获得的特征组成,因此可以堆叠多个卷积层,构成一个深度神经网络来学习高阶特征。然后,对高阶特征利用池化操作进行压缩以获得稳健的特征,同时降低特征的维度。最大池化是最具有代表性的池化方法,它可以保留局部邻域中最大规模的值。假设池化内核的大小为3,跨度为1,那么可以得到池化输出$p_{i,j}^n$ :其中,
$i \in \left( {1,{N_n}} \right)$ ,并且$j \leqslant {C_n} - 2$ 。将所有矩形特征张成向量后,得到一个代表输入数据的潜变量。之后应用全连接神经网络从特征中提取目标相关信息,并使用反向传播训练方法来更新该网络的参数。 -
互信息(Mutual Information,MI)利用熵来描述变量之间的非线性相关性。MI的值可以反映变量之间的相关性强弱,MI值越大,说明相关性越强。两个变量
${{X}_i}$ ,${{X}_j}$ 之间的MI值可以定义为[19]:其中:
$H({{X}_i})$ 表示${{X}_i}$ 的熵;$H({{X}_i}|{{X}_j})$ 表示给定${{X}_j}$ 的条件下,${{X}_i}$ 和${{X}_j}$ 的条件信息熵。 -
为了使卷积核能够在相邻时间步上滑动卷积来提取动态特征,1-D CNN进行卷积时需要考虑所有变量。但对于多变量过程故障诊断,由于变量数量多,并且变量之间的相关性不同,使得网络可能难以提取有效的动态特征,因此,本文提出以局部提取、全局整合的方式提取过程的动态特征。此外,为了提取与故障更相关的特征表示,减少特征中存在的冗余信息,利用VIB进一步提取表征故障信息的特征。
-
大型工业过程普遍由多个操作单元构成,其中各操作单元都具有其独特的功能和对应的变量,并且操作单元间存在相互联系。因此,根据工艺流程的机理结构,本文提出对各操作单元对应的变量建立1-D CNN模型,在属于同一操作单元的相关关系强的变量中提取局部动态特征,然后,整合模型提取的局部特征得到反映整个流程运行情况的全局特征。
假设
${{X}_t}$ 表示在$t$ 时刻的时滞输入数据,包括$t$ 时刻以及前$T - 1$ 个时刻的数据,$T$ 是${{X}_t}$ 的时间窗口大小,每个时刻数据有$V$ 个变量,${{X}_t}$ 可以表示为若一个流程包括
$p$ 个操作单元,并且每个操作单元中的变量形成一个独立的子块,得到$p$ 个子块,那么输入数据可以根据式(7)和式(8)来构建:其中:
${{X}^b} \in {{\bf{R}}^{{V_b} \times T}}$ 为一个子块,$b \in (1,p)$ ;${V_b}$ 为第$b$ 个子块中的变量数;${{X}_{\rm{block}}} \in {{\bf{R}}^{V \times T}}$ 为分块后的输入数据。 -
在按照过程机理将变量分块之后,对每个子块(即每个操作单元中包含的变量)建立1-D CNN模型以提取每个操作单元的的局部动态特征,然后利用特征拼接法整合局部动态特征,得到全局动态特征,且使得网络能够并行训练。整个并行建模的网络结构如图2所示。
本文采用的1-D CNN不同于1.1节的传统1-D CNN,模型中未对最后一层卷积层进行Pooling操作。因为Pooling对网络所提取的特征进行下采样,这可能会导致部分与故障诊断有关的特征丢失。因此,每个1-D CNN模型的最后一层卷积层的输出即为局部动态特征。为了整合所有的局部动态特征获得全局动态特征,采用特征拼接方法对所有子块的局部动态特征进行串接,得到能表征整个输入过程数据的全局特征表示,并且所有1-D CNN模型都可以通过这种特征整合方式进行并行训练。该特征拼接法可表示为
其中:
${{x}^b} \in {{\bf{R}}^{T \times {V_b}}}$ ;${{o}^b} \in {{\bf{R}}^{(T - L \cdot (K - 1)) \times N}}$ ;${{z}} \in {{\bf{R}}^{1 \times B \cdot (T - L \cdot (K - 1)) \cdot N)}}$ ;${F_b}$ 表示子块$b$ 中的1-D CNN网络;${z}$ 表示所得到的全局特征表示;B表示子块数;L表示网络层数;N表示卷积核个数;K表示卷积核尺寸。Flatten表示将矩阵形式的特征展开为向量形式。通过这种方式,从所有子块中提取的局部特征矩阵可以整合成一个全局特征向量。 -
在特征提取阶段,通过整合所有局部特征得到了全局特征,这可能带来与故障诊断任务无关的冗余信息,因此,希望利用信息瓶颈思想过滤这部分信息,从而提取最精炼的特征表示。信息瓶颈理论[20]定义了一个最优的特征表示,即网络所学习到的特征应该与输入X之间的互信息最小,同时与理想输出Y的互信息最大。因此,信息瓶颈中的学习目标可以写为极大化式(11):
其中:Z表示网络所学习到的输入数据的特征表示;
$I(Z,X;\theta )$ 表示Z和X之间的互信息;$I(Z,Y;\theta )$ 表示Z和Y之间的互信息;$\beta $ 表示权重;$\theta $ 表示网络参数。在故障诊断任务中,理想输出$Y$ 是故障类别信息。我们希望利用实现了特征瓶颈思想的深度学习方法VIB来保留与输入数据$X$ 对应的全局特征$Z$ 中和故障类别信息$Y$ 最相关的部分,同时过滤噪声,故引入瓶颈信息表征$Z'$ ,构建$Z {\text{-}} Z' {\text{-}} Y$ 的信息瓶颈,使得模型能够在瓶颈信息表征$Z'$ 中保留与故障信息Y最相关的信息,忽略与Y无关的信息。因此,将$Z$ ,$Z'$ 代入式(11),并结合式(4),可得:其中:
$p({y}{\rm{,}}{z}') = \int {{\rm{d}}{z}p({z},{y},{z}') = \int {{\rm{d}}{z}p({z}{\rm{,}}{y})p({z}'|{z})} }$ ,$p({z}{\rm{,}}y) = \dfrac{1}{N}\displaystyle\sum\limits_{n = 1}^N {{\delta _{{x_n}}}({z}){\delta _{{y_n}}}(y)}$ ,$\delta $ 为狄拉克函数,其优化下界ELBO为[16]:其中:
$p({y}|{z}')$ 表示$Z' {\text{-}} Y$ 分类模型,可以用Softmax映射函数拟合;$p({z}'|{z})$ 表示$Z {\text{-}} Z'$ 瓶颈压缩模型,可以利用高斯变分后验分布$q({z}'|{z})$ 近似;$p({z}')$ 为标准高斯分布。则优化目标为其中,
$q({z}'|{z}) = N\left( {{z}'|{f^\mu }\left( {z} \right),{f^\sigma }\left( z \right)} \right)$ ,${f^\mu }$ 、${f^\sigma }$ 分别是两个输出为K维的全连接神经网络,用来表示高斯变分后验分布$q({z}'|{z})$ 的均值和方差。最后,结合样本标签和交叉熵损失函数,利用重参数方法[14],可使式(14)能够通过反向传播算法寻找最优值。MBCVIB网络如图3表示。 -
MBCVIB利用1-D CNN网络在过程中对每个操作单元提取局部动态特征,使用特征拼接法整合局部动态特征来获得全局动态特征,并结合变分信息瓶颈进一步提取全局动态特征中与故障类别信息最相关的部分进行故障诊断。基于MBCVIB的故障诊断的具体实现流程如图4所示,分为离线训练和在线诊断两个阶段。
离线训练:
(1)获得训练数据集
${{X}} \in {{\bf{R}}^{U \times V}}$ 以及相应的故障类别标签${Y} \in {{\bf{R}}^{{\rm{1}} \times U}}$ ,其中$U$ 为采样点总数,$V$ 为变量个数;(2)对训练数据集
${X}$ 进行标准化处理,得到标准化后的训练数据集${X}'$ ;(3)利用时间步长为
$T$ 的时间窗将${X}'$ 转化为时延数据集${{X}_T} \in {{\bf{R}}^{\left( {U - T + 1} \right) \times \left( {T \times V} \right)}}$ ,并获得对应的标签${{Y}_T} \in {{\bf{R}}^{1 \times \left( {U - T + 1} \right)}}$ ;(4)利用2.1节描述的变量划分方法将
${{X}_T}$ 划分为$\hat {{X}}_T^1{\rm{,}}...{\rm{,}}\hat {{X}}_T^B$ ,其中$\hat {{X}}_T^b \in {{\bf{R}}^{(U - T + 1) \times (T \times {V_b})}}$ ,$b \in \left[ {1,B} \right]$ ;(5)对每个子块建立1-D CNN模型,获得局部动态特征
${{z}_b}$ ,通过特征连接法,整合所有局部特征,获得全局动态特征${z}$ ;(6)根据高斯后验分布
$q({z}'|{z}) = N\left( {{z}'|{f^\mu }\left( {z} \right),{f^\sigma }\left( {z} \right)} \right)$ ,可以得到瓶颈特征${z}'$ ;(7)结合类别标签
${{Y}}$ ,通过Adam算法最小化式(14)训练模型。在线诊断:
(1)获得新的时延样本
${{x}_{\text{test}}} \in {{\bf{R}}^{T \times V}}$ ;(2)利用离线建模中步骤(2)中得到的均值和方差对数据
${{x}_{\text{test}}}$ 进行标准化;(3)利用2.1节的变量划分方法,得到每个子块的样本
$\hat {{x}}_{\text{test}}^1{\rm{,}}...{\rm{,}}\hat {{x}}_{\text{test}}^B$ ,其中$\hat {{x}}_T^b \in {{\bf{R}}^{T \times {V_b}}}$ ;(4)将
$\hat {{x}}_{\text{test}}^1{\rm{,}}...{\rm{,}}\hat {{x}}_{\text{test}}^B$ 输入已训练好的MBCVIB网络中;(5)得到测试样本
${{x}_{\text{test}}}$ 所对应的故障类别。 -
CSTR过程是一个评估故障诊断方法性能的基准过程,其仿真设置与Alcala等[21]的实验类似,选取9个变量作为故障诊断的监控变量,包括冷却水温度
${T_{\rm{C}}}$ 、入口温度${T_{\rm{0}}}$ 、入口浓度${C_{\rm{AA}}}$ 和${C_{\rm{AS}}}$ 、溶剂流量${F_{\rm{S}}}$ 、冷却水流量${F_{\rm{C}}}$ 、出口浓度${C_{\rm{A}}}$ 、温度$T$ 和反应物流量${F_{\rm{A}}}$ 。本文设置了9个故障进行故障诊断,具体故障描述如表1所示,其中E/n和Uac为仿真参数[21]。每类故障数据采集1000个样本,采样间隔为0.2 min,设置的时间窗口大小为10个样本,滑动步长为0.2 min,每类数据的维度为90×991。将转化后的时延数据的一半随机分离作为训练数据,另一半数据作为测试数据。为了说明MBCVIB的故障诊断性能,以支持向量机(SVM)、堆栈自编码器(Stacked AutoEncoder,Stacked AE)、二维卷积神经网络(2-D CNN)、长短期记忆循环神经网络(Long Short-Term Memory,LSTM)作为对比算法。对于SVM、Stacked AE,输入时滞数据的维度为1×90。对于2-D CNN、LSTM、MBCVIB,时滞数据的维度为9×10。SVM方法加入了径向基核函数从而考虑过程非线性因素。其他基于神经网络方法的详细结构和参数列在表2和表3中,其中MBCVIB方法中$\beta $ 参数参考Tishby等[20]的实验设置为0.001。对于MBCVIB方法,根据2.1节介绍的基于过程机理的子块划分策略,变量划分结果如表4所示。Fault number Fault description 1 Bias in the sensor of the output temperature T 2 Bias in the sensor of the inlet temperature T0 3 Bias in inlet reactant concentration CAA 4 Drift in the sensor of CAA 5 Slow drift in reaction kinetics 6 Drift in E/R 7 Drift in Uac 8 Drift in CAA, CAS, FS, and T0 9 Step change in T0 表 1 CSTR故障描述
Table 1. Faults description in CSTR
Model Structure Stacked AE Input(1×(9·10))-FC(30)-FC(20)-FC(10)-Softmax LSTM Input(9×10)-LSTM(50)-LSTM(50)-FC(30)-FC(10)-Softmax 2-D CNN Input(9×10)-Conv2D(64)-Conv2D(64)-Maxpool(2×2)-Conv2D(128)-FC(128)-FC(10)-Softmax MBCVIB Input(9×10)- (Conv(60)·2)·4-Concatenation- FC(100)×2-FC(100)-FC(10)-Softmax 表 2 CSTR故障诊断模型结构
Table 2. Detailed fault diagnosis model structures in CSTR
Model Window width Activation function Convolutional kernel Learning rate Batch size Epoch Stacked AE 10 SELU − 1×10−3 24 20 LSTM 10 SELU − 1×10−3 24 20 2-D CNN 10 SELU 3×3 1×10−3 24 20 MBCVIB 10 SELU (Vb×3) 1×10−3 24 20 表 3 CSTR故障诊断模型参数
Table 3. Detailed fault diagnosis model parameters in CSTR
Block Process variables 1 T0, CAS, and FS 2 FA, CAA 3 FC, TC 4 CA, T 表 4 CSTR分块结果
Table 4. Block division result in CSTR
表5列出了MBCVIB和其他方法的故障诊断精度。从表5可以看出,MBCVIB对正常类故障的诊断精度明显高于其他方法。此外,MBCVIB对所有故障的总体准确率都超过了0.87,平均准确率最高,达到了0.983。而其他方法不能对所有故障保持类似的精度水平,对一些故障的准确度较差。结果表明,基于MBCVIB的故障诊断优于其他方法。
Fault SVM Stacked AE LSTM 2-D CNN MBCVIB Normal 0.299 0.688 0.480 1.000 0.992 1 0.573 0.938 0.830 0.919 1.000 2 0.992 0.994 0.992 0.992 0.994 3 0.998 0.993 0.977 0.996 0.997 4 0.525 0.710 0.931 0.850 0.876 5 0.973 0.973 0.984 0.983 0.995 6 0.912 0.958 0.956 0.968 0.998 7 0.811 0.938 0.932 0.965 0.985 8 0.994 0.994 0.989 0.994 0.998 9 0.945 0.961 0.988 0.960 1.000 Average 0.802 0.915 0.906 0.963 0.983 表 5 不同方法在CSTR上的故障诊断准确率
Table 5. Fault diagnosis accuracy of different methods on CSTR
-
TEP是一个被广泛运用于故障检测与诊断的基准过程[22-23],有5个操作单元:反应器、冷凝器、压缩机、分离器和汽提器。整个过程包含52个变量、41个连续过程变量(XMEAS 1-41)和11个操纵变量(XMV 1-11)。TEP数据集设置了20个故障类型,包括15个已知故障和5个未知故障。其中,故障3、9、15由于均值、方差和高阶统计特征和正常数据无明显变化[24],因此在实验中不对故障3、9、15进行研究,对剩余的17个不同故障类型以及正常工况下的数据进行了详细的对比。实验中的训练数据集由500个正常样本以及每类故障的480个样本组成,测试数据集由960个正常样本和每类故障的800个样本组成。数据的采样时间间隔为3 min。由于故障6在故障开始后7h后系统直接停机,因此故障6的测试样本和训练样本只包含140个故障样本点[17]。采用3.1节中的对比算法,验证MBCVIB在TEP中的故障诊断性能。时间窗长度参考了Wu等[17]的实验,设置为20个样本,滑动步长设置为3min。TEP实验数据如表6所示。对于SVM、Stacked AE,输入时滞数据的维度为1×(52×20)。对于2-D CNN、LSTM、MBCVIB,时滞数据的维度为52×20。基于神经网络方法的详细结构和参数见表7和表8。SVM方法的核函数选择与CSTR实验相同。其中MBCVIB方法的参数
$\beta $ 设置与CSTR实验相同。Status index Training Testing Normal 481×(52×20) 981×(52×20) Fault 1~5, 7~20 461×(52×20) 781×(52×20) Fault 6 121×(52×20) 121×(52×20) 表 6 TE实验时延数据维度
Table 6. Time-delay data dimension of TEP
Model Structure Stacked AE Input((1×(52·20))-FC(500)-FC(250)-FC(18)-Softmax LSTM Input(52×20)-LSTM(128)-LSTM(128)-FC(128)-FC(64)-FC(18)-Softmax 2-D CNN Input(52×20)-Conv2D(64)-Conv2D(256)-Maxpool(2×2)-Conv2D(128)-Maxpool(2×2)-FC(384)-FC(18)-Softmax MBCVIB Input(52×20)- (Conv(60)·6)×4-Concatenation-FC(100)×2 -FC(100)-FC(18)-Softmax 表 7 TEP故障诊断模型结构
Table 7. Detailed fault diagnosis model structures in TEP
Model Window width Activation function Convolutional kernel Learning rate Batch size Epoch Stacked AE 20 SELU − ${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 LSTM 20 SELU − ${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 2-D CNN 20 SELU 3×3 ${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 MBCVIB 20 SELU ( ${V_b}$ ×3)${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 表 8 TEP故障诊断模型参数
Table 8. Detailed fault diagnosis model parameters in TEP
对于MBCVIB,首先根据基于过程机理的变量划分方法将变量分成几个子块。TEP中属于各操作单元的变量列于表9,其中XMEAS表示连续过程变量,XMV表示操纵变量。冷凝器和回收压缩机的变量对于其他运行单元来说相对较少,因此,为了简化模型,将这两个运行单元的变量合并为一个子块。表10示出了TEP的区块划分结果。
Operation unit Process variables Reactor XMEAS(1, 2, 3, 4, 5, 6, 7, 8, 9, 21, 23, 24, 25, 26, 27, 28); XMV(1, 2, 3, 10) Condenser XMV(11) Recycle compressor XMEAS(20); XMV(5) Separator XMEAS(10, 11, 12, 13, 14, 22, 29, 30, 31, 32, 33, 34, 35, 36); XMV(6, 7) stripper XMEAS(15, 16, 17, 18, 19, 37, 38, 39, 40, 41; XMV(4, 8, 9) 表 9 TEP中每个操作单元的变量
Table 9. The variables of each operation unit in TEP
Block Process variables 1 XMEAS(1, 2, 3, 4, 5, 6, 7, 8, 9, 21, 23, 24, 25, 26, 27, 28); XMV(1, 2, 3, 10) 2 XMV(5, 11); XMEAS(20) 3 XMEAS(10, 11, 12, 13, 14, 22, 29, 30, 31, 32, 33, 34, 35, 36); XMV(6, 7) 4 XMEAS(15, 16, 17, 18, 19, 37, 38, 39, 40, 41); XMV(4, 8, 9) 表 10 TEP分块结果
Table 10. Block division result of TEP
表11比较了了MBCVIB和其他方法在TEP基准上的故障诊断准确度。与其他方法相比,MBCVIB在正常类以及故障8、故障10、故障11、故障16上的精度提升明显。此外,MBCVIB的总体平均精度最高,达到0.955。以上结果均说明了MBCVIB相比于其他方法在TEP过程上具有更好的故障诊断性能。
Fault SVM Stacked AE LSTM 2-D CNN MBCVIB Normal 0.428 0.330 0.243 0.414 0.942 1 1.000 0.997 1.000 1.000 0.997 2 0.996 0.997 0.995 0.995 0.990 4 1.000 0.996 0.858 0.319 1.000 5 1.000 0.992 0.855 0.223 0.996 6 1.000 1.000 0.975 1.000 1.000 7 1.000 1.000 0.967 1.000 1.000 8 0.406 0.530 0.535 0.738 0.813 10 0.269 0.272 0.073 0.426 0.887 11 0.1 0.460 0.538 0.876 0.982 12 0.690 0.640 0.697 0.817 0.942 13 0.877 0.916 0.939 0.917 0.939 14 1 1 0.999 0.999 1.000 16 0.347 0.384 0.292 0.364 0.955 17 0.876 0.899 0.867 0.841 0.941 18 0.932 0.933 0.935 0.931 0.949 19 0.620 0.444 0.670 0.887 0.947 20 0.70 0.835 0.618 0.694 0.910 Average 0.736 0.757 0.725 0.747 0.955 表 11 不同方法在TEP中的故障诊断准确率
Table 11. Fault diagnosis accuracy of different methods on TEP
为了探究VIB对特征的提取能力以及对故障诊断效果的影响,本文利用t分布随机领域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)方法[25]对所提出的模型以及不含VIB层的同一模型进行特征可视化实验,即可视化展示这两个模型在测试集中提取到的特征。通过t-SNE将测试数据中得到的特征缩减至二维后,特征可视化的结果如图5所示,其中x1,x2表示将特征在压缩后的两个维度。从图5(a)可以看出,缺少VIB层的模型所提取的特征分离度较差,并不能很好地区分属于故障0、故障10、故障16的特征。然而,含有VIB层的模型提取的特征能够很好地区分属于不同故障类型的特征如图5(b)所示。这也说明了根据信息瓶颈思想所提取的特征能够过滤掉全局特征中可能对故障诊断带来影响的冗余信息,只保留了和故障最相关的特征表示。因此,基于MBCVIB的故障诊断方法能提取到可视化分离度更高的特征。
TEP和CSTR实验均表明,MBCVIB与其他方法相比具有优越的故障诊断性能,可以提取有效的特征。这些结果说明了MBCVIB中对于动态特征提取的 “局部提取、全局整合”策略的有效性,以及利用信息瓶颈进一步提取故障相关信息的可行性。在MBCVIB中,局部动态特征是从不同操作单元中提取的。这样可以在密切相关的变量中提取详细的动态特征。局部特征拼接法整合局部特征以获得全局特征,使得子模型可以并行训练。其他方法则是同时考虑所有变量和动态特征之间的相关性,而不是从不同的操作单元中提取局部动态特征,这使得在特征提取过程中,过程数据的相关性更加复杂。因此,其他方法的特征不能像MBCVIB中的全局特征那样有效地反映过程的动态性质。另外,由于全局特征中整合了所有子块所提取到的特征,为了过滤冗余信息,只提取与故障特征最相关的信息,故引入信息瓶颈思想从全局特征中进一步提取与故障类别信息最相关的瓶颈特征,使得瓶颈特征与故障类别分布间的互信息最大,同时与全局特征互信息最小,过滤掉全局特征中存在的与故障诊断无关的信息,让所提出的模型能够更有效地对故障进行诊断。
-
本文提出了一种基于MBCVIB的多变量动态过程故障诊断方法。在多变量动态过程中,动态特征往往伴随着变量之间复杂的相关性,这给特征提取带来了困难。因此,在MBCVIB中采用了一种新颖的动态特征提取思想,即“局部提取、全局整合”。MBCVIB利用过程机理将属于同一操作单元的变量分配到相同子块中。利用1-D CNN从子块中提取局部动态特征,再利用局部特征拼接法整合所有的局部动态特征,得到全局动态特征,同时,这些1-D CNN子模型可以并行训练,再利用VIB从全局动态特征中过滤与故障诊断任务无关的冗余信息,进一步提取与故障类别信息最相关的瓶颈特征用于故障诊断。本文在TEP和CSTR数据集上验证了基于MBCVIB的故障诊断方法的性能。所提出的方法在TEP上实现了0.955的平均故障诊断准确率,在CSTR上实现了0.983的平均准确率。这些结果说明了所提出的方法的有效性,证明了所提出的方法在化工过程故障诊断中的潜力。
基于多块卷积变分信息瓶颈的多变量动态过程故障诊断
Multivariate Dynamic Process Fault Diagnosis Based on Multi-block Convolutional Variational Information Bottleneck
-
摘要: 针对多变量动态过程的故障诊断,采用局部提取、全局整合的特征提取策略,提出了一种多块卷积变分信息瓶颈算法(Multi-Block Convolutional Variational Information Bottleneck,MBCVIB)。首先,根据过程机理,对所有变量分块,将同一操作单元的变量划分为同一子块,再利用一维卷积神经网络(One-Dimensional Convolutional Neural Network,1-D CNN)提取过程中每个子块的局部特征,从而考虑样本间的时序相关性;然后,整合局部特征得到全局特征表示,在全局特征的基础上,根据变分信息瓶颈(Variational Information Bottleneck,VIB)原理进一步提取与故障最相关的信息;最后,采用连续搅拌釜反应器(Continuous Stirred Tank Reactor,CSTR)和田纳西伊士曼工艺过程(Tennessee Eastman Process,TEP)对模型的有效性进行了验证。结果显示本文算法在CSTR上实现了0.983的平均故障诊断准确率,在TEP上实现了0.955的平均故障诊断准确率。Abstract: A multi-block convolutional variational information bottleneck (MBCVIB) is proposed for the fault diagnosis of multivariate dynamic processes. MBCVIB adopts the feature extraction strategy of "local extraction and global integration". Firstly, according to the process mechanism, all variables are divided into sub-blocks. Variables in the same operation unit will be divided into the same block. Second, MBCVIB uses a one-dimensional convolutional neural network (1-D CNN) sliding with the time step to consider the adjacent time step samples to extract the local dynamic features of each operating unit in the process and then constructs a global feature representation by concatenating the local dynamic features of all operating units. Then, the information most relevant to the fault is further extracted using the variational information bottleneck (VIB) method. Finally, the model is validated using Continuous Stirred Tank Reactor (CSTR) and Tennessee Eastman Process (TEP).
-
表 1 CSTR故障描述
Table 1. Faults description in CSTR
Fault number Fault description 1 Bias in the sensor of the output temperature T 2 Bias in the sensor of the inlet temperature T0 3 Bias in inlet reactant concentration CAA 4 Drift in the sensor of CAA 5 Slow drift in reaction kinetics 6 Drift in E/R 7 Drift in Uac 8 Drift in CAA, CAS, FS, and T0 9 Step change in T0 表 2 CSTR故障诊断模型结构
Table 2. Detailed fault diagnosis model structures in CSTR
Model Structure Stacked AE Input(1×(9·10))-FC(30)-FC(20)-FC(10)-Softmax LSTM Input(9×10)-LSTM(50)-LSTM(50)-FC(30)-FC(10)-Softmax 2-D CNN Input(9×10)-Conv2D(64)-Conv2D(64)-Maxpool(2×2)-Conv2D(128)-FC(128)-FC(10)-Softmax MBCVIB Input(9×10)- (Conv(60)·2)·4-Concatenation- FC(100)×2-FC(100)-FC(10)-Softmax 表 3 CSTR故障诊断模型参数
Table 3. Detailed fault diagnosis model parameters in CSTR
Model Window width Activation function Convolutional kernel Learning rate Batch size Epoch Stacked AE 10 SELU − 1×10−3 24 20 LSTM 10 SELU − 1×10−3 24 20 2-D CNN 10 SELU 3×3 1×10−3 24 20 MBCVIB 10 SELU (Vb×3) 1×10−3 24 20 表 4 CSTR分块结果
Table 4. Block division result in CSTR
Block Process variables 1 T0, CAS, and FS 2 FA, CAA 3 FC, TC 4 CA, T 表 5 不同方法在CSTR上的故障诊断准确率
Table 5. Fault diagnosis accuracy of different methods on CSTR
Fault SVM Stacked AE LSTM 2-D CNN MBCVIB Normal 0.299 0.688 0.480 1.000 0.992 1 0.573 0.938 0.830 0.919 1.000 2 0.992 0.994 0.992 0.992 0.994 3 0.998 0.993 0.977 0.996 0.997 4 0.525 0.710 0.931 0.850 0.876 5 0.973 0.973 0.984 0.983 0.995 6 0.912 0.958 0.956 0.968 0.998 7 0.811 0.938 0.932 0.965 0.985 8 0.994 0.994 0.989 0.994 0.998 9 0.945 0.961 0.988 0.960 1.000 Average 0.802 0.915 0.906 0.963 0.983 表 6 TE实验时延数据维度
Table 6. Time-delay data dimension of TEP
Status index Training Testing Normal 481×(52×20) 981×(52×20) Fault 1~5, 7~20 461×(52×20) 781×(52×20) Fault 6 121×(52×20) 121×(52×20) 表 7 TEP故障诊断模型结构
Table 7. Detailed fault diagnosis model structures in TEP
Model Structure Stacked AE Input((1×(52·20))-FC(500)-FC(250)-FC(18)-Softmax LSTM Input(52×20)-LSTM(128)-LSTM(128)-FC(128)-FC(64)-FC(18)-Softmax 2-D CNN Input(52×20)-Conv2D(64)-Conv2D(256)-Maxpool(2×2)-Conv2D(128)-Maxpool(2×2)-FC(384)-FC(18)-Softmax MBCVIB Input(52×20)- (Conv(60)·6)×4-Concatenation-FC(100)×2 -FC(100)-FC(18)-Softmax 表 8 TEP故障诊断模型参数
Table 8. Detailed fault diagnosis model parameters in TEP
Model Window width Activation function Convolutional kernel Learning rate Batch size Epoch Stacked AE 20 SELU − ${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 LSTM 20 SELU − ${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 2-D CNN 20 SELU 3×3 ${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 MBCVIB 20 SELU ( ${V_b}$ ×3)${\rm{1}} \times {\rm{1}}{{\rm{0}}^{ - 3}}$ 24 20 表 9 TEP中每个操作单元的变量
Table 9. The variables of each operation unit in TEP
Operation unit Process variables Reactor XMEAS(1, 2, 3, 4, 5, 6, 7, 8, 9, 21, 23, 24, 25, 26, 27, 28); XMV(1, 2, 3, 10) Condenser XMV(11) Recycle compressor XMEAS(20); XMV(5) Separator XMEAS(10, 11, 12, 13, 14, 22, 29, 30, 31, 32, 33, 34, 35, 36); XMV(6, 7) stripper XMEAS(15, 16, 17, 18, 19, 37, 38, 39, 40, 41; XMV(4, 8, 9) 表 10 TEP分块结果
Table 10. Block division result of TEP
Block Process variables 1 XMEAS(1, 2, 3, 4, 5, 6, 7, 8, 9, 21, 23, 24, 25, 26, 27, 28); XMV(1, 2, 3, 10) 2 XMV(5, 11); XMEAS(20) 3 XMEAS(10, 11, 12, 13, 14, 22, 29, 30, 31, 32, 33, 34, 35, 36); XMV(6, 7) 4 XMEAS(15, 16, 17, 18, 19, 37, 38, 39, 40, 41); XMV(4, 8, 9) 表 11 不同方法在TEP中的故障诊断准确率
Table 11. Fault diagnosis accuracy of different methods on TEP
Fault SVM Stacked AE LSTM 2-D CNN MBCVIB Normal 0.428 0.330 0.243 0.414 0.942 1 1.000 0.997 1.000 1.000 0.997 2 0.996 0.997 0.995 0.995 0.990 4 1.000 0.996 0.858 0.319 1.000 5 1.000 0.992 0.855 0.223 0.996 6 1.000 1.000 0.975 1.000 1.000 7 1.000 1.000 0.967 1.000 1.000 8 0.406 0.530 0.535 0.738 0.813 10 0.269 0.272 0.073 0.426 0.887 11 0.1 0.460 0.538 0.876 0.982 12 0.690 0.640 0.697 0.817 0.942 13 0.877 0.916 0.939 0.917 0.939 14 1 1 0.999 0.999 1.000 16 0.347 0.384 0.292 0.364 0.955 17 0.876 0.899 0.867 0.841 0.941 18 0.932 0.933 0.935 0.931 0.949 19 0.620 0.444 0.670 0.887 0.947 20 0.70 0.835 0.618 0.694 0.910 Average 0.736 0.757 0.725 0.747 0.955 -
[1] 薛敏, 杨健, 谭帅, 等. 基于多数据结构的集成质量监控方法[J]. 华东理工大学学报(自然科学版), 2019, 45(6): 938-945.
[2] 吕铮, 杨健, 侍洪波, 等. 基于T-TSNPR的动态过程质量监控[J]. 华东理工大学学报(自然科学版), 2019, 45(6): 946-953.
[3] YANG J, LYU Z, SHI H, et al. Performance monitoring method based on balanced partial least square and statistics pattern analysis[J]. ISA Transactions, 2018, 81: 121-131. doi: 10.1016/j.isatra.2018.07.038 [4] TAO Y, SHI H B, SONG B, et al. Parallel quality-related dynamic principal component regression method for chemical process monitoring[J]. Journal of Process Control, 2019, 73: 33-45. doi: 10.1016/j.jprocont.2018.08.009 [5] AMIN M T, IMTIAZ S, KHAN F. Process system fault detection and diagnosis using a hybrid technique[J]. Chemical Engineering Science, 2018, 189: 191-211. doi: 10.1016/j.ces.2018.05.045 [6] ZHANG Y. Fault detection and diagnosis of nonlinear processes using improved kernel independent component analysis (KICA) and support vector machine (SVM)[J]. Industrial & Engineering Chemistry Research, 2008, 47(18): 6961-6971. [7] RATO T, RESI M, SCHMITT E, et al. A systematic comparison of PCA‐based Statistical Process Monitoring methods for high‐dimensional, time‐dependent Processes[J]. AIChE Journal, 2016, 62(5): 1478-1493. doi: 10.1002/aic.15062 [8] ZHU Z B, SONG Z H, Fault diagnosis based on imbalance modified kernel Fisher discriminant analysis[J]. Chemical Engineering Research & Design, 2010, 88(8): 936-951. [9] YIN G, ZHANG Y T, LI Z N, et al. Online fault diagnosis method based on Incremental support vector data description and extreme learning machine with incremental output structure[J]. Neurocomputing, 2014, 128: 224-231. doi: 10.1016/j.neucom.2013.01.061 [10] 张祥, 崔哲, 董玉玺, 等. 基于VAE-DBN的故障分类方法在化工过程中的应用[J]. 过程工程学报, 2018, 18(3): 590-594.
[11] 王翔, 任佳. 基于多注意力机制的深度神经网络故障诊断算法[J]. 浙江理工大学学报(自然科学版), 2020, 43(2): 224-231.
[12] 王翔, 柯飂挺, 任佳. 样本重构多尺度孪生卷积网络的化工过程故障检测[J]. 仪器仪表学报, 2019, 40(11): 184-191.
[13] ZHU J Z, SHI H B, SONG B, et al. Deep neural network based recursive feature learning for nonlinear dynamic process monitoring[J]. The Canadian Journal of Chemical and Engineering, 2020, 98(4): 919-933. doi: 10.1002/cjce.23669 [14] ZHANG Z H, JIANG T, ZhAn C J, et al. Gaussian feature learning based on variational autoencoder for improving nonlinear process monitoring[J]. Journal of Process Control, 2019, 75: 136-155. doi: 10.1016/j.jprocont.2019.01.008 [15] 于志强, 余正涛, 黄于欣, 等. 基于变分信息瓶颈的半监督神经机器翻译[J/OL]. 自动化学报, 2020, 46(x): 1-12. https://doi.org/10.16383/j.aas.c190477.
[16] ALEMI A, FISCHER I, JOSHUA, DILLON V, et al. Deep variational information bottleneck[EB/OL]. arX-iv, (2016-12-01), [2020-10-21]. arXiv: 1612.00410. [17] WU H, ZHAO J. Deep convolutional neural network model based chemical process fault diagnosis[J]. Computers & Chemical Engineering, 2018, 115: 185-197. [18] CHEN S M, YU J B, WANG S J. One-dimensional convolutional auto-encoder-based feature learning for fault diagnosis of multivariate processes[J]. Journal of Process Control, 2020, 87: 54-67. doi: 10.1016/j.jprocont.2020.01.004 [19] YIN J, YAN X F. Mutual information−dynamic stacked sparse autoencoders for fault detection[J]. Industrial & Engineering Chemistry Research, 2019, 58: 21614-21624. [20] TISHBY N, ZASLAVSKY N. Deep learning and the information bottleneck principle[C]// IEEE Information Theory Workshop (ITW). Jerusalem: IEEE, 2015: 1-5. [21] ALCALA C F, QIN S J. Reconstruction-based contribution for process monitoring[J]. Automatica, 2009, 45(7): 1593-1600. doi: 10.1016/j.automatica.2009.02.027 [22] 杨健, 宋冰, 谭帅, 等. 时序约束NPE算法在化工过程故障检测中的应用[J]. 化工学报, 2016, 67(12): 5131-5139.
[23] ZHANG Z, ZHAO J S. A deep belief network based fault diagnosis model for complex chemical processes[J]. Computers & Chemical Engineering, 2017, 107: 395-407. [24] CHIANG L H, RUSSELL E L, BRAATZ R D, Fault detection and diagnosis in industrial systems[M]. London: Springer, 2001. [25] HINTON G E. Visualizing high-dimensional data using t-SNE[J]. Journal of Machine Learning Research, 2008, 9(2): 2579-2605. -