APP下载

基于优化的BP神经网络地层可钻性预测模型

2012-12-04董青青梁小丛

钻探工程 2012年11期
关键词:测井粒子神经网络

董青青,梁小丛

(中国地质大学〈武汉〉工程学院,湖北 武汉430074)

0 研究背景

在岩土钻掘工程设计与实践中,我们常常希望能事先预知地层岩石的破碎难易程度,以便正确选择钻进工艺、方法,制定生产定额。因此探讨地层岩石可钻性的方法显得极为重要。目前国内外普遍采用的岩石可钻性实验方法主要有:室内岩心实验法,和参数分析法2大类。都是钻后评价方法,实验用的岩心脱离了地下的真实环境,因此实验数据具有一定的偏差性,并不能真实反映岩石的可钻性级数。

而BP网络模型是目前广大研究者用于地层岩石可钻性的钻前预测模型。利用测井资料作为网络模型的输入参数,岩层可钻性级值作为输出,此模型结构简单,具有良好的自适应性、自学习性和极强的非线性逼近、容错能力等特点。但该模型容易陷入局部极小值,且泛化能力较弱、网络收敛速度较慢。在本文中提出一种基于粒子群算法优化的BP网络预测模型,在该模型中用粒子群算法代替了梯度下降法对BP网络的权值和偏差进行优化,提高了模型的收敛速度和预测的精度。因此利用此模型建立地层可钻性级值的预测具有更高的精度和更广泛的适用性。

1 粒子群算法(PSO)基本原理

粒子群优化算法[1,2]把群体中的每个个体视为搜索空间的“鸟”,也即‘粒子’。在粒子群优化问题中,每个解就是空间中的粒子,所有的粒子都有一个被优化的函数所决定的适应值。空中的粒子以一定的速度飞行,并根据粒子本身最优适应值pbest以及全局的最优适应值gbest对速度进行动态调整,从而形成群体寻优的正反馈机制,直到寻找到群体最优适应值为止。设在一个D维的目标搜索空间中,有N个粒子组成一个群落,将每个粒子代入一个目标函数即可算出其适应值,根据适应值的大小衡量是否为所要求解的最优解。设第i个粒子的位置为Xi=(Xi1,Xi2,…,XiD),速度也是一个M维向量,记为Vi=(Vi1,Vi2,…,ViD)。记第i个粒子迄今为止搜索到的最优位置为pbsti=(pbi1,pbi2,…,pbiD),而整个粒子群搜索到的最优位置为gbsti=(gbi1,gbi2,…,gbiD)。粒子位置和速度改变的2个公式:

式中:c1、c2——加速系数,即分别调节向全局最好粒子和个体最好粒子方向飞行的最大步长;rand1、rand2——[0,1]之间的随机数;Vij——第i个粒子在第k次迭代中第j维的速度;Xij(k)——粒子i在第k次迭代中第j维的当前位置;pbij(k)——粒子i在第j维第k此迭代个体极值点的位置;gbj(k)——整个粒子群在第j维第k次迭代全局极值点的位置;w——惯性权重。

惯性权重是最重要的参数,较大的权重有利于提高算法的全局搜索能力,而较小的权重会增强算法的局部搜索能力,因此在本文中采用线性递减权重。

式中:tmax——最大允许迭代次数;t——当期迭代次数;wstar、wend——分别是初始权重和进化到最大迭代次数的权重。

在更新过程中,粒子飞行速度有最大值Vmax的限制,若V(k+1)>Vmax则V(k+1)=Vmax;若V(k+1)<-Vmax则V(k+1)=Vmax。较大的Vmax可以保证粒子群的全局搜索能力,Vmax较小则种群的局部搜索能力加强。同样粒子的位置也限制在[-Xmax,Xmax]区间。

2 优化网络模型基本原理

神经网络模型具有较强的非线性映射能力。而BP网络是目前应用最广泛、最成熟的神经网络之一。在一般情况下BP网络取一层隐含层就可以逼近绝大部分非线性的问题。BP网络权值和偏差一般采用误差梯度下降法逼近,有时并不能保证所求为误差超平面的全局最小解,很可能是一个局部极小解。所以在一些复杂工程状况采用梯度下降法训练权值和偏差并不能达到预期的值。而用粒子群算法优化权值和偏差避免了梯度算法中要求函数可微、对函数求导的过程,缩短了神经网络的训练时间,在一定程度上改善了BP算法性能,使其跳出局部极小值的范畴。

用PSO算法优化BP网络模型参数,定义粒子群初始位置向量Xi=(Xi1,Xi2,…,XiD),向量中的维数的大小D,即为BP网络中权值和偏差的总和,向量中每一元素分别表示网络中权值或偏差。PSO训练BP网络时使用如下适应值函数:

式中:n——训练的样本总数;M——网络输出神经元的个数;Yi,j——第i个样本的第j个网络输出节点的理想输出值;yi,j——第i个样本的第j个网络输出节点的实际输出值。

粒子群算法优化BP网络的详细步骤如下:

