当前位置:简历谷 >

热点 >工作经历 >

BP神经网络在堆石体密度测试中的应用(张宪君,马若龙,王志勇,李丕武)

BP神经网络在堆石体密度测试中的应用(张宪君,马若龙,王志勇,李丕武)

[摘 要] 由于堆石体介质结构的不均匀性以及堆石体密度与其力学参数之间的非线性关系,因此从实测的力学参数中用线性关系计算密度,很难得到较理想的结果。BP神经网络具有非线性映射、泛化、容错的能力。通过教师信号的学习,能够找到输入与输出之间未知的连续非线性关系,从而达到利用所测力学参数计算密度的目的。

[关键词] BP神经网络 附加质量法 堆石体密度

BP神经网络在堆石体密度测试中的应用(张宪君,马若龙,王志勇,李丕武)

人工神经网络是借鉴于生物神经网络而发展起来的新型智能信息处理系统,它的基本功能有联想记忆、非线性映射、分类与识别、优化计算、知识处理等,它的基本单元神经元常被称为“处理单元”或“节点”。神经元具有多输入单输出的特点,对输入加权求和然后通过一变换函数求得输出,许多神经元连接在一起,组成了不同的网络拓朴结构,从而整体上也具有了不同的功能。附加质量法测试堆石体密度建立的模型是假定介质是均匀性的,实际中有时堆石体中介质颗粒的大小变化很大,这时测试的数据很难从中找到与真实密度的一种线性关系,那就要找到它们之间的非线性关系。理论分析已经证明,人工神经网络中的BP神经网络通过教师信号的学习可以映射所有连续函数,所以可以选用BP神经网络来找到测试参数与密度之间的非线性关系,附加质量法测试到的参数有刚度、附加质量、压板半径、纵波速度、横波速度等,BP神经网络主要以这些参数做为输入,以密度做为输出来建立模型;
以这些参数与其对应的坑测法测试的密度来做为教师信号对网络进行训练,训练之后就可以输入参数来计算密度。

1 BP神经网络应用原理

1.1 模型与算法

采用BP算法的三层网络是至今应用最广泛的神经网络,所谓三层包括输入层、隐层和输出层。如图1所示。

三层BP网中,输入向量为X=(x1,x2,…,xi,…,xn)T,图中x0=-1是为隐层神经元引入阈值而设置的;
隐层输出向量为Y=(y1,y2,…,yj,…,ym)T,图中y0=-1是为输出层神经元引入阈值而设置的;
输出层输出向量为O=(o1,o2,…,ok,…,ol)T;
期望输出向量为d=(d1,d2,…,dk,…,dl)T。输入层到隐层之间的权值矩阵用V表示,V=(V1,V2,…,Vj,…,Vm),其中Vj=(υ0j,υ1j,υ2j,…,υij,υnj),υ0j为第j个神经元的阈值;
隐层到输出层之间的权值矩阵用W表示,W=(W1,W2,…,Wk,…,Wl),其中Wk=(ω0k,ω1k,ω2k,…,ωik,…ωmk),ω0k为第k个神经元的阈值。各层信号之间的数学关系如下。

当网络输出与期望输出不等时,存在输出误差E,定义如下:

由上式可以看出,网络输入误差是各层权值ωjk、υij的函数,因此调整权值可改变误差E。

显然,调整权值的原则是使误差不断地减小,因此应使权值的调整量与误差的梯度降成正比,即:

上式中利用式(7),可得:

1.2 模拟与应用

输入参数的选取应选取应对输出影响大且参够检测或提取的变量,此外还要求各输入变量之间不相关或相关性很小,堆石体密度测试中得到的数据参数一般包括刚度K(MN/m)、附加质量m0(kg)、压板半径r(m)、纵波速度Vp(m/s)、横波速度Vs(m/s)等,为了得到教师信号的输出,需要用坑测等较准确的方法测试出湿密度ρω(t/m3)、干密度ρ0(t/m3)。根据理论与经验刚度与附加质量对输出的密度影响最大,所以这两个参数是网络的必选参数,其他的参数可做为网络的附加参数。

为了网络训练一开始就给各输入分量以同等重要地位所以要对输入数据进行标准化,另外Sigmoid变换函数的输出在0~1之间,所以还要对教师信号的输出数据进行标准化处理,最后计算应用时,再将网络输出的标准化数据变换成原来的形式。当输入或输出向量的各分量量纲不同时,应对不同的分量在其取值范围内分别进行变换;
当各分量物理意义相同且为同一量纲时,应在整个数据范围内确定最大值xmax和最小值xmin进行统一的变换处理。

将输入输出数据变换为(0,1)区间的值常用以下变换式

隐节点的作用是从样本中提取并存储其内在规律。隐节点数量太少,网络的从样本中获取的信息能力就差,不足以概括和体现样本规律;
隐节点数量过多,又可能把样本中非规律性的内容如噪声等也学会记牢,从而出现所谓的“过度吻合”问题。确定最佳隐节点数的一个常用方法是试凑法,一般用下式作为试凑法的初始值:

上式中m为隐层节点数,n为输入层节点数,l为输出节点数,a为1~10之间的常数。

根据以上的原则用VB编制出BP神经网络程序,运行时其可以根据需要设定输入层节点数,隐层节点数,输出层节点数,大大方便了计算的灵活性与多样性,从而为找到最优化的形式提供便利(最优化的形式包括最适合的输入参数,最适合的隐层节点数等),程序运行初始时,隐层节点数初始化为5,后面的用到的BP神经网络都是在隐层节点数为5的基础下进行学习计算的。

程序的数据处理流程图如图2所示

2 实例

实例(1)四川田湾河仁宗海发电站的堆石土密度试验。

通过在四川田湾河仁宗海发电站的堆石土密度试验,得到实测数据。网络的输入参数选取了刚度、附加质量、压板半径,输出参数选取了湿密度。

传统的密度计算公式为:ρm0=1.20×10-4m0+2.159

经过网络训练得到的对比数据如表1所示

BP网络计算、传统的密度计算与坑测法测得的湿密度的对比如图3,图4所示

实例(2)PBG堆石坝堆石料试验

通过PBG堆石坝堆石料试验,得到实测数据。网络的输入参数选取了刚度K(MN/m)、附加质量m0(kg),输出参数选取了湿密度ρω(t/m3)。

经过网络训练得到的对比数据如表2所示

选前9个数据做为教师信号,后9个数据用网络计算得到的对比数据如表3所示

上述两种BP网络计算与坑测法测得的湿密度的对比如图5所示

3 结束语

两个实例说明BP神经网络算法能较好地找到刚度K 、m0参数与堆石体密度之间的关系。但怎样找到最优的映射关系还需要通过样本点的合理选取、输入参数的选取、网络节点数的选取等它们之间的各种组合来进行计算学习。另外BP神经网络的BP算法也存在着平坦区域(误差梯度小,调整权值很大,误差仍下降慢)、多个极小点问题(其学习算法常常陷入某个局部极小点而不能自拔)。图6以单权值为例描述了以上问题。对标准BP算法的有效改进也是提高映射关系精度的一种方法,这将在以后的工作需要中进行改进,改进的方法主要有增加动量项、自适应调节学习率、引入陡度因子等方法。

  • 文章版权属于文章作者所有,转载请注明 https://jianligu.com/redian/gongzuojingli/g5kmng.html
专题