1.本发明属于地磁学及海洋磁力测量领域,具体涉及一种基于深度学习模型的磁力异常数据计算方法。
背景技术:
2.海洋磁异常为大洋演化提供了极其重要的证据,而且能够反映板块构造的细节信息,对研究洋壳结构、地磁场变化、相关地球内部动力学过程及海洋矿产资源分布具有重大意义。例如在大洋中脊区域测量获得的磁异常,其条带状特征即清晰地记录了洋底扩张的历史。然而,在大多数区域海洋船测工作仅完成了稀疏分布的测线,测线间较大的间隙很可能造成对磁异常特征认知的模糊性,尤其是磁条带的延展特性。面对以上问题,建立全区的磁力异常图成为迫切的需求。
3.而目前绘制在磁力异常图上的数据,一般都是由卫星磁测、海洋磁测以及航空磁测等野外测量获取,耗费大量的人力物力;而且还需数据处理人员耗费大量时间和精力,进行消除畸变点、网格化、缝合、化极等一系列处理,才能形成在统一大地水准面上的网格化磁力异常数据;另外,由于野外调查需投入大量人力物力,在某些区域,由于地理位置偏僻、环境恶劣,或者军事管制,或者经费限制,无法进行实际测量来获得有效的磁力异常数据,所以在区域上存在多个磁力异常数据空白区。
技术实现要素:
4.本发明为解决现有技术中磁力异常数据获取困难等缺陷,提出一种基于深度学习模型的磁力异常数据计算方法,通过调用深度学习模型来预测与拟合缺失区域的磁力异常信息。
5.本发明是采用以下的技术方案实现的:一种基于深度学习模型的磁力异常数据计算方法,包括以下步骤:
6.步骤a、构建训练数据集:对磁力异常数据和同磁力相关的数据集进行重采样及分类操作,制作待修补数据集、测试数据集、训练数据集,所述同磁力相关的数据集包括高程数据、降水数据、植被数据、露头岩性、和重力异常数据;
7.步骤b、构建深度学习模型:根据需要设置的参数以及选取的神经网络进行训练,所述需要设置的参数包括迭代次数、神经网络层数、激活函数和每层神经网络的神经元个数;所述深度学习模型结构及原理如下:
8.(1)深度学习模型采用门控循环神经网络(gru)与全连接相结合的方式构建,门控循环神经网络(gru)解决了传统时间递归神经网络(rnn)的长期依赖问题,包括n层gru层、一层flatten层、一层全连接层和一层输出层,2≤n≤5;
9.(2)将n
×
n像元窗口中的磁力异常相关数据构成n
×n×
d的三维数组为模型输入,经过n层gru网络单元前向传播学习获取数据窗口的磁力信息,然后通过flatten层将多维输出一维化,然后通过全连接层将gru网络获取到的磁力信息特征空间映射到样本标记空
间,最后通过输出层输出该窗口中心像元的修补值,至此完成一个中心像元值的一次修补;通过窗口滑动的方式遍历整景数据,对每个窗口执行上述操作,实现对研究区缺失区域磁力异常数据的修补。
10.步骤c、基于训练好的深度学习模型,实现对研究区缺失区域磁力异常数据的修补;
11.进一步的,所述步骤b中:门控循环神经网络(gru)所用到的计算公式如下所示:
12.更新门:z
t
=σ(wz·
[h
t-1
,x
t
]);
[0013]
重置门:r
t
=σ(wr·
[h
t-1
,x
t
])
[0014]
候选隐藏状态:
[0015]
传递到下一时刻的隐藏状态:
[0016]
式中,x
t
表示当前时刻输入信息,h
t-1
表示上一时刻的隐藏状态,h
t
表示传递到下一时刻的隐藏状态,表示候选隐藏状态,r
t
表示重置门,z
t
表示更新门,tanh表示tanh函数,*表示卷积计算方式,w表示权重矩阵,σ表示sigmoid激活函数。
[0017]
进一步的,所述步骤a中,进行重采样和分类操作具体采用以下方式:
[0018]
步骤a1、将同磁力数据相关的数据集与磁力异常数据集通过重采样操作采样到同一个分辨率下,此时所有的数据在同一经纬度下;
[0019]
步骤a2、将所有的数据按照是否有磁力异常数据分为待修补数据集和有磁力异常数据的数据集,待修补数据集即为磁力数据异常缺失部分的数据集,然后将有磁力异常数据的数据集划分为测试数据集和训练数据集。
[0020]
进一步的,所述步骤b中,基于磁力异常数据修补的深度学习模型由卷积层、池化层、flatten层、全连接层、输出层组成。其中卷积层具有64个卷积核,维度为n
×
n,移动步长为1,填充方式选择same填充,之后采用relu激活函数进行激活,池化层池化方式则采用最大池化,卷积层和池化层一共组成n层gru层。lstm有很多种变体,本实施例采用lstm长短期记忆神经网络变体之一的门控循环神经网络gru在keras框架上进行深度学习模型的搭建,与lstm内部中的三个门不同,gru内部只有两个门,分别为重置门和更新门,可以更好地捕获时间步距离很长的序列上的依赖关系,不容易出现过拟合,gru的优点是在保持lstm的效果同时又使结构更加简单,所以更容易创建一个更大的网络,而且它只有两个门,在计算性能上也运行得更快,并且方便扩大模型的规模。
[0021]
进一步的,所述步骤b中,在进行模型训练时,采用线性函数归一化对训练数据集进行预处理,线性函数归一化公式如下:
[0022][0023]
以实现对原始数据的等比例缩放,其中x
norm
为归一化后的数据,x为原始数据,x
max
、x
min
分别为原始数据集中数据的最大值和最小值。
[0024]
进一步的,所述步骤b中,对于模型训练的效果,引入均方根误差来评价数据拟合的效果,以分析磁力异常数据的真实数据与拟合数据之间的接近程度,其公式如下:
[0025]
[0026]
其中,rmse为均方根误差的大小,n为参与分析的数据个数,model
t
为测试数据集的真实磁力异常数据,known
t
为测试数据集通过深度学习模型计算得出的磁力异常数据。
[0027]
进一步的,所述步骤b中,对深度学习模型输出的原始磁力异常数据进行反向归一化,计算深度学习模型输出的实际磁力异常数据:
[0028]
x
endout
=x
out
×
(x
max-x
min
) x
min
[0029]
其中,x
endout
为实际输出的磁力异常数据,x
out
为深度学习模型输出的归一化后的磁力异常数据,x
max
为训练数据集中磁力异常数据的最大值,x
min
为训练数据集中磁力异常数据的最小值。
[0030]
进一步的,所述步骤c中,对经过深度学习模型拟合出来的磁力异常数据进行进一步处理,使其与磁力异常数据缺失的区域匹配,具体为:先将拟合好的磁力异常数据与原有的磁力异常数据进行汇总处理,再将处理好的磁力异常数据按照经纬度顺序排列整齐并输出,最后使用idl软件编程处理该文件,输出完整磁力异常数据图像。
[0031]
与现有技术相比,本发明的优点和积极效果在于:
[0032]
本方案基于植被、高程、降水、露头岩性、重力异常和磁力异常数据并调用深度学习模型预测与拟合缺失区域的磁力异常信息,可以有效填补地理位置偏僻、环境恶劣、军事管制、经费限制等等无法通过野外测量获得的磁力异常数据;而且不需要通过野外测量获得,也不需要进行野外测量数据的汇编和处理等相关工作,节省大量的人力和物力,对于水下磁性障碍物搜寻、海洋地磁调查、海洋地磁场分布和变化研究等具有十分重要的意义和指导价值。
附图说明
[0033]
图1为本发明实施例所述磁力异常数据计算方法流程示意图;
[0034]
图2为本发明实施例深度学习模型数据集处理过程示意图;
[0035]
图3为本发明实施例深度学习模型建立过程示意图;
[0036]
图4为本发明实施例深度学习模型测试数据与真实数据的点密度图;
[0037]
图5为本发明实施例深度学习模型测试数据与真实数据的误差绝对值图;
[0038]
图6为本发明实施例东南亚区域磁力异常数据图,(a)为完整磁力异常数据图;(b)为磁力异常数据缺失图;(c)为完整磁力异常数据最终结果图。
具体实施方式
[0039]
为了能够更加清楚地理解本发明的上述目的、特征和优点,下面结合附图及实施例对本发明做进一步说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例。
[0040]
磁力异常是地磁场在地表的直接反映,主要与岩石的组成成份、物理性质等相关。而在区域地质构造研究中,与岩石组分、物理性质相关的要素有很多,本发明则创造性的利用空间重力异常数据、高程数据、露头岩性数据、降水数据、植被数据这5种数据集,以及数据空白区周边可利用的磁力异常数据,利用神经网络在keras框架上搭建修补磁力异常数据的深度学习模型,来计算获得数据空白区的磁力异常数据。
[0041]
如图1所示,本实施例提出一种基于植被、高程、降水、重力异常和磁力异常数据并调用深度学习模型预测与拟合缺失区域的磁力异常信息的方法,为了更清楚地理解本专利方案,本实施例以获取东南亚相关区域的磁力相关数据为例进行详细介绍,具体包括以下步骤:
[0042]
一、构建训练数据集
[0043]
步骤1、数据采集:首先将东南亚相关区域的磁力异常数据进行下载,然后选取东南亚相关区域的高程数据、降水数据、植被数据、露头岩性数据和重力异常数据作为同磁力数据相关的数据集。并按照数据来源进行分类,为磁力异常数据修补深度学习模型的数据集提供来源。
[0044]
步骤2、数据处理:数据下载完之后还需要对数据进行重采样和分类等处理,为后续修补磁力异常数据提供高质量的测试集和训练集,具体流程如图2所示,其过程如下:
[0045]
①
步骤1中的数据下载分类完之后,将同磁力数据相关的数据集与磁力异常数据集一起做重采样处理,将磁力异常数据图和上述的高程数据图、降水数据图、植被数据图和重力异常数据图重采样到同一个分辨率下。
[0046]
②
将数据提取出来,此时所有的数据都是在同一个经纬度下,再将数据进行如下分类:首先,将数据集按照是否有磁力异常数据分为两大类,第一类是磁力数据异常缺失部分的数据集,记为待修补数据集,第二类是有磁力异常数据的数据集。
[0047]
③
将上述的第二类有磁力异常数据的数据集进行划分,将所有有磁力异常数据的数据集按照经纬度排放的顺序进行编号,在零到十之间随机选取一个号码位置,提取出数据集中所有在该号码所在的位置的数据,将该数据作为深度学习模型的测试数据集,其余的数据则记为深度学习模型所需的训练数据集。
[0048]
步骤3:训练集预处理:将数据集进行合理划分,将降水数据(2012年年平均值到2017年年平均值)、植被数据(2012年年平均值到2017年年平均值)、高程数据、露头岩性数据和重力异常数据作为深度学习模型的输入数据,已有区域的磁力异常数据作为深度学习模型的输出数据。
[0049]
由于样本数据的评价标准不一样,需要对其量纲化,统一评价标准较大容易引起的神经元输出饱和现象。为了避免数值问题,使网络快速地收敛,并保证输出数据中数值小的不被吞食。本专利采用线性函数归一化(min-max scaling)对数据进行预处理,线性函数归一化公式如下:
[0050][0051]
该方法实现对原始数据的等比例缩放,其中x
norm
为归一化后的数据,x为原始数据,x
max
、x
min
分别为原始数据集中数据的最大值和最小值。
[0052]
二、构建深度学习模型及其调用
[0053]
步骤4:构建模型及训练:本实施例采用lstm神经网络的变体——门控循环神经网络gru(gated recurrent unit)在keras框架上搭建基于磁力异常数据修补的深度学习模型;通过对比在包含不同gru层数的模型下的计算效率和精度,且保证每种模型训练到预测值与真实值之间的均方根误差(rmse)达到精度要求,保存拥有最佳计算效率和精度的深度学习模型结构和相关超参数为最佳值,作为后续修补指定区域的磁力异常数据的模型调
用。
[0054]
在本实施例中,训练过程中待rmse趋于稳定时确定该次训练时的超参数作为最佳模型参数。在本例中,把由磁力异常数据、高程数据、降水数据、植被数据、露头岩性数据和重力异常数据组成的三维数组作为输入,通过n层gru层计算后,再由输出层输出缺失区域的磁力异常数据。
[0055]
本实施例采用lstm神经网络的变体——门控循环神经网络gru(gated recurrent unit)在keras框架上搭建基于磁力异常数据修补的深度学习模型;模型的网络由n层gru层、一层flatten层、一层全连接层和一层输出层组合而成。该模型将15
×
15的数据窗口的磁力异常数据、高程数据、降水数据、植被数据、露头岩性数据和重力异常数据作为输入,经过n层gru网络单元前向传播学习提取该数据窗口的磁力异常信息,将原始磁力异常数据映射到隐层特征空间,之后通过扁平层将卷积层和池化层的多维输出一维化,然后通过全连接层前面计算得到的特征空间映射到样本标记空间,最后通过输出层输出该窗口的中心像元的磁力异常数据作为修补结果,至此完成单个像元内缺失区域的一次修补。通过遍历对所有像元进行上述过程,即可将整个东南亚缺失区域的磁力异常数据进行修补。
[0056]
进一步的,所述步骤b中:门控循环神经网络(gru)所用到的计算公式如公式(2)至公式(5)所示:
[0057]
更新门:
[0058]zt
=σ(wz·
[h
t-1
,x
t
])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0059]
重置门:
[0060]rt
=σ(wr·
[h
t-1
,x
t
])
[0061]
(3)
[0062]
候选隐藏状态:
[0063][0064]
传递到下一时刻的隐藏状态:
[0065][0066]
式中,x
t
表示当前时刻输入信息,h
t-1
表示上一时刻的隐藏状态,h
t
表示传递到下一时刻的隐藏状态,表示候选隐藏状态,r
t
表示重置门,z
t
表示更新门,tanh表示tanh函数,*表示卷积计算方式,w表示权重矩阵,σ表示sigmoid激活函数。
[0067]
为寻出最佳预报模型的结构和相关超参数,本实施例在训练模型时通过调节模型中gru层的数量为从2到5,待每种模型的均方根误差(rmse)达到精度要求时,对比模型分别在具有2、3、4、5层gru状态下预报的速率和精度,并指定模型预报效率最高的情况下为最佳模型的lstm层数和相关超参数。本实施例通过训练模型后确定预报海水透明度和海表温度的最佳lstm模型中包含3层lstm层。该步骤确定最佳模型结构和相关超参数使用的rmse的计算公式如下:
[0068][0069]
该方法能够很好的分析磁力异常数据的真实数据与拟合数据之间的接近程度。其中,rmse为均方根误差的大小,n为参与分析的数据个数,model
t
为测试数据集的真实磁力
异常数据,known
t
为测试数据集通过深度学习模型计算得出的磁力异常数据。
[0070]
根据该误差公式的结果,调节好深度学习模型的各个参数,使模型拟合出符合要求的磁力异常数据。
[0071]
步骤5:调用训练好的最佳深度学习模型到指定区域,在深度学习模型中输入待修补的数据集,实现该区域磁力异常数据的填补。
[0072]
此时输出的磁力异常数据为归一化后的数据,因此需要对深度学习模型输出的原始归一化磁力异常数据进行反向归一化,根据输入数据的线性函数归一化进行反向归一化推理,也就是对公式(1)进行推理得出反向归一化公式如下:
[0073]
x
endout
=x
out
×
(x
max-x
min
) x
min
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0074]
通过该公式能够计算出深度学习模型输出的实际磁力异常数据,其中x
endout
为实际输出的磁力异常数据,x
out
为深度学习模型输出的归一化后的磁力异常数据,x
max
为训练数据集中磁力异常数据的最大值,x
min
为训练数据集中磁力异常数据的最小值。
[0075]
经过上述各项工作后,基于磁力异常数据修补的深度学习模型已建立完成,并且能得到修补后的磁力异常数据,基于磁力异常数据的深度学习模型的建立过程见图3。
[0076]
三、深度学习模型评估和模型输出磁力异常数据处理
[0077]
步骤6、深度学习模型的评估:建立基于磁力异常数据的深度学习模型后,需要对模型进行评估。本实施例选取均方根误差(root mean squared error,rmse)来评价深度学习模型拟合数据的效果。深度学习模型评估公式见公式(6)。
[0078][0079]
其中,rmse为均方根误差的大小,n为参与分析的数据个数,model
t
为测试数据集的真实磁力异常数据,known
t
为测试数据集通过深度学习模型计算得出的磁力异常数据。
[0080]
模型评估是通过测试数据集进行的,将测试数据集输入到已建立好的深度学习模型中,拟合出一组磁力异常数据。将该数据与测试数据集的真实磁力异常数据进行点密度图分析,如图4所示。通过点密度图能够直观地看出本实施例深度学习模型拟合磁力异常数据的效果。其中slop代表的是斜率,r2代表的是测试集磁力数据与真实磁力数据拟合的程度,n为测试集磁力数据的个数。从图4可以看出,测试数据集的磁力异常数据与真实磁力异常数据拟合度较高,说明该深度学习模型的拟合效果较好。
[0081]
为了更好的验证本发明效果,下面着重分析深度学习模型拟合的效果,选取41191个数据作为测试集,该数据集的数量占总数据集(包括训练集和测试集)的百分之十,确保测试集能够有效的反映模型效果。具体做法如下:用测试数据集的真实磁力异常数据减去深度学习模型训练出来的磁力异常数据,将该数据取绝对值后,进行绘图分析,如图5所示。
[0082]
通过图5可知,深度学习模型拟合出来的磁力异常数据与真实磁力异常数据的误差绝对值基本在0到50nt之间。其中0到50nt之间的数据占总测试数据的97.55%,考虑到模型拟合出来的磁力异常数据的误差绝对值在50nt以上的数据为异常数据。由于异常数据占比较少,只占总测试数据的2.45%,所以该模型拟合出来的磁力异常数据基本符合要求。
[0083]
通过分析图5可以直观地看出,误差绝对值数据在0到50nt的数据占总数据的比例非常大。查阅资料可知,误差绝对值在10nt及以下的磁力异常数据较好。经过计算得出误差绝对值在0到10nt之间的数据有30000个,占总测试数据集的72.83%。10nt以上的磁力异常
数据相对来说误差较大,其数据量占总测试数据集的27.17%。由此可知,该深度学习模型拟合出来的磁力异常数据总体误差在30%以内,符合精度要求。
[0084]
步骤7、磁力拟合数据的后续处理:对经过深度学习模型拟合出来的磁力异常数据还需要进一步处理,使其与磁力异常数据缺失的区域能够匹配。具体处理过程如下:先将拟合好的磁力异常数据与原有的磁力异常数据进行汇总处理,再将处理好的磁力异常数据按照经纬度顺序排列整齐并输出txt文本文件,最后使用idl软件编程处理该文件,输出完整的东南亚缅甸、老挝、柬埔寨、印尼、菲律宾等国家陆地区域的磁力异常数据的tif格式图像,见图6(a)。未修补的东南亚缅甸、老挝、柬埔寨、印尼、菲律宾等国家陆地区域的磁力异常数据的tif格式图像见图6(b)。最终输出东南亚区域完整磁力异常数据的tif格式图像,经过arcmap软件处理后如图6(c)。
[0085]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。