百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

如何预知极端天气?谷歌:用AI通过深度神经网络建模型

wptr33 2025-02-28 17:41 24 浏览

澎湃新闻记者 承天蒙

3月23日是一年一度的“世界气象日”,今年气象日的主题是“海洋,我们的气候和天气(The ocean, our climate and weather)”。

AI(人工智能)技术的发展能够更好地预知极端天气的发生并作出及时响应。谷歌(Google)官方博客上,就介绍了公司最近正在进行的两个气象类项目,包括“通过神经天气模型预测降水量”、“利用AI完善洪水预警系统”。

通过神经天气模型预测降水量

目前主流的天气预报系统依赖于根据大气科学的物理原理运行的模型,在过去几十年内,这一方法得到了巨大的改进,不过它仍然有着明显的局限性。

现在通过深度神经网络技术,可以在不利用物理规律的情况下,直接从气象数据中寻找模式,预测降水概率,提高了预测的效率和准确度。

在2020年发表的一篇论文中,谷歌AI的研究人员提出了一项基于深度神经网络(DNN)的新算法,名为MetNet。谷歌介绍,这一模型能够以1公里的分辨率,推断出某一区域在未来8小时范围内每相隔2分钟的降水概率,与美国国家海洋和大气管理局(NOAA)目前最先进的基于物理学的模型相比,在及时性上可以提前7到8小时,预测整个美国的情况只需要几秒钟。

MetNet预测的降水情况与实地测量结果的比较

为了让MetNet得出的结果更加准确,谷歌使用了详尽而全面的数据,包括美国由多雷达/多传感器系统(MRMS)构成的地面雷达站得出的降水估计值,以及海洋和大气管理局的静止环境业务卫星系统基于云图提供的测量值。此外,在以1公里的分辨率对整个美国范围内每个64x64公里的方块区域进行天气预测时,MetNet还会考虑云层和降水场在所预测时间段内所有可能的运动路线。

为了处理如此庞大的计算量,谷歌在模型中构建了一个空间下采样器(downsampler),通过降低输入数据的空间维度,减少模型处理数据时需要消耗的内存,让它变得更加高效。同时,在针对密集和平行计算进行优化后,模型非常适合在GPU和TPU等算力强大的专用硬件上运行,极大地缩短了进行预测所需要的时间。

利用AI完善洪水预警系统

气候变化导致的另一严重后果是洪涝灾害的多发。2019年的数据显示,洪水每年在全球范围内造成6000到18000人死亡,造成210亿到330亿美元的经济损失。

2018年起,谷歌启动了谷歌洪水预警项目(Google Flood Forecasting Initiative),利用AI和强大算力打造更好的洪水预测模型,并与多国政府部门展开合作。

2020年9月,谷歌宣布,这一项目在预警提前时间、准确性和清晰度上都取得了重要的突破,覆盖范围也已经扩展到了印度和孟加拉国境内的2.5亿人口。这些进步的实现主要得益于洪水预警模型的不断更新和完善,现在,印度政府发出的每一条洪水警报,背后都有着谷歌提供的技术支持。

在洪水预警的第一步,水文模型可以根据降水量或者上游水位的测量值,预测出未来某个时间点河流的水位情况。谷歌更新了其洪水系统的水文模型,将发出洪水警报的时间提早了1倍,既能为政府提供更多的信息,也让人们有了额外的准备时间。此外,该模型在准确性上也有了极大的提升:在90%以上的时间里,水位预测的误差边界在15厘米以内。

接着,洪水预测模型需要根据河流水位的预测值,进一步预测洪泛区可能受到的影响。为了在扩大覆盖范围的同时,保证预测的精度,谷歌更新了模型采用的淹没建模方法。这种新方法名为形态淹没模型(morphological inundation model)。

形态淹没模型将基于物理学的建模与机器学习技术相结合,以在真实世界环境(real-world settings)中创建更准确、扩展性更强的淹没模型。这种新方法不再在根据卫星图像开发的高质量高程图(elevation maps)上实时模拟水流,而是计算修改高程图的形态,使用简单的物理原理进行淹没模拟。

首先,谷歌训练了一个机器学习模型,可以根据河流上某一点河道水位计的水位值输出河流中所有点的水位,形成河流剖面图。这一模型对现实情况进行了合理的简化,它假设如果河流某一点的水位值上升,整条河的水位都会上升,同时河道断面的绝对高程是向下游递减的,即河水向下游流动。

图中绿点即为谷歌的洪水预警系统确定的需要发出洪水警报的地区

然后,谷歌根据这一模型,结合启发法(heuristics)编辑高程图,以“抵消”某一区域被洪水淹没时的压力梯度(pressure gradient)。新合成的高程图可以使用简单的洪水填充算法(flood-fill algorithm)为洪水流动情况建模。谷歌介绍,与传统的物理模型相比,这一方法将预报准确性提高了3%,同时有着更强的灵活性,更快的开发速度,可显著改善对大面积区域的预测结果。

在那些形态淹没模型尚未覆盖的区域,谷歌则是应用了一种基于机器学习的端到端方法,几乎只使用全球公开可用的数据,如流量计测量值、公共卫星图像和分辨率较低的高程图训练模型,直接、实时地推断出淹没图。虽然不如形态淹没模型精细,但与之前在这些地区应用的预警方法相比,这一方法同样有着更高的准确性。

责任编辑:是冬冬

校对:施鋆

相关推荐

oracle数据导入导出_oracle数据导入导出工具

关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...

继续学习Python中的while true/break语句

上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个else解...

python continue和break的区别_python中break语句和continue语句的区别

python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...

简单学Python——关键字6——break和continue

Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...

Python 中 break 和 continue 傻傻分不清

大家好啊,我是大田。今天分享一下break和continue在代码中的执行效果是什么,进一步区分出二者的区别。一、continue例1:当小明3岁时不打印年龄,其余年龄正常循环打印。可以看...

python中的流程控制语句:continue、break 和 return使用方法

Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...

L017:continue和break - 教程文案

continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...

作为前端开发者,你都经历过怎样的面试?

已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...

面试被问 const 是否不可变?这样回答才显功底

作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...

2023金九银十必看前端面试题!2w字精品!

导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。答案:CSS的盒模型是用于布局和定位元素的概念。它由内容区域...

前端面试总结_前端面试题整理

记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录由浅入深,66条JavaScript面试知识点(一)由浅入深,66...

2024前端面试真题之—VUE篇_前端面试题vue2020及答案

添加图片注释,不超过140字(可选)1.vue的生命周期有哪些及每个生命周期做了什么?beforeCreate是newVue()之后触发的第一个钩子,在当前阶段data、methods、com...

今年最常见的前端面试题,你会做几道?

在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...