APP下载

基于PSO-BP神经网络的北江大堤渗流预测模型

2021-12-27李晓东徐文兵

广东水利水电 2021年12期
关键词:北江测压管水头

李晓东,徐文兵

(广东省水利水电第三工程局有限公司,广东 东莞 523000)

在所有的堤防安全问题中,渗流破坏是最主要、最常见的工程问题之一。堤防工程由于地下水渗漏使渗流量变大,造成渗透比降过大等引起的渗流破坏事故居首位,占总体 37.1%[1]。因此,研究防渗安全措施对堤防工程的作用效果,减少堤防破坏发生的可能性,具有十分重要的实际意义[2]。

堤防工程渗流问题的相关研究主要包括:渗流预测和渗流数值模拟。渗流数值模拟研究的技术已经成熟,但是如果使用的是大型软件,在耗费大量时间的同时还会面临较大的成本负担。若基于线性回归模型的方式展开分析,在面对非线性问题时将存在较为明显的局限性,因其无法充分考虑众多的的影响因子,进而带来了拟合精度不良的问题。对此,有学者引入了神经网络模型,由此展开对堤防渗流的预测分析工作。

近些年来,相关研究领域逐渐提出了一种采用多种智能算法结合的方法,并且已逐步应用到大坝的渗流监控资料的分析中。相关智能算法有很多种,然而每一种方法都有不可避免的局限性,如神经网络的方法学习收敛速度慢、易陷入局部极端值、难以确定隐藏层的节点数目等诸多问题[3]。尽管模糊数学方法吸收了人类大脑的诸多优点,仍然缺乏理论化的判别准则,因此,计算过程存在随机性,导致算法的计算效率偏低。此外,与算法相关的隶属函数的确定仍然不够成熟,需要依靠经验进行初步拟定[4]。支持向量机算法难以实施于规模很大的训练数据样本中,无法实现大规模多数据量的处理。此外,在数据挖掘实际应用的过程中,一般需要解决多类的分类问题,而经典的支持向量机算法只是支持二类分类的算法,难以满足需求[5]。蚁群算法采用地挖式搜索方法,很容易收敛局部的最优解,但是算法的总体收敛速度较慢,会影响整体的预测效率。而粒子群(PSO)算法在处理高维复杂问题的时候,经常发生提前收敛的情况[6]。

由于上述的理论和方法都有各自不足的地方,近年来,大部分的学者采用结合上述两种或者多种算法的方式进行研究。田斌等人[7]构建了基于交替学习迭代算法的神经网络模型,相较于传统模型改善了预测精度,为渗流量预测研究方法的探索提供了帮助。此外,闫滨等人[8-9]构建了预测堤坝渗流的小波神经网络和遗传神经网络的实时预报模型,该模型相较于传统神经网络渗流预测模型精度更高。雷霆等人[10]基于蚁群算法对神经网络进行优化,主要利用蚁群算法改善神经网络权重的方式提高预测精度,构建了用于大量渗流数据预测的神经网络模型。近来,吴云星等[11-12]使用LM正则算法优化了神经网络的权重和偏差,以此提高网络的预测精度,从而改善土石坝渗流压力的预测效果。此外,建立了基于遗传算法的GA-LMBP神经网络模型,基于优化算法进一步提升了神经网络的预测精度,以此针对大坝渗流压力进行预报分析。Wang等[13]为了预测和评价大坝渗流行为的长期发展趋势和短期波动,建立了两种监测模型,一种是基流效应,另一种是大坝渗流要素的日变化。Zhou等[14]提出了一种新的大坝地基瞬态渗流反演方法,利用水头、流量和时间序列测量值建立了目标函数,并用权系数来保证相对误差项的一致性。该方法利用正交设计、有限元法正演、反传播神经网络和遗传算法,降低了计算成本,提高了反演结果的唯一性和可靠性。此外,还有研究学者采用智能算法建立了各种不同的渗流预测模型[15-17]。

综合上述研究现状可知,堤坝的渗流预测正由单一的拟合算法逐渐的向多种智能算法结合的方向发展。在新的智能算法下,渗流的预测效率以及精度在进一步提升[17]。因此,同时综合两种或者两种以上的人工智能算法进行渗流预测研究将是未来一个重要的研究方向及趋势。本文通过建立BP、GA-BP、PSO-BP预测模型进行研究,将2018年1月1日—10月31日的292组数据用于预测训练,具体数据包括降雨、水位、测压管水头、流量数据。最后分析迭代次数和训练组数对模型的影响,得到最合适的智能算法及其参数设置,从而搭建安全预测系统,得到最准确的渗流预测模型。

