顾浩钦 仲云飞 程 井 邓同春 李 阳
(河海大学水利水电学院,南京 210098)
在大坝设计和计算分析中,扬压力是主要荷载之一,对坝体变形、应力及稳定性有重要影响.因此整理坝基扬压力监测资料,并对资料进行有效的统计和分析,对于验算大坝的稳定性和耐久性,监视坝基渗流形态及大坝安全等方面,都有重要意义[1].
目前,扬压力预测主要有统计模型、确定性模型、混合模型、灰色模型、神经网络模型等方法.吴中如院士对各影响分量进行分析并建立了混凝土坝坝基扬压力统计模型[2];张乾飞等在三维渗流有限元计算的基础上,结合安全监控资料提出了大坝渗透系数反演方法[3];姜宇,王祖强等在分析扬压力影响因素的基础上,采用逐步回归建立了扬压力监测预报模型[4];顾冲时等通过新安江大坝坝基扬压力观测资料研究了灰色关联度和模糊聚类分析原理在扬压力预测中的应用[5];王伟等通过引入激励因子和惩罚因子来改进粒子群算法用于坝基扬压力预报[6];周剑等采用人工神经网络定量确定了坝基扬压力影响分量的影响比例[7].其中,神经网络算法是一种并行计算模型,可以通过学习和记忆获得知识并进行推理,能较好地映射各种非线性因素作用下输入量和输出量之间的关系,适用于海量及非线性坝基扬压力数据的处理.但传统BP神经网络存在对初始权值和阈值敏感性强、收敛速度慢、易陷入局部最优等局限,容易产生训练的神经网络可靠性较低,预测精度不高等问题.因此许多学者在改进BP自身的同时,也展开了其他理论与神经网络结合算法的研究.苏怀智等提出将模糊系统与神经网络结合,建立了大坝位移、扬压力监控模型,预报精度满足工程要求[8];王志旺等采用遗传神经网络对大坝基础渗流量、坝基扬压力进行了监控预测分析[9];闫滨等运用遗传算法改进人工神经网络建立了大坝渗流预报模型[10].
粒子群算法具有不依赖初始值、收敛速度快和全局寻优能力强等特点,将其与神经网络结合,可以克服传统BP存在的缺陷.本文以网络训练得到的均方误差作为适应度函数,采用惯性权重动态调整的改进粒子群(IPSO)算法优化BP 神经网络的初始连接权值和阈值,建立基于IPSO-BP 神经网络的坝基扬压力预测模型,构建各因素与扬压力之间的非线性映射关系.算例及工程应用实例结果表明,IPSO-BP 模型对坝基扬压力预测是切实可行的.
BP神经网络,是一种多层前馈式神经网络,拓扑结构包括输入层、输出层和若干隐含层,能学习和储存大量样本数据中复杂的非线性映射关系.神经网络学习过程由信号正向传播和误差反向传播组成.确定网络拓扑结构,设置收敛误差、训练次数、动量常数和学习速率等参数后开始训练网络.归一化后的样本数据由输入层传入,正向传播时,初始化连接权值和阈值,数据经隐含层处理后传给输出层,若与期望输出不符,则按照误差梯度下降法调整权值和阈值,向隐含层和输入层逐层反向传播.通过反复修正权值和阈值,网络输出与期望值不断逼近,直到训练误差小于收敛误差或达到预定的训练次数.
粒子群优化(PSO)算法,是一种群体智能优化技术[11].其数学原理如下:假设一个D 维搜索空间,m个具有位置、速度和适应度值3个特征指标的粒子组成一个种群,其中第i个粒子的位置为Xi=(xi1,xi2,…,xiD),代表优化问题的一个潜在解[12],速度为Vi=(vi1,vi2,…,viD),其适应度值由目标(适应度)函数确定.第i个粒子自身所经历位置中适应度值最优位置,即个体极值为Pi=(pi1,pi2,…,piD),整个种群中所有粒子搜索到的适应度值最优位置,即群体极值为Pg=(pg1,pg2,…,pgD).迭代寻优过程中,每个粒子按式(1)和式(2)更新自身的速度和位置,所有粒子更新一次位置后计算一次适应度值,并通过比较更新pid和pgd.
式中,ω 为惯性权重;i=1,2,…,m;d=1,2,…,D;n为当前迭代次数;c1、c2为加速度因子,非负常数,一般在(0,4)之间取值,常令c1=c2=2;r1、r2为[0,1]之间的伪随机数.为了防止粒子的盲目搜索,一般设定速度、位置的约束边界[-Vmax,Vmax]和[-Xmax,Xmax].
PSO 算法参数少,寻优速度快,但如果迭代过程中某个粒子找到一个局部最优解,则其他粒子会快速靠拢,进而陷入局部最优[13].为降低陷入局部最优几率,保持粒子多样性,可对速度更新公式(1)进行改进,采用式(3),引入目标函数相关信息动态调整惯性权重[14],使算法搜索方向的启发性增强,以更好地适应复杂的现实环境.
根据实测资料分析表明,影响坝基扬压力的主要因素有上下游水位、降雨、基岩温度,以及坝前淤积、坝基帷幕防渗和排水效应等随时间变化的因素[1],其统计模型可综合表达为[4]
本文采用IPSO 优化神经网络的连接权值和阈值以改善BP性能,IPSO-BP算法流程如图1所示.
图1 IPSO 优化BP神经网络算法流程
其基本实现步骤如下:
1)初始化BP 神经网络拓扑结构,根据实际问题,确定网络输入层、隐含层和输出层节点数,并归一化训练样本数据.
2)确定粒子群个体的编码方式,神经网络的每一个权值或阈值应对应IPSO 粒子的一个维度,故所有权值和阈值个数和即为粒子总维数D.由于权值和阈值都是连续的,因而采用实数编码方式.在设定粒子种群规模m 后,在既定的速度和位置范围内初始化各粒子,并设定加速度因子c1和c2、初始权重ω、收敛精度以及最大迭代次数Nmax等参数.
3)以BP神经网络的均方误差评价函数MSE 作为粒子的适应度函数计算各粒子的适应度值,并更新当前的个体极值pid和群体极值pgd.
4)根据式(3)、(1)、(2)更新粒子的速度和位置.对每一粒子,若当前适应度值小于本步迭代前的个体极值,则更新个体极值pi=xi,否则pi不变;若当前适应度值小于本步迭代前的群体极值,则更新群体极值pg=xi,否则pg不变.
5)当迭代步数达到Nmax或收敛精度达到预设值,则IPSO 优化结束,粒子群全局最优解pg中的每一维即为BP神经网络的最优初始权值和阈值;否则返回步骤3).
6)将寻优得到的最优解(即优化后的初始权值和阈值)代入BP神经网络进行训练,并用来预测.
为更清晰地观察预测结果,本文分别采用均方误差MSE、平均绝对误差MAE、平均绝对百分比误差MAPE和最大残差emax4个指标对传统BP 与IPSOBP算法模型进行对比分析,两者的预测性能指标值及预测样本残差对比见表1和图2.
表1 BP与IPSO-BP预测性能评价指标对比
图2 BP与IPSO-BP预测残差对比
从表1和图2可以看出,较传统BP算法,IPSOBP算法训练的网络进行非线性拟合与预测的效果较好,网络训练的迭代收敛速度更快,预测精度更高.
某水库正常蓄水位254.0m,设计洪水位260.7 m,校核洪水位262.2m.拦河坝为钢筋混凝土面板坝,坝顶高程261.5m,最大坝高37.0m,坝段编号为3~26号,河床中间坝段(12~21号)为溢流坝段,其中10~18号溢流坝段布置有UB1~UB13共13 个坝基扬压力观测孔,如图3所示.实例计算的坝基扬压力监测值数据来自UB3 观测孔2004 年11 月至2010年9月每天一次的自动化监测成果.在上述观测时间序列内共有2 150组数据,本文将前2 000组数据用来训练网络,后150组作为仿真预测.
图3 大坝坝基扬压力观测孔布置示意图
由2.1可知,扬压力的影响因素共有16 个,即BP神经网络的输入层有16个节点,输出层为坝基扬压力1个节点,根据Kolmogorov定理,计算隐含层节点数理论值为k=2×ni+1=33,然后在[k-3,k+3]区间内不考虑IPSO 优化情况下进行预算实验,得到当隐含层节点数为31时网络训练次数最小,故设置神经网络3层结构为16-31-1.IPSO 优化时采用实数编码,粒子种群40,维度按公式D=S2(S1+1)+S3(S2+1)计算为559,其中S1、S2、S3分别为输入层、隐含层和输出层节点数.
将IPSO 优化得到初始连接权值和阈值代入BP神经网络即可进行训练.分别按传统BP 神经网络和IPSO-BP神经网络训练求解统计模型,结果显示IPSO-BP算法拟合相关系数r=0.994 4,大于BP算法的0.989 8,且均方误差MSE=0.000 8和平均绝对误差MAE=0.017 7 均小于BP 算法的0.001 2 和0.025 0.因此IPSO 优化BP 神经网络算法模型提高了网络优化能力,更能有效挖掘海量数据的内在信息,拟合效果较好,精度较高.
图4表示的是IPSO-BP算法的适应度函数值与种群进化迭代之间的关系,实线表示种群历史最优适应度值,虚线表示当前进化迭代步粒子最优适应度值.从图上看出,进化前期粒子由于随机搜索,当前进化迭代步最优适应度值出现振荡,但迭代次数增加时,随全局历史最优适应度值逐渐减小,并在第43代后基本重合并共同稳定收敛.
图4 IPSO 算法寻优性能图
IPSO-BP训练好的网络即可用来预测.本文将扬压力实际监测的后150组数据进行仿真预测,各算法预测效果采用3个统计指标进行评价分析,见表2,预测拟合结果与监测值的对比如图5所示,并选取几组上游高水位情况下的各算法预测成果进行对比分析,见表3.
表2 各算法模型坝基扬压力预测结果统计指标对比
由表2~3和图5可以得出,IPSO 优化BP 算法统计模型的预测值与实际监测值变化趋势基本一致,均方误差和平均绝对误差较小.对比典型高水位下的预测结果,残差分布均匀,相对误差小于传统BP 算法,预测精度较高.因此,IPSO 的快速全局优化不仅加快了BP算法的收敛速度并且大大改善了海量数据情况下网络非线性拟合及仿真预测的精度.
表3 典型高水位下各算法坝基扬压力监测数据与预测结果对比
构建了IPSO-BP 坝基扬压力预测模型,有效克服了神经网络易陷入局部最优和收敛速度慢的缺陷,通过算例验证了算法的优越性及程序的准确性,并根据某大坝坝基扬压力实测数据,对比传统BP 算法,分析评价了IPSO-BP 算法模型性能.结果表明:IPSO-BP算法拟合的相关系数大,统计误差小,网络学习和泛化性能良好,数据挖掘能力强,预测精度高,IPSO 优化BP神经网络的初始权值和阈值以预测实际工程坝基扬压力的方法是有效可行的.另外,粒子群算法优化神经网络结构等方面的研究,也是目前的发展趋势.
[1] 顾冲时,吴中如.大坝与坝基安全监控理论和方法及其应用[M].南京:河海大学出版社,2006:64-74.
[2] 吴中如.水工建筑物安全监控理论及其应用[M].北京:高等教育出版社,2003:129-152.
[3] 张乾飞,王 建,吴中如.基于人工神经网络的大坝渗透系数分区反演分析[J].水电能源科学,2001,19(4):4-7.
[4] 姜 宇,王祖强.混凝土重力坝扬压力监测资料分析方法[J].人民珠江,2011(2):47-50.
[5] 贾彩虹,顾冲时.基于聚类分析预测大坝扬压力的新方法[J].河海大学学报,2002,30(3):110-112.
[6] 王 伟,沈振中.基于改进粒子群算法的坝基扬压力预报方法[J].人民黄河,2009,31(7):121-123.
[7] 周 剑,宋汉周.神经网络模型在坝基扬压力影响因子量化分析中的应用[J].水文地质工程地质,2005(4):38-41.
[8] 苏怀智,吴中如.基于模糊联想记忆神经网络的大坝安全监控系统建模研究[J].武汉大学学报:工学版,2001,34(4):21-24.
[9] 王志旺,吴盖化,等.大坝渗流监测遗传神经网络模型[J].水电能源科学,2003,21(4):26-27.
[10]闫 滨,周 晶.基于遗传神经网络的渗流实时预报方法研究[J].岩石力学,2006,27(增):147-150.
[11]Kennedy J,Eberhart R C.Particle Swarm Optimization[R].Proceedings of IEEE International Conference on Neural Networks,Perth,Australia,1995:1942-1948.
[12]Matlab中文论坛.Matlab神经网络30个案例分析[M].北京:北京航空航天大学出版社,2010:236-242.
[13]Clerc M,Kennedy J.The Particle Swarm-explosion,Stability,and Convergence in a Multidimensional Complex Space[J].IEEE Transactions on Evolutionary Computation,2002,6(1):58-73.
[14]吴华丽,吴进华,汪秀莉.基于动态改变惯性权值的粒子群算法[J].国外电子测量技术,2008,27(10):6-8.