基于人工神经网络的过闸流量软测量研究

  摘要:由于过闸流量与其影响因素(上游水位、闸门开度等)存在着复杂的非线性关系,给水流量的精确测量带来了困难。本文利用人工神经网络优良的非线性映射能力,建立了一个基于BP网络过闸流量软测量模型,并运用MATLAB神经网络工具箱以及碧口水电站实际数据对网络进行训练与验证。验证结果符合水流量测量精度的要求,为过闸流量的测量提供了一种简单,可靠的新方法。

  引言

  通过闸门的水流量是一个非常重要的参数。只有获得准确的流量值,才能实现对水资源的优化配置。目前对于过闸水流量的测量已形成了几种方法:流速仪法、水力学公式法以及曲线法[1,2]。其中,被广泛运用与现场测流中的方法是流速仪法,它也是流量测量中最重要的方法。流速仪法是通过实测断面上的流速和水道断面积来确定流量的方法。测量时先在断面上布设测速垂线和测速点,再将流速仪放到测速点处测速,用分割法计算断面面积,推算出流量。虽然这种测流方法是目前的主导方法,但却存在着一些天生的缺陷:一是很难确定合适的测速垂线及测点,这是由于河道断面形状的不规则以及流速场分布情况复杂等原因造成的;二是实时性不高,测量时间比较长,从而导致管理部门不能及时了解过闸流量,耽误启闭闸门的最佳时机;三是需要的硬件资源比较多,因此大大增加了测流成本。鉴于此,研究一种新型的即简单、操作方便实时性又高,并且精度满足要求的测流方法已成为目前的迫切需求。而本文采用的BP网络软测量技术正好解决了以上诸多问题。

  BP神经网络软测量模型

  软测量技术是依据工业生产过程中有关的过程变量间的关联,通过一些能够检测的过程变量和相应的数学模型,来估计过程中用仪表较难检测的另一个变量的技术[3,4]。通常而言,上游水位与闸门开度是比较容易测量的,而过闸流量却是一个非常难测量的变量。而对于一个固定的闸门,其过闸流量与上游水位及闸门开启高度有必然的联系,所以,以上游水位以及闸门的开启高度这两个值作为参数建立一个BP网络数学模型,可间接获得流量值。从而使得过闸流量的软测量得以实现。BP模型是一种多层感知机构,是由输入层、中间层(隐层)和输出层构成的前馈网络。因此,需要确定BP网络模型的层数及其各层的节点数。

  网络层数的确定

  理论上已证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。这就给我们提供了一个基本的设计BP网络的原则。增加层数主要可以更进一步降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间,并可能陷入局部极小。而误差精度的提高实际上也可以通过增加隐含层中的神经元数目来获得,其训练效果也比增加层数更容易观察和调整[5]。一般而言,BP网络模型中隐含层的层数为一层,这样网络既不会太复杂又不会陷入局部极小。因此,这里的BP网络采用两层结构,一层隐含层,一层输出层。各层之间实行全连接,层内神经元之间无连接。输出层神经元的激励函数为线性函数,隐层神经元的激励函数为S型(sigmoid)函数[6],即:

  隐含层神经元数的确定

  隐含层神经元数的选择在理论上并没有一个明确的规定。因此,选择合适的神经元数就显得十分麻烦。如果神经元太少,则网络不能很好地学习,需要的训练次数也多,训练的精度也不高。反而言之,如果隐含层神经元数选的太多,虽然功能会越大,但是循环次数也就是训练时间也会随之增加。另外可能还会出现其他的问题,如导致不协调的拟合。一般的选择原则是:在能够解决问题的前提下,再加上一到两个神经元以加快误差的下降速度即可[7]。

  这里,我们通过对不同神经元数进行训练对比,以及通过简单的交叉验证法确定隐含层的神经元数为15个。基于BP网络的过闸流量软测量模型如图1所示。

  模型的训练

  BP网络学习规则

  BP网络的学习过程分为两个阶段:

  第一个阶段是输入已知学习样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元的输出。

  第二个阶段是对权和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响,据此对各权值和阈值进行修改。

  以上两个过程反复交替,直到达到收敛为止。现在对本文所建立的网络进行BP算法推导。其中a1、b1为隐含层第i个神经元的输出和阈值,a2 、b2为输出层的输出和阈值,w1j 为隐含层第j个输入到第i个神经元的权值,w2li为输出层第i个输入到输出神经元的权值,f1、f2分别为隐含层和输出层的激励函数,pj和t 分别为输入样本和目标输出。

  信息的正向传递

  隐含层神经元的输出为:

  数据样本的选取及处理

  所用的人工神经网络的训练与测试集样本来源于碧口水电厂右泄工作门2001年水文历史数据。从中选取典型的60组数据,其中前40组作为训练样本,后20组作为测试样本。限于篇幅只列出部分数据,如表1所示。

  由于输入样本各参数的集中取值范围不同,参数大小不一,为了使各类参数所起的作用大致相同,必须对输入数据进行标准化,把输入数据都规一到[0,1]闭区域内[8]。因此,我们对表1的数据做如下处理:H*G=HG/10;H*UP=HUP/1000;Q*=Q/Qmax。

  运用MATLAB神经网络工具箱对网络进行训练与测试

  在运用MATLAB神经网络工具箱对网络进行训练之前,要注意两方面问题。一是初始权值的选择,再个就是学习速率的选取。

  由于系统是非线性的,初始值对于学习是否达到局部最小、是否能够收敛以及训练时间的长短的关系很大。一般选取初始权值为(-1,1)之间的随机数。在MATLAB工具箱中可采用函数initnw.m初始化隐含层权值。学习速率决定每一次循环训练中所产生的权值变化量。若学习速率过大可能导致系统的不稳定;但学习速率过小会导致训练时间较长,收敛速度很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01到0.8之间。综合考虑一下,本系统选取学习速率为0.1。BP网络训练程序如下所示[9]:

  %定义输入向量和目标向量

  P=[0.5 0.6 0.8 ……;0.7082 0.7081 0.7079 ……];

  T=[0.3744 0.4533 0.3735 0.648 ……];

  %创建BP网络和定义训练函数及参数

  net=newcf( minmax(P),[15,1],{‘logsig’,‘purelin’},‘traingd’);

  net=initnw(net,1);

  net.trainParam.epochs=5000;

  net.trainParam.lr=0.1;

  net.trainParam.goal=0.00001;

  %训练神经网络

  [net,tr]=train(net,P,T);

  待网络训练好后,利用选定的20组测试样本对其进行测试,以测量其泛化能力。测试结果如图2和图3所示。

  图2为真实流量值与通过BP网络软测量模型的预测值之间的拟合曲线,方框代表预测值,圆点代表真实值。

  图3为BP网络模型过闸流量估计误差曲线,从图中可以看出网络估计误差在5%以内,与流量真值符合良好,反映了软测量模型良好的测量能力。通过改变网络结构、神经元的激活函数、学习算法,进一步增强神经网络对模糊数据的识别能力和容错性,从而可进一步提高模型精度。

  结论

  本文提出了一个基于两层BP网络的过闸流量软测量模型,训练与测试结果表明:该网络对过闸流量有很好的预测性,误差在5%以内。而一般传统的流速仪测流的误差也为5%,因此该模型能满足工程测量的需要。另外,预测值与流量真值具有较好的一致性,也充分显示了人工神经网络解决工程问题的适用性。因此,可以通过基于人工神经网络的软测量模型来解决过闸流量与各影响因素之间的复杂非线性关系,为过闸流量的测量提供了一种可供选择的有效手段。

  参考文献:

  [1] 穆祥鹏,陈文学,崔巍等.弧形闸门流量计算方法的比较与分析[J].南水北调与水利科技,2009,7(5):20-22

  [2] 王知生,杨艳玲,王广森.海日苏拦河闸过闸流量的测验方法[J].内蒙古科技与经济,2002,7:72

  [3] 王孝红,刘文光,于宏亮.工业过程软测量研究[J].济南大学学报(自然科学版),2009,23(1):80-85.

  [4] 姜万录,雷亚飞,张齐生等.基于神经网络软测量的动态流量测量方法研究[J].流体传动与控制,2007,6:25-30

  [5] 丛爽.面向MATLAB工具箱的神经网络理论与应用[M].第3版.合肥:中国科学技术大学出版社,2009:65-80

  [6] 侯媛彬,杜京义,汪梅.神经网络[M].西安:西安电子科技大学出版社,2007:35-39

  [7] 孙增圻.智能控制理论与技术[M].北京:清华大学出版社,1997:129-134

  [8] 王峥,王帆.基于神经网络调速系统故障诊断的数学模[J].三峡大学学报(自然科学版),2004,26(2):123-126

  [9] 周开利 抗药红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005:89-100

  田晓青 合肥工业大学机械与汽车工程学院(安徽 合肥 230009) 刘松良 广州数控设备有限公司系统研发一室(广东 广州 510180)

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: