基于深度学习的化工过程故障检测与诊断研究综述

2022-05-17 08:35宇程硕王靖涛
化学工业与工程 2022年2期
关键词:化工故障诊断深度

鲍 宇程 硕王靖涛

(天津大学化工学院,天津 300350)

随着现代化工工业的快速发展,化工过程的自动化和复杂化程度越来越高。大规模工业过程为国家带来巨大经济效益的同时,由于系统的高度耦合性和复杂性,系统内任何微小干扰都可能导致整个系统瘫痪,进而造成巨大的经济损失甚至人员伤亡。因此,故障检测与诊断技术对于所有化工过程是必不可少的,是化工过程能够按生产计划可靠并安全运行的保障。

在化工系统中,故障表现在过程的监控参数偏离预期的范围。根据已有的研究,将故障检测与诊断技术分为3 大类:基于模型的方法、基于知识的方法和基于数据的方法。但是,基于模型和知识的方法受限于建模困难和知识积累的困难,无法被应用于动态复杂的化工过程系统[1]。随着分布式控制、通讯技术和数据收集技术的迅速发展,系统中的观测变量能够被大量收集和储存,这促进了学者对基于数据的故障检测与诊断方法的研究。

基于数据的故障检测与诊断方法能够对海量的工业数据进行统计分析和特征提取,将系统的状态分为正常运行状态和故障状态,可视为模式识别任务。故障检测是判断系统是否处于预期的正常运行状态,判断系统是否发生异常故障,相当于一个二分类任务。故障诊断是在确定发生故障的时候判断系统处于哪一种故障状态,相当于一个多分类任务。因此,故障检测和诊断技术的研究类似于模式识别,分为4个的步骤:数据获取、特征提取、特征选择和特征分类。1)数据获取步骤是从过程系统收集可能影响过程状态的信号,包括温度、流量等过程变量;2)特征提取步骤是将采集的原始信号映射为有辨识度的系统状态信息;3)特征选择步骤是将与状态变化相关的变量提取出来;4)特征分类步骤是通过算法将前几步中选择的特征进行故障检测与诊断。在大数据这一背景下,传统的基于数据的故障检测与诊断方法被广泛应用,但是,这些方法有一些共同的缺点:特征提取需要大量的专家知识和信号处理技术,并且对于不同的任务,没有统一的程序来完成。此外,常规的基于机器学习的方法结构较浅,在提取信号的高维非线性关系方面能力有限。

随着计算机技术的快速发展,尤其是计算能力的提高,深度学习受到越来越多的关注。深度学习源自于对人工神经网络的研究,与浅层神经网络对比,深度学习的“深度”体现在网络结构上,深度学习通过搭建更深层的结构、可扩展的隐藏单元和非线性激活函数,能够对复杂的数据进行建模,挖掘数据中隐藏特征。学习到的特征通常是逐层加深的,高层的特征比低层的特征更加抽象,具有更强的特征表达能力。目前,深度学习在计算机视觉[2,3]、自然语言处理[4,5]和目标检测[6,7]等领域应用广泛。在化工过程的故障检测与诊断领域,基于自动编码器(autoencoder,AE)、深度置信网络(deep belief network,DBN)、卷积神经网络(convolutional neural network,CNN)和循环神经网络(recurrent neural networks,RNN)的深度学习方法被广泛应用。深度学习的优势在于它可以自动的进行特征工程,整个过程无需人工干预,减轻了特征提取对于专业知识的依赖。此外,深度学习模型学习到的特征是逐层加深的,更深层的特征在用于预测、检测和分类任务时性能更好。并且,深度学习能够通过以端到端的形式学习,这意味着模型不限定于具体的某个任务,因此,可以通过微调网络结构和参数来适应不同的任务,也就是说,深度学习很容易适应新问题,具有更高的鲁棒性。

目前,深度学习技术在各个领域的故障检测与诊断任务取得了不错的成果,例如轴承[8-10]、齿轮[11,12]、泵[13,14]和空调系统[15]等。在化工过程故障检测与诊断领域,深度学习技术在2016年开始受到关注,最初的研究大部分是关于如何将深度学习和化工过程安全的结合。随着学者们对该领域的深入研究,最近几年的研究集中于针对工业过程存在的问题,采用改进的算法实现更好的故障诊断与检测。据笔者调研,目前还没有一个基于深度学习方法在化工过程故障检测与诊断的全方位调查。本论文从不同的深度学习方法角度出发,综述了最近5年深度学习在化工过程的故障检测与诊断领域的研究进展,旨在为深度学习在该领域的应用提供启示,希望它能够促进更多人提出更加宝贵的意见。

本论文的安排如下,第1 部分介绍了基于深度学习的化工过程故障检测与诊断流程以及学者们验证算法性能的数据集;第2 部分介绍了4 种常见的深度学习架构及其变体,以及基于这些方法的研究进展;第3 部分提出了该领域面临的挑战和机遇;第4 部分总结了全文。

1 检测与诊断流程及数据集

1.1 检测与诊断流程

与传统的基于数据的故障检测与诊断方法不同,深度学习具有表达数据高级特征的能力,将数据作为影响结果的唯一因素,无需多余的数据预处理工作。本论文根据深度学习在故障检测与诊断过程中的不同作用,将基于深度学习的方法分为以下2 种模式,如图1所示。

图1 基于深度学习的故障检测与诊断方法框架Fig.1 The framework of fault detection and diagnosis method based on deep learning

1.1.1 分离学习模式

数据获取—深度学习特征提取—分类器—检测与诊断结果。

采用无监督深度学习方法对化工过程数据进行特征提取,并结合各种分类器对提取的特征进行分类,实现故障检测与诊断。该种方法能够充分发挥深度学习的特征提取能力,在这种模式中,一般采用无监督学习的方式进行,因此,分离学习模式对于缺少故障状态数据或标签数据的检测任务具有一定的优势。

1.1.2 端到端的学习模式

数据获取—基于深度学习端到端的分类器—检测与诊断结果。

与分离学习模式不同,端到端的学习模式将特征提取与故障识别融为一体,大大降低了模型对于专业知识的依赖。并且,这种学习模型提供了一个通用框架,在跨系统或跨领域应用时具有不错的泛化能力。

1.2 数据集介绍

数据是深度学习方法的基础,建立一个符合实际情况的故障诊断模型首先需要具有实际代表性的化工过程数据。由于采集大量的工业数据需要很长时间,并且目前的数据共享问题一直无法解决,获得实际的工业过程数据并非易事。因此,学者们采用模拟的方式获得化工过程数据,加入不同的干扰以模仿实际工业中可能出现的故障类型。根据现有的研究,用于测试不同算法性能的数据集主要有非等温连续搅拌釜反应器(continuous stirred tank reactor,CSTR)过程数据、田纳西伊斯曼(Tennessee Eastman,TE)过程数据和其他模拟数据,具体介绍如下。

CSTR 过程是研究化工过程故障检测与诊断研究的一个基准过程[16],该过程涉及到混合传热和反应热,能够模拟正常条件和故障条件下的数据。反应器作为化工流程最重要的一部分,许多文献对CSTR 过程进行了故障检测与诊断研究[17-19]。TE数据是一个公开的化工过程数据集,其过程是通过计算机程序模拟仿真得来。1993年,美国田纳西州的伊斯曼化学公司提出了TE 过程[20]。此后,Bathelt 等[21]针对TE 过程模拟可重复性问题对其进行了改进和优化,添加了新的故障和监测变量。TE 过程具有很强的非线性、时变性和耦合性,和实际过程非常接近。目前,TE 过程已经成为了测试工业过程故障检测和诊断的代表性过程,大量的文献将其作为数据源研究化工过程故障诊断技术[22-24],它对过程控制以及故障检测与诊断的研究起到了非常大的促进作用。还有很多相关的研究是基于实验室模拟的数据[25,26]和合作的真实工业的数据[27],由于保密协议等原因,具体的细节并未披露。

2 深度学习在化工过程的故障检测与诊断的研究进展

根据不同方法在应用时是否需要标签,将AE、DBN、CNN 和RNN4 种深度方法分为监督学习方法和无监督学习方法,如图2所示。当拥有足够的数据和标签时,通常采用基于监督学习的方法,在这种情况下,通过训练出性能足够优秀的模型便可分离正常数据与各故障数据,实现故障检测与诊断;当数据标签不够或难以获得时,通常采用基于无监督学习的方法,无监督学习能够在未知标签的情况下对数据进行高维的特征表示。对于故障检测任务,通常对正常条件运行的数据进行建模,试图将偏离正常状态的情况分离开来。对于故障诊断任务,无监督学习用于特征表示,以无监督训练的方式表达数据信息,并通过有监督训练完成对故障的分类。这里我们指出,AE 和DBN 后可添加分类层实现无监督训练和有监督微调,根据方法在模型中的作用,我们将其划分为无监督学习范畴。

图2 深度学习方法分类Fig.2 Classification of deep learning methods

2.1 基于AE 的方法

AE 是一种无监督学习算法,它能够在没有标签的情况下对数据进行特征提取。如图3所示,自动编码器由编码器和解码器2 部分组成。编码器将输入数据压缩至神经元数量更少的隐藏层中,解码器将隐藏层的特征进行重构。自动编码器通过最小化平均误差实现输出和输入保持一致,由于隐藏层的神经元数量较少,迫使自动编码器在隐藏层必须保留具有代表性和抽象的数据特征,实现对数据的特征表示。基于自动编码器的变体主要有以下2种:1)稀疏自动编码器(sparse autoencoder,SAE):SAE 是基于AE 的更深层的结构,SAE 通过对隐藏层的神经元进行稀疏性限制,抑制某些神经元获得更加稀疏的特征表示。具体来说,SAE 在损失函数中增加了一个稀疏成本项,使得每一层的神经元大部分都为0,只有少部分为1(0 代表抑制,1 代表激活)。SAE 可以在隐藏层神经元数量较多的情况下得到数据的深层特征,更加有效的完成对输入数据的特征表示。2)降噪自动编码器(denoising autoencoder,DAE):DAE 可以重构受损的输入数据。DAE 通过以一定的概率分布将输入数据随机设置为0,以丢失数据后的数据作为输入数据进行特征提取,得到的特征表示可以避免数据中存在的噪声,提高模型的鲁棒性。

