自适应与附加动量BP神经网络的ECT流型辨识
2018-03-24王莉莉刘洪波陈德运冯其帅
王莉莉 刘洪波 陈德运 冯其帅
摘要:传统BP神经网络是解决电容层析成像系统流型辨识经典的算法,虽然在一些简单问题上达到了工业实际应用的要求,但如果解决复杂工业问题时就会暴露出很多缺陷。针对传统BP神经网络算法的不足,为降低误差震荡现象,引入了自适应调节学习速率和附加动量因子。通过输入电容值进行训练,得到适合流型识别神经网络。仿真实验结果表明,该算法不仅继承传统BP神经网络的优点,而且还提高了ECT系统流型辨识中的收敛速度慢,解决了容易陷入局部极小值的问题。
关键词:电容层析成像;流型辨识;BP神经网络;局部极小值;收敛速度
DOI:10.15938/j.jhust.2018.01.019
中图分类号: TP391.9
文献标志码: A
文章编号: 1007-2683(2018)01-0105-06
Abstract:Traditional BP neural network is a typical mehtod to solve ECT system of flow pattern identification. It is applied to the simple problems in industrial applications, but there are many defects in solving complex industrial problems. In this paper based on the analysis of deficiency of BP neural network, for reducing the error oscillation, the adaptive learning rate adjustment factor and the additional momentum is introduced. In this method, the electrical capacitance values are input to train a network to identify the flow patterns. The simulation results show the algorithm not only inherits the advantages of traditional BP neural network, but also improve slow convergence and solve being prone to fall into local minimum problems in flow pattern identification of ECT system.
Keywords:electrical capacitance tomography;flow regime identification;BP neural network;local minimum;convergence speed
0引言
流型[1-2]的概念是两相流过程中的两相分布状态,即流体[3]流动的形成。流型辨识的研究对工业发展起到了至关重要的作用。流型辨识方法经过多年研究,虽然取得了一定的成果,但是,在关于流型的技术上还存在同一名称的流型定义不一致的问题。早期对流型的划分比较简单,研究也停留在表面,后期随着对流型的认识加深以及研究工作的不断深入,人们开始对流型进行更加细致的划分。
流型辨识被當今学者主要分为两种,一是对各级流型图判定[4],二是利用仪器仪表所测得的数据直接进行分析。
1ECT原理
电容层析成像[5-6](electrical capacitance tomography,ECT)技术的测量原理是:多相流体的各相介质具有不同的介电常数,多相流混合体等价介电常数和电容值的测量变化是由各相组分浓度分布和变化引起的,电容值变化[7-8]会引起多相流介质相浓度大小和分布情况的改变。
电压测量、电流激励是ECT系统通常工作方式。场内的电导率发生变化不但改变场内电势分布与电流场的分布,还会改变场域边界上测量的电容值,边界测量电容也包含了场域内电导率信息。先对水为满管状态下对应位置电压进行测量,在对实际对象边界电压进行测量,利用相应计算机成像算法对两组测量电压值对比,便可重建出导电率分布情况,进行可视化测量。如图1所示,电容层析成像系统主要由计算机图像重建、电容传感器阵列、数据采集系统三部分组成。
近年来对电容传感器结构设计的研究成为了传感器的研究热点。对于传感器阵列的分布信息可以从被测物场获取。如果使用交流电压电流刺激一下被测物,从被测物场的任意的角度我们都可以观察出空间的敏感场。敏感阵列之所以能够输出相对应的信号是由于物场的内部不同电导率和敏感场的变化引起的。
电容极板之间的电容值可以看作为管道截面内所有点对该电容不同贡献的叠加,因此,电极电容值就是来自管道截面内多相流体扫描,从管内多相流体任何一个方向或者角度投影所得到的数据就是实验的电容值。电容层析成像的投影数据也就是电容值在多相流参数和图像重建的各个阶段中使用的数据。
通道的数据采集控制,A/D变换及通讯接口,电压/电容(V/C)变换等组成电容数据采集系统,设计的重点和难点是电压/电容(V/C)变换电路,电容层析成像越精确,系统的识别也就更加的精确。
对数据进行加工处理后,被测物场会有一个时间过程来形成二维或三维图像,形成二维或三维图像的时间过程就是计算机的图像重建,过程设备或者装置内部某个界面上的不同电导率分布可以直观的显示出来,可以使用相应知识的软件库,提取被测物场的内部信息:如流型、相含率、相速度、相尺寸等。成像系统控制外围接口电路指令的发出,数据采集系统采集数据并接收数据,采用相应图像重建算法对采集到的数据进行处理,以达到图像重建效果。
2BP神经网络
神经网络是跨学科性非常强的一门学科,神经网络[9-10]的应用与研究不但是计算机领域研究的热点,其他学科领域的研究员如:医用科学、人工智能研究、机械制造、生物研发等也开始研究神经网络[11-12]。近二十几年,神经网络学术的研究也成为了学多学者研究的热点,神经网络在其他领域也得到了广泛的应用。如模式识别、信号处理、联想记忆、组合优化、自动控制、计算机视觉以及故障诊断等领域,这些领域的研究也都取得了比较高的成果。
多层前馈和多层的拓扑是BP神经网络的结构特点,神经网络的层数与复杂度成正比,包括输入层、隐含层和输出层,该层的神经元直接连接到下一层所有神经元,同层神经元不会出现连接的情况[13]。BP神经网络结构如图2所示。
BP神经网络算法的实质可以简单解释,把样本数据输出与输入问题变成一个非线性优化问题是,算法核心是基于极小化的二次函数,其原理是利用Delta学习的原理,当使用最速梯度下降方法时,权值开始沿着误差函数负梯度方向变化,其流程如图3所示。
BP神经网络算法[14-15]的学习方法是典型的有导师训练学习方法,许多学者虽然对BP神经网络算法进行各种改进[16-17],仍然不能达到理想的效果。虽然传统BP神经网络算法存在诸多缺点,本文只介绍3个经典的缺点:一是学习速度较慢,影响了整体的输出结果。另外,BP神经网络中的神经元、每一层阈值和权值不是一成不变的,而是随着学习速度不断进行改进和适应,全局逼近预测耗时过长,也能导致神经网络整体收敛速度减慢;二是BP神经网络算法易产生局部极小值,导致训练失败;三是BP神经网络权值的初始化和层数的选取是随机的,目前尚没有正式理论的指导与参考。
以上3个缺陷严重影响BP神经网络解决工业上复杂问题,为了使BP神经网络解决复杂问题效率得到提高,本文针对前两个缺陷做出一些适当改进。
3自适应学习与附加动量的BP神经网络
传统BP神经网络算法是利用误差对权值梯度下降进行不断调节[18],只要误差不断下降,我们就继续调节,直到误差不再改变为止。虽然提高网络的收敛速度的方法有很多,但通过阅读大量参考文献,发现自适应学习方法明显优于其它方法,故本文采用自适应学习方法来提高收敛速度,调节公式如下:
其中:c为本文最大误差变化率,a、b、c的取值要凭着经验获得,取值为a=1.05,b=0.7,c=1.04。使用以上学习速率调节学习方法,学习速率得到了很大提高,但由于收敛速度过快而产生了一些振荡,如图4所示。
振荡产生的原因为:传统BP算法是一种简单静态寻优方法,如果需要改正 ω(k)时,可以在第κ步负梯度方向进行改正,考虑本次的测量值就够了,因此会产生震荡现象导致网络收敛速度下降。为了提高收敛速度,本实验是增加记录上一次权值:实际权值的调整量是本次权值拿出一定的比例与上一次权值拿出一定的比例进行叠加,比例系数由经验获得。新算法的权值调节公式如下:
ω(κ+1)-ω(κ)=η(-Eω(κ))+mcω(κ)-ω(κ-1)(3)
其中:mc为动量因子。按照以上公式做,权值会在最小值收敛的方向减少振动,训练时间必然减少。
图5增加记录上一次权值后产生的振荡图,与图4相比,振荡现象有了明显减少。
此方法使用动量因子实际上增加了一个阻碍运动的一项因子,起到了减缓过度平滑的作用,在自适应学习速率的前提下附加动量,能够减少了学习过程的振荡趋势,但不影响收敛速度的提高;对比如上两图不难发现,改进后不但可以减少误差曲面局部细节的敏感性,而且还减少陷入局部极小值的可能性。
常量mc作为附加动量因子,当学习速率η发生变化,收敛速度和精度也会改变,动量项对减少误差振荡并没有起到理想的效果。虽然传统BP神经网络算法存在很多缺陷,但是对于解决简单工业问题,该方法也能够达到理想效果;然而,我们实际工业问题大多数复杂多变的,由于问题的复杂性,误差曲面是也极为复杂,会出现很多局部最小点,如果把调节的重点只关注动量因子调节,很难做到网络误差沿训练的方向降低,振荡现象也会因此产生。实验在选取动量因子大小时应该凭借实验经验选取,因为动量因子是影响收敛效果的一个重要因素。当mc取值超过了一定值,学习速率η与网络权值的调节量Δω也会因为mc得取值过大超出一定限度,网络的训练震荡现象会很严重,诱发无法收敛的情况;如mc取值过于低,上次权重变化的方向也不会被完全记住,因此对本实验没有意义。
4仿真和验证
120组样本(每种20组样本)中6种典型流型(满管,层流,空管,环状流,核心流,滴流)是典型的12电极ECT系统,我们使用Matlab7的环境进行训练。每组电容的电容值都是确定的,240组试驗样本(两种算法对比共240组样本)采取高斯噪声法来确定,如下公式4作为具体确定输入的节点,设Ng表示5dBm的高斯噪声,神经网络的四种不同输入用
两种神经网络的输出分成6个不同的流型,每一位6种不同流型用1×6的矩阵来代表,并设当矩阵元素其中一位为1时,其他元素为0时代表一种典型流型,如1,0,0,0,0,0T代表满管,0,1,0,0,0,0T代表层流。1和0代表本实验的输出结果,两种算法的六种流型中,输出为1的为在其对应位置上,输出为0的为在其他位置,由于条件有限我们所用实验中噪声的是不稳定,导致网络输出的1和0是也不能完全保证是正确的,为尽可能提高实验输出的准确性,对网络训练后的结果可以适当的增加一层竞争网络函数处理,以达到增强神经网络的抗干扰能力。由于去除噪声干扰问题比较复杂,本文不做过多介绍。这样做能避免输出1和0的不确定性,这就是流型辨识[19-20]的效果。
经过大量实验证明,隐含层节点的数量是9时,整体识别率曲线网络的比例是最稳定的,隐含层节点数目太多或者太少都会影响实验效果。多次试验和历史经验可将0.01设置为学习率。本实验采用梯度下降的自适应学习效率方法训练函数(traingdx),采用非线性激活函数双极S型激活函数(tansig)确定激活函数,函数的值域可用于区别双极S形函数与S形函数(logsig),S形函数值域设为(0,1),双极S形函数的值域设置为(-1,1),以上数据的设置是凭借实验经验设置的,能够提高实验效率。
由于神经网络权值的初始值是任意的,从而导致网络不稳定[21]。为了验证自适应学习方法能够提高流型辨识的识别率,为了简化实验的复杂度,迭代次数不超过500,对传统BP神经网络和具有自适应学习的BP神经网络(ABP)进行ECT流型辨识,表1为实验后的结果。
对表1进行分析与总结,实验结果证明了具有ABP算法在对几种典型的流型的识别率得到了提高,但是对于一些工业的发展这样的流型识别率还是不够的。因此本文提出了传统BP神经网络算法不但具有自适应学习能力还有附加动量功能。
由于神经网络的实验训练存在误差,本实验将0.01设置为本次实验训练的目标误差,在试验过程中神经网络的迭代次数是不可预知的,凭借实验经验,在简化实验复杂度但不影响实验效果的情况下,5000次迭代次数作为上限,图6就是我们经过实验验证后的两种神经网络训练曲线。
图6可以得出结论,改进后BP神经网络算法不但训练曲线比传统BP神经网络平滑,而且训练次数也明显减少,改进BP神经网络只要93次就可以达到目标,而传统BP神经网络训练的迭代次数要124次,才能达到目标。另一方面,BP神经网络的初始值选取对训练结果有较大的影响,初值选取不一样导致每次训练结果不可能相同,初始值选取不同对改进BP神经网络实验结果影响不大,可以忽略不计。表2是两种算法进行实验后得到的识别率。
表2对工业上ECT中几种常见的流型都做了实验,根据ECT流型辨识后结果进行分析与比较,显而易见的是改进后BP神经网络的识别率提高了很多,值得一提的是中位流和满管使用改进后BP神经网络算法进行流型辨识实验,结果发现辨识率达到了100%,无论在科研还是在实际工业的发展都有积极的作用。
5结论
在解决ECT流型辨识的问题上,本文根据传统BP神经网络存在的缺陷,进行了改进,首先使传统BP神经网络算法具有自适应学习能力,进行对比实验,发现识别率提高了,但没有达到预期效果,又在自适应学习基础上提出了附加动量,即本文所说的改进BP神经网络算法,并把改进后的BP神经网络与传统BP神经网络的分别进行ECT系统流型辨识实验,并对实验结果进行分析与对比,发现本文改进后的算法不但能使ECT系统流型辨识的准确率得到提高,还较少了ECT流型辨识的迭代次数,收敛速度和性能也有了明显的提高;此方法不但为在ECT系统流型辨识方法研究提供一个很好思路和方法,又对工业的发展起到了积极作用。
参 考 文 献:
[1]杨道业,施源,徐锌锋.基于双截面ECT的气/固两相流参数检测系统[J].仪器仪表学报,2013,34(9):1968-1969.
[2]陈德运,高明,宋蕾,等.一种新型的三维ECT传感器及三维图像重建方法[J].仪器仪表学报,2014(5):961-968.
[3]CHEN Deyun,WANG Lili,CHEN Yu.Analyses and Simulation of Sensor Structure Parameters for Electrical Capacitance Tomography System [J].Proceedings of SPIE(The International Society for Optical Engineering),2008,66(21):575-578.
[4]陈德运,张华,朱波,等.油水两相流电阻层析成像系统流型的辨识[J].电机与控制学报,2007(6):639-643.
[5]田海军,周云龙.电容层析成像技术研究进展[J]. 化工自动化及仪表,2012(11):1387-1392.
[6]高彦丽,章勇高,聂水果,等.高速电容层析成像系统的硬件关键技术研究[J]. 电测与仪表,2010(2):13-16.
[7]吴新杰,黄国兴,王静文.压缩感知在电容层析成像流型辨识中的应用[J].光学精密工程,2013(4):1062-1068.
[8]宋蕾,陈德运,姚玉梅,等.Elman神经网络在ECT系统流型辨识中的应用[J].哈尔滨理工大学学报,2014,19(5):103-108.
[9]宋志杰,王健.模糊聚类和LM算法改进BP神经网络的变压器故障诊断[J].高压电器,2013(5):54-59.
[10]林虹江,周步祥,冉伊,等.基于遗传优化BP神经网络算法的光伏系统最大功率点跟踪研究[J].电测与仪表,2015(5):35-40.
[11]师洪涛,杨静玲,丁茂生,等.基于小波-BP神经网络的短期风电功率预测方法[J].电力系统自动化,2011(16):44-48.
[12]李松,刘力军,解永乐.遗传算法优化BP神经网络的短时交通流混沌预测[J].控制与决策,2011(10):1581-1585.
[13]夏玫.BP神經网络泛化能力改进研究[D].太原:太原科技大学,2009:24-26.
[14]徐黎明,王清,陈剑平,等.基于BP神经网络的泥石流平均流速预测[J].吉林大学学报(地球科学版),2013(1):186-191.
[15]李波,柳华桥,戴鑫,等.标准BP神经网络算法和附加动量法在沉降监测中的应用研究[J].城市勘测,2016(1):145-148.
[16]王树森,赵冬玲.一种基于附加动量法的改进BP算法[J].济源职业技术学院学报,2012(3):9-13.
[17]王燕妮,樊养余.改进BP神经网络的自适应预测算法[J].计算机工程与应用,2010(17):23-26.
[18]尹光志,李铭辉,李文璞,等.基于改进BP神经网络的煤体瓦斯渗透率预测模型[J].煤炭学报,2013(7):1179-1184.
[19]陈德运,朱波,张华.基于小波包分析和RBF神经网络的ERT系统流型辨识[J].计算机工程与应用,2008(6):231-233.
[20]刘延东,李惠强,何在刚,等.基于粗神经网络和特征提取的ECT流型辨识[J].辽宁大学学报:自然科学版,2014(4):330-337.
[21]冀海峰,黄志尧,王保良,等.基于信息融合技术的气固流化床流型辨识[J].仪器仪表学报,2002(S2):897-899.
(编辑:温泽宇)