基于LM-BP神经网络的黑河龙电渠流量推测研究
2018-09-21,,
, ,
(1.甘肃省水文水资源局,甘肃 兰州 730000;2.甘肃省张掖水文水资源勘测局,甘肃 张掖 734000)
多年来,黑河莺落峡水文站工作人员在龙电渠流量测验中,常规测验方法采用的是流速仪测流法,测验方案是“五线五点”法。流量推求方法采用的是临时曲线法推流,即将实测流量点绘在水位流量关系坐标图纸上,再用专用的曲线尺(俗称“大刀”尺)绘出关系曲线,继而在曲线上用观测水位读取流量。在实际应用时,这种方法极度容易受到水力因素不稳定变化的影响,出现多条平行或者绳套曲线,从而降低了流量推测值的精度。程建忠[1]等对黑河龙电渠测验断面的流速分布做了研究,其结论是根据不同的水情选取不同位置、不同流速系数来获取相对准确的断面平均流速;王二平[2]等对矩形明渠流速分布规律做了实验研究,最终得出通过测量某条测线特征点流速,推求出垂线平均流速,继而推求出断面平均流速。但是这两种方法都没有改变传统的流量推测方法,仅是在测验方案上提出了改进建议。
文献[3]由明槽流速分布实验给出明渠任一垂线上的流速与水深的无量纲函数关系一般表示为:
(1)
式中:u,v分别为测线上任一点流速与测线平均流速;y,H分别为实测水深和渠深;a,b,c为待定系数。该式较真实反映了矩形明渠流速的分布特征,由此可推断过水断面的点流速与过水断面的平均流速之间存在某种复杂非线性关系。因此本文拟采用断面“五线一点”法测流方案,并把LM-BP神经网络预测模型法应用到渠道流量推测中,即用五条测速垂线0.6处点流速推求断面平均流速。这种方法的意义在于创新流量测验的新方法,并且在提高测验精度同时,减轻测验工作人员内业和外业工作强度。
1 黑河龙电渠流量测验现状分析
莺落峡龙电渠位于黑河出山口段河道的右侧,是灌溉、发电引水渠;测验断面呈矩形,渠深5.53 m,宽5 m;渠道系混凝土浇筑而成,表面较光滑。渠道年引水量10.0亿 m3以上,最大引水量90 m3/s。断面上游3 km处建有龙首水电站拦河大坝,设有5孔下泄闸门,库容0.132亿 m3;上游15 km已建龙首二级电站蓄水发电,库容0.862亿 m3;断面下游2 km处有灌溉引水闸门一座[4]。受上游闸门调节、洪水涨落以及下游回水的影响,多年来实测水位流量关系曲线呈多线形式,推流时段难以准确把握,且测验任务繁重,外业、内业工作量大。龙电渠现流量测验设施为水文手摇缆道,50 kg铅鱼,断面流量采用“五线三点法”测验,使用Ls(25-1)型流速仪测速。为控制流速脉动影响,每一测速点的测速历时大约等于100 s,实测数据可靠性比较高。
龙电渠测验断面上下游渠道顺直,渠道是混凝土衬砌,过水断面面积不变且为单式断面。断面流量公式可采用下式:
Q=V×W×H
(2)
式中:Q为过水断面流量,m3/s;V为过水断面平均流速,m/s;W为过水断面宽(取常数5),m;H为过水断面水深,m。由(2)公式得出,只要精确推求出过水断面的平均流速就可得到流量值。由于龙电渠断面流量受到上游闸门调节、下游电站回水的影响,断面处水力要素糙率和坡度呈现不稳定的变化,使得实测水位流量关系曲线复杂,而龙电渠测验断面流量在一年之内的最大、最小值基本稳定不变。因此,本文避开复杂的水力学关系,应用LM-BP神经网络模型推求断面平均流速,进而得出精确的断面流量值。模型示意如图1。
图1流量推测示意图
2 LM-BP神经网络模型原理
BP神经网络是1986年由Rumelhart和MeCelland等提出的一种多层前馈网络,其本质上是一种高度的非线性映射[5]。其基本思想是学习过程由信息的正向传播和误差反向传播两个过程组成,通常由输入层、隐含层和输出层组成,层与层之间相互连接,每节点之间没有任何连接。根据Kolmogorov定理,具有一个隐层的三层BP神经网络能在闭集上任意精度逼近非线性连续函数[6]。其结构如图2。
图2 神经网络结构模型
传统的BP神经网络模型实际上是一种简单的最速下降静态调整各层权值和阈值的方法,在网络训练过程中容易陷入局部最优,且收敛缓慢。L-M又称阻尼最小二乘法,是梯度下降和高斯-牛顿法的结合,该算法兼具局部快速收敛特性和全局搜索特性。其基本思想是使每次迭代不再沿着单一的负梯度方向,而是允许误差沿着恶化的方向进行搜索,同时通过自适应调整参数μ,在两个行进方向间光滑过渡,进而优化网络权值,使网络能够有效收敛,大大提高了网络的泛化能力[7]。L-M算法是基于避免计算修正速率中Hessian矩阵而设计的,当误差性能函数具有平方和误差的形式时,Hessian矩阵可近似表示为:
H=JTJ
(3)
梯度表示为:
g=JTe
(4)
误差函数指标:
(5)
L-M算法根据下式修正网络权值:
w(n+1)=w(n)-[JTJ+μI]-1JTe
(6)
式中:J是包含误差性能函数对网络权值一阶导数的雅克比矩阵;I是单位矩阵;e是误差向量;Yk是正向计算的网络输出向量;Tk是实际的输出样本向量;p是样本个数;w是神经网络权值组成的向量;μ为自适应调整系数。在实际操作过程中,该值是一个试探性参数,算法开始时μ取小值,如果求得的w能使误差函数指标E(w)降低,则该值取μ/β(β>1);反之,该值取μ*β。通常设置μ初始值0.01,β取10。LM算法具有二阶收敛速度,所需要迭代次数很少,可大幅度提高收敛速度[8]。另外由于[JTJ+μI]为正定矩阵,因此公式的解总是存在的,计算效率和精度得到提高[9]。但是,与其他训练算法相比,LM算法需要大量内存,因此其更适用于训练权值和阈值数目不超过几百的神经网络[10]。根据本文待解问题的特征,可以选用LM算法作为BP神经网络预测模型的训练方法。
3 渠道流量推测模型设计及仿真分析
3.1 模型样本集的确定
本文采用有导师方式训练方式,选用的数据资料为2016年1-10月实测的流量(51份),用起点距0.5 m、1.6 m、2.8 m、4.0 m、5.1 m测速垂线相对位置0.6处点流速作为模型输入,过水断面平均流速作为模型输出,即样本集由输入数据和目标数据组成。网络的样本集一般包括训练样本集和测试样本集。训练样本集用于对网络进行训练;测试样本集用于检测网络训练的效果和推广能力,故在不同流速范围随机选取6组数据作为测试样本,剩余45组数据作为训练样本。其中每组输入数据5个,为每份实测流量的五个测速垂线相对位置0.6处的点流速;每组输出数据1个,为每份实测流量中的过水断面平均流速。
3.2 数据归一化处理
本文选取的数据均为非负数,可选取Logsig函数作为激活函数,由于Logsig函数曲线在0和1两点附近平缓,影响网络训练的速度和模型的灵敏性[11]。对于神经网络来说输入和输出限制在一定的范围内,使那些较大的输入仍落在神经元转化函数梯度大的地方,这样可以使网络训练更加有效。因此,需要对样本集数据归一化处理,使其限制在[0.1,0.9]区域内。归一化方法有很多,本文采用如下归一化公式:
(7)
式中:x为原始数据;xmax-xmin分别为原始数据中的最大、最小值;y为系统数据归一化后的值。对于神经网络的输出需要进行反归一化处理,将网络在[0.1,0.9]之间的值转换为系统的实际输出值。与式(7)对应的反归一化公式如下:
(8)
3.3 预测模型设计及训练
在本文设计的BP神经网络模型中,输入量5个,输出量1个。采用经典的三层BP神经网络设计结构,根据Kolmogorov理论,隐含层节点数设置为2N+1,其节点数过多或过少都会影响预测模型的精度,需要试探性的寻找兼顾网络收敛速度和精度的节点数[12]。通过多次训练实验,本文取其为11。隐含层神经元和输出层神经元的传递函数均采用S型对数函数Logsig,这正好满足网络输出在[0,1]之间的要求,网络的训练函数为自适应L-M算法。故该预测模型结构如图3。
图3 网络结构图
图4 LM-BP算法模型的收敛曲线示意图
图5 LM-BP算法输出值回归分析结果
本文应用matlab2014a软件编程进行BP神经网络设计和样本训练。BP神经网络在开始训练前将各层的连接权值和阈值随机初始化为[0,1]之间的值,因此神经网络每次训练得到的结果不一样。神经网络的泛化能力和训练目标值有紧密的关系[13],目标值参数的设定需要根据训练过程测试样本的预测精度变化情况而定。一般情况下,对于简单的非线性逼近问题,结合测试样本的预测精度值,可以试探性确定训练算法的目标值参数,本文经过多次仿真实验确定该参数为10-5。鉴于黑河龙电渠流量推测模型是基于历史数据的有导师训练方式,不要求其在线实时调整权值和阈值,因此结合测试样本推测值的误差要求,增加运行次数,取其最优结果作为预测模型的结构参数,本文设定总运行次数200。可得最优结果对应的LM-BP算法模型训练过程收敛情况如图4,断面平均流速实测值和推测值进行线性回归分析,可得如图5分析结果。
从图4可以看出,经过84步训练后,网络模型即达到所要求的精度;从图5可以看出预测值和实测值之间的相关系数R为0.99992,因此该模型具有较好的性能。
3.4 样本测试及分析
基于以上关于BP神经网络预测模型建立和训练的相关分析,应用给出的随机测试样本对预测模型进行测试。可得到数据对比表1:
表1 数据对比表
由表1可以得出,模型推测出的流量值最大误差为1.20%,最小误差仅为0.00%。相比线上推流,相对误差均减小。依据《河流流量测验规范》(GB50179-2015)中对一类精度水文站流量测验的误差规定[14],采用流速仪法测流,历时100 s,高、中、低水位允许误差依次为4.0%、4.5%、6.0%。由此可得,所有推测值误差均低于规范要求,因此在误差允许范围之内,BP神经网络模型推测法具有实际应用价值。
此方法的优点在于减少流量测验的外业工作(只需要测量断面5个点流速,同之前需要测量25个点流速的工作量相比,测验人员的工作量大为减轻)。另外对于测验内业而言,只需要把5个点流速输入到预先设计好的模型中,可以迅速得到过水断面的平均流速,继而利用公式(2)计算出断面流量,再无需应用水位~流量关系曲线进行分时段推流。由于渠道每年最大和最小流量值恒定,因此所有的流量值都限定在模型的输出范围内。缺点在于需要定期应用实测历史数据资料训练模型,进而定期更新模型的参数值,确保推测值的精度。建议在实际操作过程中,随机对实测值和推测值做比测试验,一旦超出允许误差范围,就要根据最新历史实验数据资料,更新模型权值和阈值参数。
4 结论和讨论
4.1 结论
本文采用传统的BP算法神经网络模型结构,利用其结构简单、可操作性强以及能模拟任意的非线性映射的特性,对黑河龙电渠流量进行推测。经过有导师训练方式,得到了较为满意的结果。这种流量测验方法,减轻了外业测验工作,改变了传统的水位-流量关系曲线推流方法。传统的流量推测方法是基于“稳定单一”和“不稳定单一”关系曲线的理论,增加了随机性和人为造成的误差,应用BP神经网络模型推流可以避开不稳定水力因素导致的复杂水位-流量关系,逼近测验断面处特征点流速和平均流速之间的非线性关系,进而得出较准确的推测值。另外此方法可以作为反推水位-流量关系曲线的依据,获取精度较高的关系曲线。但模型推测也存在参数不易确定、结果具有随机性等缺点,因此在改进LM-BP神经网络预测模型并应用在流量推测方面还有很大的空间,继而满足流量测验更高的精度要求。
4.2 讨论
在本文分析研究的基础上,还可以试图探索黑河龙电渠断面流速测量中用断面一点法(全断面流速代表点法)流速来替代断面平均流速,这样可以在保证流量测验精度的前提下进一步简化断面流速测验工作。