基于卷积神经网络和支持向量机的测井相识别∗
2020-11-02陆智卿
何 旭 陆智卿 袁 翔
(中国石油大学(华东)计算机与通信工程学院 青岛 266580)
1 引言
测井资料分析与解释是进行沉积相、岩相和地层层序等地质构造分析判断的重要步骤,而测井相的识别工作是其中的关键环节。测井相是由斯伦贝谢测井专家在20 世纪50 年代提出的[1],作为确定某一部分沉积岩并区别于周围岩体的一组测井的原始或分析数据,测井相也被看做是测井信息与沉积学之间的桥梁。利用测井资料进行分析的主要原理就是选取一组或多组能够反应该地区地层特性的测井资料,通过与录井资料对比,从而提取并分析其形态、数值和变化趋势等特征,最终得到具有价值的地质结论,这是一种耗费时间和体力的人工分析模式[2]。随着智能算法,尤其是机器学习的发展,判别分析法、聚类法、模糊识别法、决策树、支持向量机和神经网络等方法被逐渐应用到测井相的识别与分析领域[3]。
Lim、Sang 和汪忠德等用智能算法对测井相识别分析进行了许多研究和应用,然而上述使用现代智能算法进行测井相分析的模型存在着许多不足:首先,特征提取复杂,需要将数据融合并进行归一化等操作,不同的归一化方法对模型训练结果也有影响,而且在进行识别时选用的数据还需要进行维度调整;其次,泛化能力不足,上述工作都是基于定量分析的模型,这涉及到模型选用数据的地区问题,只有在地层信息接近、相同沉积环境下的数据才可以被使用,离开此限定条件,模型就不再适用。
近年来,人工智能技术火热发展,其中深度学习在计算机视觉、语音识别和自然语言识别等领域都取得了优异的成果[9~14],在某些领域已经胜过人类。在测井相识别领域,虽然没有使用人工智能技术进行突破性的创新工作,但是已经得到了地质和计算机研究人员的广泛关注。本文选用东海某气田的砂质辫状河三角洲沉积环境下的测井数据,按照地质工作思维,从测井曲线形态角度考虑,选取自然伽马(GR)作为训练数据,使用深度卷积神经网络提取特征、支持向量机进行多分类,并首次应用于测井相分类识别问题中。
通过在某气田实际数据中的应用,并与其他分类算法进行比较,实验结果证明:本文提出的卷积神经网络-SVM 模型能够有效分类识别,在精确度和泛化能力上优于其他算法;能够利用模型识别结果在实际沉积相分析应用中取得良好结果。
2 卷积神经网络和支持向量机
2.1 深度卷积神经网络
自从20 世纪80 年代,卷积神经网络(Convolu⁃tional Neural Network,CNN)被提出并被应用到手写数字的识别中[15~16],就开始了其飞速发展。卷积神经网络的主要结构由五个部分组成,分别是:输入层、卷积层、池化层、全连接层和输出层构成,卷积层与池化层两两相连。上述五个部分也可看做是由特征提取器和分类器组成,输入层、卷积层和池化层构成特征提取器,全连接层和输出层构成分类器。
卷积层是由多个特征映射组成,而特征映射又由多个神经元组成,每个神经元与上层相连,通过卷积的方式进行操作[17],一般卷积计算如下所示:
其中,n×n为卷积核大小,xi是特征映射内第i个点的输入值,wi是对应的权值矩阵,b是引入的偏置,经过卷积计算得到这一区域的输出值y。
卷积计算时每次使用一个卷积核对整个特征映射进行计算,这使得权值得到共享,极大地减少了网络参数,减少了计算资源。卷积计算结束使用激活函数将输出正规化,并作为下一层的输入
f(· )是激活函数,有多种形式,在实际实验中可以根据情况自行选择,x是激活函数的输出,也是下一层网络的输入值。
池化层也是有多个特征映射组成,其特征映射与上一层是一一对应的。以最大池化为例:
其中,x为池化区域的每个点的值,yi为从n×n个点中选取的最大值,也就是池化操作的输出。
池化操作将特征映射的分辨率降低,从而获得具有平移、旋转不变形的特征[18],并且减少了神经元个数,从而降低了模型的复杂度,提高了泛化能力。
2.2 支持向量机
支持向量机(Support Vector Machine,SVM)是在特征空间上找到最优分离超平面使得训练集上正负样本间隔最大的有监督学习算法[19]。标准SVM是一种二分类学习算法,通过求得下式的最优解找到最大分隔超平面,但是无法直接处理多分类问题。
其中,w为权值矩阵,yi为第i个样本的标签,xi为第i个样本的值,N为样本总数。
而通过有序地求取多个最大分隔超平面就可处理多分类任务,常用的多分类方法有两种,分别为“一对一”和“一对多”。前者是一种投票法,通过依次选取所有类别中的两类进行分类,直到所有类别均被处理;后者是按照总的类别数建立分类边界,每次判定一种类别,本文选用的多分类SVM 就是“一对多”方法。
3 测井相识别方法
本文提出一种基于卷积神经网络和支持向量机的测井相分类模型,如图1,主要分为两个部分,即左边的特征提取部分和右边的特征分类部分;特征提取部分主要讲输入图像进行多层卷积池化操作,利用卷积神经网络将输入的图像特征提取出来,再讲提取出的特征作为输入,利用支持向量机进行多分类。
图1 模型结构
3.1 测井相模式选取
本文选用东海凹陷某气田的砂质辫状河三角洲沉积环境下的测井数据进行研究。测井曲线在形态上反应了地层沉积环境,其对应不同沉积环境具有相应的曲线特征,所以在进行测井相识别之前需要基于本地区的沉积环境确定测井曲线的基本形态。自然伽马测井曲线是由地层中天然放射性得到的,对黏土矿物具有很强的指示性,不仅能够区分泥岩和砂岩,还能反应垂向序列中泥岩和砂岩的相对含量。综上所述,自然伽马测井曲线能够较好地反应沉积环境,所以本文选用自然伽马测井曲线的形态来反应沉积微相类型。
不同的沉积环境会使得测井曲线形态变换,通常,自然伽马测井曲线形态有箱形、钟形、漏斗形和复合形态,复合形态是前面两种或多种形态的组合。在本文选用数据的沉积背景下,钟形和箱形能够反映水下分流河道沉积微相,漏斗型能够反映河口坝沉积微相[20]。
图2 训练数据集样例
本文选用图2 所示的是那种自然伽马测井曲线兴塔作为特征,将文本格式的原始数据转换成二维图像形式。从四口井,共计10000m 的原始数据中获取无歧义特征,经过人工截取和标定,再使用数据增强方法,如添加高斯噪声、旋转、归一化等,对图像进行扩充处理,最终建立包含着三种测井曲线形态总计3000余张的测井相数据集。
3.2 模型构建
根据测井相具有特定模式的特点,本文构建了一种基于卷积神经网络和支持向量机的测井相分类模型。整个CNN网络模块有7层所组成:第1、第3 和第5 层为卷积层;第2 和第4 层为池化层;第6和第7 层为全连接层。经过CNN 模块的特征提取以后,将第7 层输出的特征向量作为输入送进支持向量机进行分类。
在CNN 模块中,选用ReLU 作为激活函数,其公式如下:
其中,x为该点数值,f(x)是经过激活函数得到的输出。
其他常用的激活函数还有Sigmoid激活函数和tanh激活函数,他们的函数曲线如图3和图4所示,由于本文的图像形式主体为白色,特征部分为黑色,在计算的时候选用Sigmoid 和tanh 容易造成梯度消失和梯度爆炸[21],所以本文选用更容易求导的不饱和非线性激活函数ReLU。
图3 Sigmoid和Tanh激活函数
图4 ReLU激活函数
由于数据量不是很大,为了避免过拟合,本文在设计网络结构时加入了随机数据丢失(dropout)、局部响应归一化(Local Response Normalization,LRN)和L2 正则策略。Dropout 是在每层网络结算结束后以一定概率将某个神经元的值置为0,使其不参加前馈过程,从而减少网络参数,达到增强鲁棒性的目的;LRN 通过建立竞争机制,使得其对响应强烈的神经元的效果增强;L2 范数是所有向量平方和的平方根,在目标函数后添加L2 范数,求解最优解时会同时最小化L2 范数,最终会使得模型的参数更加接近0,使得模型的泛化能力更强。
在SVM 模块中,为了使标准SVM 具有实现多分类任务的能力,本文使用合页损失函数(hinge loss function)[22],函数如下所示:
其中,si为第i个样本所对应类别的得分,sj为判定为其他类别的得分,Li为第i个样本的总得分。
3.3 测试数据分割
实际的自然伽马测井数据是一段深度与自然伽马的对应数值,所以在识别之前需要将测试数据进行分割,再转化为图像形式经过模型识别。经过分析,本文提出一种极值分割方法分割测井数据:首先以120 为阈值,找出全段测试数据中高于120部分的所有极大值,以这些点进行分割;再分别以100 和85 为阈值,依次重复分割数据;最后将所有分割出的数据转化为二维灰度图像。
4 实验结果与分析
为了验证本文提出的基于卷积神经网络和支持向量机测井相分类模型的有效性,在文中构建的数据集上,与传统分类算法:BP 神经网络、支持向量机和普通卷积神经网络(AlexNet)进行了比较,结果如表1 所示,通过不同模型的分类准确率可以看出,本文提出的模型再准确率和泛化能力上更优。
表1 不同算法分类对比
本文构建的卷积神经网络-支持向量机模型在其中加入了dropout、LRN和L2策略,相比较传统的卷积神经网络,在训练过程中,迭代到2000 代时普通网络已经出现过拟合,而本文所构建的模型在2000 代以后趋于稳定并达到最高准确率,说明了模型的泛化能力和精确度高于普通模型。
经过数据分割方法,再使用本文模型对某段实际自然伽马测井数据进行识别,结果如图5 所示,模型的识别结果与人工判断基本一致,验证了本文提出的测井相识别方法的有效性。
图5 识别结果
5 结语
本文基于深度学习技术,提出了基于卷积神经网络和支持向量机的测井相识别方法,映入了L2范数、dropout 和LRN 从而有效地提高了模型的泛化能力,获得了98.89%的模型分类准确率,实现了测井曲线形态的自动高精度分类识别,大大减少了人工识别所花时间,提高了工作效率;但是,即使是支持向量机这种能够使用小样本量训练的模型也需要较为清晰的特征,而卷积神经网络模型在提取特征时受训练数据的影响较大,数据处理不得当,会导致交叉的结果。因此,如何对数据进行更有效的增强和扩充,提高小样本量下卷积神经网络特征提取的准确度是未来的工作。总地来说,本文创新性地构建了一种可行的测井相识别方法,能够为地质工作人员提高效率,提供参考,并作为分析沉积相的基础。