图3 自动编码器的结构Fig.3 Architecture of autoencoder

基于AE 的化工过程的故障检测与诊断方法具有以下优势:1)实际工业中含有标签的数据较少,为数据标记是一项非常耗时的工作。基于AE 的方法能够以无监督学习的方式进行数据的特征表示。2)基于AE 的网络结构简单,逐层的训练方式有助于提取高阶的非线性特征,具有强大的特征提取能力。并且,堆叠多层的AE 可以自由地选择提取特征的维度。

由于AE 采用无监督学习的方式进行训练,所以单纯的基于AE 的方法无法作为分类器来应用。可通过AE 进行特征提取,然后在模型后添加softmax 层或支持向量机(Support Vector Machine,SVM)等分类器实现故障检测与诊断。文献[28,29]将SAE 所提取的特征输入至softmax 层以监督学习的方式微调结构参数,实现故障检测与诊断。针对复杂化工过程的时域和频域特征,Lv[30]结合了堆叠稀疏自动编码器(stacked sparse autoencoder,SSAE)和SVM 分类器,采用SSAE 提取监测变量间的相关性和样本之间的时间相关性,然后采用SVM 分类器用于故障分类。在TE 过程验证了该方法在早期的故障检测和故障分类任务中优于随机森林、SVM 等传统方法。Guo 等[31]提出了一种基于SAE 的故障检测与诊断方法,该方法能够提取不完整数据的完整特征表示,在低维空间保留数据的主要特征,并通过SVM 分类器实现故障诊断。

基于AE+分类器的模式可结合无监督训练和有监督微调实现故障诊断。而基于AE 的故障检测可通过AE 或AE 的变体结构对原始数据进行特征表示,构建统计量并设置阈值判断系统的健康状态。Yan 等[32]采用DAE 提取工业数据的非线性特征并构造测试统计量H2和SPE 构建在线监控模型,在TE 过程中验证了方法具有优异的故障检测能力,并且能够检测到一些很难检测的故障。考虑了过程数据的动态时序性,文献[33,34]采用互信息衡量变量之间的相关性,保留与故障相关的关键特征,然后通过SSAE 挖掘数据的高维和稀疏的特征空间,构造T2和Q统计量实现故障检测,在TE 数据集中验证了所提出方法能够减少故障检测的延迟和提高故障检测率。

此外,研究人员旨在开发结合AE 和其他算法结合的混合诊断模型。Zhang 等[35]提出了一种基于堆叠降噪自动编码器(SDAE)和KNN 的故障监控模型,采用SDAE 从复杂的非线性数据中提取重要特征,然后通过KNN 构造特征空间和残差空间的统计量FD2和RD2实现过程监控。Zhang 等[36]利用变分自动编码器提取监控数据的特征,DBN 根据学习的特征进行健康状态识别,该方法有效地提高了故障分类精度。Zheng 等[27]采用卷积SAE 提取多变量工业数据的高级特征,采用t-SNE 技术对特征进行可视化,最后通过聚类获得特征挖掘结果,实现了对未标签数据的标记。Lee 等[37]提出了一种改进的AE 算法-高斯混合先验变分自动编码器(GMPVAE),由于GMM 的引入,该方法能够更加有效的捕捉有用的信息,并且避免了信息丢失问题。Yang 等[38]提出了并行的SAE 方法,在TE 过程和氨合成厂的实际工业过程中证明了该方法适用于数据规模大、计算量大的工业数据。Li 等[39]结合了PCA 和SAE,实现了线性和非线性共存的工业过程的故障检测。Jiang 等[40]提出了一种基于SAE 的半监督故障分类方法,在标签数据有限的情况下实现了对动态化工过程的故障分类。Wang 等[41]将SAE的输出层设置为预测故障类别,实现的基于SAE 的监督学习故障诊断方法,所提出方法解决了传统的SAE 无法剔除与故障类型不相关的数据特征。受AE 的启发,Yu 等[42]在编码和解码部分采用了卷积长短记忆网络提取数据的有效特征,减少了训练过程中的梯度消失和梯度爆炸问题。Li 等[43]提出了一种基于AE 的多模型特征融合故障诊断方法,采用了最小冗余-最大相关法选择与每种故障最相关的变量,然后通过SAE 提取数据特征并构建残差矩阵,最终输入至分类器中实现故障分类,但是,该种方法仅能处理单一操作条件下的故障诊断任务,目前无法应用于多模型的过程监控。