(1)对各参数进行初始化:①初始化神经网络输入层个数N,隐含神经元个数L和输出层个数M;②初始化粒子群算法种群维数D=NL+ML+L+M,粒子数n=25,设定初始和终止惯性权重wstar=0.9、wend=0.2,加速因子c1=c2=2,误差精度 ε=0.001,最大代数T=2000;③初始化粒子群位置和速度矩阵;④初始化每一个粒子的个体极值和全局最优值。

(2)逐个输入粒子并根据BP算法计算粒子的适应度。

(3)由计算所得粒子的适应值与它经历最好位置的适应值进行比较,若现在的位置适应值比它经历最好位置更好,则更新个体极值。

(4)比较每个粒子的适应值与全局所经历最好位置的适应值,如果更好,更新全局极值点。

(5)根据上述方程(1)和方程(2)更新粒子的速度和位置。

(6)如未达到足够好的适应值或一个预设的最大迭代数则结束,否则返回步骤2。

3 优化的BP网络模型的建立

由文献[3~5]可知岩层的可钻性级别与声波时差Δt、地层密度ρ、电阻率Rt以及泥质质量分数Vsh关系十分密切。而这些参数都可以由测井资料所获得,因此在进行深部钻进时可以利用已经获得的上层井段或者同一地区已钻井的测井资料作为模型的分析参数,并基于粒子群优化的BP神经网络建立未钻岩层可钻性级别预测模型。将与地层可钻性密切相关的参数(声波时差、地层密度、泥质质量分数、地层深度)作为网络的输入量,以地层可钻性级别Kd作为网络的输出,构成的岩层可钻性模型如图1所示。

4 地层可钻性预测模型实例分析

根据上述所建立粒子群算法优化的BP网络模型,基于MATLAB建立编程软件,利用文献[6]数据建立如表1所示地层参数。

将与地层可钻性密切相关的测井参数(Δt、ρ、Rt、Vsh)作为网络输入层的输入量,以地层可钻性极值Kd作为输出层的期望输出量。对于隐含层神经元个数并没有确定的规定值,隐含层神经元个数越多训练所需时间越长,网络性能越差。因此可以利用for循环及网络性能评价函数(5)和误差评价函数(6)选取最优隐含层神经元个数:

图1 岩层可钻性预测模型

表1 地层测井参数和岩层可钻性级值数据

其中e为真实值和预测值误差,根据所有的res值选取最小值所对应的隐含神经元个数作为最优隐含层。同时粒子群算法中取粒子数25,最大迭代次数2000。粒子位置的上界为[1×102,1×106],下界为[1 ×10-6,1 ×10-1],粒子最大速度为[5 ×10-2,5 ×104]。

利用表1中数据对所设计好的模型进行训练,并利用后10组数据对地层可钻性极值进行回判,所得岩层可钻性级别回判结果如表2所示。将所得结果绘制成曲线如图2所示。由表2和图2可以知基于粒子群优化BP网络模型其相对误差一般不超过3%,比未经优化过的BP网络精度高,而且波动也较稳定,与真实值拟合的程度高。因此基于粒子群优化BP网络模型能够更好预测地层可钻性,反应地层可钻性的变化趋势。

表2 PSO-BP与BP预测值对比

图2 两种预测地层可钻性模型的曲线对比

5 结论

(1)由以上工程实例分析可知,用粒子群算法优化的神经网络模型具有更高的精度,误差较小,而且避免了BP神经网络模型容易陷入局部极小值的局限,具有较大的适应性,为地层可钻性提供了一种较高精度的预测模型。

(2)在实际钻进中利用上部地层或者相邻已钻地层的测井参数和对应的地层可钻性级数对网络进行训练。利用训练好的网络和钻头底下未钻地层的相关测井参数即可预测出地层可钻性级数,因此该模型对未钻地层的可钻性实时预测有一定的推广性。

[1]谭明交,张红梅.粒子群优化算法及其在神经网络中的应用[J].计算机与信息技术,2008,(7).

[2]徐乐华,凌卫新,熊丽琼.基于面向对象自适应粒子群算法的神经网络训练[J].计算机应用研究,2009,(1).

[3]高成军,谌海云,卢青兰,等.测井资料在预测地层参数剖面方面的应用[J].西南石油大学学报(自然科学版),2008,(3).

[4]刘向君,宴建军,罗平亚,等.利用测井资料评价岩石可钻性研究[J].天然气工业,2005,(7).

[5]王克雄,魏凤奇.测井资料在地层抗钻特性参数预测中的应用研究[J].石油钻探技术,2003,(5).

[6]夏宏泉,刘之的,陈平,等.基于BP神经网络的岩石可钻性测井计算研究[J].测井技术,2004,(2).

猜你喜欢

测井粒子神经网络
渤中凹陷变质岩凝析气藏随钻和电缆测井曲线对比分析
本期广告索引
基于递归模糊神经网络的风电平滑控制策略
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于膜计算粒子群优化的FastSLAM算法改进
神经网络抑制无线通信干扰探究
Conduit necrosis following esophagectomy:An up-to-date literature review
基于神经网络的中小学生情感分析
基于粒子群优化极点配置的空燃比输出反馈控制
基于测井响应评价煤岩结构特征