机器学习算法改进及在化工故障诊断中的应用

2022-06-07 09:40许洪光李凤英
粘接 2022年5期
关键词:检出率化工故障诊断

许洪光,李凤英,郭 茜

(河北东方学院,河北 廊坊 065000)

随着化工生产规模的扩大,化工设备和系统结构日趋复杂,化工生产过程也逐渐趋于非线性、不确定性、不稳定性。这导致化工安全管理越来越困难,尤其是当系统出现故障时,若不能及时对故障进行辨别处理,不仅可能造成整个设备系统崩溃,甚至还可能导致生命财产无法挽回的损失。因此,为确保化工生产安全,加强化工过程的安全管理,有必要对化工故障进行及时准确地诊断。目前,化工故障诊断方法主要包括基于解析模型的方法和基于经验知识的方法。基于解析模型方法中的在线压缩KECA自适应算法,通过分析故障数据中的故障信息,实现了化工故障的检测,一定程度上提高了故障检测率。基于经验知识法中的故障树法,通过对设备故障检测,完成了设备可靠性分析,提高了设备的安全性。上述方法虽可实现故障检测,一定程度上提高设备安全性,但均存在计算量大且计算误差较大的问题。近年来,随着人工智能的发展,基于卷积神经网络(CNN),由于其可提取高维非线性数据特征,并具有深度挖掘、计算过程简单的特点,常用于故障诊断。因此,本研究选用CNN算法对化工故障进行诊断,并通过粒子群优化算法(PSO)改进CNN,提高化工故障诊断的准确性和检出率,降低算法的误报率,为化工故障诊断提供了一种新思路。

1 机器算法及改进

1.1 CNN算法简介

CNN算法是一种典型的机器学习算法,具有表征学习的能力,可根据阶层结构实现平移信息,且可保证平移过程中信息分类不变,因此常用于计算机故障诊断等领域。标准的CNN网络包括输入层、卷积层、池化层、全连接层、输出层5层结构,如图1所示。

图1 CNN网络结构示意图Fig.1 CNN network structure diagram

由于该网络结果为前馈神经网络结构,故其参数训练过程包括前向传播和反向传播两个过程。前向传播过程即对输入的数据通过卷积层进行卷积操作,然后通过池化层进行采样处理,全连接层选取特征,最后通过输出层输出结果;反向传播过程即通过梯度下降算法计算预期值与实际值的误差,并依次从全连接层、池化层、卷积层,向输入层反向传播误差,以调整各层参数值,直到模型收敛。

1.2 CNN算法改进

根据上述CNN网络结构与参数训练过程分析可知,CNN网络结构复杂且其参数训练过程参数的选择主要根据人工经验选择,故存在不稳定的问题。因此,研究对CNN算法进行了改进。由于PSO算法具有操作简单且容易实现的特点,故本研究采用PSO算法改进CNN网络。

PSO算法改进CNN网络主要是对其反向传播过程进行改进。首先将CNN网络需要运算的参数作为PSO算法的基本粒子,并根据前向传播期望值与实际值误差函数,如式(1),计算粒子的局部最优和全局最优;然后,根据基本PSO运算公式,如式(2)(3),更新粒子;最后,通过迭代运算,更新CNN网络权值,再次进行前向传播,直到误差在设定阈值范围内。

PSO改进CNN网络的具体实现流程如下:

步骤1:初始化粒子群,包括粒子个数,加速常数、,惯性权重,粒子位置,粒子速度;

步骤2:对粒子群中每个粒子,采用式(4)计算其在CNN网络中的前向传播,根据式(1)计算预期值与实际值的误差;

式中:f表示CNN各池化层激活函数,w表示各层连接权重。

步骤3:判断与设定阈值*的大小,若>*,则根据式(2)(3)更新粒子,并将更新后的粒子信息返回CNN网络,同时更新训练权值,再次进行前向传播与误差计算,返回步骤2;若<*,则停止算法,输出结果。

2 基于改进CNN算法的化工故障诊断

基于改进CNN算法的化工故障诊断主要包括离线训练和在线监控两部分。其中,离线训练主要包括5个阶段,数据采集与预处理、特征提取与学习、参数优化、模型训练、故障分类;在线监控包括数据采集与预处理、特征学习、故障诊断分类3个阶段。具体流程如下:

步骤1:采集化工过程数据,包括正常化工过程数据和故障数据;

步骤2:对采集的数据集进行预处理,如小波变换去噪和标准化处理等;

步骤3:构建CNN网络模型;

步骤4:初始化PSO算法基本参数和迭代次数,以及CNN网络的关键超参数作为PSO算法的粒子分量;

步骤5:采用CNN网络模型对网络参数训练;

步骤6:采用PSO算法对CNN关键超参数进行调优训练,得到最佳CNN模型;

步骤7:采用PSO优化后的最佳CNN模型对化工故障进行诊断,即实现了改进CNN算法对化工故障的诊断。

上述流程可用图2示意。

图2 改进CNN算法诊断化工故障流程Fig.2 Improved CNN algorithm for chemical fault diagnosis

3 仿真实验

3.1 实验环境

本实验在计算机模拟仿真程序TE过程中进行仿真,该工艺流程如图3所示。

图3 TE过程工艺流程Fig.3 TE process flow

原料通过进料口进入反应器发生化学反应,反应器中的冷凝器一方面移走反应产生的热量,另一方面冷却反应产生的惰性气体、未反应组分、副产物,并输送到气液分离器。通过气液分离器后,循环压缩机对气态成分进行压缩并返回反应器进料口,解吸塔将未反应组分分离流入下一个工段,惰性气体则直接排放到空气中。TE过程具有时变性、非线性等特点,与实际化工过程相似,故研究选用该过程为实验对象。