2.2 基于DBN 的方法

DBN 是一种概率生成模型,它的作用类似于自动编码器,可以在无监督学习的过程中对输入数据进行高维特征表示,并且,DBN 可以在最后加上分类层对数据进行有监督训练,实现分类算法。如图4所示,DBN 由多个限制玻尔兹曼机(restricted Boltzmann machine,RBM)单元组成。每个RBM 单元由2 层结构组成,分别为可视层v和隐藏层h。RBM采用对比散度算法迭代更新权重矩阵和偏差矩阵,使得输入数据相对于结构参数对数似然性最大化。因此,RBM 的隐藏层能够作为输入数据的高级特征表示。多个RBM 链接形成DBN,其中,可视层v接收输入数据并编码后传给隐藏层h1,RBM-1 的输出层作为RBM-2 的输入层,以此类推。DBN 采用逐层贪婪的方式训练,并通过反向传播调整网络参数,使其适应目标任务[44]。当DBN 作为无监督学习提取数据高维特征时,最后1 个隐藏层(图4中h2)即为数据的高维特征表示;当DBN 作为有监督学习的分类器时,将最后1 个隐藏层连接分类器,实现分类。

图4 深度置信网络的结构Fig.4 Architecture of DBN

基于DBN 的化工过程故障检测与诊断方法具有以下优势:1)DBN 能够自动获取和过程状态相关且难以辨识的高阶信息,具有很好的特征表示性能;2)DBN 适用于化工工业数据中最常见的一维信号,通过无监督学习的方式将信号表示成概率模型,在样本数较少的时候实现故障检测与诊断;3)由于RBM 能够拟合所有的离散分布,因此DBN可以应用于样本分布不确定的复杂工业过程,能够解决其他方法中样本分布的限制性假设问题。

在故障检测与诊断领域,DBN 最初被应用与变量数较少的简单系统[45,46]。随着学者们对于DBN的深入研究,DBN 逐渐能够被应用于含有高维数据的化工过程中。与基于AE 的方法不同,基于DBN的方法通过预训练RBM 层自动学习特征,避免了BP 神经网络微调参数时的梯度消失问题。DBN 后通常添加softmax 层将学习的特征映射到输出空间,以端到端的形式实现故障检测与诊断。Zhang等[47]首次将DBN 引入到复杂化工过程的故障诊断任务,该方法首先通过互信息技术对数据进行变量选择,将变量的“价值性”进行排序寻找最优化变量,然后利用高斯激活函数的DBN 子网提取每个故障的特征,在TE 过程的20 个故障分类任务中平均准确率达到82.1%,并且对于难以检测的故障3 达到了95%的故障诊断率。为了提高诊断性能,越来越多的学者优化DBN 算法进行故障检测与诊断。Wang 等[48]通过DE 算法优化DBN 模型,优化后的方法训练速度更快、准确率更高并且更具鲁棒性。Wang 等[49]提出了一种扩展的深度信任网络(EDBN),该方法考虑到数据的动态信息,结合了原始数据和隐藏特征来解决DBN 倾向于丢失原始数据中有价值信息的问题。Wei 等[50]采用dropout 技术解决了传统的基于DBN 的故障诊断方法存在的过拟合问题,并且所提出的DBN-dropout 方法的故障诊断率高于DBN 和其他基于深度学习的方法。针对DBN 训练时存在的冗余性弱化了模型的特征表示能力,程换新等[51]通过对训练集的稀疏约束将无标签的数据特征更加直观的展示,在TE 仿真中证明了所提出方法优于DBN 和BP 神经网络。Yu 等[52]提出了一种基于不稳定神经元的DBN(UN-DBN)方法,该方法首先采用正常数据训练DBN 模型,然后通过整合某些样本中的不稳定神经元的隐藏层,获得有助于故障检测的特征表示。Tang 等[53]提出了一种基于DBN 的Fisher 判别稀疏表示方法,该方法在含有大量监测变量的工业过程的故障诊断性能优于SVM 和BP 神经网络等方法。Tang 等[54]提出了一种结合DBN 和多元统计的故障诊断方法,首先通过DBN 将归一化的数据分解为与系统状态相关的重构变量和与噪声有关的剩余变量,通过计算统计值T2和SPE 从而实现故障检测,在TE 过程数据中验证了该方法能够提高模型的故障检测能力,优于传统的KPCA 方法。