1 理论方法研究

1.1 BP神经网络

BP神经网络是一种具有多层结构的前馈神经网络模型,主要由输入层、隐藏层以及输出层组成[18]。相关算法主要包括两个过程,信号前向传递和误差反向传递。前向传递过程是指数据信号由输入层输入,经由隐藏层处理,再被输出层输出的过程。但是,假如输出层没有得到想要的输出结果(即预测误差不满足精度要求),网络就会进入到反向传播的状态,该过程主要通过不断地调整权重和偏差使网络的计算结果能够不断地去靠近期望的结果。

图1是BP神经网络的拓扑构架流程示意,Xj表示第j个节点输入值,j=1,2…,m。Yk表示预测输出的结果。观察图1中的结构,将神经网络看成一个多元非线性函数,如果该神经网络有j个输入、k个输出,便可认为从j个自变量映射到k个因变量的多变量非线性函数关系。

图1 BP神经网络的拓扑构架流程示意

1.2 遗传算法

遗传算法(genetic algorithm,GA)是一种模拟自然界内生物遗传机制的算法,主要是通过模拟达尔文物种进化理论的自然选择说以及物种遗传机制而产生的寻优算法模型[19]。遵循适者生存的规律,其主要功能是在优化过程中保留有用的结果,去除无用的结果,找到种群的最优解。

1.3 粒子群算法

粒子群算法,也被称为粒子群优化算法(particle swarm optimization, PSO),是最近几十年发展起来的进化算法。算法具有容易实现、精度高、收敛快的优势,从而受到广泛关注。

在PSO算法中,所有优化问题的潜在解都可以被看作一种搜索空间的小鸟,被称为粒子。每一个粒子都有通过优化函数确定的适应度值,此外,每一个粒子也都有一个额外的速度,决定了粒子们“飞”的方向以及距离。

粒子位置更新方式如图2所示,x表示粒子起始位置;v表示粒子“飞行”的速度;p表示搜索到的粒子最优位置。

图2 每代粒子位置的更新方式示意

可以假定在D维的目标搜索空间内部,里面有N个粒子组成的群体,第i个粒子可以被表示为1个D维的向量,如下所示:

Xi=(xi1,xi2,…,xiD),i=1,2,…,N

(1)

第i个粒子“飞行”的速度也可以表示为D维向量,表达形式如下:

Vi=(xi1,xi2,…,xiD),i=1,2,…,N

(2)

第i个粒子寻找到的最优解作为单体的极值,表达形式如下:

pi=(pi1,pi2,…,piD),i=1,2,…,N

(3)

所有粒子一起找到的整体最优解被称为全局的极值,表达形式如下:

gbest=(pg1,pg2,…,pgD)

(4)

寻找这两个极端值的过程中,粒子主要通过下述公式更新自己的速度以及位置:

vid=ω×vid+c1r1(pid-xid)+c2r2(pgd-xgd)

(5)

xid=xid+vid

(6)

1.4 GA-BP神经网络算法

主要通过遗传算法优化BP神经网络的权重和偏差产生GA-BP神经网络算法,算法流程如图3所示[20]。

由图3可知,GA-BP神经网络算法的结构主要分为3个部分,即BP神经网络初始参数以及结构的确定部分、遗传算法部分、基于最优权重(偏差)的BP神经网络预测部分。BP神经网络结构确定单元主要是根据自适应函数输入输出参数的个数确定算法的个体长度[21]。遗传算法的优化部分主要采用遗传算法优化BP神经网络权重和偏差,种群内的每个单体都有一个权重和偏差,通过遗传算法找到单体对应最佳的自适应度值的选择、交叉和变异操作。最后,通过优化的权重和偏差进行拟合预测。

图3 GA-BP神经网络算法流程示意

1.5 PSO-BP神经网络模型

PSO-BP算法的流程如图4所示。PSO算法优化BP神经网络的方式与GA算法相同,基本都是对神经网络的权重和偏差进行整体寻优。但是,两种算法的基本原理并不一致,一种是基于鸟群搜索,另一种是基于遗传机制,因此,获得最佳权重偏差的时间、效率以及质量也不尽相同。

图4 PSO-BP算法流程示意

2 实例应用

