GraphCast:基于机器学习的全球中期天气预测模型

文章信息

文章题为”GraphCast: Learning skillful medium-range global weather forecasting”,该文章于2023年发表至Science,文章内容主要关于利用机器学习模型,实现高效、准确的全球中期天气预测。由于文章内容较多,本文仅对研究背景、模型方法进行简要介绍。

引入

全球中期天气预报对许多社会和经济领域的决策至关重要。传统的数值天气预报模型(NWP)需要增加计算资源来提高预报精度,但不能直接利用历史天气数据来提升基础模型的预测精度。相较于传统的数值天气预报模型而言,这类预测模型难以直接使用历史数据中进行训练。而基于机器学习的天气预报模型(MLWP)能够直接利用历史数据训练模型,提升精度,弥补了NWP的缺点。同时,这种直接利用数据的方法使得模型有可能从数据中的提取那些不易用显式方程表示的关系从而提高预测的准确性。文章提出了一种基于机器学习的方法,称为GraphCast,该模型可以直接从再分析数据中进行训练,并且能够在一分钟内以0.25°的分辨率在全球范围内预测超过10天的数百个天气变量。文章表明,GraphCast在1380个验证目标中的90%上显著优于最准确的操作确定性系统,并且它的预测支持更好的严重事件预测,包括热带气旋、大气河流和极端温度。

中期天气预测旨在提前预测未来一段时间的大气变量,例如10天。文章所预测的指标如下表所示,包括地表变量和大气变量。由于需要分别预测不同压强水平下的大气变量,因此总变量数为(5+6*37),即227个。

f3e3d85dba76674d3e12862e66fb79bf.jpeg

符号及问题定义

符号定义:文章定义t表示预测时间步长索引;T表示预测范围,即预测总步数;d表示有效时间,指示特定天气状态的日期时间;表示预测初始时间步;表示预测步骤持续时间,指示在一个预测步骤中经过多少时间;表示预测提前期,表示预测中经过的时间e05b31c56c0e8fa13c4fc4c64edb5ef3.jpeg

问题定义:中期全球天气预测任务旨在利用历史的天气指标,利用一个潜在的离散时间动力学函数,通过自回归的方法,实现未来天气的预测。

f0bf037d023ad3131d27ba3792f625e4.jpeg

然而,通常而言,天气指标难以直接观测获取,因此文章定义为完整天气指标的一个近似。研究问题旨在找到该动力学系统中一个正确高效的模型,该模型能够有效地预测某一预测范围内的天气状况,通过自回归的方式,实现天气预测。

4d366778198118d00a2fd520dd8da279.jpeg

该任务的损失函数即为最小化真实值和预测值之间的误差,如下式所示。

85da2505c07c1ffec1e063fb4f3d4ec5.jpeg

GraphCast结构简介

文章提出了一种名为GraphCast的全球中期天气预报的新MLWP方法,它可以在单个Google Cloud TPU v4设备上在一分钟内生成准确的10天预报,并支持包括预测热带气旋路径,大气河流和极端温度在内的应用程序。

6642fbfac15dcd2a754944b1e7378231.jpeg9aee601b32a1fab564317ce5ef83ce1d.jpeg

首先,GraphCast将地球最近的两种天气状态(当前时间和6小时前的天气状态)作为输入,并预测6小时前的下一种天气状态。由于预测精度为0.25°,因此文章依据经纬度将地球划分为网格,每个单个天气状态由0.25°经纬度网格(721 × 1440)表示,如上图所示。其中,黄色图层表示5个地表变量,蓝色图层表示每个压强水平下的大气变量,共222个大气变量。和NWP系统一样,GraphCast是自回归的:该模型可以通过将自己的预测结果作为输入,输入至模型中从而得到新的结果,以生成任意长的天气状态轨迹。

GraphCast是一种基于图神经网络(GNN)的神经网络架构,采用“编码-处理解码”配置,共有3670万个参数。GraphCast的框架如下图所示,包含encoder、processor和decoder。其中,Encoder使用单个GNN层将经过归一化后的变量从输入网格(grid)上的节点属性映射为内部“多网格”(multi-mesh)表示上的学习节点属性。其中,multi-mesh是一种空间同质的图形,在全球范围内具有很高的空间分辨率。该网格是通过将一个正二十面体(12个节点,20个面,30个边)经过6次迭代细化而获得的,其中每次细化将每个三角形分成4个更小的三角形并将节点重新投影到球体上。该结果包含40,962个节点,并将过程中创建的所有边进行合并,所构成的集合作为边集,形成不同长度边的平面层次结构。Processor使用16个非共享GNN层在多网格上执行学习的消息传递,以较少的消息传递步骤实现高效的本地和远程信息传播。Decoder将processor中的最后一层从multi-mesh的表示中学习到的特征映射回经纬度网格。decoder使用单个GNN层,并将输出预测为对最近输入状态的残差更新。

d1c1aee651dab9be27d95a4751cc4f51.jpeg

GraphCast原理简介

生成预测值:GraphCast模型被定义为一步学习模拟器,GraphCast即为问题定义中的,该模型根据两个连续的输入状态预测下一步,如下式所示。