针对工业应用过程中存在的现实问题,许多学者对DBN 进行了改进。考虑到真实工业中的某些不确定性因素产生的不利于故障检测的特征,Yu等[55]提出了一种基于AF-DBN 的故障检测方法,DBN 提取的主动特征AF 用于表示原始输入数据的故障特征。该方法通过计算训练样本和测试样本的欧式距离并采用移动平均技术消除了突发噪声对故障检测结果的影响。Jiang 等[56]通过DBN 提取数据的非线性分层表示,然后采用典型相关分析(CCA)表征输入与输出的关系,生成故障检测残差和检测统计信息实现故障诊断,组合的方法能够消除不相关变量和冗余信息的影响。针对工业数据缺失的问题,Tian 等[57]提出了一种基于GANSRCC-DBN 的过程监控方法,首先,采用GAN 重构工业过程的缺失数据,使其符合该种运行状态的特征表示,然后采用了变量选择方法SRCC 选择相关变量,降低数据的维度,最后采用DBN 对数据进行深层特征表示。在TE 过程21 种故障的平均检测率为89.7%。Wang 等[18]提出了一种组合DBN 和支持向量数据描述SVDD 的方法,该方法通过DBN以无监督训练的方式进行数据的高级特征表示,然后通过这些特征和少数的故障数据建立SVDD 故障检测模型,解决了故障数据较难获得的问题。

2.3 基于CNN 的方法

卷积神经网络最早在1989年由LeCun 提出[58]。随着CNN 的快速发展,越来越多性能更好的CNN 结构被提出,例如AlexNet[59]和VGGNet[60],并广泛应用于计算机视觉和语音识别等领域。如图5所示,CNN 主要由3 种基本结构(卷积层、池化层和全连接层)循环叠加组成。卷积层由多个含有不同参数的滤波器组成,通过滤波器提取输入数据的局部高维特征,其输出是1 组特征图。池化层通常位于卷积层之后,将卷积层学习的特征进行采样,提取更具代表性的局部特征,与此同时,池化层能够减少训练参数防止模型出现过拟合现象。多个卷积层和池化层的叠加组合可以对原始数据进行深层次的特征表示,并且随着层数不断加深,得到的特征越抽象。在卷积层和池化层之后,需要将抽象化的特征转换成一维矩阵,并和之后用于分类的全连接层连接。与多层感知器类似,不同全连接层之间的神经元进行全连接,同1 层的神经元完全不连接。全连接层能够整合卷积层和池化层具有 类别区分性的信息,并进行有效的分类。

图5 卷积神经网络的结构Fig.5 Architecture of CNN

CNN 强大的特征提取能力解决了人工特征表达能力不足的问题,许多研究采用CNN 研究化工过程的故障检测与诊断。基于CNN 的化工过程故障检测与诊断的方法具有以下优势:1)复杂的工业过程经常伴随着复杂的数据噪声,CNN 以多层卷积和池化的形式进行特征提取,具有平移不变性,这避免了噪声对于模型的影响,具有很强的鲁棒性;2)对于多变量的化工过程,CNN 在保证强大的特征提取能力的同时,通过卷积中的权值共享减少了模型的参数,避免了参数过多出现的过拟合现象,具有较好的泛化能力;3)CNN 的输入数据形式比较灵活,可以处理二维矩阵和一维矩阵,因此CNN 处理不同类型的样本数据时具有优势,如一维信号、二维图片、时间序列数据和数据频谱图等,模型的适用性广。

根据CNN 的体系结构,可以将基于CNN 的故障检测与诊断方法分为二维CNN 模型和一维CNN模型。二维CNN 作为图像识别的标准网络结构,其输入数据为二维矩阵。但是,二维CNN 无法处理化工过程收集到的一维监控数据。在已发表的文章中,学者们通过2 种方式对一维数据进行维度转换。第一种方式是通过信号处理的方法,如离散小波变换[61]、连续小波变换[62,63]等,这种方式将一维时域信号转换为二维的时频域数据,使其适应于二维CNN 的输入。但是,该种处理采集数据的方式在化工过程的故障诊断任务中的研究较少。考虑到化工过程中的时空数据特征,上述的数据处理方式无法关注到时间依赖性。在多变量的情况下,变量之间空间互相关和不同时间点样本的时间依赖性是故障检测与诊断任务的主要信息来源。单纯的假设不同时间点的样本相互独立会丢失一部分有用的时间信息,这种信息对诊断结果起着至关重要的作用。因此,学者们采用了另外一种方式,充分考虑了数据的时空域信息,通过手动调整输入数据的尺寸使采集的一维数据转换成二维形式。Wu 等[64]提出了一种基于深度卷积神经网络故障诊断模型,通过堆叠多个时间段的监测数据形成时间维度×变量维度的输入形式,模型采用了多个卷积层和池化层提取监控数据的特征,最后采用全连接层连接网络之前学习的特征并通过softmax 层输出故障类型,所提出方法同时考虑了过程数据在时间和空间维度的特征,并且采用了dropout 技术防止模型出现过拟合现象,在TE 过程的20 种故障的平均故障诊断率达到88.2%。类似于这种思想,基于CNN 的故障诊断方法被应用于反应精馏[25,26]、热泵系统[65]和半导体制造过程[66]。以此方式进行的数据处理完全排除了人为的因素,并且通过堆叠多个时间段的采样数据考虑了时间维度的特征。该种方式通过固定长度的滑动窗口生成一系列数据样本。由于数据维度的转变,时间相关性和变量间的互相关可以被充分利用,解决了其他方法无法充分考虑时空域信息的问题。然而,确定滑动窗口的大小和步幅是一个全新的问题,它们的设定会影响到诊断算法的泛化能力,理想的情况下,可以通过先验知识和多次调整参数完成,具体的实践还需要不断地用实例证明。并且,这种方式会导致在应用过程中收集数据的延时性。一维CNN 也被应用于处理化工过程的数据,采用该种方法的输入数据是未经预处理的原始数据,目前已经成功应用于TE 过程[67]和流化床反应器[68]。一维CNN 能够避免采集信号的延时性,但诊断性能不如二维CNN,因此相关的研究较少。