2.1 工程概况

北江是广东省珠江流域的第二大水系,在广东韶关市与支流武水汇合称为北江。北江起自韶关,经清远、佛山三水区思贤滘与西江相连,并流入珠江三角洲河网区,主流由虎门入海。北江思贤滘以上流域面积为46 710 km2,干流长为468 km,流域以山地和丘陵为主,地势北高南低,流出飞来峡后逐渐变平。北江大堤全长为64.346 km,在达标加固前北江大堤历史上曾经多次出现险情,主要表现为迎流顶冲深槽迫岸和强透水地基渗漏两大类型,出险部位主要集中在石角灰窑段(5+450~5+750)、石角灵洲段(8+000~11+300)、石角潭亭滚段(12+200~13+700)、芦苞长潭段(28+200~30+250)、芦苞刘寨段(30~950~33+200)、芦苞墟段(33+400~34+100)、黄塘沙墩段(34+450~40+100)、黄塘灰窑段(41+900~44+300)、西南镇段(51+893~53+550)等9段,共19.807km。8+000~11+300堤段位于石角灵洲,由于地基透水性较强,以往每遇较大洪水,堤后管涌、冒砂、牛皮胀等险情普遍出现,极为严重。达标加固后2005年6月24日17:30,外江的水位为12.35 m,桩号11+212距离内坡脚约130 m的水田中出现冒水孔,直径约0.5 m,带出大量粉细砂。

本文主要研究北江大堤石角堤段8+230段的渗流情况,该段堤基20 m下有强透水层存在,历史上也有渗流破坏事件发生。1997年进行过防渗加固,并且在该段设置了5个测压管。该段的断面地质图以及测压管布置如图5所示。

图5 北江大堤8+230段断面地质及测压管布置示意(单位:mm)

2.2 监测数据

本文构建北江大堤的渗流预测模型,主要以降雨量、外江水位等作为输入,测压管水头值作为输出。将从北江大堤管理系统获取的2018年1月1日—10月31日的292组数据用于预测训练,具体数据包括降雨、水位、测压管水头、流量数据。

1) 降雨数据

降雨数据共包括2018年1月1日—10月31日的所有数据,由北江大堤石角段降雨监测站提供,其中1—4月降雨情况如图6 ~图7所示。

2) 水位流量数据

水位流量相关数据由北江大堤管理系统导出,包括2018年1—10月所有的水位流量数据(如图8所示)。

3) 测压管水头

测压管水头数据由北江大堤管理系统导出,包括石角段5个测压管2018年1—10月的数据(1—2月数据见图9)。

图6 石角段2018年1—2月降雨示意

图7 石角段2018年3—4月降雨示意

图8 石角段2018年1—10月水位流量示意

图9 石角段2018年1—2月测压管数据示意

上述数据均由北江大堤管理系统直接导出,用于渗流预测模型的建立。论文基于上述数据,以时效因子、水位因子、降雨因子为输入,以测压管水头为输出,建立3层BP神经网络,并通过GA、PSO优化算法针对BP神经网络算法的权重和偏差进行优化,并对比3种方法,寻找最佳的预测模型。

2.3 模型建立

本文基于3种不同的算法(BP、GA-BP、PSO-BP)建立渗流预测模型,在拟合预测部分采用3层BP神经网络。输入层的数据主要包括降雨数据、水位数据与时效数据,水位数据的选取需要依据渗流系数大小以及渗流路径的长度, 综合考虑观测当日和前几天的水位,降雨数据也将进行相同处理,时效因子考虑选择1次项或者自然对数项等简单函数[21]。因此,共选择10组数据作为输入因子:水位数据选择5组,降雨数据选择4组,时效数据选择1组;将测压管水头数据作为输出。

3种模型的参数具体设置如下:

1) BP神经网络

神经网络的隐含层和输入层神经传递函数分别使用S型正切函数tansig以及线性函数purelin。学习速率为0.1,收敛目标为0.000 1,迭代次数为10 000。为进一步避开S型函数的饱和区,提高算法的收敛速度和灵敏性,在网络训练前使用MATLAB的数据归一化命令进行处理。

2) GA-BP神经网络

3) PSO-BP神经网络

在数据的拟合预测部分依然选择BP神经网络算法,其参数设置与BP模型相同。在粒子群算法中,本次训练的种群进化次数设置为100,粒子规模设置为30。

2.4 评价指标