3.2 数据来源及预处理

本实验故障来自TE过程中的20个故障,故障类型具体如表1所示。实验数据集为TE过程中测量变量获取的仿真数据,包括训练集和测试集。其中,训练集由正常状态下500组数据样本和故障状态下每种故障480组数据构成,共10 100组数据;测试集由正常状态下960组数据样本和故障状态下每种故障960组数据构成,共20 160组数据。

表1 TE过程故障类型Tab.1 TE process failure types

考虑到TE过程产生的原始数据中存在噪声,可能干扰数据特征,不利于数据的分析,故研究采用小波变换去除噪声数据。首先,对采集的TE过程数据进行小波变换与多尺度分解,然后对小波系数进行处理,以去除噪声数据的小波系数,最后通过信号重构即可得到无噪数据。

3.3 参数设置

采用PSO优化CNN参数,首先将PSO算法的迭代次数设置为25,然后经过25次迭代后得到CNN算法参数结果,如图4所示。随着迭代次数的增加,CNN算法的全局适应值逐渐增大,直到迭代到10代后,逐渐趋于平缓,全局最优适应度值达到0.998。由此说明,本研究PSO可优化CNN算法,且设置的PSO迭代次数可满足寻找全局最优的要求。

图4 PSO优化CNN参数结果Fig.4 Results of CNN parameters optimized by PSO

经过PSO优化后的CNN算法最佳结构和超参数如表2所示。

表2 CNN最佳结构和超参数Tab.2 Best structure and superparameters for CNN

3.4 评价指标

本研究选用故障检出率(FDR)和误报率(FAR)作为评估算法性能的指标,其计算方法如式(5)、式(6)。

3.5 结果与分析

3.5.1 算法验证

为验证改进CNN算法的有效性,研究采用标准CNN算法与提出改进CNN算法对测试集FDR进行十次故障检测,结果如表3所示。

表3 CNN算法改进前后检测结果Tab.3 Before and after improved detection results of CNN algorithm

由表3可知,标准CNN算法的平均故障检出率为83.76%,误报率为2.65%;改进CNN算法的平均故障检出率为91.23%,误报率为1.23%。由此说明,本研究改进CNN算法切实有效,可优化算法性能,避免了CNN算法在训练过程中陷入局部最优解的问题。

3.5.2 实例结果

为验证提出改进CNN算法在化工故障诊断中的实际应用效果,研究采用该方法对TE过程20个故障进行诊断,并与PCA算法、KPCA算法、MICA算法、CNN算法的化工故障诊断结果进行对比,结果如表4所示。

表4 不同算法对化工故障检出率Tab.4 Chemical fault detection rate by different algorithms

由表4可知,不同算法对化工故障诊断结果不同,相较于对比算法,本研究改进CNN算法可检测诊断出14种故障,具有较高的诊断检出率;PCA算法、KPCA算法、MICA算法分别可检测出8个、8个、5个故障,且对某些化工故障的检出率低于10%,而CNN算法和改进CNN算法不存在低检出率的情况,分析其原因是故障样本与正常样本差异性较小,PCA算法、KPCA算法、MICA算法难以区分数据间的细微差别,故其检出率较低,而CNN算法和改进CNN算法通过多层卷积操作,提取并学习到数据特征,可灵敏感应到数据的微小变化,故其检出率较高;相较于CNN算法,本研究模型的平均检出率更高,其原因是引入的PSO算法优化了CNN算法结构和参数,减少了信息的损失。

为进一步验证提出方法的优越性,研究采用上述与改进CNN算法检测化工故障检出率差异较小的CNN算法和改进CNN算法,再次对化工故障进行检测,结果如表5所示。

表5 CNN算法与改进CNN算法对化工故障检出点Tab.5 CNN Algorithm and improved CNN Algorithm for chemical fault detection points

由表5可知,相较于CNN算法,本研究改进CNN算法可更及时准确检测到故障的出现,对故障3和故障5的检出点提前4个点,对故障11和故障19的检出点提前5个点,对故障15的检出点提前8个点,对故障16的检出点提前3个点;整体来看,本研究提出的改进CNN算法对故障更加敏感,可及时准确检测出各种故障。

4 结语

综上所述,本研究基于改进CNN算法化工故障诊断方法,通过PSO算法优化CNN网络结构和参数,可得到性能更好的故障检测模型,该模型能及时有效对化工故障进行诊断,在TE过程案例上,该模型的平均故障检出率达到91.23%,误报率为1.23%,相较于标准CNN算法、PCA算法、KPCA算法、MICA算法,具有更高的平均故障检出率和更低误报率,且故障检出速度更快。

整体而言,本研究基于改进CNN算法的化工故障诊断方法对化工故障诊断具有优越的性能,可及时检测出化工故障,但仍存在一些问题待解决,如在CNN网络改进过程中,本研究仅采用了PSO算法对其进行优化,忽略了诸多优秀的优化学习模型,可能错失更好的优化方法。下一步,将从这方面进行深入研究,以期获得更优秀的化工故障诊断模型,确保化工生产过程安全运行。

猜你喜欢
检出率化工故障诊断
大面积脑梗塞的多层螺旋CT诊断价值及检出率研究
风力发电机组齿轮箱轴承故障诊断分析
学生作品
纳滤膜在盐化工废水处理中的应用思路浅述
浅谈化工分析在化工生产过程中的应用
基于EMD和SSAE的滚动轴承故障诊断方法
山东中小学生四成视力不良,三成超重
山东产品抽查:文胸婴幼儿服装不合格率居前
基于R8C的汽车OBD通用故障诊断仪设计