几年前,我们认为洪水预报是改善人们生活的独特机会,并开始研究 Google 的基础设施和机器学习专业知识如何在此领域提供帮助。去年,我们在巴特那地区启动了洪水预报试点,从那时起,我们扩大了洪水预报覆盖范围,作为我们更大的AI for Social Good工作的一部分。在这篇文章中,我们讨论了这项工作背后的一些技术和方法。
洪水模型
开发准确的洪水预报系统的一个关键步骤是开发洪水模型,该模型使用河流水位的测量值或预测值作为输入,并模拟整个洪泛区的水行为。
模拟各种河流状况的水力模型的 3D 可视化。
这样,我们就可以将当前或未来的河流状况转化为高度空间精确的风险地图,从而告诉我们哪些地区会被淹没,哪些地区是安全的。 淹没模型依赖于四个主要组成部分,每个组成部分都有各自的挑战和创新:
实时水位测量
要运行这些模型,我们需要实时了解当地的情况,因此我们依靠与相关政府机构的合作来获取及时和准确的信息。 我们的第一个政府合作伙伴是印度中央水务委员会(CWC),它每小时测量全印度一千多个流量计的水位,汇总这些数据,并根据上游测量结果进行预测。 CWC 提供这些实时河流测量和预测,然后将其用作我们模型的输入。
印度勒克瑙附近,CWC 员工测量水位和排放量。
海拔地图创建
一旦我们知道了一条河里有多少水,模型就必须有一张好的地形图。高分辨率数字高程模型(DEM) 对于地球科学的广泛应用非常有用,但在世界上大多数地方仍然很难获得,尤其是对于洪水预报。这是因为地面条件的米宽特征会对由此产生的洪水造成重大差异(堤坝是一个极其重要的例子),但可公开访问的全球 DEM 的分辨率为数十米。为了应对这一挑战,我们开发了一种新颖的方法,可以根据完全标准的光学图像生成高分辨率 DEM。
我们从 Google 地图中使用的大量多样的卫星图像集合开始。通过对大批量图像进行关联和对齐,我们同时优化卫星相机模型校正(针对方向误差等)和粗略地形高程。然后,我们使用校正后的相机模型为每张图像创建深度图。为了制作海拔图,我们在每个位置将深度图最佳地融合在一起。最后,我们移除树木和桥梁等物体,这样它们就不会阻碍模拟中的水流。这可以手动完成,也可以通过训练卷积神经网络来确定需要插入地形高程的位置。结果是一个大约 1 米的 DEM,可用于运行水力模型。
基于 SRTM 的亚穆纳河 30 米 DEM 与 Google 生成的同一区域 1 米 DEM 进行比较。
水力建模
一旦我们获得了这些输入(河流测量和预报以及海拔地图),我们就可以开始建模本身,建模可分为两个主要部分。第一个也是最重要的部分是基于物理的水力模型,该模型根据物理定律的(近似)计算,随时更新水的位置和速度。具体来说,我们已经实现了一个求解器,用于求解浅水圣维南方程的 2D 形式。这些模型在给定准确输入并以高分辨率运行时具有足够的准确性,但它们的计算复杂性带来了挑战——它与所需分辨率的立方成正比。也就是说,如果将分辨率加倍,则需要大约 8 倍的处理时间。由于我们致力于实现高精度预报所需的高分辨率,因此这可能导致无法扩展的计算成本,即使对于 Google 也是如此!为了帮助解决这个问题,我们创建了一个独特的水力模型实现,并针对张量处理单元
(TPU) 进行了优化。虽然 TPU 针对神经网络进行了优化(而不是像我们的水力模型这样的微分方程求解器),但其高度并行化的特性使每个 TPU 核心的性能比每个 CPU 核心的性能快 85 倍。为了进一步提高效率,我们还在考虑使用机器学习来取代一些基于物理的算法,将数据驱动的离散化扩展到二维水力模型,这样我们就可以支持更大的网格并覆盖更多的人。
基于 TPU 的戈阿尔帕拉 (Goalpara) 洪水模拟快照,当时洪水正在发生。
如前所述,水力模型只是我们洪水预报的一个组成部分。我们一再发现我们的水力模型不够准确的地方——无论是由于 DEM 不准确、堤坝破裂还是意外水源。我们的目标是找到减少这些错误的有效方法。为此,我们添加了一个基于历史测量的预测洪水模型。自 2014 年以来,欧洲航天局一直在运行一个名为Sentinel-1 的卫星星座,该星座配备 C 波段合成孔径雷达(SAR) 仪器。SAR 图像非常适合识别洪水,无论天气条件和云层如何都可以做到这一点。基于这个宝贵的数据集,我们将历史水位测量值与历史洪水相关联,从而使我们能够确定水力模型的一致修正。根据这两个组件的输出,我们可以估计哪些分歧是由于真正的地面条件变化造成的,哪些是由于建模不准确造成的。
Google 界面上的洪水警报。
展望未来
要充分发挥洪水模型的优势,我们还有很多工作要做。首先,我们正在努力扩大我们的操作系统的覆盖范围,包括印度国内和其他国家。我们还希望能够实时提供更多信息,包括预测的洪水深度、时间信息等。此外,我们正在研究如何最好地将这些信息传达给个人,以最大限度地提高清晰度并鼓励他们采取必要的保护措施。
从计算角度来看,虽然洪水模型是提高现有洪水预报的空间分辨率(从而提高准确性和可靠性)的好工具,但我们采访过的多个政府机构和国际组织都担心,有些地区根本无法获得有效的洪水预报,或者预报没有提供足够的时间进行有效响应。在研究洪水模型的同时,我们还在对改进的水文模型进行一些基础研究,我们希望这将使政府不仅能够做出更准确的空间预报,而且还能延长准备时间。
水文模型接受降水、太阳辐射、土壤湿度等输入,并预测未来几天的河流流量(以及其他因素)。这些模型传统上是使用概念模型的组合来实现的,这些概念模型近似于不同的核心过程,例如融雪、地表径流、蒸散等。
水文模型的核心过程。由约翰肯萨斯大学机器学习研究所的 Daniel Klotz 设计。
这些模型传统上还需要大量的手动校准,并且在数据稀缺的地区往往表现不佳。我们正在探索如何使用多任务学习来解决这两个问题——使水文模型更具可扩展性和更准确。在与 Sepp Hochreiter 领导的JKU 机器学习研究所小组合作开发基于 ML 的水文模型的研究中,Kratzert 等人展示了LSTM 的表现如何优于所有经过基准测试的经典水文模型。
各种模型在美国各地盆地的NSE分数分布表明,所提出的 EA-LSTM 始终优于各种常用模型。
虽然这项工作仍处于基础研究阶段,尚未投入使用,但我们认为这是重要的第一步,并希望它已经能为其他研究人员和水文学家所用。能够参与由研究人员、政府和非政府组织组成的庞大生态系统,致力于减少洪水的危害,是一种难以置信的荣幸。我们对这类研究可能带来的影响感到兴奋,并期待该领域的研究将取得进展。
致谢
许多人都为这项艰巨的工作做出了贡献,我们想特别指出一些关键的贡献者:Aaron Yonas、Adi Mano、Ajai Tirumali、Avinatan Hassidim、Carla Bromberg、Damien Pierce、Gal Elidan、Guy Shalev、John Anderson、Karan Agarwal、Kartik Murthy、Manan Singhi、Mor Schlesinger、Ofir Reich、Oleg Zlydenko、Pete Giencke、Piyush Poddar、Ruha Devanesan、Slava Salasin、Varun Gulshan、Vova Anisimov、Yossi Matias、Yi-fan Chen、Yotam Gigi、Yusef Shafi、Zach Moshe 和 Zvika Ben-Haim。
评论