APP下载

基于DSC-BiGRU的化工过程故障诊断

2022-11-03于桂仙刘彦俏吴东升

沈阳理工大学学报 2022年5期
关键词:化工故障诊断卷积

杨 青,于桂仙,刘彦俏,吴东升

(沈阳理工大学 自动化与电气工程学院,沈阳 110159)

随着现代化工过程对更高生产率和产品质量的需求增加,故障诊断成为现代化工安全运行不可或缺的一部分。深度学习是一种可以对数据的内在特征进行学习的方法,其通过多层神经网络对数据进行解释,并随着网络层数的加深,可提取复杂数据的高级别特征[1]。

在化工过程中,由于过程数据通常以其固有的时间序列为特征,故障诊断模型可以提取随时间变化的状态偏差,以检测和区分故障。Zhang Z等[2]提出了一种基于可扩展深度置信网络(Deep Belief Network,DBN)的故障诊断模型,在互信息技术的辅助下,利用DBN子网络提取故障的时空特征,训练一个全局两层反向传播网络,并将其用于故障分类。Wu H等[3]将二维数据矩阵视为图像,提出了一种深度卷积神经网络(Deep Convolutional Neural Network,DCNN)模型。Lomov I等[4]提出了一种新型时间卷积网络(Temporal Convolutional Network,TCN)。He Y等[5]提出了多块时间卷积网络(Multiblock Temporal Convolutional Network,MBTCN),用于多变量过程的有监督故障诊断,MBTCN采用了“局部提取和全局整合”的新思想,考虑了多元过程数据的相互关系和时间相关性。

在各种类型的人工神经网络中,循环神经网络(Recurrent Neural Networks,RNN)在提取时变特征方面表现出色,而常规的单向RNN仅在正时间方向上进行,特征提取不足,故障诊断性能较差。为有效解决这一问题,Yuan J等[6]提出了基于门控循环单元(Gate Recurrent Unit,GRU)网络的故障诊断方法。Zhang Q等[7]提出了一种基于堆叠式长短期记忆(Long Short-Term Memory,LSTM)神经网络的深度学习方法,该方法充分利用原始数据中的长期依赖信息,自适应提取具有代表性的特征,有效地对序列数据进行建模并检测异常值,进而进行化工过程故障诊断。Han Y等[8]提出了一种基于优化的LSTM网络的化工过程故障诊断模型,增加了基于LSTM网络的迭代法确定最优隐含层节点数的环节,并对LSTM进行优化,以获得较高的化工过程故障诊断准确率。张敬川等[9]提出了一种LSTM网络与降噪自编码器(Denoising Auto-Encoder,DAE)相结合的LSTM-DAE化工故障诊断方法,结合了DAE与LSTM 的优点,确保了编码特征获取的有效性。Zhang S等[10]利用双向递归神经网络(Bidirectional RNN,BiRNN)从正反两个方向处理时间序列,取得了良好的故障诊断效果。

针对化工过程中特征不明显的微小故障仍无法准确分类问题,本文提出一种深度可分离卷积(Depthwise Separable Convolution,DSC)和双向门控循环单元(Bi-directional GRU,BiGRU)相结合的DSC-BiGRU故障诊断方法。该集合型方法将深度可分离卷积和双向门控循环单元相结合,通过时空两个角度提取特征,进行故障诊断。该方法首先对数据进行归一化处理并输入DSC网络提取空域特征,将数据降维;其次将DSC的输出作为BiGRU的输入,BiGRU从两个方向提取时域特征;最后通过全连接层(Fully Connected Layers,FC)完成故障诊断。

1 理论基础

1.1 深度可分离卷积

DSC结构[11]如图1所示。与普通卷积相比,DSC的参数更少。在深度学习中,DSC将执行一个空间卷积,同时保持通道独立,然后进行深度卷积操作。

图1 DSC结构图

