贾家银,刘宇豪,李晓军,王程平,李孟桓
(1.重庆中环建设有限公司, 重庆 渝北 401120;2.重庆交通大学 3S应用技术研究所, 重庆 南岸 400074)
虽然BP神经网络存在不少优点,但其也伴随着学习时间较长、易陷入局部最优解和收敛速度较慢等不足。诸多学者采用粒子群优化算法(PSO)对BP神经网络进行优化,所形成的网络模型性能良好。标准粒子群算法(PSO)可以减少BP神经网络训练时所需要的学习时间,提高计算精度[1-3]。但是,标准粒子群算法的收敛速度较缓慢,且存在局部的优化和早熟收敛问题,导致权重的选择不准确。
本文对PSO算法进行了相应的改进,并使用改进后的PSO算法对BP神经网络的整体预测性能进行了优化。将学习因子和惯性权值的变化策略实行了动态调整,在搜索过程中引入了一种自适应变异算法,以防止粒子陷入局部最优解,保证了早期粒子的多样性和快速收敛到全局最优解。
定义n1、n2和n3分别是组成神经网络的输入层隐含层和输出层的神经元个数。在学习过程中,我们使用Sigmoid和Purelin函数作为神经网络隐含层的激活函数和输出层的传输函数。接着用经验公式算出隐含层神经元个数,根据公式(9)算得最小误差。
(1)
(2)
式中:输入层与隐含层之间的连接权值定义为wij;隐含层与输出层之间的连接权值定义为vjk;f0为隐含层的Sigmoid激励函数;f1为输出层的线性激励函数;ηk为输出层的阈值0.6;θj为隐含层的阈值。
将每个网络的均方根误差(RMSE)作为计算适应度值的近似适应度函数,即公式(3),根据适应度函数f(x)=E(x)计算出最小误差值Emin作为粒子筛选阈值。
(3)
图1为改进PSO算法优化BP神经网络的过程。主要步骤描述如下:
(1) 步骤1:根据训练样本数据确定BP神经网络拓扑结构。
(2) 步骤2:对所有的粒子进行初始化操作,重置粒子的速度、位置、个体最优值Pbest与全局最优值Gbest。
(3) 步骤3:根据公式(1)、公式(2)、公式(3)、公式(6)、公式(7)计算出每个粒子的速度和位置。
(4) 步骤4:选择合适的适应度评价函数来评估每个粒子的适应度值。
(5) 步骤5:对得到的新的适应度值与历史适应度值作比较,如果这个值优于历史个体最优解,那么个体最优解Pbest将用当前值更新。如果个体优于全局最优解,采用同样的方法替代全局最优解Gbest。
(6) 步骤6:根据公式(8)对粒子进行突变操作。
(7) 步骤7:持续更新不同分量下粒子的vi,若训练误差小于Emin或迭代次数达到Tmax,则进入下一步。反之,则返回步骤3。
(8) 步骤8:利用改进的粒子群算法,将获得的最优权重和阈值分配给神经网络进行训练和学习。
为进一步验证所建立的模型,以重庆市海天堡浅埋隧道为研究对象,采用该方法进行了围岩变形预测研究。海天堡隧道位于中国重庆市北碚区,隧道全线长377 m,双向8车道,施工方法为机械开挖法、钻爆开挖法。隧道右线出口段发育一山丘,地势相对较陡,坡度约15°~28°,陡坎处地形坡度40°~80°,局部近90°。两端地势较低且较为平缓,多被开垦为耕地,形成阶梯状,地形坡角多小于10°,仅在阶梯边缘呈陡立状。
图1 改进PSO-BP算法流程图
地形标高256.03 m~330.35 m,相对高差约74.32 m。上覆土层厚度小,下覆基岩为粉砂质泥岩、砂岩,隧道走向与岩层走向大角度斜交,岩体单轴饱和抗压强度为3.30 MPa~16.05 MPa。地下水类型为基岩裂隙水,地下水出水状态为点滴状出水为主,隧道埋深2.6 m~22.1 m,为浅埋隧道,成洞条件较差,拱部易坍塌,岩体质量指标BQ为240,隧道围岩级别为Ⅴ级。
本文以2019年10月28日至2019年11月27日海天堡隧道拱顶沉降值与周边收敛30 d数据作为训练和验证样本;以YK4+110断面30 d拱顶沉降和周边收敛监测数据为测试样本进行预测。由于隧道施工情况影响,测量控制点被遮挡,对数据进行了预处理后得到时间间隔步长为24 h的等距时间序列数据集。图2为海天堡隧道YK4+110断面拱顶沉降和周边收敛曲线。
图2 YK4+110断面拱顶沉降与周边收敛观测值
2.2.1 基于BP神经网络的围岩变形预测
采用MATLAB2018b平台进行海天堡隧道围岩变形值预测的仿真实验,使用了Python编程和MySgl数据库。在搭建神经网络模型的过程中,参数的设置至关重要,其中隐含层的节点数和输入单元中的神经元是最重要的变量,输入单元中的神经元数量与预测结果直接相关。
采用主成分分析法对隧道监测数据做预处理,将隧道断面宽度B、围岩锚杆轴力P、隧道埋深H、围岩内部位移量U和围岩弹性模量E共5个影响因子[4]作为神经网络的输入变量。使用Mapminmax函数将样本输入数据归一化为[-1,1],采用8∶1∶1比例构成训练样本集、验证样本集和测试样本集。
隐含层中的节点数量同样重要。理论上讲,在神经网络中,如果有一个隐含层,节点在一个必要的量上可以接近任何随机连续函数。但是目前还没有详细的计算标准,我们采用了经验公式来确定隐含层的神经元数量。根据经验公式,神经元数量属于[4,13]。进行重复实验,在此过程中获得的最优参数用于对PSO-BP神经网络模型进行评估和预测(见图3)。通过试错法以获得隐含层中的最佳节点数量,并且最终得出隐含层神经元数量设置为13个最为合适, 确定了PSO-BP神经网络输入层、隐藏层和输出层为5-13-1。接着设定终止的迭代次数为4 000次,学习率设定为0.01,目标误差设置为0.8×10-4。通过设置网络参数对BP神经网络进行训练和测试,采用平均绝对百分比误差(MAPE)对预测模型的性能进行评价,得到BP神经网络拱顶沉降预测精度为93.82%、周边收敛预测(见图4)精度为90.11%。因为BP神经网络预测模型对围岩变形数据,单点预测误差较大;因此,该模型还需要进一步改进。
图3 拱顶沉降预测曲线
图4 周边收敛预测曲线
2.2.2 基于PSO-BP神经网络和改进PSO-BP神经网络的围岩变形预测
本文采用PSO-BP神经网络和改进的PSO-BP神经网络对浅埋隧道围岩变形预测精度进行了实验(见图5、图6)。PSO算法的参数设置如下:c1=c2=1.494 45,其中粒子数为30。种群迭代次数为50次,粒子速度范围为[-1,1],粒子位置范围为[-5,5]。
从图5与图6可以的得出:利用PSO-BP神经网络对浅埋隧道围岩拱顶沉降的预测精度为96.92%;对周边收敛的预测精度为96.24%。显而易见,预测精度都要优于BP神经网络模型。训练改进的PSO-BP神经网络,设置参数为:
图5 拱顶沉降预测误差曲线
图6 周边收敛预测误差曲线
改进PSO-BP神经网络预测的实验结果如图3、图4所示,利用改进PSO-BP神经网络对浅埋隧道围岩拱顶沉降预测精度为99.36%;对周边收敛预测精度为98.51%,预测精度都要优于其他模型。从图7可以看出,改进的PSO算法在收敛精度、速度和优化结果上都优于标准PSO算法。优化后,改进PSO算法的平均最优适应度值低于标准PSO算法的平均最优适应度值。
图7 适应度值变化曲线
BP神经网络、PSO-BP神经网络和改进PSO-BP神经网络的预测误差统计如图5和图6所示,结合表1和表2可得:在拱顶沉降和周边收敛的预测结果中显示,改进的PSO-BP神经网络的总误差值分别仅为1.416 4和1.235 3,远低于其他模型。同时,对两次预测精度结果进行了分析,在拱顶沉降预测模型中,改进的PSO-BP神经网络预测精度为99.36%,相比于另外两种神经网络模型分别提高了2.44%和5.54%;在周边收敛预测模型中,改进的PSO-BP神经网络预测精度为98.51%,相比于另外两种神经网络模型分别提高了2.28%和8.4%。与BP神将网络模型相比,PSO-BP神经网络模型和改进PSO-BP神经网络模型具有更好的预测趋势和精度;与标准PSO-BP神经网络模型相比,改进PSO-BP神经网络模型具有更快的收敛性和自适应能力。综上所述,改进PSO-BP神经网络模型更适合预测浅埋隧道围岩变形数据。
表1 拱顶沉降预测统计
表2 周边收敛预测统计
本文针对浅埋隧道围岩变形的时间序列回归问题,基于一种基于改进PSO-BP神经网络的预测模型。并对了仿真预测实验,结果表明:
(1) 改进PSO-BP神经网络在模拟围岩变形时间序列的回归趋势方面具有很强的学习能力。采用优化PSO算法参数的预测模型可以有效避免粒子搜索的盲目性和低效性。
(2) 与传统的预测模型相比,基于改进PSO-BP神经网络的时间序列回归模型能够预测非线性系统的变化趋势和变化空间。工程应用表明,该模型预测拱顶沉降和周边收敛变化范围准确,且又具备良好的预测效果。
(3) 基于改进PSO-BP神经网络时间序列预测模型为浅埋隧道拱顶沉降和周边收敛的非线性时间序列回归提供了一种新方法。该方法也适用于时变非线性系统的其他领域,具有一定的参考价值。