當前位置:
首頁 > 新聞 > 彩雲天氣:用神經網路「看見」北京的下一場雪

彩雲天氣:用神經網路「看見」北京的下一場雪

終於辦下了進京證的大雪刷屏了全北京的朋友圈,故宮門票飛速售罄,北海景山人滿為患。不知道你是如何查天氣的,作為一名(偽)AI 行業從業者,我是攢了一打故宮門票盯著彩雲天氣時刻準備著出發,並於昨天成功看到了紫禁城的第二場雪的。如果說要感謝誰的話,感謝 24 小時緊盯雷達圖的神經網路吧!

彩雲天氣:用神經網路「看見」北京的下一場雪

打開今日頭條,查看更多圖片

「經驗告訴我們:天空的薄雲,往往是天氣晴朗的象徵;那些低而厚密的雲層,常常是陰雨風雪的預兆……」

家喻戶曉的說明文《看雲識天氣》里,描繪的是人類如何用肉眼觀察來提取特徵、預測天氣的的過程。而近 40 年來,氣象工作者們基於大氣物理方程,用更為科學和量化的「模式」方式,將預測的精度不斷提高,時間範疇不斷擴大。

故事的另一面,自五年前開始,神經網路似乎成了各個學科領域裡一把屢試不爽的萬能鑰匙,無論是空間抽象問題,還是時間序列問題,似乎都能取得遠勝從前的效果。那麼這把萬能鑰匙,是不是也能打開氣象領域某些隱藏的塵封的門?

事實上,「用神經網路預測天氣」並非天方夜譚,你手機里的「彩雲天氣」APP 告訴你的「25 分鐘後雨漸停,不過一小時後還有雨。」正是神經網路根據氣象雷達基本反射率給出的預測結果。

天氣預報是如何煉成的?用神經網路的思路和傳統思路有什麼不一樣?彩雲天氣演算法總監徐朋秋,為我們仔細講述了這個神經網路版本的「看雲識天氣」的故事。

機器之心:天氣預報有哪些種類?彩雲天氣想要做的是何種類型的天氣預報呢?

打開中央氣象台的網站,我們能看到一個官方分類法是以城市劃分的籠統的城市預報,對於颱風等特殊氣象現象有專門的現象預報,還有一些針對環境、農業、水文等行業的特殊需求預報。

彩雲天氣想要做的其實也是針對特殊需求的解決方案,例如短臨降水。

機器之心:能否介紹下,在機器學習進入之前,天氣預報是如何煉成的?

不同種類的天氣預報流程會有很大差異。這裡介紹一下大家日常熟悉的以一兩天為單位的天氣預報的預報流程。

首先國際氣象組織通過全球的國際交換站收集到實況的氣象資料,這裡的氣象資料不是大家提到氣象所想到的雲、霧這些現象,而是解大氣物理方程需要的基本量:水汽含量、溫度、濕度、輻射等。

隨後,這些氣象資料進入一個數值模式的同化系統中,經過一個四維變分同化,輸出未來 10-15 天範圍內逐小時的狀態預報。

同化指的是把想要進入大氣物理方程,但是不屬於基本量的其他數據,變成基本量。例如,風速(大氣流速)也是一個基本量,但是直接探測流速,尤其是大面積的流速是很困難的。因此有人就研究了一個方法,認為衛星圖裡觀測到的雲的移動和風有一些關係,就把雲的移動的資料同化到了一個模式中,轉化成了風。

同化完成之後,我們根據氣象模式,也就是一系列大氣物理方程組,輸入地表往上的三維結構里每一層的大氣狀態基本量,計算這些基本量在未來的值,也就是未來的濕度、風向、風速等等。

接下來,根據未來的氣象基本狀態,人們把能想到的影響因素都考慮進來,預測天氣情況,比如多雲、下雨、有霧等等。

最後,因為推斷過程中仍然有很多人類未知的因素,即使所有基本量都是準確的,也依舊無法準確地判斷「是否會下雨」。這時,天氣預報員就會根據他看數值預報多年的經驗以及在當地長期生活的經驗,對預報結果進行一些修正。

整個過程,尤其是氣象模式計算所需的計算量格外巨大,中國的氣象模式跑在太湖之光超級計算機上,而世界上排名靠前的超算里,也有好幾台都在跑氣象模式。

機器之心:引入機器學習能夠幫助這個過程嗎?

可以的,主要在整個過程中需要進行模糊估計的部分。

在剛才的過程里,存在模糊估計的部分有:

  • 需要當前狀況的面數據,但是只有觀測站的點數據,因此需要對當前狀況進行猜測(類似插值)
  • 同化工作,把一些非基本量數據通過一些公式轉化為基本量,因為同化公式通常是一些經驗公式,沒有預報公式那麼可靠,也需要一定的估計
  • 解方程的時候,不同的地表(城市,樹林,岩石,等)與空氣摩擦,產生的熱力學效應不一樣,通常採用的方式是用某一個摩擦係數代表一類地表,但是這個預估過程中間也可以通過機器學習做到更準確
  • 從得到方程結果到預測實際天氣的過程里,很多影響天氣的因素實際上很難被納入一個非常精確的模型當中:例如「是否會下雨」這樣的微物理過程中存在很多的模糊因素。

