首页 / 海洋三维温盐场时空预报方法、装置、设备及介质

海洋三维温盐场时空预报方法、装置、设备及介质实质审查 发明

技术领域

[0001] 本申请涉及时空预报技术领域,特别是涉及一种海洋三维温盐场时空预报方法、装置、设备及介质。

相关背景技术

[0002] 海洋温度、盐度作为基本气候变量,对于气候变化的理解和可预测性起着至关重要的作用。同时,由于海洋温度和盐度差异会导致海洋分层,这对于生物种群的分布和海洋生态系统的稳定性皆具有重要影响。准确、可靠的对海洋温度场和盐度场进行预报具有十分重要的意义。
[0003] 利用海洋表面信息对海洋温度、盐度等要素进行预测,通常划分为基于动力学方法和基于统计学两类方法。其中,基于动力学的数值模拟是当前各研究机构应用最为广泛的方法,此类方法针对性强,遵循基本物理规律。然而,面向海量多元异构数据,该方法具有计算代价高昂和模型通用性不足等问题,难以高效地对数据进行分析与挖掘;基于统计学的方法大致可分为传统统计方法、经验方法、机器学习方法和深度学习方法。随着机器学习、深度学习的发展及其在预报方面的有效性,传统技术中基于RNN、CNN、U‑NET及变体如ConvLSTM等开展了不少研究,在处理低维数据以及短期预报方面取得了不错的预报精度。然而,进一步研究分析表明,RNN在处理长程依赖问题上存在梯度消失问题、CNN在处理高维数据时存在维度灾难问题,且由于深度学习方法的黑盒特性,使得模型结果存在可解释性问题、物理不一致性问题。

具体实施方式