2.4 基于RNN 的方法

循环神经网络是人工神经网络的一种,被广泛的应用于语音识别、翻译和计算机视觉等领域。RNN 对时间序列敏感,在处理和预测时间序列数据方面有着很大的优势。与普通神经网络相比,RNN在隐藏层上增加了1 个反馈连接,可以保留前1 层的输出信息。如图6所示,RNN 在中间层加入了循环结构,每1 个神经元的输出不仅传入到下1 个神经元,而且保存到当前神经元,即加入了“记忆功能”。RNN 接收时间序列数据,将隐藏层的特征沿着网络传播产生输出值,这些特点使得RNN 非常适合用于对时间信号的建模。

图6 循环神经网络的结构Fig.6 Architecture of RNN

RNN 的每1 个单元共享同一套参数,因此RNN不会因为循环结构导致产生大规模的参数。然而,随着隐藏层数的增加,普通的RNN 结构在反向传播中更新参数时梯度非常小(几乎为0),这称为梯度消失现象。梯度消失会导致RNN 无法更好地学习模型参数。因此,普通的RNN 在处理长期依赖数据时会遇到瓶颈。为了解决这个问题,学者们提出了2 种改进的RNN 单元结构,即长短期记忆网络(Long Short-Term Memory,LSTM)[69]和门控循环单元(Gated Recurrent Units,GRU)[70]。LSTM 和GRU通过引入门结构提高模型的长期储存能力,并且具有更快的收敛速度。

双向RNN(Bidirectional RNN,BiRNN)是RNN的一种变体。传统的单项RNN 可以从正向传递获取序列特征,而BiRNN 可以从正向和反向同时提取特征。因此,它可以从当前输入节点之后的数据预测时间t的状态。BiRNN 通常比单项RNN 性能更好,因为在BiRNN 在反向中提取了数据的其他特征。通过组合不同的RNN 单元和BiRNN,获得的BiLSTM 和双向BiGRU 具有更加复杂的结构,预测和分类功能也更加强大。

基于RNN 及其变体的故障检测与诊断方法在应用于化工过程时具有以下优势:1)RNN 对时间序列数据敏感,采用RNN 的方法能够充分提取化工过程数据的动态时序性特征;2)对于不规则的采样信号,RNN 能够在输入数据的维度变化时保持稳定。

Kang 等[71]讨论了RNN 结构、层数和节点的对于TE 过程故障诊断结果的影响,结果显示具有256个节点单层的RNN 具有最优异的故障诊断性能,平均故障诊断率达到了84.9%,并且能够识别普通的人工神经网络不能够识别的故障。Zhao 等[72]采用LSTM 神经网络实现了对TE 过程数据的故障诊断。Zhang 等[73]提出了一种基于BiRNN 的故障检测与诊断方法,讨论了3 种不同的RNN 单元结构和BiRNN 对于诊断结果的影响,结果显示基于BiGRU的模型具有最好的故障诊断性能,平均故障检测时间为27.7 min,平均故障诊断率达到了92.7%,优于基于DCNN 和DBN 等深度学习模型。Sun 等[74]提出了一种基于BRNN(bayesian RNN)的故障诊断框架,实现了对非线性动力学过程的故障检测,并且该方法能够通过不确定性估值分析故障的传播路径。