此外,也有很多人類活動影響天氣的例子。例如華東地區的霧霾就會影響地區的溫度、能見度,甚至濕度:相同濕度下,這些粒子的存在讓水蒸氣更容易凝結成水滴。而如果想要用精確的方程描述霧霾的發展,需要拿到精確的排放關係,而事實上是沒有人能實時獲得所有的工廠、熱電廠的排放數據。

在上述這樣的情況下,人們仍然希望儘可能準確地對天氣進行預測,對未來氣象進行估計,就可以用機器學習的方式,或是說參數估計的思想,對一些模糊的地方進行模糊的判別,然後去進行模糊的估計,判斷模糊要素對未來的影響。

最後,我們還有一個非常宏大的理想:我們發現整個氣象模式這套解方程體系是可以反向傳播的,所以我們立志把整個方程組做成一個可以反向傳播的神經網路!當然我們距離這個目標還非常遙遠,用模式方式進行天氣預報這個過程,已經業務化運行 40 年了,想找到能與之匹敵的神經網路,是有著非常巨大難度的。

深度學習成體系的應用時間也並不長,深度學習和氣象領域的結合也處於剛剛開始的階段。現有的幾篇工作大部分還是在短臨降水領域。

機器之心:現在有哪些天氣預報過程中使用了機器學習嗎?

機器學習對於氣象來說並不是「新鮮事」,機器學習最早的應用領域之一就是氣象判別。現在整個大氣學界也一直在這方面進行致力於它的改進,每年都有各種各樣的人去發明新的同化演算法、預報演算法,改進裡面的參數。

比較知名的應用機器學習的例子包括,預報颱風強度和強對流天氣。

颱風是一個大家很關心的現象,最好的演算法是一個機器學習演算法:它集合了一些 模式人工抽取的特徵,利用 SVM、隨機森林之類的方式對颱風強度做預判。

另外一個例子是強對流天氣的預測。對於冰雹、大風、閃電這些現象的預測,有一種方法是用機器學習判定其發生位置。近年來這個演算法在評測中已經超越了人類預報員了。

機器之心:彩雲天氣為什麼想要做短臨降水?方法和傳統方法有什麼區別?

其實「深度學習和氣象結合」並不是我們的切入點。我們有一些更為直接的由需求轉化而來的初衷。比如作為一名生活在北京的自行車愛好者,我會特別困擾於北京夏天短臨降水報不準的問題:幾小時區間內的小範圍降水,尤其是夏天,傳統方法報出來的結果沒法用的。

上面這是需求方面,而在技術方面,2000 年之後,我國氣象雷達得到了大範圍的普及。氣象雷達會主動發送 2 GHz 到 3 GHz 、和 Wi-Fi 波段差不多的電磁波,以分鐘為單位進行掃描。根據散射方程可以算出來,這樣的電磁波對 零點幾毫米幾毫米大小的粒子特別敏感,而散射回來的波的強度就和粒子的個數以及體積有關。

而降水就是水蒸氣到了空中,先變成小冰晶或者小雨滴,然後越來越大,直到最大的時候就是落到地上的時候了。因此可以觀察整個過程,回波最強的時候就是水滴體積最大,個數最少的時候,也是雨要落到地上的時候了。利用這種原理,我們就能探測到空中那些個數又多體積又大的例子,而這種例子在經過一些質量控制方法篩選之後,其實就是降水。

所以我們是根據雷達圖對短臨降水做預測。然後以手機 app 的形式呈現給用戶隨時查看。

彩雲天氣:用神經網路「看見」北京的下一場雪

現階段我們希望能夠成為模式的一種修正,一方面讓我們對氣象有一個更好的了解,另一方面是能夠服務到大家:模式能夠報得好的東西,比如氣壓,通常離大家的生活很遠。我們想要報一些離人們生活更近的、不一定是純氣象範圍的問題,例如霧霾。

機器之心:用氣象雷達進行短臨降水預測有哪些優缺點?

優點是它相對比較精確。利用氣象雷達,我們就可以用分鐘級的數據對其掃描範圍(大約 250m x 250m)內是否會發生降水進行非常精確預測。

缺點是它也會受到一些干擾:比如飛機飛過也會有回波,鳥飛過也會有回波,還會綿延好幾分鐘,不能說飛機和鳥下面正在下雨。再比如中國尊它特別高,擋到了雷達,也不能預報說中國尊下面一直在下雨。

彩雲天氣:用神經網路「看見」北京的下一場雪

機器之心:在利用雷達數據進行短臨降水預報的過程中是否有用到深度學習?

完成整個過程的第一代模型可以分為分割和預測兩部分。都是利用深度學習完成的。

首先,分割的目的是要排除干擾,把飛機、飛鳥、中國尊以及一些不是降水的大氣擾動找出來,判斷雷達收到的回波究竟是不是降水回波。這個模型就是利用圖像分割模型完成的。當時以 U-net 和 SegNet 為基礎模型,標註了數據進行了訓練。

