基于蚁群神经网络的泄漏特征融合算法研究
2019-09-24于秀丽王旭坪
于秀丽 王旭坪
摘要:文章采用蚁群算法对神经网络的参数加以优化,提出了一种基于蚁群神经网络的特征参数融合模型。从理论分析的角度给出了优化的蚁群神经网络所体现的优势和特点,识别化工园区泄漏隐患,有效提高化工装置管道的泄漏识别的预测精度,为园区科学管理提供技术支撑。
关键词:蚁群神经网络;泄漏特征;融合算法
一、 前言
为提高园区化工园区管道泄漏识别的检测精度,针对传统BP神经网络网络收敛速度慢,管道泄漏识别误差偏大的缺点,本文结合管道泄漏监测的具体需求,建立化工园区管道泄漏特征参数的蚁群神经网络融合算法,提出基于蚁群算法优化BP神经网络,进行其结构以及参数的优化,从理论分析的角度给出了优化的蚁群神经网络所体现的优势和特点,识别化工园区泄漏隐患,有效提高化工园区管道泄漏的识别预测精度,为园区科学管理提供技术支撑。
二、 泄漏事故情景构建
对于化工装置管道泄漏监测报警系统而言,利用管道瞬态模型,根据管道的实际情况,检测泄漏对化工园区管道运行参数造成的影响,采用压力定位、流量报警,以及压力、流量综合分析的方法进行报警,确定管道是否发生泄漏情况。鉴于管道各进、出站都安装有流量计的情况,综合运用流量平衡法判断管道泄漏与否,当管道发生泄漏时,泄露处压力突然下降,可以利用瞬时流量来判断管道是否泄漏。如果管道正常,管道上(下)游端压力和流量同时上升或下降;如果管道发生泄漏情况,由于管道内外的压差,使得泄漏处的压力突然下降,管道瞬时流量下降。结合压力和流量的变化特征,可以判断管道泄漏是否发生。
构建化工装置管道泄漏事故情景结构图,如图1所示,该情景结构图包括情景、后果和任务三部分组成。
提取出泄漏特征参数以后,进一步综合分析、处理这些泄漏特征参数,判断管道是否发生泄漏以及泄漏的等级,如果在一定的时间内泄漏量超出了门槛值,将产生泄漏报警,给出四个级别:级别1(无泄漏),计算结果是小于门槛值;级别2(可能泄漏),计算结果超过门槛值,发出“可能的泄漏”警告;级别3(泄漏预警),泄漏计算结果已经超过门槛值一段时间或大于1倍~3倍門槛值,发出“泄漏预警”警告;级别4(泄漏报警),泄漏计算结果已经超过门槛值,从级别3起已经持续一个确定的时间,发出“泄漏报警”信号。
三、 BP神经网络和蚁群算法原理
1. BP神经网络。目前最广泛使用的定义是Kohonen于1988年提出的,神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织可以模拟生物神经系统与现实世界物体的交互反应。神经元是以生物研究及大脑的响应机制而建立的拓扑结构网络,模拟神经冲突的过程,多个树突的末端接受外部信号,并传输给神经元处理融合,最后通过轴突将神经传给其它神经元或者效应器。神经元的拓扑结构如图2所示,这个模型中,每个神经元都接受来自其它神经元的输入信号,每个信号都通过一个带有权重的连接传递,神经元把这些信号加起来得到一个总输入值,然后将总输入值与神经元的阈值进行对比(模拟阈值电位),然后通过一个“激活函数”处理得到最终的输出(模拟细胞的激活),这个输出又会作为之后神经元的输入一层一层传递下去。
θi表示该神经元的阈值,根据生物学中的知识,只有当神经元接收到的信息达到阈值是才会被激活。因此,我们将Netin和θj进行比较,然后通过激活函数处理以产生神经元的输出。如果输出值有一定的范围约束,比如用来分类,一般使用的激活函数是Sigmod函数,它可以把输入从负无穷大到正无穷大的信号变换成0到1之间输出。如果没有约束的话,可以使用线性激活函数(即权值相乘之和),得到的输出为:
yj=f(Netin-θj)
将公式化简一下,设第一个输入永远值为θ,权值为-1,可以得到公式:
其中w0=-1,x0=θj,其中f为选择的激活函数。
在BP神经网络中,单个样本有m个输入,有n个输出,在输入层和输出层之间通常还有隐含层,即这三层分别是输入层(I),隐含层(H),输出层(O)。如图3所示。
关于隐藏层的选择,在BP神经网路中,输入层和输出层的节点数目都是固定的,关键的就是在于隐藏层数目的选择,隐藏层数目的选择决定了神经网络工作的效果。一般而言,有一个关于隐藏层数目的经验公式。其中h为隐含层节点数目,m为输入层节点数目,n为输出层节点数目,α为1~10之间的调节常数。
作为应用最广泛的神经网络模型之一,BP神经网络理论不断地得到完善和发展,研究学者运用该神经网络解决了不少实际应用问题。但BP神经网络在广泛使用的过程中也暴露出了如下的一些不足:
(1)存在局部极小问题;
(2)学习收敛速度慢,且收敛速度与初始权值的选择有关;
(3)BP神经网络的网络结构设计,即隐藏层和接点数的选择至今尚无统一而完整的理论指导,一般由经验选定;
(4)新加入的样本会影响已经学习成功的网络。针对标准BP算法收敛速度慢、容易陷入局部极小值的问题,利用附加动量项来加以改进算法,常规BP算法的权值修正量为:Δωji(n)=ηδj(n)yj(n)。在BP算法中,步长η的选择很重要,η大则收敛快,但是过大则可能引起不稳定(η最大不能超过■,λmax为输入向量x的自相关阵的最大特征值)。η小可避免振荡,但收敛速度变慢,解决这一矛盾的最简单方法就是加入“动量项”,即令:Δωji(n)=ηδj(n)yj(n) +αΔωji(n-1),0<α<1。
与标准的最速下降BP法相比,更新权值时,上式多了一个因式αΔωji(n-1),称为动量项,其通过在权值更新中引入稳定性来提高标准反向传播的速度;α称为遗忘因子,通常在0,1之间取值。它表示,本次权值的更新方向和幅度不仅与本次计算的梯度有关,还与上次更新有关。加入这一因式使权值更新具有一定的惯性,并且具有了一定的抗震荡能力,加快了收敛速度。其作用分析如下:
当顺序加入训练样本时,公式可写成以t为变量的时间序列,因此上式可看做是Δωji的一阶差分方程,对Δωji(n)求解,可得:
标准的最速下降法采用固定大小的学习率,无法根据情况调整学习率的值。在动量BP法中,更容易找到最小值点,而不会陷入来回振荡。
2. 蚁群算法原理。1992年,意大利学者Dorigo.M,Maniezzo V,Colorni A首先提出蚁群算法,简称ACO(Ant Colony Optimization)。蚁群算法ACO是一种新型的模拟进化算法,该算法是由蚂蚁觅食得到启发而来的,采用蚁群在搜索食物源的过程中所体现出来的寻有能力来解决一些离散系统优化中的困难问题。应经用该方法求解了旅行商问题(TSP问题)、指派问题和调度问题等,取得了一系列较好的实验结果。
蚂蚁这类群居昆虫,虽然单个蚂蚁的行为非常简单,但是由单个蚂蚁组成的蚂蚁群体的行为却非常复杂,这个群体可以完成复杂的任务。究其原因是因为蚂蚁个体通过一种叫做信息素的物质传递信息,蚂蚁移动时,可以把信息素留在自己经过的路径上,这样它们就可以感知到这种物质的存在,同时感受到该物质的强度并朝着物质强度高的方向移动,从而指导它们的运动方向。如果蚂蚁群体在运动方向遇到障碍,由于蚂蚁群体是均匀分布的,所以刚开始无论路径的长短如何,蚂蚁总是按照相同的概率选择各种路径。由于蚂蚁能够在运动路径上留下信息素,信息素浓度越高,蚂蚁就会越多,相同的时间内较短路径中蚂蚁群体留下的信息素浓度较高。
因此,随后蚂蚁选择较短路径的概率也会随之增加,导致选择较长路径的蚂蚁越来越少,从而逐渐消失。通过这种信息素的交流,最终蚁群个体之间选择了寻找食物的最佳途径,这就是蚁群算法的生物学背景和基本原理,它用一个形象化的图示描述如下。如图4-a所示,假定蚂蚁从巢穴越过障碍物到达食物源有两条道路可走,各点之间的距离,如图4-a中的d所示。假定蚂蚁绕过障碍物周围的两条道路分别为:巢穴—ABC—食物和巢穴—ADC—食物,设每个单位时间有30只蚂蚁从巢穴点到达A点,有30只蚂蚁从食物点到达C点,蚂蚁过后留下的信息素為1。由于路径CB,CD,AB、AD在初始时刻均无信息素,位于A点和C点的蚂蚁以相同的概率随机选择路径CB,CD,AB、AD,如图4-b所示,即每条路径上分布15只蚂蚁。经过一个时间单位后,在路径CDA上的信息量会是路径CBA上信息量的两倍。如图4-c所示,随着时间推移,在信息素的指导下,蚂蚁群体选择路径CDA的概率会越来越大,最终所有蚂蚁都会放弃路径CBA,完全选择路径CDA,最终找到从巢穴搜索到食物的最优路径。
蚁群算法属于随机搜索算法的一种,众多研究已经表明,蚁群算法具有很强寻优能力,因为利用正反馈原理,该算法在一定程度上可以加快寻优的过程,蚁群算法具有以下优点:(1)具有很强的鲁棒性:只要对基本蚁群算法的模型稍加修改,便可以应用于其他问题;(2)并行性和全局收敛性:该算法是一种基于种群的进化算法,不同个体之间可以进行信息交互和相互协作,易于并行实现;(3)易于同其他启发式算法结合:蚁群算法很容易与多种智能算法结合,通过组合优化提高算法的性能。
四、 泄漏特征的蚁群神经网络融合模型
对于BP神经网络而言,其学习方法可以很好的调整系统参数,训练一个BP神经网络,实际上就是调整网络的权重和偏置这两个参数,参数的调整速度依赖于初始阶段状态选择,这可能会减慢收敛速度并影响收敛结果。蚁群算法是一种随机搜索的全局优化算法,通过选择合理的蚁群模型参数,进行网络的有效训练,使网络尽快收敛,同时避免陷入局部最优解,大大提高了网络的鲁棒性和自学能力。
将蚁群算法与神经网络算法融合的基本思想是假定神经网络中有m个参数将被优化,包括所有权值和阈值。首先,将这些参数排序形成一个集合Is,然后将蚂蚁的数量定义为k,这些蚂蚁从巢穴出发去搜索食物,蚁群中的每只蚂蚁根据集合Is中每个元素的信息素状态从集合中随机选择一个参数出发,不同蚂蚁选择的元素彼此独立,当蚂蚁选择完集合中所有元素后,它们到达食物源并按照原始路径返回巢穴,依照蚁群算法根据信息素调节规则调节集合中所选元素的信息素,重复正反馈过程,当所有的蚂蚁收敛到相同的路径时,就意味着找到网络参数的最优权值,搜索结束。蚁群神经网络融合算法具体步骤如下:(1)设置初始条件:在蚂蚁搜索的初始时间t=0时,将所有蚂蚁都放在巢穴中。最大迭代次数设置为Nmax,每个集合中的每个元素的信息素浓度初始化为常量;(2)遍历,启动蚂蚁,每只蚂蚁从集合Is开始,集合Is中的元素选择依次按照路径选择规则进行;(3)信息素更新,重复步骤(2),直到满足最大迭代次数或找到最佳权值;(4)网络的二次学习训练,用蚁群算法得到的最优解作为BP神经网络参数训练样本的初始权值,对网络进行二次训练,直至满足误差要求。
利用蚁群算法为一般的BP神经网络的初始权值和阈值寻优,经过合理选取蚁群模型参数,利用最佳的权值和阈值组合来优化BP神经网络性能,改进的网络可以利用蚁群算法优越的全局寻优特性加快算法收敛速度,其泄漏识别精度也高于传统神经网络优化算法,克服BP神经网络的常常不稳定、易发生震荡、易于陷入局部最优值等缺陷。
参考文献:
[1] 王全国,汤银才,管强.石化装置气体泄漏频率的贝叶斯分析[J].数理统计与管理,2016,35(4):594-602.
[2] 吕红芳,顾幸生.基于蚁群神经网络的两级信息融合算法[J].上海交通大学学报,2016,50(8).
[3] 程加堂,艾莉,熊伟.基于蚁群神经网络的滚动轴承故障诊断[J].轴承,2012,(2):34-36.
[4] 黄博,师奕兵,张伟,等.基于蚁群神经网络的油气套管裂缝缺陷检测[J].测控技术,2011,30(3):98-102.
[5] 章晓英.基于蚁群算法优化BP神经网络的数控机床热误差补偿[J].组合机床与自动化加工技术, 2013,(10):50-53.