0 引言
近年来, 随着勘探地球物理学的发展, 非线性反演方法逐渐成为研究热点,一些启发式的反演方法应运而生,如人工神经网络方法、遗传算法、模拟退火法、粒子群算法等。这些需要大量计算时间的方法随着并行计算技术的进步展现出良好的应用前景[1-4]。BP神经网络是目前应用最多的一种神经网络方法,在地球物理中主要用于密度分界面的反演。陈东敬等[5]利用带模拟退火的拟BP神经网络反演密度界面、朱自强等[6]利用拟BP神经网络同时反演两个三维密度界面、张新兵等[7]利用BP神经网络和Hopfield网络反演二维密度界面,都取得了较好的应用效果。
运用BP神经网络反演二维密度界面可以利用有限的信息快速准确地得到结果,反演效果令人满意。但由于BP神经网络采用误差反传算法,在计算数据量较大时,相对复杂的网络结构会导致收敛速度慢、反演精度低等问题,甚至可能在训练过程中陷入局部极小而无法得到满意的反演结果[8-9]。因此,直接利用BP神经网络反演三维密度界面效果不好,需要对其进行相应的优化改进。遗传算法模拟生物进化的自然选择和遗传过程,在模型空间进行启发式搜索并得到最优解,是一种全局寻优的方法,但收敛速度较慢。把BP神经网络和遗传算法进行有机结合,可以实现以较快的速度得到比较理想的反演结果。
本文对BP神经网络和遗传算法作了简要介绍,给出了应用遗传算法对BP神经网络进行优化的具体方法,并利用基于遗传算法优化的BP神经网络分别进行二维密度界面和三维密度界面的反演,以验证方法的有效性。
1 BP神经网络 1.1 BP神经网络结构BP神经网络 (back-propagation neural networks) 是一种前馈神经网络 (也称作反向传播神经网络),其基本结构包括输入层、隐含层和输出层,一般采用只有一个隐含层的三层结构,如图 1所示。BP神经网络的优化能力与其结构密切相关, 而结构的变化主要体现在隐含层的层数和节点数上。隐含层结构在很大程度上决定着网络的记忆容量、泛化能力、训练速度和输出响应质量[1-2, 5, 7, 10]。根据Kolmogorov定理,给定任一连续函数f:UM→RN,f(x)=Y,U是闭单位区间[0, 1], 则f可以用一个三层前向神经网络来精确实现,其中输入层节点数为M,隐含层节点数为K=2M+1,输出层节点数为N[8]。但对于具体的实际问题,需要不断试验不同的隐含层节点数以获得尽量好的预测结果。
1.2 BP神经网络学习算法BP神经网络的学习规则是最速下降法, 其学习过程归结起来为:模式顺传播—误差逆传播—记忆训练—学习过程收敛。假设输入层有M个节点,隐含层有K个节点,输出层有N个节点,xi为第i个神经元的输入信号,θj, θk分别为隐含层和输出层的阈值,则隐含层各节点的输入为
隐含层的各输入经过激励函数f(x) 的作用后的输出为
式中,φj表示隐含层第j个节点的净输入。相应地,输出层各节点经激励函数g(x) 作用后的输出为
若网络的目标输出为T,样本总数为P,则第p组学习样本的输出误差为
式中,Op, k, Tp, k分别表示第p个样本在第k个输出节点的实际和目标输出值。网络的总输出误差为
以上是BP神经网络进行样本训练的信号正向传播过程[4],相应的反向传播过程为误差E的传播。其过程可简单描述为:由输出层开始逐层计算各层神经元的输出误差,根据误差梯度下降法调节各层的权值和阈值,使修改后网络的最终输出更接近期望值。以输出层的权值为例,其修正量为
式中,η为学习速率,决定每一次循环训练中所产生的权值变化量,一般取值范围为0.01~0.80。又由
类似地,可以得到输出层阈值修正量Δθk、隐含层权值修正量Δwji和隐含层阈值修正量Δθj。根据权值、阈值修正量计算出新的权值、阈值,该次学习训练结束。重复正向和反向传播过程进行多次训练迭代,直到得到满意的训练效果,即可以认为网络收敛,停止训练。然后用检测样本对训练好的网络结构进行验证,若结果误差在设定的范围之内,则认为此BP神经网络可用于反演计算,将网络保存作为反演算子[7, 9, 11]。但BP神经网络存在学习速度慢以及可能陷入局部极小等问题,这在一定程度上限制了该方法的广泛应用[10]。
2 基于遗传算法优化的BP神经网络 2.1 遗传算法遗传算法 (genetic algorithm, GA) 由美国的John Holland教授于1975年首先提出,其基本思想源于Darwin的进化论和Mendel的遗传学说,是一种模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。
遗传算法以一种群体中的所有个体为对象,利用随机化技术指导对一个被编码的参数空间进行高效搜索,基本操作包括:选择 (selection)、交叉 (crossover)、变异 (mutation)。选择,即从群体中选出较适应环境的个体,用于繁殖下一代,并根据个体对环境的适应度决定其繁殖量。交叉,即对两个不同的个体相同位置的基因进行交换,从而产生新个体。变异,即随机地对个体中某些基因执行异向转化,以增加全局优化的特质[11-12]。遗传算法的具体步骤如图 2所示。其中,初始化即选择一个串或个体的集合bi, i=1, 2, ..., n,n为个体数, 一般取30~160。选择以适应度为原则,适应度较高的个体繁殖下一代的数目较多[11, 13]。在实际应用中给出具体的目标函数φ,则φ(bi) 成为个体bi的适应度,选中bi为下一代个体的次数为
交叉是随机地选择两个个体的相同位置,按概率Pc进行,目的在于产生新的基因组合,即新个体。Pc的一般取值为0.1~1.0。变异以概率Pm对某些个体的某些位置执行,Pm一般取0.01~0.20[11, 13]。
2.2 遗传算法对BP神经网络的优化结合BP神经网络结构和参数优化的实际问题,传统的改进方法包括附加动量项、自适应学习速率和可调激活函数等[9]。这些方法在MATLAB中均以训练函数的方式实现,即可以在MATLAB函数的参数列表中选择不同的选项。这样的实现方法简单方便,但同时也限定了选择的范围,无法合理有效地根据需要解决的实际问题选择更好的方法。因此在已有训练函数应用效果不理想的情况下,需要选择其他方法对BP神经网络的结构和参数进行优化,遗传算法就是这样一种有效的方法。
在应用中,先根据输入输出的样本数据设定BP神经网络的结构,即网络层数和各层节点数,选择合适的激励函数,建立网络初始模型。这会随机产生一组权值和阈值,而遗传算法优化的对象即是这组数值。遗传算法需要首先进行参数初始化,这些参数包括进化代数、种群规模、交叉概率和变异概率等。进化代数一般选择几十至几百代,可作为算法的终止条件;种群规模即种群中染色体个体的数目,太小的种群规模无法提供足够的采样点数,使算法的优化效果不好,太大则会明显降低收敛速度,一般选择10~150;交叉概率控制着交叉算子的使用频率,交叉操作可以加快收敛,使解达到最有希望的最优解区域,因此一般取较大的交叉概率,但交叉概率太高也可能导致过早收敛,一般取0.6~1.0;变异概率控制着变异算子的使用频率,决定了遗传算法的局部搜索能力,一般取0.01~0.10[14-16]。这些参数一般根据待处理数据的规模和范围等初步确定,并需要多次试验以获得应用效果较好的参数。
根据图 2所示的遗传算法流程,首先对BP神经网络的权值和阈值进行编码。由于这些参数初始化为随机数,因此可选择浮点编码,进而完成群体的初始化。用适应度值代表优化的目标函数,利用训练样本网络输出和实际输出的误差的不断迭代计算,使适应度值达到设定的水平或触发其他终止条件,完成优化计算。
在密度界面的反演中,将从地震资料中获得的已知深度点及与其对应坐标点的重力异常值分别作为BP神经网络模型的输出样本和输入样本,利用这些样本对网络模型进行训练。根据理论模型的计算情况,训练样本数量选择为总体样本数量的5%~15%即可满足计算精度要求,但为加快计算速度,一般选在10%以内。为方便处理,需把原始数据进行归一化,然后根据模型输入输出确定网络参数并构建网络初始模型;之后的网络训练过程用遗传算法完成。首先进行遗传算法参数初始化,然后将BP神经网络的初始权值和阈值进行二进制编码,使之作为染色体用于初始化种群,并将网络训练输出和实际输出的误差作为染色体的适应度值。遗传算法的优化即为求取最优适应度值的过程,将进化代数内得到的最优适应度结果作为网络模型的最终权值和阈值,网络训练结束,此时得到的网络模型即为本次训练预测误差最小的模型[16-17],其可作为算子进行接下来的反演计算。反演时将所有点的重力异常值输入保存的网络模型,输出即为相应的密度界面深度值。这种方法不需要建立界面深度的初始模型,再进行迭代计算以获得最终反演结果,而只需以一定量已知深度的测点作为约束进行反演计算,且这些已知深度点可以从地震剖面资料获取以及在小范围内通过合适的插值方法得到,具有实际应用意义[18]。
3 模型试验 3.1 二维密度界面模型首先设计了一个起伏较为复杂的二维密度界面,其具体参数为:界面最小埋深为1.8 km,最大埋深为4.0 km,剖面长度为80 km,界面上下的密度差为0.3×103 kg/m3。测线沿剖面方向,测点间距为1 km,共81个测点。正演计算时,沿剖面方向向两边各扩边80 km,以减小边缘效应的影响[19-20]。反演时,首先从样本总体中选择15%的样本数作为训练样本对BP神经网络进行训练,并记录训练结果,取多次训练 (20次以上) 中结果最好的网络模型作为反演算子保存,进行下一步反演。样本的选择要具有一定的代表性,即其数值取值范围大、分布范围广且均匀。然后再按类似的方法进行基于遗传算法优化的BP (GA-BP) 神经网络反演。反演结果见图 3。由于二维密度界面的反演较为简单,BP神经网络的反演结果比较准确,GA-BP神经网络的反演结果在精度和效率上都没有明显的提高[5, 7]。
3.2 三维密度界面模型为验证方法的有效性和稳定性,本文设计了一个在120×120 km2测区范围内起伏较多的三维密度界面。界面最小埋深为4.32 km,最大埋深为5.79 km,界面上下密度差为0.25×103kg/m3,网格间距为1 km。首先利用组合长方体模型方法进行重力异常的正演计算,计算时利用余弦方法进行了相应的扩边处理。然后根据计算得到的重力异常图选择一条剖面 (横向纵向均可),要求这条剖面尽量多地包含整个区域的重力异常极大值和极小值点,在这条具有一定代表性的剖面上选择合适数量 (多于剖面测点数的一半) 的测点作为BP神经网络的训练样本。如此选择训练样本是为了类比实际应用中利用地震剖面数据作约束反演的方法。选择好的样本不是一成不变的,而是需要根据训练和计算结果不断修改样本数据的选择方法和数量,甚至还要尝试利用其他类似剖面进行计算,这些步骤的目的是通过不断尝试找到更好的BP神经网络模型,获得更理想的反演结果。
对设计的界面模型进行反演。为验证方法在噪声存在时的应用效果,对正演得到的重力异常数据加入5%的高斯白噪声。首先利用BP神经网络的方法,选择了280个训练样本。网络结构为输入层1个节点,隐含层5个节点,输出层1个节点。将训练样本中的重力异常值和界面深度值进行归一化处理后分别作为BP神经网络的输入输出,执行网络训练并设定训练终止条件。根据前面所述方法不断修改网络模型参数,从中选择一个训练返回误差最小的网络模型作为反演算子保存。然后将所有重力异常数据作为输入,用保存的网络模型计算相应的界面深度值输出。再利用GA-BP神经网络进行反演计算,具体流程与BP神经网络反演类似,只是在网络训练时加入遗传算法优化。根据构建的BP神经网络模型,在遗传算法参数设定中,进化代数为20,种群规模为10,交叉概率为0.6,变异概率为0.02。经过模型验证,在这个参数组合下可以得到较好的计算结果。
图 4为BP神经网络训练过程及遗传算法进化过程。可以看出:在反演计算的过程中,BP神经网络的训练步数为420步,GA-BP神经网络的训练只有152步,比BP神经网络减少了近2/3。相应地,反演效率在模型复杂、训练参数较多时有显著提高,且精度更高。
反演结果如图 5所示,可以看出:GA-BP神经网络反演的精度明显高于BP神经网络,尤其在局部深度较大的区域,反演得到的界面和原始界面非常接近;同时,反演结果更加平滑,显示出对噪声的抗干扰能力更强,优化效果明显。从反演数据中取出一条剖面的一段进行对比 (图 6) 可见,BP神经网络反演得到的界面深度与原始界面深度有一定的误差,而GA-BP神经网络反演得到的界面深度与原始界面深度基本吻合。计算两者的预测误差可知,后者的计算精度可以比前者提高1个数量级。即,GA-BP神经网络反演的预测误差从原来的上百米减小到几十米,相对界面本身5 km左右的深度,预测效果较为理想。
4 实际应用将GA-BP神经网络应用到法国某地区莫霍面深度的反演中。首先选择其中一条剖面进行反演计算。剖面长度为351 km,测点间距为1 km,根据地震剖面数据可知其中36个点的深度,将这36个点作为控制点进行约束反演,即在GA-BP神经网络的反演计算中,有36个训练样本。然后用训练好的网络模型计算莫霍面深度,反演结果如图 7所示。
计算所得的莫霍面深度与实际深度趋势一致,吻合较好。在所有样本点中,预测相对误差最大为1.8%,说明该方法反演莫霍面深度效果较为理想。最后利用GA-BP神经网络对该地区的平面数据进行反演。该地区的范围是300×300km2,正方形网格的间距为6 km,反演结果如图 8所示。为对比反演效果,我们同时使用了Parker-Oldenburg方法。
从图 8可以看出,GA-BP神经网络的反演结果相对BP神经网络的反演结果给出更多的细节信息,在异常幅度上更大更明显,等值线形态更平滑,这也说明该方法能更加有效地压制噪声,得到更准确的反演结果。经过计算,BP神经网络、GA-BP神经网络、Parker-Oldenburg方法的均方误差分别为163.7,114.1,105.8 m,可以看出,GA-BP神经网络反演结果相比BP神经网络有明显提升。
用GA-BP神经网络和Parker-Oldenburg方法得到的界面深度进行正演计算,将得到的重力异常与实测异常进行对比,结果见图 9。从图 9可见,两种方法得到的重力异常均与实测异常差异很小,应用效果令人满意。
在Prker-Oldenburg方法反演中,需对重力异常进行向下延拓以及滤波处理,这会增加计算的误差。同时,一些空间域三维密度界面反演方法需要先利用重力异常的功率谱密度图求取斜率或利用其他方法求取初始界面模型;然后再进行正演计算,经过迭代,得到符合设定误差限或迭代步数的解。这对三维界面的反演来说效率较低。GA-BP神经网络在反演过程中没有复杂的空间域波数域相互变换,也不需要预先设定莫霍面的参考深度,计算难度和时间的消耗都有一定程度的下降,具有更高的应用效率和更广的适应性。
5 结论与讨论1) 本文利用基于遗传算法优化的BP神经网络进行密度界面的反演,将BP神经网络自身迭代求解权值阈值的过程用遗传算法优化代替,实际应用效果更好,不仅提高了反演精度,在模型复杂的情况下还能有效减少反演计算所需的时间,提高效率。
2) 在实际应用时,基于遗传算法优化的BP神经网络需要结合界面的已知深度点作为约束条件进行反演计算,这些点的深度可由地震测深获得,也可通过其他地球物理探测方法获得;因此,基于遗传算法优化的BP神经网络适合进行多方法联合反演,将其作为中间步骤能有效节约时间,得到较理想的结果。在深度资料缺失或不满足应用精度要求的情况下,可根据地质资料和其他地球物理方法资料,构建合理的深度模型,或利用模型进行网络训练,也能反演得到较为满意的结果。
3) 对比前人的方法,基于遗传算法优化的BP神经网络并不需要将界面平均深度和界面上下密度差异等作为先验信息,也不需要进行复杂的数据预处理,如密度矩阵的求解和初始模型的计算,而且在计算中不需要进行空间域和波数域的变换处理,在一定程度上降低了密度界面反演计算的难度。
4) 基于遗传算法优化的BP神经网络也存在一定的局限,其迭代过程有时会陷入局部极小,甚至无法收敛,得到的结果与实际情况差别很大;在应用时经常需要不断调整各种参数,而各参数具体数值的选取并没有既定的准则或通用的经验,只能根据实际处理的数据在一定范围内尝试不同的参数组合。
总的来说,基于遗传算法优化的BP神经网络在密度界面的反演中有较好的应用效果,而快速准确地反演出界面的深度变化在区域构造和油气勘探中具有重要意义,接下来还要有更加深入的研究,以进一步提高其应用价值。
[1] | Van der Bann M, Jutten C. Neural Networks in Geo-physical Applications[J]. Society of Exploration Geophysists, 2000, 65(4): 1032-1047. |
[2] | Russell B. Neural Network Applications in Geophysics[C]//CSEG National Convention. Cakgary:Hampon-Russell Software, 2005:339-341. |
[3] | Hajian A, Ardestani E V, Lucas C. Depth Estimation of Gravity Anomalies Using Hopfield Neural Networks[J]. Journal of the Earth & Space Physics, 2011, 37(2): 1-9. |
[4] | Nagendra R, Prasad P V S, Bhimasankaram V L S. Forword and Inverse Computer Modeling of a Gravity Field Resulting from a Density Interface Using Parker-Oldenberg Method[J]. Computer & Sciences, 1996, 22(3): 227-237. |
[5] | 陈东敬, 张新兵. 带模拟退火的拟BP神经网络在伊朗某地区重力资料反演中的应用[J]. 勘探地球物理进展, 2005, 28(3): 215-218. Chen Dongjing, Zhang Xinbing. The Application of Quasi-BP Neural Network with Simulated Annealing in the Inversion of Gravity Data in Some Region of Iran[J]. Progress in Exploration Geophysics, 2005, 28(3): 215-218. |
[6] | 朱自强, 程方道, 黄国祥. 同时反演两个三维密度界面的拟神经网络BP算法[J]. 石油物探, 1995, 34(1): 76-85. Zhu Ziqiang, Cheng Fangdao, Huang Guoxiang. Quasi Neural Network BP Algorithm for Simultaneous Inversion of 3-D Density Interface[J]. Geophysical Prospecting for Petroleum, 1995, 34(1): 76-85. |
[7] | 张新兵, 王家林, 陈冰, 等. BP, Hopfield神经网络在位场反演中的应用比较[J]. 物探化探计算技术, 2007, 29(2): 162-166. Zhang Xinbing, Wang Jialin, Chen Bing, et al. The Application Comparison of BP, Hopfield Neural Network in the Inversion of Potential Field[J]. Computing Techniques for Geophysical and Geochemical Exploration, 2007, 29(2): 162-166. |
[8] | 郭文斌, 朱自强, 鲁光银. 重力异常的BP神经网络三维物性反演[J]. 地球物理学进展, 2012, 27(2): 409-416. Guo Wenbin, Zhu Ziqiang, Lu Guangyin. 3-D Gravity Inversion for Physical Properties Using BP Network[J]. Progress in Geophysics, 2012, 27(2): 409-416. |
[9] | 侯祥林, 陈长征, 虞和济, 等. 神经网络权值和阈值的优化方法[J]. 东北大学学报 (自然科学版), 1999, 20(4): 447-450. Hou Xianglin, Chen Changzheng, Yu Heji, et al. Optimum Method About Weights and Thresholds of Neural Network[J]. Journal of Northeastern University (Natural Science), 1999, 20(4): 447-450. |
[10] | 张国翊, 胡铮. 改进BP神经网络模型及其稳定性分析[J]. 中南大学学报 (自然科学版), 2011, 42(1): 115-124. Zhang Guoyi, Hu Zheng. Improved BP Neural Network Model and Its Stability Analysis[J]. Journal of Central South University (Science and Technology), 2011, 42(1): 115-124. |
[11] | 刘洪林, 胡建, 王金山, 等. GA+BP神经网络在薄互层储层预测中的应用[J]. 物探与化探, 2004, 28(5): 460-463. Liu Honglin, Hu Jian, Wang Jinshan, et al. The Application of GA+BP Hybrid Neural Network to Inter-Bed Deposit Prediction[J]. Geophysical & Geochemical Exploration, 2004, 28(5): 460-463. |
[12] | 李琼, 李勇, 李正文, 等. 基于GA-BP理论的储层视裂缝密度地震非线性反演方法[J]. 地球物理学进展, 2006, 26(2): 465-471. Li Qiong, Li Yong, Li Zhengwen, et al. A Seismic Nonlinear Inversion for Apparent Fracture Density of Hydrocarbon Reservior Based on GA-BP Theory[J]. Progress in Geophysics, 2006, 26(2): 465-471. |
[13] | 柳建新, 童孝忠, 李爱勇, 等. MT资料反演的一种实数编码混合遗传算法[J]. 中南大学学报 (自然科学版), 2007, 38(1): 160-163. Liu Jianxin, Tong Xiaozhong, Li Aiyong, et al. A Real Coded Hybrid Genetic Algorithm in Magnetotelluric Sounding Data Inversion[J]. Journal of Central South University (Science and Technology), 2007, 38(1): 160-163. |
[14] | 柯小平, 王勇, 许泽厚, 等. 青藏东缘三维Moho界面的位场遗传算法反演[J]. 大地测量与地球动力学, 2006, 26(1): 101-104. Ke Xiaoping, Wang Yong, Xu Zehou, et al. 3D Moho Depth Inversion of Eastern Tibetan Plateau from Gravity Data with Genetic Algorithm[J]. Journal of Geodesy and Geodynamics, 2006, 26(1): 101-104. |
[15] | 徐黎明, 王清, 陈剑平, 等. 基于BP神经网络的泥石流平均流速预测[J]. 吉林大学学报 (地球科学版), 2013, 43(1): 186-191. Xu Liming, Wang Qing, Chen Jianping, et al. Forecast for Average Velocity of Debris Flow Based on BP Neural Network[J]. Journal of Jilin University (Earth Science Edition), 2013, 43(1): 186-191. |
[16] | 张明君, 张化光. 基于遗传算法优化的神经网络PID控制器[J]. 吉林大学学报 (工学版), 2005, 35(1): 92-96. Zhang Mingjun, Zhang Huaguang. Neural Network PID Controller Optimized by GA[J]. Journal of Jilin University (Engineering and Technology Edition), 2005, 35(1): 92-96. |
[17] | 王贝贝, 郝天珧. 具有已知深度点的二维单一密度界面的反演[J]. 地球物理学进展, 2008, 23(3): 834-838. Wang Beibei, Hao Tianyao. The Inversion of Two-Dimensional Mono-Density Interface with Several Known Control Points[J]. Progress in Geophysics, 2008, 23(3): 834-838. |
[18] | 胡立天, 郝天珧. 带控制点的三维密度界面反演方法[J]. 地球物理学进展, 2014, 29(6): 2498-2503. Hu Litian, Hao Tianyao. The Inversion of Three-Dimensional Density Interface with Control Points[J]. Progress in Geophysics, 2014, 29(6): 2498-2503. |
[19] | 刘银萍, 孟令顺. 利用重力异常研究虎林盆地的构造分区和基底形态[J]. 吉林大学学报 (地球科学版), 2007, 37(增刊 1): 36-39. Liu Yinping, Meng Lingshun. Using Gravity Anomaly Study Structure Division and Basement Morphology of the Hulin Basin[J]. Journal of Jilin University (Earth Science Edition), 2007, 37(Sup. 1): 36-39. |
[20] | 焦新华, 陈化然, 吴燕冈, 等. 天津地区地壳物性界面的计算及深部构造特征[J]. 吉林大学学报 (地球科学版), 2006, 36(4): 616-621. Jiao Xinhua, Chen Huaran, Wu Yangang, et al. The Calculation and Study of Petrophysical Property Interfaces and Their Deep Structural Feature in Tianjin Area[J]. Journal of Jilin University (Earth Science Edition), 2006, 36(4): 616-621. |