为了进一步量化各个模型之间的可靠性和准确性,论文将采用3种方式对预测结果进行评估。包括:均方根误差(RMSE)、平均绝对百分误差(MAPE)和拟合优度(R2),三者作为衡量预测结果精度的评价准则。相关计算公式如下:

(7)

(8)

(9)

式中:

di——实际值;

Di——预测值;

n——预测样本的个数。

2.1 两组血浆NT-proBNP水平比较 病例组患儿的NT-proBNP水平在治疗3 d、治疗7d 、治疗14 d时均显著低于组内治疗前(F=176.405,P<0.05),病例组患儿的NT-proBNP水平在治疗前、治疗3 d、治疗7 d、治疗14 d时均显著高于对照组(F=286.557,P<0.05)。见表1。

2.5 参数选取

由于前期对于数据进行过多次尝试计算,参数设置已经基本达到最佳。因此,考虑通过增加训练集、优化迭代步数,进一步提高渗流模型的精度。以第1号测压管作为对象,优化结果如图10所示。

图10 拟合优度随迭代步数变化示意

当迭代步数超过5 000后,拟合优度提升并不是十分明显,而且过高的迭代步数会降低计算效率,因此,模型的迭代步数设置为 5000。

数据训练集的增加明显提高了模型的计算精度(见图11),但是,由于北江大堤管理系统老旧故障,仅导出了292组有效数据用于预测模型,因此,使用272组数据用于训练,20组数据用于预测测试。

2.6 神经网络预测结果与误差分析

北江大堤8+230断面总共有5个测压管,本文将选择包括降雨、水位、时间、测压管水头等4类,共292组数据完成模型的训练与测试。其中272组用于训练,20组用于测试误差,选择3种模型预测的最佳结果作为预测结果进行分析。测试结果如图12~16所示。

图11 拟合优度随训练集变化示意

图12 1号测压管水头预测输出示意

图13 2号测压管的水头预测输出示意

图14 3号测压管水头预测输出示意

图15 4号测压管水头预测输出示意

图16 5号测压管水头预测输出示意

通过计算BP、GA-BP、PSO-BP神经网络分别对5组预测误差结果的平均值,综合比较5组测压管预测数据的均方根误差(RMSE)、平均绝对百分误差(MAPE)和拟合优度(R2)(见表1)。

比较可得:PSO-BP神经网络的各项评价指标最好,最适合用于本组数据的预测。

表1 误差分析

此外,针对3种算法的计算时间进行了分析。BP神经网络的计算时间为2.66 s;GA-BP神经网络算法总耗时为237.66 s,其中GA算法部分计算耗时为237.34 s,BP神经网络算法部分耗时为0.32 s;PSO-BP神经网络算法总耗时为218.37 s,其中PSO算法部分耗时为218.04 s,BP神经网络部分为0.33 s。对比可发现,经过GA和PSO算法优化过后,BP神经网络的计算时间更短;整体说,PSO-BP算法的计算时间更短。主要是由于GA算法的随机性导致计算时间相对较长,而在BP神经网络部分两者差别并不大。

因此,综合对比3种模型的预测结果,发现以PSO-BP神经网络建立的预测模型作为北江大堤的渗流预测模型最优。该模型的平均RMSE为0.31,平均MAPE为5%,平均拟合优度R2可达到0.983,计算整体耗时为218.37 s。其精确度足够满足实际工程的预测需求。

3 结语

本文主要介绍了BP神经网络以及主要优化方法。重点介绍了遗传算法和粒子群算法的概念和原理。同时,基于BP、GA-BP、PSO-BP神经网络算法,搭建了北江大堤的渗流模型,并对模型的预测结果进行评价。计算结果表明:BP神经网络算法搭建的渗流模型能够很好地预测测压管的水头值,拟合优度达到了0.96;而通过遗传算法和粒子群算法优化过的神经网络算法,展现了更好的预测精度。两种改进算法平均拟合优度达到0.98,其中PSO算法的精度更高,计算时间更短。

猜你喜欢

北江测压管水头
昭平台水库大坝测压管水位观测数据分析
黏土坝测压管水位异常原因分析
玉龙水电站机组额定水头选择设计
泵房排水工程中剩余水头的分析探讨
洛宁抽水蓄能电站额定水头比选研究
北江,向前
奔腾北江
泥娃娃
富水松散沙层下开采安全水头高度研究
基于MODIS北江流域土地覆盖变化研究及CA-Markov预测