彩雲天氣:用神經網路「看見」北京的下一場雪

分割完成之後的預測部分也採用了全深度學習模型。這是因為想要用傳統的拿基本量、解氣象方程做短臨降水問題是不可行的:想做短臨降水意味著需要分鐘級的基本量數據,但是這部分數據在全球範圍內都不是公開可得的。

因此,我們的思路是,既然沒有辦法建立一個完備的方程組並用其進行預測,那麼不如進行模糊預測。而我們最初判斷深度學習可以做這個預測的原因是,這份工作是人能做的,而且這種人為預測在氣象部門其實已經很常見了。舉個例子,北京在下雨之前會有時候手機上會收到雷電預警,就是由氣象局的「氣象雷達短臨崗」的工作人員在雷達圖上觀測到相應的特徵,然後掛出的預警。

我們訓練了一個端到端的網路,把特定時間分割過的雷達圖以及一些其他數據做輸入,把未來一個時間點的分割過的雷達圖做輸出進行預測。例如雷電的預測就是輸出一張和輸入相同大小的矩陣,每個點上的值代表這個位置發生雷電的概率。

機器之心:現在的短臨模型和第一代模型有什麼區別?

現在的模型把分割和預測兩個分離的過程合到了一起,做了一個完全端到端的模型。

好處是比原來還要方便很多。壞處就是有時候因為模型沒見過特定的樣例判斷錯了之後我們還要把模型拆回去檢查它為什麼錯。

現在的模型在六個小時的時間範圍內已經可以做到和模式預報的結果差不多了。

機器之心:數據集如何收集?需要自己進行標註嗎?有哪些注意事項?

我們自己做了標註工具,自己進行了標註。全國有兩百多個雷達基站,夏天和冬天的數據不一樣,所以我們標註了十萬張左右的雷達數據,用各種數據增強方法把訓練集規模擴大到幾千萬。

不同季節、不同緯度的數據都要囊括,比如哈爾濱和海南的熱力學性質就不一樣,然後不同地形也都要採樣,比如說西安,因為南面有秦嶺,就和其他附近沒有山的城市不一樣。

機器之心:除了短臨降水之外,還打算用深度學習做其他預報嗎?如果把深度學習模型視為一樣工具,如何用這些工具解決特定問題呢?

有的,我覺得在短臨之外也有很多可以做的地方:因為一方面短臨能解決的問有限,另外一方面我們想把短臨在比較長的時間軸上融合起來,做成一個短時間也准、長時間也準的預報。

氣象領域的深度學習可以概括為一個「看需求造模型」的過程。

現有的深度學習,幾乎每個模型都可以被拆分為一堆組件。而組件的類型也就三、四種:例如以卷積層和其他線性層、非線性層、上下採樣層,還有一些規範化層(norm)。我們要做的就是用各種方式糅合這四類層,把它做成一張計算圖。

糅合的過程中可以從一些物理的角度來思考問題:比如是否需要時間平移不變性、空間平移不變性,然後非線性度需要多少。甚至還有一些問題,就像之前的基於「模式」的方法一樣,整個方程都已經寫定了,我們只需要優化一些參數。換言之,我十分確定每個模型上的參數如何對應方程里的參數。然後我們就依照公式去造一個模型,讓它去學習相應的參數。

所以說模型的規模是可大可小的,當一個問題的物理性質非常明晰的時候,其中只有很少的一點不確定性需要學習,此時可能用一個一層、兩層的 MLP 就可以解決這個問題。

機器之心:在現有深度學習的研究中,有哪些進展可能會對氣象非常有幫助呢?

最新一屆 NIPS(NeurIPS)的最佳論文,神經常微分方程,讓我們非常興奮。如同前面所說,氣象模式這套以大氣運動基本方程組為核心的系統理論上是可以反向傳播的、能夠對係數求偏導的,那麼理論上也可以用一個神經網路去模擬。但是雖然理論上有可能性,實現上卻有非常多障礙。例如實現中,很多條件都並非可微分的,而是用條件語句(if else)寫出來的。

因此建立一個大的神經網路需要精確地進行劃分,把不可微分的部分剝離出去作為數據,把可微分的部分變成參數。

突破點已經有一些,很多研究者拿模式的輸出數據去做強對流預測、海洋表面溫度預測、短臨預測等等,但後續等待著我們的工作還非常多,我們需要把人類已有的氣象知識以合適的方式編碼到神經網路中,減少對數據量的需求。現在模式的方式只需要全球幾千個觀測點的數據就能做到給出全球任何一個地點的輸出,依靠的就是人類物理知識的先驗。而模式從提出到現在已經 40 年時間,仍然與人有很大的差距,更不能說完全替代人,深度學習要走的路就更長了。

現在全球範圍內,氣象領域擁有的「智力資源」還是太少了,研究者非常少,氣象模式計算又是在氣象領域中非常冷門的一個子領域,真正落實到一個特定實際操作中需要解決的問題,可能全球範圍內研究者不過數十人。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

看得見的高斯過程:這是一份直觀的入門解讀
讓智能體主動交互,DeepMind提出用元強化學習實現因果推理

TAG:機器之心 |