[0025] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0026] 需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
[0027] 另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体地限定。
[0028] 在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接,还可以是物理连接或无线通信连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0029] 下面将结合本发明实施例图中的附图,对本发明实施方式进行详细说明。
[0030] 在一个实施例中,如图1所示,提供了一种海洋三维温盐场时空预报方法,包括以下步骤:
[0031] 步骤202,获取海洋格点数据,对海洋格点数据进行预处理后,通过滑动窗口方式生成数据集。
[0032] 具体地,海洋格点数据主要为IAP/CAS海洋观测格点数据与全球海洋热含量格点数据产品。其中,从IAP/CAS海洋观测格点数据中获取NetCDF格式的月平均温度、盐度格点数据集。从全球海洋热含量格点数据产品中获取NetCDF格式的月平均全球海洋热含量格点数据产品。所以,海洋格点数据包括温度数据、盐度数据及海洋热含量数据。对温度数据、盐度数据及海洋热含量数据进行预处理,得到用于模型训练的数据集。
[0033] 步骤204,根据温度、盐度本身时空变化趋势以及温盐变化约束关系对损失函数进行设计,得到组合损失函数。
[0034] 可以理解,损失函数用于指导模型进行训练,通过引入合适的物理信息以及对引入方式进行设计,然后在物理信息的指导下通过不断学习以提高模型预报精度。鉴于海水的各理化性质,如温度、盐度、压力、密度、比热容之间存在热力学和统计学关系,因此,设计融合了温度、盐度本身时空变化趋势以及温盐变化约束关系的组合损失函数。
[0035] 组合损失函数中通过加入海洋温度、盐度以及密度的物理关系可以指导模型训练,此外,由于盐度在物理上取值范围非负,在利用温度、盐度计算密度时加入激活层限制盐度解空间,从而实现预报精度提高、预报时效增强与物理一致性增强。
[0036] 步骤206,构建海洋三维温盐场时空预报模型,通过数据集与组合损失函数对海洋三维温盐场时空预报模型进行训练,得到训练好的海洋三维温盐场时空预报模型;海洋三维温盐场时空预报模型包括时空信息嵌入模块、编码器模块及解码器模块;其中,在编码器模块、解码器模块之前均设置有时空信息嵌入模块,通过时空信息嵌入模块对输入编码器模块和解码器模块的数据进行前处理,以生成编码器模块和解码器模块可接收处理的特定维度语义表示。
[0037] 可以理解,构建的海洋三维温盐场时空预报模型(简称PGSTransNet),采用具有多头注意力机制的Transformer模型作为网络基本骨架,构建了编码‑解码架构实现多头注意力机制,可增强模型捕捉更长序列关系的能力。并且,在模型中设计了时空信息嵌入模块,通过特定的时空信息嵌入模块将原始输入映射到特定语义空间,以充分捕获温盐数据时空特征。
[0038] 具体地,海洋三维温盐场时空预报模型的输入为经过步骤202处理后得到的数据集,该数据集包括样本数据X与标签数据Y,将样本数据X与标签数据Y拆分成训练集、测试集和验证集。海洋三维温盐场时空预报模型的输出为目标温度、盐度和海洋热含量数据。
[0039] 温度数据、盐度数据在模型训练过程中计算物理损失函数时也会动态加载;样本X尺寸为[样本数,历史时间步长,数据通道数,纬度,经度],输出样本Y尺寸为[样本数,预测时间步长,数据通道数,纬度,经度]。更具体地,其X大小为[样本数,历史时间步长,1+depth+depth,lat1‑lat0,lon1‑lon0],输出样本Y尺寸为[样本数,预测时间步长,1+depth+depth,lat1‑lat0,lon1‑lon0]。
[0040] 步骤208,通过训练好的海洋三维温盐场时空预报模型对海洋三维温盐场进行预报。
[0041] 上述海洋三维温盐场时空预报方法、装置、设备及介质,通过获取海洋格点数据,然后对海洋格点数据进行预处理后,通过滑动窗口方式生成数据集;根据温度、盐度本身时空变化趋势以及温盐变化约束关系对损失函数进行设计,得到组合损失函数;构建海洋三维温盐场时空预报模型,通过数据集与所述组合损失函数对海洋三维温盐场时空预报模型进行训练,得到训练好的海洋三维温盐场时空预报模型;海洋三维温盐场时空预报模型包括时空信息嵌入模块、编码器模块及解码器模块;其中,在编码器模块、解码器模块之前均设置有时空信息嵌入模块,通过时空信息嵌入模块对输入编码器模块和解码器模块的数据进行前处理,以生成编码器模块和所述解码器模块可接收处理的特定维度语义表示;通过训练好的海洋三维温盐场时空预报模型对海洋三维温盐场进行预报。
[0042] 本发明在构建海洋三维温盐场时空预报模型时设计了时空嵌入的多头注意力机制,同时以编码‑解码架构实现的多头注意力机制可增强模型捕捉更长序列关系的能力,能够充分捕获数据的时空特性及变量内、变量间的长程依赖关系;并根据温度、盐度本身时空变化趋势以及温盐变化约束关系设计了组合损失函数来指导模型训练,从而提高了预报精度,增强了预报时效、可解释性及物理一致性。
[0043] 其中一个实施例中,获取海洋格点数据,对所述海洋格点数据进行预处理后,通过滑动窗口方式生成数据集,包括:
[0044] 获取海洋格点数据,对所述海洋格点数据按照年份顺序进行拼接后,根据研究区域选取对应范围的海洋格点数据;对选取的海洋格点数据依次进行缺值处理、离差标准化处理及数据标签化处理,得到预处理后的海洋格点数据;选定历史时间步长与预测时间步长,通过滑动窗口方式将所述预处理后的海洋格点数据划分为样本数据集与标签数据集。
[0045] 具体地,海洋格点数据包括了温度数据、盐度数据及海洋热含量数据。
[0046] 针对温度数据,依次获取每一年的温度数据并按照年份先后顺序进行拼接,并根据实际需求按照经纬度和深度选取研究区域。比如:研究区域(lat0~lat1,lon0~lon1,depth)表示选取经度lon0~lon1和纬度lat0~lat1范围内,海洋表面至水下depth层(本实施例选取depth为12层,对应水下100米)的数据。同样的,根据温度数据的处理方式,获取对应时间、对应经纬度范围的盐度数据和海洋热含量数据。
[0047] 对基于上述方式获取的研究区域内的温度数据、盐度数据及海洋热含量数据进行缺失值处理,处理方式为:若缺失值所在网格点上下左右邻接的四个网格都有正常值,则将这四个点的平均值赋值给该缺失值;其他情况则直接将该网格点置0。
[0048] 将进行缺失值处理后的温度数据、盐度数据及海洋热含量数据分别进行离差标准化,使其结果归一化到[0,1]之间,并利用sklearn的joblib模块的dump功能存储数据标准化过程中的转换参数,离差标准化公式为:
[0049]
[0050] 其中,x′表示归一化后的新样本,x表示原始样本,max表示样本数据的最大值,min表示样本数据的最小值。
[0051] 接下来,对经过上述过程进行标准化处理的温度数据、盐度数据及海洋热含量数据进行数据标签化处理。选定历史时间步长与预测时间步长,并通过滑动窗口方式将上述数据划分为样本数据X与标签数据Y。值得说明的是,在样本数据X与标签数据Y中,海洋热含量数据在深度维度上拼接在温度数据之前,盐度数据在深度维度上拼接在温度数据之后。
[0052] 最后,对处理得到的温度数据、盐度数据及海洋热含量数据的样本数据X与标签数据Y分别进行存储,得到模型训练所需的样本数据X与标签数据Y。X大小为[样本数,历史时间步长,1+depth+depth,lat1‑lat0,lon1‑lon0],输出样本Y尺寸为[样本数,预测时间步长,1+depth+depth,lat1‑lat0,lon1‑lon0]。
[0053] 其中一个实施例中,所述组合损失函数包括经验损失函数与物理损失函数;
[0054] 组合损失函数表达式为:
[0055]
[0056] 式中,LOSS为总体损失,LOSSemp(Ypred,Ytrue)、LOSSemp(Spred,Strue)为经验损失,LOSSphy(Fcondition,Fpred)为物理损失,λphy为对应的超参数。
[0057] 其中一个实施例中,所述经验损失函数计算表达式为:
[0058]
[0059]
[0060] 式中,Ytrue为温度真值标签,Ypred为温度模型预测值,Strue为盐度真值标签,Spred为盐度模型预测值,ypred(d,t)和ytrue(d,t)分别为模型在t时刻针对第d个深度层温度数据的预测值与真实值;spred(d,t)和strue(d,t)分别为模型在t时刻针对第d个深度层盐度数据的预测值与真实值。
[0061] 其中一个实施例中,所述物理损失函数计算表达式为:
[0062]
[0063] 式中,Fcondition为给定的、公认正确的某种限定条件下的温盐关系,Fpred是预测值,该部分损失目的是为了最小化已知关系式与预测关系之间的残差;t表示时刻,d表示深度。
[0064] 值得说明的是,Fcondition可根据情况自由选择,如海水状态方程、海水热性质等。值得注意的是,大部分方程都有限定的使用范围,以海水状态方程EOS80为例,该方程表征了海洋、盐度以及密度之间的关系,其中温度适用范围为(‑2℃~40℃),实用盐度的适用范围‑3 3为(0~42),计算密度的标准差为3.6×10 kg/m。因此,在模型预测过程中,可通过限定解空间范围,使其结果遵循特定物理规律。强限制如限制模型的输出盐度范围为(0~42),弱限制如限制盐度范围为大于0,从而使其在利用盐度预测值计算密度时,不会出现违背物理规律的负值情况。
[0065] 其中一个实施例中,海洋三维温盐场时空预报模型编码器‑解码器模块架构实现PGSTransNet;该模型包括时空信息嵌入模块、编码器模块及解码器模块。其中,时空信息嵌入模块包括编码器输入端时空信息嵌入模块及解码器输入端时空信息嵌入模块;编码器输入端时空信息嵌入模块、编码器模块、解码器输入端时空信息嵌入模块及解码器模块依次连接。
[0066] 编码器模块包括若干叠加的第一多头注意力模块,第一多头注意力模块包括依次连接的多头时空注意力子模块、层归一化及前馈神经网络。
[0067] 解码器模块包括若干叠加的第二多头注意力模块;第二多头注意力模块包括依次连接的多头时空注意力子模块、层归一化、多头时间注意力模块及前馈神经网络。
[0068] 编码器模块与解码器模块中设计的时间嵌入与空间嵌入等模块可以充分捕捉海洋温盐时空特性,并结合编码‑解码架构实现的多头注意力机制可增强模型捕捉更长序列关系的能力。
[0069] 具体地,编码器输入端时空信息嵌入模块对数据进行嵌入分解,通过patch embedding方式将其向量化,patch大小为3*4,也可依据实际数据情况进行微调整;然后进行位置编码,将信息映射成编码器可接收处理的特定维度的语义表示,然后将特定维度的语义表示输入编码器模块进行处理。同理,解码器输入端时空信息嵌入模块对需要输入解码器模块的数据进行处理,生成解码器模块可接收处理的特定维度语义表示。
[0070] 输入解码器模块的数据包含两个来源,其中一个来源于原始输入,该输入是原始样本X经多头时空注意力子模块和层归一化处理之后的数据;另一个来源于编码器模块的输出,而从编码器模块得到的输出部分,不像传统注意力方式那样经过复制形成两份,直接做自注意力键值对,而是将每一部分乘以学习到的温盐关系矩阵得到新的特征,再与原始输出做叠加处理后,再输入解码器模块。通过此方法可以让模型注意力更聚焦在温盐关系上,进一步增强了物理一致性与可解释性。
[0071] 值得说明的是,编码器模块中的编码器,解码器模块中的解码器的数量根据实际情况设置。第一多头注意力模块中的多头时空注意力子模块,第二多头注意力模块中的多头时空注意力子模块和多头时间注意力模块的数量也可以根据实际情况设置。
[0072] 在进行训练时,模型的总体损失函数为组合损失函数。模型优化器设置为Adam,初始学习率设置为1.0e‑3,并定义学习率衰减方式进行动态更新;输入历史时间步长为12,输出预测时间步长为20;编码器多头注意力模块n1设为4,解码器多头注意力模块n2设为4,多头注意力机制模块使用的参数d_size设为256,注意力头数为4,前馈神经网络隐藏层为512;评价指标为RMSE(RootMean Squared Error);模型训练轮数epochs和批次大小batch_size分别设置为20和8。通过样本数据X与标签数据Y拆分成的训练集、测试集对海洋三维温盐场时空预报模型进行训练与优化,得到训练好的海洋三维温盐场时空预报模型。
[0073] 最后,通过训练好的海洋三维温盐场时空预报模型实现海洋三维温盐场预报,即对海洋的温度、盐度进行预测,然后将结果进行反归一化,并存储,便于后续分析与可视化。
[0074] 其中一个实施例中,通过训练好的海洋三维温盐场时空预报模型进行海洋三维温盐场预报。
[0075] 图2给出了本发明提出的PGSTransNet在用一年历史数据预测下一个月的海温时,与其相对应的真实标签所示的海水表层的真实海温变化情况。横坐标代表经度,纵坐标代表纬度,其经度范围:45°E~85°E,纬度范围:0°N~51°N,热力图显示了海水温在不同区域的不同温度数值。
[0076] 图3给出了本发明所述方法PGSTransNet在用一年历史数据预测下一个月的海温时,海水表层的海温变化情况。横坐标代表经度,纵坐标代表纬度,其经度范围:45°E~85°E,纬度范围:0°N~51°N,热力图显示了海水温在不同区域的不同温度数值。
[0077] 图4给出了本发明所述方法PGSTransNet目标区域模型预测与真值之间的RMSE热力图;反应了模型的预测性能。
[0078] 综上,本发明在进行海洋三维温盐场预报时取得了明显的实施效果。
[0079] 本发明提供的海洋三维温盐场时空预报模型性能优越,通过设计时空嵌入的多头注意力机制充分捕获数据的时空特性及变量内、变量间的长程依赖关系,同时将已知的变量间的物理规律引入模型以指导模型训练,并通过已知条件限定预测变量的解空间,增强了模型的可解释性与物理一致性,模型稳健性好,计算成本低,模型通用可迁移性强,具有很高的工程应用价值。
[0080] 应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0081] 在一个实施例中,如图5所示,提供了一种海洋三维温盐场时空预报装置,包括:数据集获取模块402、损失函数设计模块404、模型构建及训练模块406和预测模块408,其中:
[0082] 数据集获取模块402,用于获取海洋格点数据,对海洋格点数据进行预处理后,通过滑动窗口方式生成数据集。
[0083] 损失函数设计模块404,用于根据温度、盐度本身时空变化趋势以及温盐变化约束关系对损失函数进行设计,得到组合损失函数。
[0084] 模型构建及训练模块406,用于构建海洋三维温盐场时空预报模型,通过数据集与组合损失函数对海洋三维温盐场时空预报模型进行训练,得到训练好的海洋三维温盐场时空预报模型;海洋三维温盐场时空预报模型包括时空信息嵌入模块、编码器模块及解码器模块;其中,在编码器模块、解码器模块之前均设置有时空信息嵌入模块,通过时空信息嵌入模块对输入编码器模块和解码器模块的数据进行前处理,以生成编码器模块和所述解码器模块可接收处理的特定维度语义表示。
[0085] 预测模块408,用于通过训练好的海洋三维温盐场时空预报模型对海洋三维温盐场进行预报。
[0086] 关于海洋三维温盐场时空预报装置的具体限定可以参见上文中对于海洋三维温盐场时空预报方法的限定,在此不再赘述。上述海洋三维温盐场时空预报装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0087] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储海洋三维温盐场时空预报数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种海洋三维温盐场时空预报方法。
[0088] 本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0089] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0090] 步骤202,获取海洋格点数据,对海洋格点数据进行预处理后,通过滑动窗口方式生成数据集。
[0091] 步骤202,根据温度、盐度本身时空变化趋势以及温盐变化约束关系对损失函数进行设计,得到组合损失函数。
[0092] 步骤202,构建海洋三维温盐场时空预报模型,通过数据集与组合损失函数对海洋三维温盐场时空预报模型进行训练,得到训练好的海洋三维温盐场时空预报模型;海洋三维温盐场时空预报模型包括时空信息嵌入模块、编码器模块及解码器模块;其中,在编码器模块、解码器模块之前均设置有时空信息嵌入模块,通过时空信息嵌入模块对输入编码器模块和解码器模块的数据进行前处理,以生成编码器模块和解码器模块可接收处理的特定维度语义表示。
[0093] 步骤202,通过训练好的海洋三维温盐场时空预报模型对海洋三维温盐场进行预报。
[0094] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0095] 步骤202,获取海洋格点数据,对海洋格点数据进行预处理后,通过滑动窗口方式生成数据集。
[0096] 步骤202,根据温度、盐度本身时空变化趋势以及温盐变化约束关系对损失函数进行设计,得到组合损失函数。
[0097] 步骤202,构建海洋三维温盐场时空预报模型,通过数据集与组合损失函数对海洋三维温盐场时空预报模型进行训练,得到训练好的海洋三维温盐场时空预报模型;海洋三维温盐场时空预报模型包括时空信息嵌入模块、编码器模块及解码器模块;其中,在编码器模块、解码器模块之前均设置有时空信息嵌入模块,通过时空信息嵌入模块对输入编码器模块和解码器模块的数据进行前处理,以生成编码器模块和解码器模块可接收处理的特定维度语义表示。
[0098] 步骤202,通过训练好的海洋三维温盐场时空预报模型对海洋三维温盐场进行预报。
[0099] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0100] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0101] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

当前第1页 第1页 第2页 第3页
相关技术
方法装置相关技术
时空预报相关技术
鲍森亮发明人的其他相关专利技术