为了充分发挥RNN 处理时间序列数据的优势,研究者们进一步研究了结合RNN 和其他方法混合的模型。针对多相、非线性和具有动态特征的过程,Ren 等[75]提出了一种批处理LSTM 编码解码器网络,采用LSTM 编码器提取过程数据的非线性动态特征,然后采用解码器进行样本生成,通过计算统计量H2和SPE 进行过程监控。张[76]提出了一种SMOTE 和Siamese LSTM 的组合方法,成功应用于各类样本数目不平衡的化工过程,并在多种不平衡数据比例的情况下获得了鲁棒性较强的诊断模型。Shao 等[77]提出了一种串联LSTM 与CNN 的化工过程故障诊断方法,首先,将数据输入至LSTM 中提取时空域特征,然后将特征输入至CNN 中提取隐藏层特征,最后通过softmax 层输出故障诊断结果,该方法在TE 过程的21 种故障类型平均故障诊断率达到了90%以上,优于单独的LSTM 和CNN 模型。Wang 等[78]提出了一种并联LSTM 和CNN 的故障诊断方法来解决非线性,强耦合和时变性的化工过程,输入数据分别通过LSTM 和CNN 网络进行特征提取,然后将特征融合至MLP 网络中输出诊断结果,在工业炼焦炉工艺和TE 工艺过程验证了提出并联的LSTM 和CNN 方法比串联的方法更具优势。为解决分类模型无法检测出未知故障的问题,Xing 等[79]提出了一种基于CNN-LSTM-FCM 的故障诊断模型,将所有未知的故障认定为一种已知类型,实现了对未知故障的诊断。Shahnazari 等[80]提出了一种新的化工过程故障检测思路,采用RNN 估计系统的输入和输出,通过构建残差分离不同的故障类型,该方法能够检测出同时发生的多个传感器故障。文章中提出,该方法是一种可移植方法,RNN可以采用PLS 或随机森林等方法代替。

3 挑战和未来发展方向

在工业4.0 中,提高化工系统对自身健康情况的感知和故障预测是重点研究目标之一[81]。正如本论文所述,许多研究表明基于深度学习方法在该领域的应用是一个非常有前景的方向。然而,对于这项跨统计学、计算机科学、系统工程等各领域的技术研究具有很大的挑战性,前进的道路必然不会平坦。本节提出了深度学习技术应用于化工过程故障检测与诊断过程中易被忽略或未被充分考虑的一些问题,并且从“数据”、“模型”和“可视化”3个方面指出了深度学习在该领域的发展前景。

3.1 挑战

3.1.1 数据的质量问题

数据是基于深度学习的故障检测与诊断方法的唯一信息来源,因此数据的质量决定着模型的检测能力和泛化能力。实际工业系统中采集到的数据信号充满着多种不确定性因素,过程数据存在着冗余信息,包括一些重复性数据和噪声干扰,严重影响模型对于数据的特征表示。目前的深度学习方法在处理噪声数据的时候具有较好的稳定性,但应用于实际工业中时,噪声水平的不确定性等因素直接决定了故障检测与诊断的结果,仍需加以重视。

3.1.2 数据的数量及标签问题

数据的质量影响着模型的性能,数量同样是影响深度学习的重要因素。数据获取难度大是深度学习应用于各个领域的最大障碍之一。在化工过程中,系统长期处于正常运行状态,故障数据采集是一项具有挑战性的工作。此外,目前大部分的研究是基于监督学习的方法,这意味着数据需要标签。获取数据标签需要专家和专业人士进行人工标记,这是一项复杂、费时又费力的工作。因此,解决数据获取以及标记问题是一大挑战。

3.1.3 模型的优化问题

深度学习是一门充满未知和挑战的学科,它要求专业人士具有丰富的深度学习实践经验。例如,选择合适的模型处理复杂的化工过程数据防止过拟合;调整超参数使模型具有泛化能力;设定学习率使模型更快收敛等。目前,深度学习模型的参数调整还是一个高度依赖经验的过程,没有形成一套具体的模型优化方案。尽管深度学习以“端到端”的形式自动学习数据特征而闻名,但应用于具体的工业过程时会依赖于研究者的深度学习知识经验。并且,解决方案高度依赖深度学习的发展,这要求学者们时刻关注化工过程故障检测与诊断的最佳案例。

3.1.4 “概念漂移”导致模型的不稳定性

具体来说,“概念漂移”的意思是实时数据具有时间性,随着时间的推移,系统的输出数据会产生变化,这导致了训练时的离线数据和监控的实时数据产生偏差,例如,随着季节变化产生的温度偏差。“概念漂移”问题在故障检测与诊断的研究案例中往往被忽略了。目前的大部分研究还仅限于实验室测试,“概念漂移”的影响还不是很明显。因此,解决“概念偏移”问题是应用于真实化工过程的重要挑战之一。

3.1.5 非稳态过程

由于不连续的操作,非稳态过程数据具有多元、非线性和高维性的特点,特别是对于非周期性的过程。目前,深度学习在化工过程安全领域的研究目前主要集中于稳态过程,对于非稳态过程(如批处理间歇操作和开停车操作)的研究相对较少。并且,对于非稳态过程的研究仅限于将该过程视为强非线性过程,收集数据及标签,搭建深度学习模型。从模型的本质上来说,并未实现具有针对性的故障检测与诊断。如何准确有效地将深度学习应用于非稳态过程是一个具有挑战性的问题。

3.2 未来发展方向

针对深度学习在化工过程故障检测与诊断的应用中存在的问题,本节从“数据”、“模型”、和“可视化”3 个方面对未来的发展方向进行了概括性展望。

3.2.1 从“数据”的角度

3.2.1.1 建立化工过程标准大数据库

