背景
昇思MindSpore联合清华大学、华为先进计算与存储实验室合作构建了基于变分自编码器的特征域大地电磁反演算法,通过灵活嵌入多物理先验知识有效提升了复杂介质地球物理反演的精度。
大地电磁(Magnetotelluric, MT)数据反演是通过地表测量的天然电磁场推断地下介质分布的手段,广泛被用于油气、矿产资源勘测和地质调查等领域。大地电磁方法的探测深度大、测量复杂度低、操作较为简便,但其固有的数据分辨率低、病态性和多解性强等问题,限制了其对地下结构刻画的精度。为解决这一问题,通常需要反演地块的先验知识约束地下结构反演重建。
作为一种高效的生成模型,变分自编码器(VAE)通过隐空间采样可以生成符合特定分布模式的图像,因此可用来灵活地向反演融入各种先验知识。在本工作中,我们基于昇思MindSpore构建了融合多物理先验知识的特征域大地电磁反演算法。该求解器采用昇思MindSpore框架实现了VAE的训练和推理,同时借助昇思MindSpore的自动微分能力,将VAE解码器构建的结构生成器无缝融入基于梯度的反演优化算法。在保证数据拟合的基础上,我们的算法可以显著降低反演的模型残差,提升反演的精度和分辨率。基于提出的算法,我们成功地处理南部非洲大地电磁实验项目(SAMTEX)的实测数据。
1、大地电磁(MT)正演建模
对于二维大地电磁正演建模,列出频域麦克斯韦方程
公式1
考虑沿x走向均匀的二维结构,分别得到横磁(transverse magnetic,TM)模式的磁场方程和横电(transverse electric,TE)模式的电场方程
公式2
公式3
采用有限差分法(FDM),将地下结构离散为水平方向均匀、深度方向厚度递增的矩形网格,对TM和TE模式列出差分方程,构建并求解矩阵方程,通过地表处的电场和磁场计算测量到的视电阻率和阻抗相位。
公式4
公式5
2、基于VAE的特征域大地电磁数据反演
VAE是典型的编-解码器结构,VAE的训练包括同时训练解码器的输出接近编码器,同时隐变量的分布接近预先定义的某种简单分布(如标准正态分布):
公式9
采用高斯-牛顿优化方法,即在第k步迭代,求解如下的矩阵方程
我们借助昇思MindSpore的框架,搭建了变分自编码器并实现了训练和推理过程。借助昇思MindSpore的自动求微分,灵活地计算迭代中生成器的梯度并将其嵌入至高斯牛顿优化算法中。通过变分自编码器,引入额外正则化将反演模型的分布限制特定的模式,从而实现复杂的多物理先验知识向反演的嵌入。反演要实现的效果如下图所示
图1. 反演要实现的效果
3、实验与结论
3.1 算例1:仿真算例反演实验
在仿真算例中,研究区域的水平长度为10km,深度为1km,仿真生成了均匀分布的16个地表接收机的数据,包括共14个频点。假设对反演区域有如下图所示的先验知识,即通过地震等非电磁手段获取了电阻率随深度的大致分布。
图2. 反演区先验知识
首先,基于昇思MindSpore的卷积神经网络等模块,构建VAE的编码器、解码器和采样、计算KL散度等模块。搭建的VAE结构部分代码如下所示。可以自定义卷积核的尺寸、采用的正则化和激活函数等参数。
class MeanModel(nn.Cell):
def __init__(self):
super().__init__()
self.conv1d1 = nn.Conv1d(1, 16, 3, pad_mode="same")
self.bn1 = nn.BatchNorm1d(16)
self.swish1 = Swish()
self.conv1d2 = nn.Conv1d(16, 16, 3, pad_mode="same")
self.bn2 = nn.BatchNorm1d(16)
self.swish2 = Swish()
self.maxpool1d2 = nn.MaxPool1d(2, 2)
self.conv1d3 = nn.Conv1d(16, 32, 3, pad_mode="same")
self.bn3 = nn.BatchNorm1d(32)
self.swish3 = Swish()
self.conv1d4 = nn.Conv1d(32, 32, 3, pad_mode="same")
self.bn4 = nn.BatchNorm1d(32)
self.swish4 = Swish()
self.maxpool1d4 = nn.MaxPool1d(2, 2)
self.conv1d5 = nn.Conv1d(32, 64, 3, pad_mode="same")
self.bn5 = nn.BatchNorm1d(64)
self.swish5 = Swish()
self.conv1d6 = nn.Conv1d(64, 64, 3, pad_mode="same")
self.bn6 = nn.BatchNorm1d(64)
self.swish6 = Swish()
self.maxpool1d6 = nn.MaxPool1d(2, 2)
self.flatten = nn.Flatten()
self.dense1 = nn.Dense(256, 16)
self.dense2 = nn.Dense(256, 16)
复制
通过仿真代码融合先验知识设计训练集,在仿真训练集上完成VAE的训练。VAE训练部分代码如下所示。可以自定义训练的损失函数、优化方式、学习率等参数。
class MSELoss(nn.Cell):
def construct(self, y_true, y_pred):
return ops.reduce_mean(ops.multiply(lw_tens, ops.square(y_true - y_pred)))
net = Model()
loss_net = LossFuncNet(net)
mse_loss_net = MSELoss()
optimizer = nn.optim.Adam(params=loss_net.trainable_params(), learning_rate=initial_rate)
train_cell = nn.TrainOneStepCell(loss_net, optimizer)
复制
完成VAE训练后,基于训练得到的生成器进行特征域MT反演。反演流程中自动求微分的代码如下所示。
for uu in range(XN_pr2-XN_pr1):
v = v_array[:, uu*latent_dim:(uu+1)*latent_dim]
v = ms.Tensor(v, ms.float32) # (1,16)
rho_recon_pred_ii = decoder(v)
v_broadcast = ms.ops.BroadcastTo(((1,rho_recon_pred_ii.shape[-1],v.shape[-1])))(v)
jacb = ms.ops.Squeeze()(ms.ops.grad(decoder)(v_broadcast))
jacb1 = np.reshape(jacb, [ZN_pr2 - ZN_pr1, latent_dim], order='F') # [Nmodel, N_latent_z]
JD[uu*(ZN_pr2-ZN_pr1):(uu+1)*(ZN_pr2-ZN_pr1), uu*latent_dim:(uu+1)*latent_dim] = jacb1
复制
代码中采用ms.ops.grad指令实现对生成器(也即VAE解码器)自动求微分计算生成器的雅克比矩阵,并和MT正问题的雅克比矩阵相乘,计算迭代求解的梯度方向。
下图展示了仿真测试中的实际电阻率分布(第一行)与传统大地电磁反演(第二行)、特征域大地电磁反演(第三行)的结果。
图3. 仿真测试结果
可以看出基于VAE的特征域MT反演成功地向反演中融入了关于异常体分布的先验知识。对于两组算例,传统反演和特征域的反演重建结果的数据残差接近,传统反演的模型残差分别为0.023和0.024,特征域反演的模型残差分别为0.0056和0.0054,模型残差仅为传统反演的1/4。
3.2 算例2:SAMTEX实测MT数据集反演实验
在昇思MindSpore框架下,针对南部非洲大地电磁实验的开源数据集(SAMTEX),测试了基于变分自编码器的特征域MT反演算法。反演测区位于南部非洲西海岸附近,长度约为750km,深度选定为80km。该测区显著特征为在水平方向100km至400km之间,深度20km以浅的区域存在的高导结构。由于低频电磁波在导体结构中的衰减,MT方法对高导结构下部区域的敏感度很低,因此无先验知识约束的传统MT反演难以准确重建高导地层的下边界位置。
借助昇思MindSpore框架搭建的特征域大地电磁反演算法。引入先验知识,即高导结构的厚度约为15km。基于先验知识,仿真生成训练集。完成VAE的训练并进行特征域大地电磁反演,重建结果如下所示
图4. 大地电磁反演重建结果
其中上图为传统MT反演的重建结果,下图为昇思MindSpore框架下实现的特征域MT反演的重建结果。特征域MT反演对高导地层的下边界重建较为清晰准确,较好地将地层厚度的先验知识融入了反演。实测实验进一步证明了提出的基于VAE的特征域MT反演可有效提升大地电磁反演的精度和分辨率。
4、总结与展望
我们推出了基于昇思MindSpore Elec的变分自编码器大地电磁特征域反演求解器,借助昇思MindSpore的神经网络算子及自动求微分框架,实现将研究地块的多物理先验知识融入反演算法中,提升大地电磁反演的精度和分辨率。利用在昇思MindSpore平台上实现的算法成功实现了南部非洲大地电磁实测数据的处理。我们希望能够有更多的企业、科研院所参与进来,共同打造和维护昇思MindSpore Elec套件。
参考文献
[1] H. Zhou, et al., Feature-based magnetotelluric inversion by variational autoencoder using a subdomain encoding scheme [J], Geophysics, 2023.
[2] H. Zhou, et al., An Intelligent MT Data Inversion Method With Seismic Attribute Enhancement [J], IEEE Transactions on Geoscience and Remote Sensing, 2023.
[3] T. Habashy, et al., A general framework for constraint minimization for the inversion of electromagnetic measurements, Progress In Electromagnetics Research [J], 2004.
[4] T. Khoza, et al., Lithospheric structure of an Archean craton and adjacent mobile belt revealed from 2-D and 3-D inversion of magnetotelluric data: Example from southern Congo craton in northern Namibia, Journal of Geophysical Research: Solid Earth [J], 2013
往期回顾
MindSpore AI科学计算系类 | Allegro提升昇思分子势能预测准确性,将上线MindSpore Chemistry
MindSpore AI科学计算系列 | 周期性图Transformer提升MindSpore模型对晶体性质的预测
MindSpore AI科学计算系列 | 初探海洋大模型AI-GOMS,打开大模型在海洋方面的大门文章来源:https://www.toymoban.com/news/detail-824596.html
MindSpore AI科学计算系列 | “没有最快,只有更快”,快速傅里叶变换详解文章来源地址https://www.toymoban.com/news/detail-824596.html
到了这里,关于MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!