洪水是地球上最常見的自然災害,影響著全球成千上萬人的生活,每年造成約100億美元的損失。在本週早些時候,Google宣佈Google近期對洪水的預測,擴大覆蓋範圍達250多萬人次,並提供了前所未有的交貨時間,精確度和清晰度。
為了實現這些突破,Google設計了一種新的淹沒建模方法,稱為形態淹沒模型,該方法將基於物理的建模與機器學習(ML)結合起來,以在實際環境中建立更準確和可擴充套件的淹沒模型。此外,Google新的警報目標模型允許使用端到端機器學習模型和全球公開可用的資料,以前所未有的規模識別有洪災風險的區域。
預測水位洪水預報系統的第一步是確定河流是否會發生洪水。洪水預報系統的水文模型組成部分使覆蓋7500萬人的地區的洪水預警的前置時間增加了一倍。這些模型不僅增加了交貨時間,而且還提供了空前的準確性,在Google覆蓋的所有盆地中均達到99%以上,並預測90 cm內誤差在15 cm範圍內的水位。一旦預測到河流將達到洪水位,生成可行警告的下一步就是將河流位準預測轉換為洪水氾濫將如何受到影響的預測。
形態淹沒模型Google基於衛星影象開發了高質量的高程圖,並運行了基於物理的模型來模擬這些數字地形上的水流,Google現在已經將海拔圖擴充套件到了數億平方公里。但是,為了將覆蓋範圍擴大到如此大的區域,同時仍保持高精度,Google不得不重新發明如何開發淹沒模型。
淹沒模型估計將淹沒哪些區域以及水深。該視覺化從概念上顯示瞭如何模擬淹沒,如何定義風險水平(用紅色和白色表示)以及如何使用模型來識別應警告的區域(綠色點)
大規模的淹沒建模面臨三個重大挑戰。由於涉及的面積較大,並且此類模型需要解析度,因此它們必然具有很高的計算複雜性。此外,大多數全球高程圖都不包括河床測深圖,這對於精確建模很重要。最後,需要理解和糾正現有資料中的錯誤,其中可能包括儀表測量錯誤,高程圖中缺少特徵等。要糾正此類問題,可能需要收集其他高質量資料或手動修復錯誤資料,但兩者均無法很好地擴充套件。
Google的淹沒建模新方法(Google稱為形態模型)透過使用一些創新技巧解決了這些問題。除了實時模擬水流的複雜行為外,Google還對高程圖的形態進行計算,以使人們能夠使用簡單的物理原理來模擬淹沒。
首先,Google訓練一個純ML模型(缺乏基於物理學的資訊),以根據量規測量值估算一維河流剖面。該模型將河流特定點(水位計)的水位作為輸入,並輸出河流輪廓,即河流中所有點的水位。Google假設,如果水位計增加,水位將單調增加,即河流其他點的水位也會增加。Google還假定河流剖面的絕對高程向下遊減小(即,河流下坡)。
然後,Google使用此學習的模型和一些啟發式方法來編輯高程圖,以大致“抵消”如果該區域被淹沒時將存在的壓力梯度。此新的合成高程圖為Google使用簡單洪水預測模型建模洪水行為提供了基礎。最後,Google將生成的淹沒圖與基於衛星的洪水範圍與原始流量表的測量結果進行匹配。
這種方法摒棄了傳統物理學模型一些現實約束,但是在現有方法當前難以解決的資料稀缺地區,其靈活性使模型可以自動學習正確的測深法並修復基於物理的模型敏感的各種錯誤。這種形態學模型將準確率提高了3%,可以顯著改善大面積區域的預測,同時還可以透過減少對手工建模和校正的需求來加快模型開發的速度。
針對警報的定位許多人居住在形態淹沒模型未涵蓋的區域,但是仍然迫切需要獲得準確的預測。為了覆蓋這一人群並提高洪水預報模型的影響力,Google設計了一種端對端基於ML的方法,該方法幾乎使用了全球公開可用的幾乎所有資料,例如水位計測量,公共衛星影象和低水位。解析度高程圖。Google訓練模型以使用其接收到的資料直接實時地推斷淹沒圖。
從實時測量到淹沒的直接ML方法。當模型僅需要預測先前觀察到的事件範圍內的事件時,此方法“開箱即用”效果很好。推斷到更極端的條件更具挑戰性。但是,正確使用現有的海拔圖和實時測量值可以使警報比當前更準確的警報,這些警報未包含在更詳細的形態淹沒模型所覆蓋的區域。由於該模型具有高度可擴充套件性,因此Google僅需花費幾個月的工作便能在印度各地啟動該模型,並且希望很快將其推廣到更多國家/地區。
改進水位預報為了繼續改進洪水預報,Google開發了 HydroNets —一種專門用於水位預報的專業深度神經網路體系結構,它使Google能夠在實際操作中利用基於ML的水文學的一些令人振奮的設定。它的兩個突出特點使其與標準水文模型有所區別。首先,它能夠區分能夠很好地概括站點之間的模型元件,例如降雨徑流過程的建模,以及特定於給定站點的模型元件,例如評級曲線,將預測的排放量轉換為預期的水位。這使模型可以很好地推廣到不同的站點,同時仍然可以針對每個位置微調其效能。其次,HydroNets透過訓練大型結構(實際上是由較小的神經網路組成的網路)來考慮要建模的河網的結構,每個神經網路代表沿河的不同位置。這允許對上游站點進行建模的神經網路將以嵌入形式編碼的資訊傳遞給下游站點的模型,以便每個模型都可以知道其所需的一切,而無需大幅增加引數。
下面的動畫說明了HydroNets中資訊的結構和流程。上游子流域建模的輸出被組合成給定流域狀態的單個表示。然後,它由共享模型元件處理,並由網路中的所有流域通知,然後傳遞給標籤預測模型,後者計算水位(和損失函式)。然後,將網路迭代的輸出傳遞給下游模型,以此類推。
HydroNets體系結構的插圖。