基于小波去噪的BP神经网络在变形监测中的应用
2022-01-21张博
张 博
(北京市煤气热力工程设计院有限公司, 北京 100000)
0 引言
工程建设中建筑物发生形变是不可避免的,但超过了工程规范的范围,便会造成安全隐患。因此,工程建设中对建筑物变形必须进行严格监测,及时、准确地反馈建筑物形变动态,在预报工程险情方面起着至关重要作用[1-2]。沉降变形是一个随时间序列高度动态的非线性变化过程,而人工神经网络模型可以近似逼近任意的连续函数,在变形分析与预测预报应用效果上优于传统的数据处理方法[3-5]。
为提高沉降变形数据的稳定性和准确性,需对数据信号进行降噪处理。小波变换具有多分辨性和去相关性的特点,使其在降噪滤波方面具有很好优势[6-7]。本文将结合小波去噪和BP(Back Propagation)神经网络实现变形监测数据分析和预测,并对预测结果进行精度分析。
1 小波去噪
小波分析是一种被誉为数学显微镜的信号处理技术,结合了傅里叶变换的优点[7]。根据真实信号明显区别于噪声所对应的小波系数幅值,小波分析对其可以进行有效地分离,从而实现了去噪的目的。小波去噪的方法主要分为三类:小波变换极大值法、小波系数相关性法以及小波变换阈值法三种[8]。本文采用经典的小波变换阈值法,主要步骤有三步。
(1)小波分解:计算含噪声信号的小波变换,选择合适的小波分解层数,将数据进行小波分解,得到相应的小波分解系数。
(2)高频系数进行阈值量化:选择合适的阈值函数,将分解得到的高频系数进行阈值量化,得到估计小波系数。
(3)通过小波逆变换信号重构:利用重构算法进行小波重构,得到去噪后数据。
2 BP神经网络
2.1 BP神经网络原理
人工神经网络(Artificial Neural Networks, ANN)是应用在数据分析时,模拟人脑信息传递的方式,建立不同的模型,由大量神经元相互连接而形成的网络系统,是具有一定复杂性的非线性动力学习系统[9]。BP神经网络由Rumelhart和McCelland在1986年提出的,以误差值逆向传播修正权值的多次有限的迭代算法,达到训练标准的多层前馈神经网络,是ANN应用最广泛的一种[10]。
如图1所示,BP神经网络由输入层、隐含层和输出层构成,BP神经网络的基本思想是利用梯度下降法快速分配误差,以达到网络的输出值与期望输出值的差值满足精度需求。
图1中,X=(x1,x2,…,xi,…,xn)T为输入量;Y=(y1,y2,…,yj,…,yp)T为隐含层;O=(o1,o2,…,ok,…,oq)T为输出层;wij是输入层的第i个节点到隐含层的第j个神经元之间的权值;vjk是隐藏层的第j个节点到输出层的第k个神经元之间的权值。
图1 BP神经网络模型图
BP神经网络的算法分为2个过程:信号的前向传播和误差的反向传播阶段。
(1)信号的前向传播:样本数据经输入层按不同的权重传递到隐含层,由激活函数计算输出值,上层的输出值作为下层的输入值,以此计算类推,直到输出层;
(2)误差的反向传播:根据网络输出值与期望值的误差建立损失函数,求解误差梯度,修正每层的权重值。再按前向传播解算实际输出值,直到输出值及期望值满足停止准则,迭代计算终止,网络训练完成。
2.2 BP神经网络具体算法实现
BP神经网络属于有导师学习的训练模式,以3层的BP神经网络模型为例,输入量为X=(x1,x2,…xi,…xn)T,隐含层为Y=(y1,y2,…,yj,…,yp)T,输出层为O=(o1,o2,…ok,…oq)T,BP神经网络具体的训练过程如下:
(1)数据归一化
(1)
式中,X′为归一化后的数据;Rmax、Rmin为控制归一化后数据范围的参数,当激活函数采用S形函数[函数值域为(0,1)]时,需将数据归一化得到[0,1]区间,此时Rmax取值为1,Rmin取值为0。
(2)构建网络结构
获取总量为N的样本,首先将样本集合分为训练数据和测试数据,取训练数据中连续的n个样本数据X作为输入样本组,以下一个样本数据作为输出层的期望值,故获得N-n组样本对。
隐含层神经元节点数p以经验公式与实际试验相结合的方式确定,主要采取以下公式计算出取值的大致范围:
(2)
p2=2n+1
(3)
(4)
式中,n为输入层神经元个数;q为输出层神经元个数;隐含层神经元节点数取值为p1,p2,p3所构成的数值区间。
故构建的网络模型结构为:输入层神经元个数为n;隐含层神经元个数为p;输出层神经元个数为q。
(3)训练参数设置
初始权值设置过大容易导致网络训练过程中饱和,影响训练精度,一般情况下设置为小值,后续由学习过程进行迭代修正[3]。另外还有最大训练次数、训练精度指标,可按工程精度需求设置。
(4)前向传播过程
样本数据经输入层按不同的权重传递到隐含层,由激活函数计算输出值:
(5)
则输出层的输出值为:
(6)
(5)误差的反向传播
利用网络输出值与期望值差的平方和建立损失函数,又称为网络误差函数:
(7)
(8)
(9)
式中,η为学习效率,ek和ej表示期望输出和实际输出的差值。
(6)迭代结束判定
循环(4)~(6)步,直到满足精度要求或训练次数达到最大训练次数,循环终止即网络模型训练完成。BP神经网络流程如图2所示。
图2 BP神经网络流程图
3 基于小波去噪的BP神经网络设计
以某建筑基坑开挖过程的观测点为实例,对该观测点进行了47期的观测,累计沉降量数据如表1所示。
表1 观测点累计沉降量数据表
3.1 数据预处理
采用小波去噪算法将原始数据进行预处理,去噪效果对比如图3所示。在实际测量数据中,由于测量误差或记录失误等原因造成数据出现异常值(见图3中虚线标记处),若采用原始数据进行训练网络模型,则难以达到预期精度[7],经小波去噪后的数据消除了异常值的影响,并将该数据作为后续的网络训练样本数据。根据公式(1)对样本数据进行归一化处理。
图3 小波去噪对比效果图
3.2 BP神经网络设计
3.2.1网络层数
BP神经网络可以含有多个隐含层,隐含层个数的增加会提高一定的精度,但网络复杂度、训练时间也会增加。一般情况下工程应用中隐含层数不会超过2层,一个隐含层的BP网络可以逼近任意连续函数[11-12],故本文采用一个隐含层。
3.2.2输入层、输出层神经元数设置
将1~40期数据作为网络训练数据,41~47期为测试数据;沉降数据具有明显的时间序列特征,在网络运行中采用滑动窗口的方式迭代前进,将每4期数据作为样本输入组,以下一期数据作为输出的目标数据,依次迭代,直至训练或预测完成终止,网络模型中输入输出模式如表2所示。
表2 BP神经网络的训练过程输入输出模式
3.2.3隐含层的神经元数
输入层神经元个数为4,输出层神经元个数为1,则由经验公式(2)~(4)解算取值范围,隐含层神经元数设置为8,主要参数设置见表3。
表3 训练参数表
4 实验效果展示及精度分析
针对小波去噪对神经网络训练效果及预测效果的影响问题,实验采用了经小波去噪和未经小波去噪的2种数据作为训练数据,进行了训练效果和预测结果的对比及精度分析。训练阶段的拟合趋势对比图如图4所示,预测结果对比图如图5~6所示,精度分析如表4所示。
图4 训练结果对比图
图5 预测结果对比图
图6 预测误差对比图
表4 预测结果精度分析表
由图4分析可知,无去噪的BP神经网络拟合数据波动性较大,相比之下基于小波去噪的BP神经网络的拟合程度更高。由图5~6及表4分析可知,两种方法的预测精度都在0.2 mm以内,经小波去噪后的BP神经网络预测精度有了显著的提升,预测精度维持在0.01 mm以内,精度提升了86.55%。
5 结束语
本文通过实例数据进行实验,对比了BP神经网络和基于小波去噪的神经网络模型,并对观测点进行了预测。经实验对比分析可知,2种方法都可以获得具有一定的训练模型和预测精度,但小波去噪可以过滤测量数据中的异常值,提高观测数据的稳定性,结合小波去噪的BP神经网络训练精度更高,预测精度达到0.01 mm以内,相比无去噪的BP神经网络精度提升了86.55%,结果表明了基于小波去噪的BP神经网络优越性。