基于深度学习的高效构造解释技术研发及工业化应用
2022-12-09宋强功詹仕凡陶春峰朱冬临
杨 平 宋强功 詹仕凡 陶春峰 郭 锐 朱冬临
(东方地球物理公司,河北涿州 072750)
0 引言
人工智能(Artificial Intelligence,AI)是第四次工业革命的核心驱动力[1],为传统技术的变革与转型提供了良好的契机。深度学习(Deep Learning,DL)是目前AI浪潮的核心技术之一,已在医疗、交通、金融等诸多领域取得了很好的应用效果,为相关行业实现提质、增效、降本发挥了重要支撑作用[2]。在地震勘探领域,人们认为DL是推动地震勘探技术实现变革性突破与跨越式发展的重要技术基础[3-5]。从2016年起,基于DL的智能化处理解释技术论文就陆续在SEG、EAGE等国际会议上发表,且论文数量逐年上升[6]。2021年,SEG年会上与AI相关的论文达150篇,约占论文总数的22%。研究内容涉及应用于地震资料处理、解释的大多数环节。其中,DL在地震资料处理中的应用主要包括表层建模、速度建模、噪声压制、数据重构、偏移成像等[7-8];DL在地震资料解释中的应用包括岩石物理建模、构造解释、地质体识别、储层预测、波阻抗反演等[9-10]。此外,DL在非地震勘探、VSP处理、微地震监测等领域的应用也明显增加[11]。
然而,在地震资料处理、解释领域,通过公开文献调研、论文方法复现以及油田服务公司软件测试等发现,目前真正能够落地并满足工业化应用要求的成果并不多见。现有的问题主要表现在泛化能力差,无法适应于具中、低信噪比特征的实际资料,完成任务所需的配套过程繁琐等,导致相关技术的实用性与推广性差。多数资料处理、解释人员仍然只能以传统软件、方法开展研究,而不能享受AI技术进步带来的优势。
AI与地球物理技术的结合经过多年的发展,目前不但已经过了“能不能做”的实验阶段,而且到了“如何做好”的应用阶段[12]。充分发挥AI的技术优势,开发出切实能够帮助处理、解释人员减轻劳动强度,提高研究精度的智能化软件模块,以使地震勘探尽快迈进智能化发展的新阶段,是一个亟待解决的问题。鉴于此,在确立“面向中、低信噪比地震资料”和“强调技术产业化落地”两个基本准则的基础上,兼顾效率、精度与便捷性,开展了基于DL的实用构造解释技术研发,取得了较好的效果。所开发的智能化解释模块直接与原有解释系统无缝衔接,层位解释效率在原有的基础上提高了8~20倍,断层识别精度较传统的相干、曲率、构造张量、蚂蚁体等属性显著提高。目前已能完全取代原有的自动解释功能,基本实现了构造解释的智能化转型。
1 技术思路
随着开源AI框架的普及,开发智能模块并不难。以层位解释为例,只需简单的三步即可实现智能层位解释(图1):①设计标签和网络;②用标签数据训练网络;③将训练好的网络用于层位预测。如图1所示,标签剖面是有解释成果的地震剖面,标签层位即相应的解释成果,均易于获取。简单的DL网络可以直接从开源框架中调用,即使是复杂网络,其核心算法多数也是开源的。网络经训练后,即可用于层位预测。因此,如果仅仅是要实现一个智能化的功能,过程并不复杂。
图1 智能层位解释流程示意图
但若所研发的AI模块用于工业化生产,除了需通过各种途径提高AI模块本身的泛化能力,还需为模块的便捷运行提供配套的功能、考虑不同的硬件配置等。为此,首先确定了智能物探技术研发的两项基本准则:
一是必须面向中、低信噪比地震资料,解决传统方法所不能解决的处理和解释问题,以适应更普遍的生产需求;
二是必须强调技术产业化落地,要以形成能够帮助解释人员减轻劳动强度、提高研究精度的实用软件产品为根本目标。
围绕这两项准则,针对构造解释的具体特点,兼顾效率、精度与便捷性,确立了智能构造解释技术研发的具体思路:首先,要在现有的商业化解释软件的基础上,搭建可集成和运行AI程序的软件开发环境,以提高开发效率并确保技术落地;其次,要充分考虑资料的复杂性,在用好合成数据的同时,更要从中、低信噪比资料入手设计网络,确保智能方法的泛化能力;最后,充分利用现有软件功能,采用地球物理技术与AI技术交叉迭代的思路完成最终解释,两者相互结合、优势互补,不追求用AI技术解决全部问题。
关于最后一点,徐宗本等[13]提出并证明了机器学习与数学模型相结合可实现优势互补并能更好地解决实际问题。早期探索也表明智能算法本身是纯数据驱动的,这并不是求解地球物理问题的最佳途径。在地球物理领域,有完善的理论体系、成熟的技术体系以及丰富的实践经验,这些都可作为模型加入到智能算法研发的各个环节中(包括数据准备、网络设计和质控分析等,图2),从而提高网络的收敛速度、预测精度及泛化能力。这种在机器学习过程中融入了先验数学模型的方式称为“数据模型双驱动”,它是开展智能物探模块研发的重要认识基础。
图2 数据模型双驱动的智能物探模块研发思路
2 智能模块集成开发环境搭建
目前绝大多数智能化模块均是利用Python语言开发,在开发过程中不可避免地要使用Tensorflow、Pytorch、PaddlePaddle等开源框架,以及NumPy、matplotlib等第三方库函数,运行过程中往往还要利用GPU资源,这就导致智能模块很难像一般的C语言模块一样可非常便捷地在用户的计算机上顺利部署和运行。此外,独立的智能化软件模块往往只包含核心运算部件,因为输入、输出不够灵活、界面交互不够友好等因素,不仅不便于解释人员直接应用,开发调试过程本身也比较繁琐。上述原因导致单独的智能化模块落地和推广困难,难以实现模块的工业级应用。
在国产商业化解释系统GeoEast上搭建Python程序的集成开发环境,主要解决了四个方面问题:一是搭建开放的智能模块开发框架及访问接口,以便其他用户可以充分应用系统资源,开发自己的智能模块;二是为所研发智能模块提供高效便捷的集成、测试与运行环境,使Python模块能够在解释系统上直接运行,而无需单独配置系统环境;三是为所研发智能模块提供完成全部解释任务所需的配套模块,如数据加载、显示、编辑、应用等功能,让智能模块专注于其本身的优势发挥;四是促进地球物理方法与智能化算法的充分、便捷、无障碍结合,利用解释系统现有的强大功能,使智能模块在实现特征工程、标签构建、成果应用等环节时更加高效、可靠。这样,集成开发环境就可大幅提高技术研发、转化及推广效率。
GeoEast解释系统是基于C++语言开发的,智能模块是基于Python语言开发的,前者是编译型语言,后者是解释型语言。编译型语言编译后可直接形成机器能够执行的二进制代码,而解释型语言则必须通过解释器对代码进行解释执行。为了保证两者的无缝衔接,主要采取了三方面措施:
(1)开发Python语言程序访问GeoEast软件数据的接口程序包。开发人员无需关注物探领域的专业数据读写与质控显示,因此非物探专业的计算机人员也能很容易地实现对物探数据的处理,从而大大降低智能物探模块的开发门槛;
(2)在GeoEast系统上完成常用DL开源框架及第三方库函数的封装,使集成后的智能模块可直接在GeoEast环境下运行,无需单独安装和配置智能模块的运行环境,方便了后期推广应用;
(3)采用基于D-Bus和Socket通讯的智能化模块集成技术,打通智能模块与GeoEast系统之间的数据传输通道,使GeoEast系统可快速、便捷地调用基于Python语言的智能模块。
至此,为实现智能化模块的便捷开发、集成、运行与推广奠定了坚实的平台基础。
以智能层位追踪模块运行为例(图3):从C++语言主进程启动智能追踪任务后,主进程创建并锁定Socket端口,并启动Python子进程;子进程完成环境初始化后,利用该端口与主进程握手成功,两者保持通讯状态;然后主进程发出指令,子进程根据指令启动智能层位追踪模块、加载标签数据并训练网络;当完成预定训练次数或接收到主进程发出的终止训练指令后,子进程将保存网络参数,并用于预测全区层位;完成预测后,子进程将保存预测结果,主进程就能调用该结果,并用于后续研究。可见整个过程中C++主进程与Python子进程实现了无缝链接,GeoEast解释系统与智能层位追踪模块各司其职,共同完成智能追踪任务,做到了数据共享。
图3 智能层位追踪模块运行过程示意图
3 智能构造解释模块研发
构造解释主要包括层位和断层解释,这是所有地质分析与储层预测工作的基础,也是传统地震资料解释流程中最为耗时、耗力的环节,有时能占整个解释周期一半以上时间,加之构造解释的精度和效率均是可评价和量化的,因此构造解释的智能化是智能解释最迫切、最现实的需求[14]。
针对层位与断层解释的具体特点与不同需求,本文采取了不同的研发思路。
3.1 高效层位追踪模块
层位解释的特点是:解释人员能够明确层位拾取的位置,但手工解释耗时、耗力,传统自动追踪方法无法完全满足精度需求[15],在地震资料信噪比低、连续性差时往往获得错误的追踪结果。因此,智能层位解释技术落地的关键在于用智能模块实现准确的层位自动追踪,提高解释效率,减轻劳动负担。Liao等[16]利用Unet以及不确定标签在荷兰北海F3公开三维数据体上进行智能层位追踪,误差小于4ms的准确率为73%~81%;Wang等[17]采用了基于虚拟对抗训练的半监督学习(SSL)机制,实现了基于较少种子点的层位追踪;Lowell等[18]利用有向非循环图神经网络(DAGNN)实现了同一工区不同数据体之间的层位校准。总体而言,多数针对层位追踪的研究都侧重于网络性能的提升。
考虑到不同工区、不同层位的反射特征与解释的复杂性不同,本文采用有监督学习的方式设计网络。对每一新层位的追踪,均需先解释一定量的剖面作为训练集。同时采用了迭代解释的思路,在训练过程中对未能正确追踪的区域进行一定量的手工拾取,补充训练样本并重新训练网络,从而逐步完成全区追踪。按照前述技术研发思路,设计图4所示的解释流程。
图4 智能层位追踪流程
智能模块只需专注于层位追踪本身,而无需关注其他环节,从而大幅提高了开发效率,也充分利用了原解释系统的各项功能。
在模块设计方面,因为要重点考虑中、低信噪比资料的问题,采取了以下三项关键措施。
(1)不采用直接分类法(图5a左),而是采用概率化输出(图5b左),以减少对标签精度的依赖,更好地适应中、低信噪比资料的自动追踪。
(2)根据AI技术的发展不断优化核心网络,采用“注意力机制[19]+多尺度特征提取”等新技术,以提高网络的精度与泛化能力。
由两种智能追踪网络模型的预测输出(图5a右、图5b右)可见,新方法很好地适应了断层的分割,层位在断点处自动断开,且追踪结果总体上较平滑,图5b中未见图5a中那种脉冲状异常。
图5 不同智能层位追踪网络模型(左)及输出结果(右)对比
(3)在此基础上,模仿人工解释的工作思路,通过条件随机场(CRF)[20]建模以及整体路径规划策略,将地震道间的关系模型融入智能层位追踪过程,通过“数据模型双驱动”策略进一步减少异常点,实现更加稳定的智能层位拾取。
图6是采用CRF建模前、后AI追踪的效果对比。由图可见,采用CRF建模之后,由于未知原因出现的DL网络预测异常(红色箭头所指,这种异常在许多DL预测网络中都有所发生,但目前还不能正确解释其发生的原因)得到了合理的修正。
图6 条件随机场(CRF)建模前(a)、后(b)AI追踪效果对比
基于上述流程和措施,最终形成了精度与效率均优于传统方法的高效层位自动追踪模块。图7是本文智能层位追踪与其他方法追踪结果的对比图,全部方法均采用相同的种子点。图中A、B、C、D是具有不同连续性、能够代表高(D)、中(A、B)、低(C)不同信噪比条件的四个同相轴。图7b中,A、B、C三层是用传统自动追踪方法所得,D层是用其他深度学习网络追踪所得。图中矩形框所指是追踪质量差的位置。由图可见:①传统方法忠实于同相轴,在有种子点控制的区域追踪质量最高,但是容易发生串轴现象(红框所示);②其他智能追踪方法所得的结果在D层不串轴,但是抖动现象严重,需要平滑后才能使用(绿框所示);③本文方法整体质量最高,但也出现了少数不忠于种子点的情况(蓝框所示),估计与训练次数不足有关(为测试网络的泛化能力,所有智能追踪只进行了50次迭代)。
图7 不同方法对不同信噪比条件的层位追踪效果对比
3.2 高精度断层识别模块
对于微小或隐蔽断层而言,解释人员往往并不明确断层是否存在,或者不明确断层的准确位置,因此需通过属性来指导断层解释。目前效果最好的地震属性是基于本征向量的相干及体曲率属性技术[21],但它们的效果受人为参数选择的影响较大,且抗噪能力较差。因此,智能解释断层识别的关键在于更加清楚地揭示各级断层所在的位置。Zhou等[22]采用交互迭代的方法,通过多个CNN网络逐步引进专家知识,实现去噪、细化和增加连续性;Lyu等[23]采用了在模型训练基础上利用实际数据进行迁移学习的方法,提高了网络的泛化能力;Alohali等[24]则仅利用实际资料进行网络训练,并通过后续处理提高断层的连续性。从文献展示的图片看,这些方法的效果均优于传统的相干技术。
与层位不同,断层表示的是地层的不连续性,与地层本身的物性、厚度、组合等并不相关。因此,不同地区的断层在地震剖面上的特征是基本相似的,与地层本身的振幅、频率等反射特征关系不大。同时,考虑到模型训练巨大的运算量,本文采用“预训练网络+专家知识约束”的方式进行断层识别(图8)。首先通过合成地震记录,形成大量类型丰富的断层模型作为标签集,并由开发人员完成网络训练。用户直接使用训练好的模型,即可快速得到全区预测结果。预训练模型能够满足绝大多数情况下断层识别的需求,但对于一些断层发育模式极为特殊、在原训练集中未出现过的断层样式,则需要通过经验进行一定量的人工解释,并把解释结果反馈给软件开发人员。开发人员将解释结果转换为基于实际资料的训练集,并与原训练集合并,重新训练网络后提交用户使用。通过这种方式,可逐步丰富训练集中的断层样式,不断提高网络对资料的适应能力。
图8 智能断层识别流程
在网络设计方面,重点采取了以下措施。
(1)在海量模型标签的基础上,融合实际工区资料制作大量实际数据标签,扩充样本库,实现理论模型与实际数据相结合的标签构建(图9a);采用带注意力机制的语义分割(图9b)技术[25],一方面使网络训练更具有目标针对性而提高速度与精度,同时也有利于借鉴图像处理领域的成功经验。
图9 智能断层识别标签构建(a)与网络结构(b)示意图
(2)采用3D(而不是2D)端到端网络,直接从地震数据体得到断层概率体(而不是剖面),更加适应断层的空间展布特征,从而得到空间上更连续的断层(图10)。
图10 采用2D(a)和3D(b)卷积网络断层预测平面图对比
(3)提供精度控制参数,以适应不同信噪比的地震资料。低信噪比资料可以通过降低识别精度、过滤小断层的方式得到更可靠的结果。
通过上述流程与措施,智能断层识别的精度明显高于传统方法,也略优于目前公开的其他算法(图11),具备了进行工业化应用的条件。
图11 不同方法断层识别效果对比
4 应用效果
本文技术从2018年开始研发,于2019年形成第一个实用版本,并且随着IT行业DL技术的发展,每年都对核心DL算法进行优化升级,精度和效率不断提升,用户反馈持续保持良好。具体体现在以下几个方面。
4.1 高效层位解释
传统层位自动追踪方法主要是依据波形相似性原理,能够利用的信息量较少。当相邻层位的波形相似度较高时,容易出现“串层“现象,即使对于高信噪比资料,在缺乏种子点引导的情况下也会产生追踪错误(图12a)。DL将整个地震道用于训练,从理论上讲,它可同时考虑波形、振幅、相位、频率以及沉积特征,且能兼顾考虑目的层上、下地层的特征,更具全局性,因此拾取效果要优于传统自动追踪方法(图12b)。
图12 不同层位自动追踪方法效果对比
由于大幅减少了人工解释的工作量,整体效率得到显著提升。目前的智能层位追踪模块,对于高信噪比资料,只需解释1~2条剖面用于网络训练,30min内即可得到正确率大于99%的解释成果;对于中、低信噪比资料,第一轮解释4~9条骨干剖面,一般经过2~3轮次迭代,即可获得满足精度要求的解释成果。
以四川某连片三维工区为例,工区面积为4780km2,测网为4000Line×1500Trace。要求40天以内完成14个层位4×4网格密度的解释。经测试,即使骨架剖面密度达到64×64,多数层位的自动追踪结果(传统方法)仍需大量手工修改才可被接受,预算解释工作量将超过60人·天。改用本文提供的智能模块后,多数层位在经过2轮迭代后(第一轮均为3Line+2Trace共5条骨架线)即可达到精度要求。几个复杂的层位也仅迭代了3次,人工解释密度未超过120×120。图13是一个复波同相轴的种子点(蓝色圆点)和智能追踪结果,可见虽然种子点并不完全准确,但追踪结果却十分稳健,而这是传统自动追踪方法不可能实现的。最终用户仅投入7人天就高质量地完成了解释任务,整体解释效率提高了8倍以上,部分高连续性层位的解释效率提升20倍以上。
图13 复杂层位追踪效果
研究成果快速得到推广应用。仅2021年下半年,东方地球物理公司内部就有16个研究区应用了本文研发的智能层位解释模块,完成海量层位解释任务,其中面积超过2000km2的工区有5块(其中2块面积超过4500km2),均取得了令人满意的结果。智能模块已可完全替代原有的层位自动追踪模块,大范围推广的唯一障碍就是适合AI程序运行的硬件条件。
4.2 高精度断层识别
智能断层识别的优势主要体现在精度提高上。在2021年测试和应用的国内外34个工区中,断层识别精度得到明显提高的有33个,仅有1个复杂工区与传统方法相当。同时由于采用了预训练网络,智能断层识别的效率也很高,如500km2的工区,通常10min以内就能得到预测结果。
在中国东部老油区,借助新的断裂识别结果,重新厘定断裂展布特征并发现了新的断块圈闭。图14是某工区的局部断裂预测结果对比。图14a、图14b的背景分别是通过相干与智能算法得到的断裂预测结果,上面叠合了前期基于相干属性的手工解释的断点(不同颜色“T”形点)。由图可见,两者在整体相似的基础上,细节上有明显差异。智能模块的结果(黑色线条)不仅清晰、干脆、无背景噪音,且与手工断点完全吻合,充分说明其准确性。同时,断层之间的交切关系也更加清晰,准确揭示了该区断层的雁列展布特征(箭头①)与羽状展布特征(箭头②),这为调整解释方案、发现新的断块圈闭提供了关键依据。该技术对于全面复查东部油田开发区断块圈闭具有广阔的应用前景。
图14 东部某区断裂预测结果对比
在西部某油田,解释人员利用智能断层预测结果研究走滑断裂与岩溶储层的关系。图15清晰揭示了缝洞型碳酸盐岩“构造运动改造地层、风化溶蚀沿断层发育“的储层发育基本规律,为塔里木盆地特有的断溶体理论[26-27]的完善和发展提供了可靠论据。智能断裂预测图也因此被用户列为井位部署的必备图件之一,得到全面推广应用。
图15 基于智能断层识别的碳酸盐岩断溶体分析
生产应用表明,智能断层识别模块完全能够取代现有断层属性,成为断层解释的新方法。
4.3 快速圈闭搜索
数据体快速浏览是一种常用方法,智能解释得到的清晰的层位与断层信息,赋予这一方法以更强的圈闭搜索功能。在智能解释成果的基础上,利用三维可视化软件,将地震数据、透视的层位概率体与断层体进行融合显示(图16a),并在三维空间进行动态浏览,可快速扫描并锁定圈闭目标,特别有利于小断块、低幅度构造的发现和落实。图16b中3个红色箭头指向3个断块,其溢出点高程各不相同。其中①、③号是较为隐蔽的小断块,直接进行等值线成图(图16b)往往容易被忽略,而在融合数据体的动态浏览模式下却很明显。
图16 不同圈闭搜索方法对比
5 结论
智能物探技术产业化落地的关键在于:①便捷的Python语言开发环境;②相对成熟的配套功能支撑软件平台;③面向中、低信噪比地震资料的高泛化性算法;④AI技术与地球物理技术的充分结合。
智能算法与传统算法分别从数据和模型的角度出发求解地球物理问题,实践证明:两者的结合能够实现优势互补,从而在效率和/或精度上得到巨大的提升;部分传统技术必将被智能技术取代。
本文研发的智能层位追踪模块,相对于传统技术效率提升8~20倍,智能断层识别模块的精度远超相干与曲率属性技术。构造解释技术具备了工业化生产能力,基本实现智能化转型,可以大范围推广应用。
由于智能化算法不依赖地球物理理论的特性,对于速度建模、波阻抗反演等不能直接判断结果正确性的预测类问题,需要采用多种方法和理论模型慎重验证后再推广使用。