由图1可见,DSC首先进行逐通道卷积,一个通道数为m的数据,卷积核大小为k×k,该部分参数有k×k×m个;再经过逐点卷积,卷积核的尺寸为1×1,若生成n个特征图,那么逐点卷积的参数为m×1×1×n个,DSC参数共有k×k×m+m×1×1×n个,而普通卷积参数为k×k×m×n个[12],可见DSC可节省大量的训练时间。

1.2 GRU

RNN能学习数据中的时序特性。GRU与LSTM都是RNN的变体。与LSTM相比,GRU将LSTM的遗忘门和输入门合并在一起,构成一个更新门,通过更新门对上一时间步的信息进行控制,同时更新门也能控制当下时间步隐藏层的信息传递过程。GRU的控制只采用一个参数,复杂度较低,训练的速度较LSTM更快。GRU结构[13]如图2所示。

图2 GRU结构图

计算公式及运算步骤如下。

zt=σ(Wz·[ht-1,xt])

(1)

rt=σ(Wr·[ht-1,xt])

(2)

(3)

(4)

第1步:更新门zt

将t时刻的输入xt与t-1时刻的信息拼接,乘以权重Wz进行线性变换,经过Sigmoid激活函数σ进行激活,将zt的数值变为0~1。

第2步:重置门rt

rt可以决定过去信息的遗忘情况,其计算同zt,乘以权重Wr进行线性变换。

1.3 BiGRU

BiGRU不同于GRU,GRU是单向读取数据,而BiGRU可以从正反两个方向对数据进行读取。单向GRU仅在正时间方向上进行,特征提取不足。添加一个反向GRU,BiGRU可以方便感知所有时间点上的变量偏差,最后的输出是将正反读取到的结果进行求和。BiGRU结构[14]如图3所示,其中x0、x1、x2、xt为输入数据,y0、y1、y2、yt为对应输出数据。

图3 BiGRU结构图

2 具体方法

2.1 DSC-BiGRU架构

图4为DSC-BiGRU模型架构。

图4 DSC-BiGRU模型架构

由图4可见,DSC-BiGRU模型由三个DSC和两个池化层、一个BiGRU以及一个FC构成。三个DSC层的作用是提取故障数据在空间域上的特征,两个池化层作用是压缩特征,BiGRU的作用是提取故障数据在时间域上的特征,FC的作用是对故障进行分类,求得诊断结果。DSC-BiGRU集合型方法通过将DSC和BiGRU相结合实现了从空域和时域两个角度全面提取故障特征,可解决化工过程数据具有动态时序性以及少数故障特征不明显、难以进行故障诊断问题。

2.2 基于DSC-BiGRU集合型故障诊断方法流程

DSC-BiGRU集合型故障诊断方法流程如图5所示。

图5 DSC-BiGRU流程图

算法实现步骤如下。

第1步: 首先将原始故障数据分成训练集和测试集,并为其加上标签;对其进行标准归一化预处理并转换数据格式,便于输入DSC-BiGRU模型。

第2步:将处理好的训练样本送入DSC-BiGRU模型。首先将处理后的数据输入到第DSC1层中提取空间上的特征,激活函数选取非线性函数ReLU,通过最大池化的方式压缩特征;之后将得到的特征送入DSC2层中,激活函数和池化方式的选取同上;再将提取到的特征送入DSC3层中,激活函数仍然采取ReLU;将DSC3层提取到的特征送入BiGRU中,通过BiGRU独有的记忆功能提取数据在时间域上的特征,实现从时间和空间两个角度全面提取特征的功能;最后将BiGRU的输出送入FC中。

第3步:数据在一层又一层的前向传播过程中导致信息有一定损耗,致使预测值和实际值不同,出现偏差,这时网络会进行反向传播,计算每一层产生的偏差占总偏差的比例,依据比例调节每一层的参数,整个反向传播过程结束后,再继续进行前向传播,通过损失反向传播不断地更新参数,将损失降到最低。在模型进行反向传播的过程中引入了自适应矩估计(Adaptive Momentum Estimation,Adam)算法,加快模型找到最优参数的速度,减小损失,使模型收敛。

