时间:2024-06-19
王国柱,路 通,池晓航,周 强,杜志勇
(1.卫华集团有限公司,河南 长垣 453400;2.河南工学院 电气工程与自动化学院,河南 新乡 453003;3.郑州大学 电气工程学院,河南 郑州 450001)
工业过程的平稳性、安全性与可靠性是企业关注的重点问题,也是提高企业生产效率和产品质量的关键因素。当工业过程中出现异常时,如果没有及时发现并处理,很有可能导致生产线停工、企业生产效率下降、环境污染,甚至是更加重大的经济损失和人员伤亡,并且当异常逐渐发展为较大的故障后,造成的破坏大多数是不可逆的[1-2]。因此,过程监测成为工业安全稳定领域的研究重点,并得到国内外专家学者的广泛关注[3-5]。
工业过程监测经过多年的发展,其分类方法也在不断完善,现大致分为基于解析模型的方法、基于知识的方法和基于数据驱动的方法[6-8]。但随着工业控制领域自动化、信息化、智能化水平的不断提高和计算机技术的飞速发展,集散控制系统和智能仪表得到广泛使用,生产过程中的数据已经可以被采集并长期存储起来,这些数据中包含了系统运行的大量信息,对分析过程的历史、现状以及预测过程未来的运行情况都是不可缺少的宝贵资源。充分的数据分析和应用,也能够避免所谓的“数据丰富,信息缺乏”现象。传统的基于数据驱动的过程监测方法在建模时通常会做出一定的假设,很难满足工业过程的实际要求[9]。因此,基于统计理论过程监测方法受到了国内外研究人员的广泛关注并得到了较快的发展,该方法具有不需要建立系统精确数学模型的优势,主要依赖正常过程数据建立统计学模型,从统计学角度对生产过程的安全性进行描述。
神经网络作为基于统计理论的经典方法,具有自学习、自适应、自组织、良好容错性、高度并行性及非线性逼近能力,能够较好地处理非线性、高度不确定性和无规律问题,将神经网络思想应用于工业过程监测具有一定的研究价值。本文首先应用BP神经网络建立过程监测模型,然后通过仿真验证方法的可行性;但当输入数据的样本过多时,计算将变得复杂,计算速度比较缓慢,因此本文引入主元分析对数据样本进行处理,在降低数据样本的维度后对网络进行训练,以达到减少训练时间、提高故障检测精度的目的。
由于现代工业过程的复杂程度日益提高,过程数据中的变量不断增加,且很多变量都具有一定的相关性和冗余性,如果对所有变量进行分析,无疑会做大量的重复性工作。主元分析作为一种统计学方法,适用于多元数据,能够对多变量数据进行降维,将高维数据转化为能够代表绝大多数数据信息的低维数据。其主要思想是通过坐标变换将n维数据投影到相互正交的k维空间(k (1) (2) 计算协方差矩阵S。计算可得: (2) (3) 特征值分解。求解协方差矩阵S的特征值,并按照从大到小的顺序进行排列,得到[λ1,λ2,…,λm],同时,计算特征值对应的特征向量矩阵p=[p1,p2,…,pm]。 (4) 获取主成分。设求解的第h个主成分为th,求解过程如式(3)所示: (3) (5) 确定主元个数。采用累计方差贡献法(Cumulative percent variance, CPV)通过特征值方差的累计和百分比来选取主元,如式(4)所示: (4) 其中,m为变量数,λi为过程数据矩阵特征值,CPV表示累计特征值方差贡献和百分比,k表示保留的主元个数。通常情况下,CPV值大于85%即认为前k个主元包含了足够多的原始数据信息,近似能够代表原始数据[10]。 BP神经网络又称误差反向传播神经网络,是误差反向传播的多层前馈网络,由Rumelhart等人于1986年提出[11],网络模型如图1所示:网络为三层结构,包含输入层、隐含层和输出层,x1~xn为网络的输入数据,n和m分别为输入、输出样本个数,wij,wjt分别为三层结构之间的权值。 神经网络的运行过程分为训练和测试两个部分,训练过程首先将输入数据从前到后进行处理,然后根据实际输出与期望输出的误差修改权值,最后反复进行以上过程直到误差收敛。测试过程是将测试数据输入网络,通过对比实际输出与期望输出得到误差,进而测试网络性能。 图1 BP神经网络模型 BP神经网络学习算法步骤如下: (1) 设定权值的初始值,使其初始化; (2) 对神经网络的一些参数进行定义,设三层BP神经网络输入层、隐含层、输出层神经元分别为n、l、m,输入矩阵X=[x1,x2,…,xn],网络有n个训练样本,经过q次迭代后的输出矩阵Y=[y1(q),y2(q),…,ym(q)],期望输出矩阵d=[d1,d2,…,dm]; (3) 将X输入网络,通过式(5)和(6)分析输入数据并确定实际网络输出,得到 (5) (6) 式(5)和(6)中,Hj为隐含层输出,j为隐含层节点数,wij为输入层与隐含层间的连接权值,ai为隐含层的阈值,Ot为网络的输出,wjt为隐含层与输出层之间的连接权值,bt为输出层阈值,f()为激励函数; (4) 根据式(7)对比期望与实际网络输出,并计算误差et: (7) (5) BP神经网络的反向传播过程目标是使误差et趋近最小值,通过式(8)使用梯度下降法修正权值: (8) 式中,δ为权重偏差,η为学习速率; (6)根据误差的大小确定网络参数,通过式(9)计算新的连接权值和阈值: (9) (7) 重复以上步骤,直至误差满足要求。 基于主元分析和BP神经网络的过程监测建模流程如图2所示,主要分为以下三个步骤: 图2 基于主元分析和BP神经网络的过程监测流程图 (1) 数据降维。首先对过程数据进行标准化处理,避免因变量量纲不同引起误差;其次对过程数据进行主元分析,通过CPV确定主元个数,最后根据主元个数确定神经网络参数。 (2) 使用BP神经网络对过程进行监测。根据步骤(1)确定的主元个数设置神经网络输入层和隐含层参数,k个主元对应k个输入层节点和2k+1个隐含层节点,输出节点个数对应监测结果。采用L-M算法对网络进行训练,隐含层和输出层神经元激活函数分别采用S型正切函数tansig和S型对数函数logsig。 (3) 网络测试。将测试数据输入网络,对网络的训练时间、误差收敛情况和监测结果进行分析,评价网络性能。 本节首先使用BP神经网络方法对田纳西-伊斯曼(Tennessee-Eastman, TE)过程数据进行训练,并测试网络;然后引入主元分析方法对过程数据降维,进而对网络进行训练并测试;最后根据过程预设故障类型分析、比较两种算法的仿真结果,验证所提算法的有效性。 TE过程是由美国田纳西-伊斯曼化学公司开发的具有开放性和挑战性的化工模型仿真平台,该过程共包含52个变量,能够产生正常数据和21种故障类型数据,故障类型如表1所示,其中已知故障16个,其他为未知故障。本文选取IDV(8)故障进行仿真,设定CPV为85%,得到主元个数为28时CPV约为87.2%;选取480组正常样本、480组故障样本对网络进行训练;选取960组样本用于测试,其中包括正常样本160组、故障样本800组。将得到的28个主元作为网络的输入,确定输入层的节点数为28个,根据经验确定隐含层节点数为57个,设定输入是正常数据样本时,输出结果为0,故障时为1。 表1 TE过程21种故障类型 对网络训练过程参数进行设置,设置迭代次数为100,学习速率为0.01,期望误差为0.01。图(3)给出了两种方法的训练结果,由图3(a)BP神经网络方法的训练结果得到:经过40次迭代训练,训练误差基本稳定在0.5附近,误差较大;图3(b)为引入主元分析后的网络训练误差变化情况,可以看出网络经过20次迭代训练后误差小于0.1,引入主元分析后的网络迭代次数减少,训练效率更高,误差更低。 图4分别给出了两种方法的监测结果,从图4(a)可以看出BP神经网络方法在第160组样本后能够监测到故障存在,但漏报较多,实际监测结果并不理想;图4(b)为引入主元分析后的监测结果,可以看出在第160组样本后基本能够监测到所有故障的存在,相比BP神经网络方法,提高了故障检测的准确率。 (a) BP神经网络方法的训练结果 (a) BP神经网络方法监测结果 表2给出了两种方法的训练时间与故障检测准确率,通过对比可以看出:对经过主元分析降维后的数据采用BP神经网络方法进行训练,训练时间更短,故障检测准确率更高,验证了所提方法的有效性。 表2 两种方法的训练时间与故障检测准确率 本文将主元分析与BP神经网络两种方法相结合,通过主元分析理论对过程数据进行降维,建立了基于主元分析与BP神经网络的过程监测模型并将其应用于TE过程,得到以下结论:该方法训练时间短,故障检测准确率高,具有更好的过程监测效果。1.2 BP神经网络
2 基于主元分析和BP神经网络的过程监测模型
3 应用研究
4 结束语
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!