f4895f46d85d55d2b1dc0670bd043988.jpeg

GraphCast通过自回归的方式实现中期预测,如下式所示。

53560226926d2696ceb009e3e4688947.jpeg

GraphCast中的图结构:GraphCast采用“encoder-processor-decoder”结果,并仅使用GNN实现模型构建,其中encoder将输入经纬度网格上的地表和大气特征映射到multi-mesh结构中,processor在多网格上执行多轮消息传递,decoder将multi-mesh结构中节点的特征映射回输出经纬度网格。该模型在图6f6efbf1972622d6d26e6b2b43672b42.jpeg上进行运算。每个集合的解释如下。

网格点集合:表示网格点构成的集合每个网格节点代表给定经纬度点的大气垂直切片,每个网格的特征表示为7a96f9d61a110dc8000c56608e160134.jpeg,其中表示天气状态;由时间相关的特征组成,这些特征可以分析计算,不需要通过GraphCast进行预测;为常数,共计474个输入特征。

f9c39ae742363d88f0d6c79a8fd3e96f.jpeg

Mesh点集合:表示multi-mesh结果中每个节点的集合,multi-mesh结构是由一个正20面体经过迭代细化构成的结构,上图展示了迭代的过程,其中迭代过程中的节点数和边数如下表所示。由于这种迭代的构造形式,第r-1次迭代所构造的图对应的节点集为第r次迭代所构造图节点集的子集,因此,只包括最后一次迭代中构成图像对应的所有节点,每个节点包括三个特征,即节点对应纬度的余弦,以及经度的正弦和余弦。

03718c1e3971adf1c5481d723fc5cefd.jpeg

Mesh边集合:表示multi-mesh图中所有边构成的集合,该图是一个双向图。边集合为每次迭代所构造的图形对应的边集合的汇总,因此称之为multi-mesh结构。因此,较低细化水平对应图的节点可以视为远距离连接的hub点。每条边包括4个输入特征:边缘的长度,以及在接收方的局部坐标系中计算的发送方节点和接收方节点的3d位置之间的矢量差。

网格-Mesh边集合(Grid2Mesh):4ea632d6921b001894493f026c1d6801.jpeg是一个无向边集合,连接发送网格节点和接收mesh节点。如果网格节点和mesh节点之间的距离小于或等于中边长度的0.6倍,则两个节点之间存在一条边。与Mesh边集合相图,每每条边包括4个输入特征。

Mesh-网格边集合(Mesh2Grid):0975014c494a8c8445ef008869db208a.jpeg是一个无向边集合连接发送mesh节点和接收网格节点。对于每个网格点,文章找到中的一个三角形面,该三角形面包含这个网格节点,并将该三角形面上的三个节点分别与该网格节点相连,即添加三条边。与Mesh边集合相图,每每条边包括4个输入特征。

Encoder:Encoder的目的是将数据映射为潜在表示用于processor的处理。Encoder包含Grid2Mesh GNN,该模块由一层GNN构成。首先,该模块利用多层感知机(MLP)将上述五个集合的特征嵌入至一个固定大小的潜在空间中,如下式所示。

dd26f76e61af7db007b78d868670856b.jpeg

进一步,为了将大气状态信息从网格节点传递到mesh节点,GraphCast在Grid2Mesh二分子图上执行单个消息传递步骤。具体而言,首先对边集合进行处理,使用相邻节点的信息更新Grid2Mesh的每个边缘,如下式所示。

a74ba84025c622e51803c9215a31db07.jpeg

进一步,对节点信息进行更新,通过汇总到达该mesh节点的所有边的信息来更新每个mesh节点,如下式所示。

9e35f82cc65e03e9eb9c7e8b0d726160.jpeg

同时,每个网格节点也进行更新,但不进行信息聚合。

51f327b5a7ee79af98f7a51019499957.jpeg

最后,通过残差连接对所有元素进行更新。

0fff55af7943bace6060aa780ca3c870.jpeg

Processor:处理器是一个在Mesh子图上操作的深度GNN模型。Multi-Mesh GNN由16个不共享的Mesh GNN构成。具体而言,Mesh GNN首先使用相邻节点的信息更新每个Mesh边,如下式所示。

4a37562c24c53fd16c2f5045d034a969.jpeg

进一步,Mesh GNN更新每个mesh节点,聚合到达该mesh节点的所有边的信息。

fac4a5730fbf0783f593427bbf77cd81.jpeg

最后,通过残差连接对上述元素进行更新,如下式所示。

2b80ca95182878dda9d1af26d38ff38f.jpeg

Decoder:Decoder的作用是将所提取的信息带回网格中,并进行预测。Decoder包含Mesh2Grid GNN,由一层GNN构成。该模块的结构与Grid2Mesh GNN相似,Grid2Mesh GNN在功能上等同于Mesh2Grid GNN,但使用Mesh2Grid边集合向相反方向发送信息。具体而言,该模块首先使用相邻节点的信息更新Grid2Mesh的每个边。

3786a172d3c56d86f09f759c18fc1908.jpeg