第4步:将处理好的测试集送入训练后的模型中,进行故障诊断。

3 实验

为验证本文提出的故障诊断方法的有效性,将DSC-BiGRU方法应用于TE过程的故障诊断,并进行对比实验研究。

3.1 TE数据集

TE仿真系统模型网址为:http://depts.washington.edu/control/LARRY/TE/download.html.

TE过程工艺流程如图6所示,其中包括反应器、冷凝器、压缩机、分离器和汽提塔五大单元。

图6 TE过程流程图

TE过程有四种反应物A、C、D、E及两种产物G、H,具有一种惰性成分B和一种副产物F。该过程共有53个变量,其中3个变量的数值保持不变,41个是过程变量,12个是操纵变量。化学反应过程表示如下(g代表气体,l代表液体)。

A(g)+C(g)+D(g)→G(l)

A(g)+C(g)+E(g)→H(l)

A(g)+E(g)→F(l)

3D(g)→2F(l)

TE过程共计28类故障,本文通过TE仿真模型进行故障数据的采集,从中选取12类故障进行实验,所选12种故障类型及设置的标签号如表1所示。

表1 TE过程故障类型

在正常情况下,运行模型10h后引入故障,模型共运行610h,采集各类故障数据12000条,从每一类故障中取7200条作为训练集,取1800条作为测试集,同时去掉3个数值恒定的变量。此时,训练集的样本矩阵为7200×12×50,测试集的样本矩阵为1800×12×50,将其进行标准归一化处理。

3.2 实验研究

本实验采用Pytorch框架,Python版本为3.6.5,操作系统为Windows10。DSC-BiGRU集合型方法在TE数据上的训练集、测试集故障诊断准确率曲线如图7所示。

图7 DSC-BiGRU训练和测试准确率曲线

由图7可见,DSC-BiGRU在训练集上的准确率可达到99%,在测试集上的准确率为97.2%。混淆矩阵如图8所示,其中x轴为预测类别,y轴为真实类别。

图8 DSC-BiGRU模型混淆矩阵

由图8可见,在12种故障中,DSC-BiGRU模型对标签为7和9的故障区分不开,即对故障12和故障15的分类效果不佳,但对其他10种故障分类效果较好。

反向传播(Back Propagation,BP)模型和支持向量机(Support Vector Machine,SVM)模型的混淆矩阵如图9和图10所示。

图9 BP模型混淆矩阵

图10 SVM模型混淆矩阵

由图9和图10可见,BP和SVM故障诊断效果相近,对标签为5、6、7、8、9的故障均有不同程度的错分,其中标签为6、7、9的故障错分最为严重。DSC-BiGRU模型对标签为7和9的故障区分效果不理想,但其他10种故障分类效果都比BP、SVM模型分类效果好。对比实验表明,DSC-BiGRU模型可以深度提取故障特征,解决了少数故障特征不明显、难以进行诊断的问题。

4 结论

提出了一种基于DSC-BiGRU集合型化工过程故障诊断方法。首先通过DSC提取空域特征,同时将数据降维;其次将DSC的输出作为BiGRU的输入,通过BiGRU从两个方向提取时域特征;最后通过FC进行故障诊断。该方法在TE过程上进行了实验验证。实验结果表明,所提出的方法有助于解决化工过程数据具有动态时序性以及少数故障因特征不明显、难以诊断的问题,能够提高化工过程故障诊断的准确率。

猜你喜欢

化工故障诊断卷积
《化工管理》征稿简则
《化工管理》征稿简则
《化工管理》征稿简则
《化工管理》征稿简则
比亚迪秦EV充电系统故障诊断与排除
基于包络解调原理的低转速滚动轴承故障诊断
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
数控机床电气系统的故障诊断与维修