1.本发明涉及海洋时空数据生成技术领域,更具体的说是涉及一种基于分离注意力机制的海洋温度场时空数据生成方法。
背景技术:2.海洋作为环境的主要组成对气候变化和经济发展有着深远影响,对海洋进行虚拟环境建模的需求日趋迫切。虚拟环境建模通常被认为是一个时空数据生成过程,其本质是多变量的时间序列问题。
3.现有神经网络模型对特定的环境参数展现了良好的性能,但由于无差别的对待所有时刻的空间信息,导致其难以捕捉环境参数各时刻间的复杂动态和相互作用,不足以进行环境数据的准确生成,特别是在季节过渡时期这种情况尤为明显。
4.因此,如何提供一种基于分离注意力机制的海洋温度场时空数据生成方法,来解决现有方法在捕获环境参数在时间和空间上的长程依赖关系时的局限性以实现海洋环境变量的准确生成已成是本领域技术人员亟需解决的问题。
技术实现要素:5.有鉴于此,本发明提供了一种基于分离注意力机制的海洋温度场时空数据生成方法,能够够更好的捕获时空的长程依赖关系,拥有比传统卷积模型更快的训练和推理速度,在计算资源有限的情况下,能够生成更长周期的海洋温度场数据。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种基于分离注意力机制的海洋温度场时空数据生成方法,包括以下步骤:
8.获取海洋温度场数据;
9.根据所述海洋温度场数据,通过预先训练好的海洋温度场预测模型进行预测,得到海洋温度场预测结果;
10.其中,所述海洋温度场预测模型的训练步骤包括:
11.对所述海洋温度场数据进行预处理以及时空位置编码;并采用分离注意力机制对所述时空位置编码结果依次进行编码和解码;对解码后的数据进行汇总,输出海洋温度场预测结果。
12.进一步的,所述预处理步骤包括:
13.根据所述海洋温度场数据,进行滑动窗口采样,生成多个数据帧;多个所述数据帧跨越整个所述海洋数据的时间域;
14.对每个所述数据帧进行分解,生成多个非重叠第一数据块,多个所述非重叠数据块跨越整个所述数据帧的空间域;
15.对所述多个非重叠第一数据块进行时空位置编码。
16.进一步的,对所述多个非重叠第一数据块进行时空位置编码,步骤包括:
17.将多个所述非重叠数据块平化成向量其中,p=1,...,n表示空间位
置,t=1,...,f表示时间索引;
18.通过可学习矩阵将每个向量线性映射到一个嵌入向量:
[0019][0020]
其中,表示可学习的位置嵌入。
[0021]
进一步的,采用分离注意力机制对所述时空位置编码结果进行编码,步骤包括:
[0022]
对所述每个第一数据块的时空位置编码结果进行多次递进式编码,在每次编码过程中,根据前一次编码结果,为所述每个第一数据块的时空位置编码结果计算q/k/v向量;
[0023]
根据所述时间自注意系数,计算时间反馈;
[0024]
根据所述时间反馈的结果计算空间注意力,得到空间自注意系数并计算空间注意力向量;
[0025]
将所述空间注意力向量与所述前一次编码结果进行残差连接后输入至多层感知机,得到最终编码结果。
[0026]
进一步的,所述时间自注意系数的计算公式为:
[0027][0028]
根据所述时间自注意计算时间反馈,步骤包括:
[0029]
根据所述时间自注意力系数计算每一个注意头的输出向量:
[0030][0031]
将来自所有注意头的所述输出向量串联投影,得到时间反馈:
[0032][0033]
进一步的,将所述空间注意力向量与所述前一次编码结果进行残差连接并进行层标准化后输入至多层感知机,并计算最终编码结果。
[0034]
残差连接公式为:
[0035]
最终编码结果为:
[0036]
进一步的,采用分离注意力机制进行解码,步骤包括:
[0037]
构建第一注意力计算模块和第二注意力计算模块;
[0038]
获取历史所有时刻海温时空数据的所述最终编码,并提取value值和key值;
[0039]
以最后时刻数据帧的时空位置编码结果作为开始信号输入到第二注意力模块中,依次进行时间注意力和空间注意力的计算,得到第一注意力模块的query值;
[0040]
根据所述第一时刻所述最终编码的value值、key值和query值,通过所述第一注意力计算模块,依次进行时间注意力和空间注意力的计算,得到所述第一时刻的数据帧;
[0041]
根据所述开始信号和所述第一时刻的数据帧,通过所述第二注意力计算模块,依次进行时间注意力和空间注意力的计算,得到第二时刻的query值;
[0042]
根据所述第二时刻最终编码的value值、key值和query值,通过所述第一注意力计算模块,依次进行时间注意力和空间注意力的计算,得到所述第二时刻的所述数据帧;
[0043]
循环往复直完成所有数据帧的解码。
[0044]
进一步的,采用分离注意力机制进行解码,步骤还包括:
[0045]
获取目标数据集并对所述目标数据集进行滑动窗口采样,得到多个groundtruth数据帧;
[0046]
通过折叠操作将每个所述ground truth数据帧展开生成多个非重叠第二数据块;
[0047]
将所述第二数据块输入至所述第二注意力计算模块进行解码。
[0048]
进一步的,在得到所述第一时刻的数据帧后,采用修正的teacher forcing机制控制所述第二注意力模块的输入量,包括:
[0049]
teacher forcing采用服从伯努利分布的mask屏蔽下一时刻的输入量,并将上一时刻输出的数据帧按预设的替换概率随机替换为所述第二数据块输入至所述第二注意力计算模块。随着训练的进行,替换概率逐渐下降。
[0050]
进一步的,所述对解码后的数据进行汇总,步骤为:对解码后的数据使用线性层进行维度转换并折叠。
[0051]
本发明的有益效果:
[0052]
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于分离注意力机制的海洋温度场时空数据生成方法,使用分离的自注意力机制替换了传统模型中的卷积算子,可以施加较少的限制性归纳偏差;其次,通过直接比较所有时空位置的特征激活,可以将自注意力(self-attention)机制应用于捕获局部和全局的时空长程依赖关系,这远远超出了传统卷积滤波器的接受域,这一优势在时间维度体现得尤为明显。即采用self-attention机制可以获得覆盖完整空间和时间窗口的接受域,这是基于卷积算子的模型难以做到的。因此,本发明在捕获时空的长程依赖关系时具有显著优势,这一优势使得本发明可以准确且无预测偏好的完成海表温度时空数据生成任务。基于卷积算子的模型会出现明显的预测偏好,如对温度变冷预测的准但是温度变暖的时候效果就很差,这一优势在处理海洋温度场生成问题时得到了充分体现;最后,本发明引入修正的teacher force机制并进行并行训练,因此拥有比基于卷积算子的模型更快的训练和推理速度,在相同的计算资源下构建具有更强学习能力的模型。
附图说明
[0053]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0054]
图1附图为本发明提供的一种基于分离注意力机制的海洋温度场时空数据生成方
法模型示意图;
[0055]
图2附图为本发明中识别模型结构示意图;
[0056]
图3附图为本发明数据生成结果与观测值在全季度的特征对比。
具体实施方式
[0057]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]
如图1和图2,本发明实施例公开了一种基于分离注意力机制的海洋温度场时空数据生成方法,包括以下步骤:
[0059]
s1:获取海洋温度场数据;
[0060]
s2:根据海洋温度场数据,通过预先训练好的海洋温度场预测模型进行预测,得到海洋温度场预测结果;
[0061]
其中,海洋温度场预测模型的训练步骤包括:
[0062]
s21:对海洋温度场数据进行预处理,得到时空位置编码;
[0063]
s211:对海洋温度时空数据进行采样和分解,得到带有空间位置信息和时间索引的多个非重叠第一数据块;
[0064]
根据海洋温度场数据,进行滑动窗口采样,生成多个数据帧;多个数据帧跨越整个海洋数据的时间域;将一段时期的海洋数据看作一个视频,海洋数据的空间分布被视为某一时刻图像像素的分布情况,以从数据集中通过滑动窗口采样得到的f个大小为h
×
w的数据帧作为输入。
[0065]
对每个数据帧进行分解,生成多个非重叠第一数据块,多个非重叠第一数据块跨越整个数据帧的空间域;unfold的作用为手动实现滑动窗口操作,通过该操作可以将每一个数据帧分别分解为n个大小为p
×
p的非重叠数据块patch,这样n个patch就跨越了整个数据帧的空间域,n=hw/p2。我们把这些小块平化成向量其中p=1,...,n表示空间位置,t=1,...,f表示时间索引。
[0066]
s212:对多个非重叠第一数据块进行时空位置编码:
[0067]
通过可学习矩阵将每个patch线性映射到一个嵌入向量:
[0068][0069]
其中,表示一个可学习的位置嵌入,以此对每个patch的时空位置进行编码。
[0070]
s22:并采用分离注意力机制对时空位置编码结果依次进行编码和解码;
[0071]
s221:采用分离注意力机制对时空位置编码进行编码:其中,时间注意和空间注意分别应用于海洋数据,既满足海洋时空数据在物理世界的映射规律又可以大幅降低计算量提高模型效率。
[0072]
s2211:基于时空位置编码进行递进式编码,在每次编码过程中,根据前一次编码结果,为每个数据块计算q/k/v向量;
[0073]
在一种实施例中,通过l个编码块进行编码,每个编码块以前一个编码块的输出作为输入,通过多个编码块堆叠可实现时空数据深层特征的提取。在每个编码块l上,根据前一个编码块的结果为每个patch计算q/k/v向量:
[0074][0075][0076][0077]
其中,ln()表示layernorm,a=1,...,a为多个注意力头的指标,a为注意力头的总数。将每个注意头的潜在维度设为dh=d/a。
[0078]
s2212:在每一次编码过程中,取多个数据帧下处于同一空间的数据块计算时间注意力,得到时间自注意系数:
[0079]
其中sm()为softmax激活函数。
[0080]
s2213:根据时间自注意计算时间反馈:
[0081]
根据时间自注意力系数计算每一个注意头的输出向量:
[0082][0083]
将来自所有注意头的输出向量串联投影,得到时间反馈:
[0084][0085]
s2214:时间反馈被用于空间注意计算;从中获得新的q/k/v向量,然后计算空间注意得到当注意力只在一维上计算时,如仅在空间或仅在时间上,计算量会显著减少。例如,在空间注意的情况下,修改为:仅使用来自与query相同帧的key则只需进行n+1次query-key的比较;
[0086][0087]
s2215:将得到的向量与上一编码块的结果通过残差连接并经过层标准化后传递给多层感知机mlp,将mlp的输出与输入进行残差连接并进行层标准化,以计算编码块l处patch的最终编码
[0088]
此时,输入的所有特征信息被encoder提取并压缩到最后一个隐藏层中。
[0089]
其中,残差连接公式为:
[0090]
编码块输出计算公式为:
[0091]
s222:采用分离注意力机制进行解码,具体步骤包括:
[0092]
s2221:构建第一注意力计算模块和第二注意力计算模块;并在每个注意力计算模块后构建残差连接及层标准化层以计算每个注意力计算模块的最终输出;构建mlp层及残差连接及层标准化层用于输出解码结果。
[0093]
s2222:获取历史所有时刻海温时空数据的最终编码,并提取value值和key值;
[0094]
以历史最后时刻数据帧的时空位置编码结果作为开始信号输入到第二注意力模块中,依次进行时间注意力和空间注意力的计算,得到第一注意力模块的query值;
[0095]
s2223:根据第一时刻最终编码的value值、key值和query值,通过第一注意力计算模块,依次进行时间注意力和空间注意力的计算,得到第一时刻的数据帧;
[0096]
s2224:根据开始信号和第一时刻的数据帧,通过第二注意力计算模块,依次进行时间注意力和空间注意力的计算,得到第二时刻的query值;
[0097]
s2225:根据第二时刻最终编码的value值、key值和query值,通过第一注意力计算模块,依次进行时间注意力和空间注意力的计算,得到第二时刻的数据帧;
[0098]
s2226:循环往复直完成所有时刻数据帧的解码。在循环解码的过程中,步骤s2223中参与计算的value值和key值均来自于当前时刻待解的最终编码,query值由当前时刻之前的数据帧结解码果,采用s2224的步骤进行计算获得。
[0099]
在一种实施例中,通过目标数据集提升模型收敛速度:
[0100]
获取目标数据集并对目标数据集进行滑动窗口采样,得到多个ground truth数据帧;
[0101]
通过分解unfold操作将每个ground truth数据帧分解成多个非重叠第二数据块;
[0102]
将第二数据块输入至第二注意力计算模块进行解码。
[0103]
在本实施例中,在得到第一时刻的数据帧后,采用修正的teacher forcing机制控制第二注意力模块的输入量,
[0104]
teacher forcing采用服从伯努利分布的mask屏蔽下一时刻的输入量,并将上一时刻输出的数据帧按预设的替换概率随机替换为第二数据块输入至第二注意力计算模块。随着训练过程的进行,替换概率随训练的进行逐渐下降;预测流程中,模型的解码流程与训练过程相似,不同的是预测流程中每一时刻的输入完全依赖于上一时刻的输出,不再有groundtruth的参与。因为是并行训练且所有数据块均经过时空位置编码,所以并不是像串行训练那样输入有严格意义上的先后时刻之分。训练过程中一次性输入所有时刻的数据,对于每个时刻,有一定概率使用上一时刻的输出作为输入,也有一定概率使用正确的目标值作为输入。
[0105]
s23:对解码后的数据进行汇总,输出海洋温度场预测结果:将预测结果与目标值进行对比以计算损失和梯度,利用梯度的反向传播调节可学习参数直到损失随着训练次数
趋于稳定,此时训练完成。
[0106]
对解码后的数据使用线性层进行维度转换后,通过unfold操作可获得未来多个时刻的海表温度数据。
[0107]
本发明采用采用编辑器-解码器(encoder-decoder)框架设计,其结构共包含输入模块、输出模块、编码器和解码器四部分。
[0108]
其中,输入模块包含历史数据帧unfold层、嵌入层和位置编码器以及目标数据帧的teacher focing层、unfold层、嵌入层和位置编码器;
[0109]
历史数据帧unfold层将历史海洋温度场数据生成的多个数据帧进行分解,生成多个非重叠第一数据块;嵌入层对非重叠第一数据块进行线性嵌入,通过位置编码器,对多个非重叠第一数据块进行时空位置编码,并输入至编码器。
[0110]
unfold层将目标数据生成的多个ground truth数据帧经过进行分解生成多个非重叠第二数据块;嵌入层对非重叠第二数据块进行线性嵌入,通过位置编码器,对多个非重叠第二数据块进行时空位置编码,并输入至解码器。目标数据帧的teacher focing层采用服从伯努利分布的mask屏蔽下一时刻的输入量。
[0111]
编码器由多个编码模块堆叠而成,每个编码块由两个子层连接结构组成,第一个子层连接结构包括一个多头分离自注意力层、一个规范化层和一个残差连接,第二个子层连接结构包括一个前馈全连接子层、一个规范化层和一个残差连接。
[0112]
由多个解码块堆叠而成的解码器,每个解码块由三个子层连接结构组成,第一个和第二个子层连接结构均包括一个多头分离自注意力层、一个规范化层和一个残差连接,第三个子层连接结构包括一个前馈全连接子层、一个规范化层和一个残差连接,解码器输出的为海洋数据在未来多个时刻的对应空间表征。
[0113]
输出模块,对解码后的结果使用线性层进行维度转换后,通过fold操作可获得未来多个时刻且每个时刻的三维海洋数据。
[0114]
在另一实施例中,数据集为历史气候观测和模拟数据集,由气候与应用前沿研究院(icar)提供,数据包括cmip5/6(coupled model intercomparison project phase 5/6)模式的历史模拟数据和美国soda模式重建的近100多年历史观测同化数据。每个样本包含以下气象及时空变量:海表温度异常(sst),热含量异常(t300),纬向风异常(ua),经向风异常(va),数据维度为(年,月,纬度,经度)。对cmip6和cmip5的前15个模式数据进行时间间隔为5的滑窗处理得到训练集,对cmip5的第16模式数据和第17模式数据进行时间间隔为1的滑窗处理得到验证集和测试集,历史时间窗口均为12个月。
[0115]
通过本发明,完成了最长26个月的全球海温异常数据生成,图3展示了在厄尔尼诺-南方涛动现象(enso)预测任务中前置期为12个月时本发明生成的四个季度sst异常数据与观测值的对比,其中,横坐标为经度,纵坐标为纬度。在尼诺3.4区(nino3.4区)的物理场中,本发明可以提前14个月的准确捕捉海表温度场的异常升温趋势,这表明本发明有潜力捕捉更多海洋的基本物理现象,实现海洋环境的动态模拟。除此以外,我们的模型准确学习到了所有区域sst数据的时空规律。数据生成结果准确刻画了nino3.4区以外区域不同时刻的海表温度分布特征,为探究enso与海洋数据的时空关联提供了一种更直观的解决方案。
[0116]
本发明的编码器和解码器中均采用分离注意力替换循环神经网络(rnn)和卷积算
子来捕获时空依赖信息,解决了使用rnn时存在的信息过长导致信息丢失的问题,取得了比传统卷积滤波器更广阔的空间信息接受域。分离注意力机制是一种多头注意力,通过形成多个子空间,可以让模型注意到多种不同信息。相比于基于卷积的cnn模型,本发明考虑了空间非局部的、时间更连续的时空结构演变特征并利用自注意力机制充分提取时空结构信息,可以更准确地模拟西太平洋海温的时空演变信息。
[0117]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0118]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:1.一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,包括以下步骤:获取海洋温度场数据;根据所述海洋温度场数据,通过预先训练好的海洋温度场预测模型进行预测,得到海洋温度场预测结果;其中,所述海洋温度场预测模型的训练步骤包括:对所述海洋温度场数据进行预处理以及时空位置编码;并采用分离注意力机制对所述时空位置编码结果依次进行编码和解码;对解码后的数据进行汇总,输出海洋温度场预测结果。2.根据权利要求1所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,所述预处理步骤包括:根据所述海洋温度场数据,进行滑动窗口采样,生成多个数据帧;多个所述数据帧跨越整个所述海洋数据的时间域;对每个所述数据帧进行分解,生成多个非重叠第一数据块,多个所述非重叠数据块跨越整个所述数据帧的空间域;对所述多个非重叠第一数据块进行时空位置编码。3.根据权利要求2所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,对所述多个非重叠第一数据块进行时空位置编码,步骤包括:将多个所述非重叠数据块平化成向量其中,p=1,...,n表示空间位置,t=1,...,f表示时间索引;通过可学习矩阵将每个向量线性映射到一个嵌入向量:其中,表示可学习的位置嵌入。4.根据权利要求3所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,采用分离注意力机制对所述时空位置编码结果进行编码,步骤包括:对所述每个第一数据块的时空位置编码结果进行多次递进式编码,在每次编码过程中,根据前一次编码结果,为所述每个第一数据块的时空位置编码结果计算q/k/v向量;根据所述时间自注意系数,计算时间反馈;根据所述时间反馈的结果计算空间注意力,得到空间自注意系数并计算空间注意力向量;将所述空间注意力向量与所述前一次编码结果进行残差连接后输入至多层感知机,得到最终编码结果。5.根据权利要求4所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,所述时间自注意系数的计算公式为:根据所述时间自注意计算时间反馈,步骤包括:
根据所述时间自注意力系数计算每一个注意头的输出向量:将来自所有注意头的所述输出向量串联投影,得到时间反馈:6.根据权利要求4所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,将所述空间注意力向量与所述前一次编码结果进行残差连接后输入至多层感知机,并计算最终编码结果;残差连接公式为:最终编码结果计算公式为:7.根据权利要求4所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,采用分离注意力机制进行解码,步骤包括:构建第一注意力计算模块和第二注意力计算模块;获取历史所有时刻海温时空数据的所述最终编码,并提取value值和key值;以最后时刻数据帧的时空位置编码结果作为开始信号输入到第二注意力模块中,依次进行时间注意力和空间注意力的计算,得到第一注意力模块的query值;根据所述第一时刻所述最终编码的value值、key值和query值,通过所述第一注意力计算模块,依次进行时间注意力和空间注意力的计算,得到所述第一时刻的数据帧;根据所述开始信号和所述第一时刻的数据帧,通过所述第二注意力计算模块,依次进行时间注意力和空间注意力的计算,得到第二时刻的query值;根据所述第二时刻最终编码的value值、key值和query值,通过所述第一注意力计算模块,依次进行时间注意力和空间注意力的计算,得到所述第二时刻的所述数据帧;循环往复直完成所有数据帧的解码。8.根据权利要求7所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,步骤还包括:获取目标数据集并对所述目标数据集进行滑动窗口采样,得到多个groundtruth数据帧;通过折叠操作将每个所述groundtruth数据帧展开生成多个非重叠第二数据块;将所述第二数据块输入至所述第二注意力计算模块进行解码。9.根据权利要求8所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,在得到所述第一时刻的数据帧后,采用修正的teacherforcing机制控制所述第二注意力模块的输入量,包括:
teacherforcing采用服从伯努利分布的mask屏蔽下一时刻的输入量,并将上一时刻输出的数据帧按预设的替换概率随机替换为所述第二数据块输入至所述第二注意力计算模块。10.根据权利要求1所述的一种基于分离注意力机制的海洋温度场时空数据生成方法,其特征在于,所述对解码后的数据进行汇总,步骤为:对解码后的数据使用线性层进行维度转换并折叠。
技术总结本发明公开了一种基于分离注意力机制的海洋温度场时空数据生成方法,包括以下步骤获取海洋温度场数据;根据所述海洋温度场数据,通过预先训练好的海洋温度场预测模型进行预测,得到海洋温度场预测结果;其中,所述海洋温度场预测模型的训练步骤包括:对所述海洋温度场数据进行预处理,得到时空位置编码;并采用分离注意力机制对所述时空位置编码依次进行编码和解码;对解码后的数据进行汇总,输出海洋温度场预测结果;本发明采用分离的自注意力的机制,能够更好的捕获时空的长程依赖关系,拥有比传统卷积模型更快的训练和推理速度,在计算资源有限的情况下,能够生成更长周期的海洋温度场数据。洋温度场数据。洋温度场数据。
技术研发人员:林连雷 王俊凯
受保护的技术使用者:哈尔滨工业大学
技术研发日:2022.07.23
技术公布日:2022/11/1