进一步,对每个网格节点,聚合到达该网格节点的所有边的信息,如下式所示。

cde20342910561907fca6ba297486f87.jpeg

最终,通过残差连接对每个网格的特征进行更新。

1b1c1f9c55adc2b5cd20dc2f4fa177ee.jpeg

基于上述结果,GraphCast利用MLP对decoder的输出进行处理,得到预测值。

99edbfe3ef3cfca92ace0f98fb9163c4.jpeg

与其他天气预测模型相同,文章在输出部分采用残差连接的方式进行预测,如下式所示。

45e766c62d9dda0e9306331c87dc19a5.jpeg

小结

GraphCast有3670万个参数,按照现代机器学习模型的标准,该模型是一个相对较小的模型,选择它是为了保持内存占用的可处理性。文章的试验结果表明,GraphCast的预测结果要优于目前最好的基线模型(Pangu-weather)。GraphCast的模型结构相对简单,仅使用了GNN,而没有使用Transformer等。该模型的亮点在于multi-mesh结构的构建,通过multi-mesh模型能够高效的提取不同网格节点的空间相关性,以及短时、长时相关性,从而实现特征的充分提取,实现快速、准确地预测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229868.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Typora .MD笔记中本地图片批量上传到csdn (.PNG格式)(无需其他任何图床软件)

Typora .MD笔记中本地图片批量上传到csdn (.PNG格式)(无需其他任何图床软件) 截图软件推荐 qq 截图 快捷键 ctrlshiftA. 步骤一 设置Typora 的图片 点击文件. 点击偏好设置 ->图像 我们可以选择将图片复制到我们的文件夹中。 建议刚写好文件标题就…

强基固本,红海云数字化重塑提升国企干部管理能力

国有企业的干部管理体系建设具有重要的战略意义,对于构建高素质专业化的干部队伍,推动企业高质量发展至关重要。特别是在党的二十大以后,建设中国特色现代企业制度,在完善公司治理中加强党的领导,加强党管干部党管人才…

C#图像处理OpenCV开发指南(CVStar,03)——基于.NET 6的图像处理桌面程序开发实践第一步

1 Visual Studio 2022 开发基于.NET 6的OpenCV桌面程序 1.1 为什么选择.NET 6开发桌面应用? 选择 .NET 6(最早称为 .NET Core)而非 Frameworks.NET 的理由是:(1)跨平台;已经支持Windows,Linux…

【数据结构】——解决topk问题

前言:我们前面已经学习了小堆并且也实现了小堆,那么我们如果要从多个数据里选出最大的几个数据该怎么办呢,这节课我们就来解决这个问题。我们就用建小堆的方法来解决。 首先我们来看到这个方法的时间复杂度,我们先取前k个数据建立…

c语言-数据在内存中的存储

文章目录 1. 整数在内存中的存储2. 大小端字节序和字节序判断3. 浮点数在内存中的存储 1. 整数在内存中的存储 1.整数的2进制表示方法有三种,即 原码、反码和补码 2. 三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“…

Offer来了:Java面试核心知识点精讲

系列文章目录 送书第一期 《用户画像:平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 …

vue3 setup语法糖,常用的几个:defineProps、defineEmits、defineExpose、

vue3和vue2组件之间传参的不同 <script setup> 是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖。 <script setup> 中的代码会在每次组件实例被创建的时候执行。 任何在 <script setup> 声明的顶层的绑定 (包括变量&#xff0c;函数声明&#xff0…

网站公安备案流程

1.公安备案网址 https://beian.mps.gov.cn/ 选择用户登录->法人用户登录 左边的码下载APP&#xff0c;登上去之后用APP扫右边的码&#xff0c;人脸识别

springboot实现邮箱发送功能

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 邮箱效果图一、pom配置二、页面编写三、配置yml四、邮件工具类五、测试发送 邮箱效果图 1.可以利用在出现问题进行邮箱提醒 2.编写html 用于在邮箱中展示的样式 提示…

基于IDEA+MySQL+Tomcat开发的高校毕业生就业信息管理系统

基于IDEAMySQLTomcat开发的高校毕业生就业信息管理系统 项目介绍&#x1f481;&#x1f3fb; 高校毕业生信息管理系统背景介绍 随着高等教育的发展和信息化技术的普及&#xff0c;高校毕业生信息管理面临着越来越多的挑战。为了解决这些问题&#xff0c;我们开发了高校毕业生信…

校园跑腿的核心功能

校园跑腿是指在校园内提供各种代办和服务的便利服务。 1. 快速送货&#xff1a;校园跑腿可以提供快速的送货服务&#xff0c;包括食品、快递、文件等物品的送达。 2. 打印复印&#xff1a;校园跑腿可以提供打印、复印等文档处理服务&#xff0c;方便学生和教职工处理各种文档…

C语言基础程序设计题

1.个人所得税计算 应纳税款的计算公式如下&#xff1a;收入<&#xff1d;1000元部分税率为0&#xff05;&#xff0c;2000元>&#xff1d;收入>1000元的部分税率为5&#xff05;&#xff0c;3000元>&#xff1d;收入>2000元的部分税率为10&#xff05;&#xf…