基于深度学习的方法在训练时需要大规模的数据,因此,数据的质量和数量直接影响着模型的性能。建立化工过程标准大数据库对于技术的创新、过程机理与模型的融合以及跨学科应用具有重要的意义。具体可从以下2 个方面展开:建立工业数据库统一管理平台以及统一标准;鼓励实验室数据和工业数据共享。

3.2.1.2 解决数据不平衡问题

过程系统长期处于正常的运行状态,故障状态的数据难以采集,样本间的数目不均衡会导致模型倾向于学习样本数量多的数据特征。针对样本数量不平衡问题,可以采用以下2 个思路进行。第1种思路是数据增强:在模式识别任务中,数据增强技术可以通过已有的数据样本获取更多的样本。例如,将图片进行平移、旋转、缩放等方式进行数据扩充,从而使各个类别的样本数量更加均衡。虽然工业数据并没有如此直观的方式进行数据扩充,幸运的是,生成对抗网络(Generative Adversarial Networks,GAN)的最新发展为解决该问题提供了可行性策略。GAN 是一种新的深度学习方法,它由生成器和鉴别其组成。生成器用于生成新样本,鉴别器能够将真实样本与生成样本区分开,2 个模型相互抵制,直到鉴别器无法区分为止。GAN 能够自动提取数据特征进行数据扩充,不需要人工干预,并且生成的样本具有代表性。目前,GAN 技术已经应用于机械设备的故障诊断中[82,83],在化工过程的故障检测与诊断领域处于起步阶段,GAN 技术是该领域的发展趋势之一。第2 种思路是迁移学习:迁移学习将所提取数据的潜在特征,迁移到另一个目标任务,解决模型的训练缺乏数据的问题。已经有Wu等[84]提出采用迁移学习的方法解决化工过程数据缺失的问题,但相关的研究还无法解决新故障问题,并且模型的泛化能力还有待考察,基于迁移学习的方法研究是未来的重要发展方向。

3.2.2 从“模型”的角度

3.2.2.1 融合专家知识

基于深度学习的方法仅依赖数据进行故障检测与诊断,从结果论的角度,它促进了该项技术的发展。然而,深度学习的体系结构和隐藏层等内部机制无法和实际的化工过程结合,目前优化模型的过程是通过猜测、实验和验证的方式完成的。这样的方式导致了故障检测与诊断技术完全脱离了化工专家知识。专家知识的应用能够提升故障检测与诊断性能。例如,采用先验知识对变量进行选择和排序,判别特征的重要性学习有助于搭建更加简易的模型。并且,复杂的化工工业系统存在多模态切换过程,整个过程变化规律不定,先验知识的应用有助于模型适应各种不同情况,因此将专家知识和深度学习模型融合是提升故障诊断性能的方案之一。

3.2.2.2 耦合算法

每种深度学习算法均有自身的优势与不足,如CNN 具有强大的特征提取能力,能够处理不同输入类型的数据,然而CNN 在故障检测中由于输入数据为二维,导致延迟性较高;RNN 在处理时间序列数据时具有优势,然而梯度消失问题和参数量大影响着模型的发展。由于化工过程充满了非线性、动态时序性、多模态、间歇性等特征,特别是对于非稳态化工过程,单独的深度学习算法无法满足所有的需求,因此,算法耦合以实现全方位的故障检测与诊断是未来的发展方向之一。

3.2.3 从“可视化”的角度

深度学习能够挖掘数据抽象的特征表示,但是其内部计算出的特征可解释性差,无法表达数据中隐藏的专业知识,目前故障的检测与诊断还处于试验后验证结果的阶段。端到端的黑匣子带来便利性的同时,深度学习在应用于具体任务时的可解释性需要深入探究。在未来的研究中,可视化技术的提升可以从以下几个方面展开:根据化工过程的机理知识,从数据耦合与分解的角度将化工系统机理与所提取的特征进行可视化关联;模型参数优化的过程与故障机理之间的可视化研究;检测与诊断结果的直观可视化呈现。

4 总结

化工过程的故障检测与诊断对于工业系统的稳定性、安全性和产品的质量至关重要。本论文对近几年深度学习在该领域的应用进行了归纳和总结,将常用的方法划分为:基于AE 的方法、基于DBN 的方法、基于CNN 的方法和基于RNN 的方法。该论文从理论背景和工业应用的角度综述了深度学习技术在化工过程故障检测与诊断领域的研究进展,并指出了这4 种方法的优势。最后,提出了该领域面临的挑战并从“数据”、“模型”和“可视化”3个方面展望了未来的发展方向。随着深度学习技术越来越成熟,深度学习在化工过程的故障检测与诊断领域具有光明的前景。

猜你喜欢
化工故障诊断深度
《化工管理》征稿简则
《化工管理》征稿简则
《化工管理》征稿简则
《化工管理》征稿简则
四增四减 深度推进
基于包络解调原理的低转速滚动轴承故障诊断
深度理解一元一次方程
简约教学 深度学习
数控机床电气系统的故障诊断与维修
基于量子万有引力搜索的SVM自驾故障诊断