这个星球上的所有生物都受到我们称之为天气的大气 现象的影响。正因为如此,人类发明了各种测量工具,幸运的是拥有大量来自观察的数据。所有这些数据都经历了一段技术之旅;从在地下室的纸质和本地服务器上收集,到现在生活在开放的云平台上,这些平台将所有不同的传感器数据标准化,供任何人研究。
用于构建改进的预测模型的人工智能技术也让位于神经网络,称为深度学习。我在Google Research研究AI Weather & Climate的同事建立了一个名为MetNet的奇妙模型。它执行我们在晚间新闻中看到的降水预报,空间分辨率高达1公里,时间分辨率为2 分钟,长达12 小时。它优于其他传统模型 那预报只到7-8小时。更具体地说,它可以帮助预报局部地区较短时间内的强降雨。
在我们的People & Planet AI 系列的12 分钟 YouTube 剧集中,我们深入探讨了如何使用Google Earth Engine和Google Cloud构建天气预报模型。我们还分享了一个笔记本,供技术观众试用。构建此示例模型的总成本不到1 美元(截至本发布日期)。
如果我们想以非常高的分辨率了解地球,这些都是非常大的数据集。使用谷歌的云平台,我们可以下载这些大型数据集,并提供给所有想研究这项工作的人。
基于物理与深度学习的天气模型
从历史上看,计算天气模型一直极具 挑战性。基于物理学 ,他们试图模拟许多相互作用的自然力的 组合 。要让计算机执行这些计算,需要编写具有长序列复杂规则的程序,这些规则需要大量计算和时间。
直到最近,这种情况已经随着使用深度学习的完全不同的方法而改变。以这种方式,可以建立模型以通过使用具有不同降水现象标签的卫星图像数据集对其进行训练来查找云 行为的天气模式。这意味着模型不会尝试通过模拟重现整个天气系统,而是经过训练将其计算能力集中在从像素马赛克中看到视觉模式。你可以说这类似于我们眼睛的工作方式. 这些进步也促成了其他项目,例如Dynamic World,它有助于精确测量 地球上的变化 。
此外,将此技术与强大的数据处理硬件(如GPU和TPU)相结合,可以帮助用户以更少的成本和时间获得更准确的预测。
如何使用 Google Cloud 和 Earth Engine 构建模型
要开始使用,您将需要一个Google Earth Engine帐户,该帐户对非商业实体免费;如果您刚刚开始对所有用户使用,则需要一个具有免费套餐的Google Cloud 帐户。我已经按功能分解了您将用于构建模型的产品。
该模型用于长达2 小时和 6 小时的非常短期的天气预报,这被称为临近预报。
用于训练和部署我们的临近预报模型的架构从我们的输入开始(我们将使用的数据集中在Earth Engine中的降水量 ( GPM )、卫星图像 ( GOES-16 ) 和高程)。它以我们的输出结束,这是我们希望模型预测的标签(降水量毫米,每小时降雨或降雪的范围)。
Dataflow是一种数据处理服务,可使用 Earth 引擎的高容量端点帮助将导出过程从几小时缩短到几分钟。我们通常使用stratifiedSample来为每个分类收集均衡数量的点,但是因为我们正在处理回归,所以我们必须将标签的 桶放入分类类型中。
提示:如果您了解其中一些术语(即回归或分类),我建议您观看我们的9 分钟深度学习介绍视频。
我们通过将所有数字标签转换为整数来实现这一点,因此它们都属于分类桶。我们选择了31 个桶,代表每小时0 到 30毫米的降水量。
请注意,我们选择进行 2 次预测,一次在未来 2 小时和 6 小时。但是你可以根据需要制作多少。而在需要的输入量方面,过去的数据越多越好,但我们发现至少需要 3 个输入点才能给出足够的上下文来对未来做出任何预测。
接下来,我们使用PyTorch(一个 ML 库)编写一个脚本,在 Google 的机器学习平台Vertex AI中训练模型。我们选择使用下载数据集的 90% 来训练模型,10%用于稍后测试模型对以前从未见过的数据的准确性。我们最终可以将模型托管到Cloud Run中,这是一种网络托管服务。
最后,为了将我们的预测可视化为地图,我们可以使用像 colab 这样的笔记本,或者我们可以将其带回Earth Engine(您可以查看我们的10 分钟土地覆盖视频和代码示例,其中展示了如何对变化进行分类使用完全卷积网络从卫星图像在地球上)。
这是第 4 个笔记本的屏幕截图,它给出了模型如何显示预测的最终概述。
这是对我们将如何使用深度学习技术和 Google 产品构建天气预报模型的快速概述。如果您想尝试一下,请在GitHub上查看我们的代码示例(单击屏幕底部的“在 colab 中打开”以查看笔记本格式的教程,或单击此处的快捷方式)。它分为4 个笔记本,以防人们希望跳到特定部分,否则您可以从笔记本 1 开始,一直到第 4 个。