兩種基于深度神經(jīng)網(wǎng)絡的新方法,均可成功求解 PDE,并且能夠以更快的速度、更簡單的方式建模復雜的系統(tǒng)。有趣的是,和大多神經(jīng)網(wǎng)絡一樣,我們猜不透它們?yōu)槭裁慈绱藘?yōu)秀。
研究者們致力于使用偏微分方程(Partial differential equation,PDE)來描述涉及許多獨立變量的復雜現(xiàn)象,比如模擬客機在空中飛舞、模擬地震波、模擬疾病在人群中蔓延的過程、模擬基本力和粒子之間的相互作用。
一直以來,求解復雜問題的偏微分方程都是世界級的難題。CPU 往往需要幾百萬個小時才能得出相對復雜的偏微分方程,而且越復雜的問題越難用偏微分方程解決。無論是設計更好的火箭發(fā)動機,還是模擬氣候變化,我們都需要更有效的方法來解決這些問題。
近來,研究者在偏微分方程的求解上取得了令人激動的新進展。他們構(gòu)建了新型的人工神經(jīng)網(wǎng)絡,實現(xiàn)了更快求解偏微分方程。經(jīng)過訓練后,新型的神經(jīng)網(wǎng)絡不但可以求解單個偏微分方程,而且無需再度訓練即可求解整個偏微分方程族。
瑞士蘇黎世聯(lián)邦理工學院的數(shù)學家 Siddhartha Mishra 表示,傳統(tǒng)的神經(jīng)網(wǎng)絡通常將數(shù)據(jù)從一個有限維空間映射或轉(zhuǎn)換到另一個有限維空間,但新型的深層網(wǎng)絡能夠在無窮維空間和無窮維空間之間映射。
毫無疑問,這樣的技術將加速涉及偏微分方程的許多模型。作為開發(fā)團隊的一員,Anima Anandkumar 說:「最終,我們的目標是取代非常緩慢且昂貴的傳統(tǒng)求解器。」
當然,新的方法絕不僅僅是作用于加速。對于只有數(shù)據(jù)卻不知用哪種偏微分方程進行建模的情況,訓練數(shù)據(jù)然后使用新型神經(jīng)網(wǎng)絡是唯一的手段。
神經(jīng)網(wǎng)絡入場求解 PDE
偏微分方程有用且極其難以解決的原因是它的復雜性。這使它們能夠?qū)Ω鞣N現(xiàn)象進行建模,例如,如果建模人員想知道流體在空間中任何一點(也稱為流場)以及在不同時間下的速度和壓力,可能會使用 Navier-Stokes 偏微分方程進行建模。求解 Navier-Stokes 方程,將獲得一個描述系統(tǒng)內(nèi)容的公式。如果對初始和邊界條件有足夠的了解,例如在時間 t = 0 時的流場值,則可以使用數(shù)學工具來解析偏微分方程。
但是偏微分方程常常復雜到?jīng)]有通用的分析解決方案,對于 Navier-Stokes 方程的最通用形式尚且如此:數(shù)學家尚未證明是否存在唯一解,更不用說通過分析實際上找到它們了。
甚至在超級計算機上,用數(shù)值法來解決復雜的偏微分方程可能也要花費數(shù)月的時間。而且,每次更改初始或邊界條件或所研究系統(tǒng)的幾何形狀都必須重新開始。同樣,使用的增量越?。ňW(wǎng)格越細),模型的分辨率就越高,數(shù)值法所需的時間就越長。
2016 年,研究人員嘗試將通常用于圖像識別的深度神經(jīng)網(wǎng)絡應用于解決偏微分方程。首先,研究人員生成了用于訓練深度網(wǎng)絡的圖像數(shù)據(jù)。其中輸入的是有關對象幾何形狀和流體初始條件的 2D 圖像編碼信息,而輸出的是相應速度場的 2D 快照。
有了數(shù)據(jù),研究人員開始訓練他們的神經(jīng)網(wǎng)絡,以學習這些輸入和輸出之間的相關性。訓練主要是先比較輸出與預期輸出的差別,然后用算法調(diào)整神經(jīng)元的權重,以最大程度地減少生成的輸出和預期輸出之間的差異。重復此過程,直到輸出誤差在可接受的范圍。
讓神經(jīng)網(wǎng)絡學習了如何解決偏微分方程是令人興奮的,但還有很大的不足。一旦在一定的網(wǎng)格尺寸上進行訓練,神經(jīng)網(wǎng)絡就變得非常特定于該分辨率。深度網(wǎng)絡已經(jīng)學會了預估將數(shù)據(jù)從一個有限維空間映射到另一個空間的函數(shù)。但以不同的分辨率求解偏微分方程時,如果想對流場有一個更細致的了解,或更改初始和邊界條件,則需要重新開始訓練,學習預估新的函數(shù)。
DeepONet
而現(xiàn)在的深度神經(jīng)網(wǎng)絡,不僅可以學習預估函數(shù),還可以學習將函數(shù)映射到函數(shù)的「算子」,并且似乎沒有遭受神經(jīng)網(wǎng)絡和其他計算機算法從數(shù)據(jù)中學習的維數(shù)問題。例如,如果想使神經(jīng)網(wǎng)絡的錯誤率從 10%降至 1%,則所需的訓練數(shù)據(jù)量或網(wǎng)絡規(guī)模可能會指數(shù)增長,從而導致任務無法實現(xiàn)。
在這之前,研究人員必須弄清楚如何讓神經(jīng)網(wǎng)絡學習算子來解決偏微分方程。布朗大學的 George Karniadakis 表示,學習算子是從無窮維空間到無窮維空間。算子作用于一個函數(shù),然后將其轉(zhuǎn)換為另一函數(shù)。比如,一個算子將一個函數(shù)轉(zhuǎn)換為其導數(shù)(比如 x 的正弦轉(zhuǎn)換為 x 的余弦),其輸入和輸出端都是無窮維的。
學習預估算子的深度網(wǎng)絡可用于一次求解整個偏微分方程族,對一系列初始和邊界條件以及物理參數(shù)建模相同的現(xiàn)象。這樣的偏微分方程族是輸入端的一組函數(shù),而對偏微分方程公式的相應解決方案則由輸出端的函數(shù)來表示。
1995 年的一項研究表明,淺層網(wǎng)絡可以看成是算子。由于涉及神經(jīng)網(wǎng)絡,因此此類算子也叫神經(jīng)算子,即實際算子的近似值。在 2019 年 10 月,Karniadakis 和他的同事把這種理論延伸到了深度神經(jīng)網(wǎng)絡,提出了「DeepONet」,一種可以學習這種算子并一次求解多個偏微分方程的深度神經(jīng)網(wǎng)絡架構(gòu)。

論文鏈接:http://arxiv-export-lb.library.cornell.edu/pdf/1910.03193
DeepONet 的獨特之處在于它的分叉式架構(gòu),該架構(gòu)在兩個并行網(wǎng)絡(「分支」和「主干」)中處理數(shù)據(jù)。前者學習預估輸入側(cè)的許多函數(shù),后者學習預估輸出側(cè)的函數(shù)。然后,DeepONet 將兩個網(wǎng)絡的輸出合并,以學習偏微分方程所需的算子。訓練 DeepONet 的過程包括反復地展示使用數(shù)字求解器生成的一族偏微分方程的輸入、輸出數(shù)據(jù),并在每次迭代中調(diào)整分支網(wǎng)絡和主干網(wǎng)絡中的權重,直到整個網(wǎng)絡出現(xiàn)的錯誤量可以被接受為止。
因此,DeepONet 一旦經(jīng)過訓練,就會學會預估算子。它可以在輸入端獲取代表偏微分方程的數(shù)據(jù),然后將其轉(zhuǎn)換為輸出端偏微分方程解決方案的數(shù)據(jù)。假設有 100 個代表了訓練數(shù)據(jù)中沒有的初始 / 邊界條件和物理參數(shù)以及所需的流場位置的樣本被提供,那么 DeepONet 可以在不到一秒的時間提供流場。

DeepONet 架構(gòu)圖。
但是,即使 DeepONet 跟數(shù)值求解器一樣快速,它仍必須在訓練期間執(zhí)行密集的計算。當必須用大量數(shù)據(jù)訓練深度網(wǎng)絡以使神經(jīng)算子越來越精確時,這可能會成為一個問題。
那么,神經(jīng)算子還能更快嗎?
傅里葉神經(jīng)算子
去年,加州理工學院的 Anima Anandkumar 和普渡大學的 Kamyar Azizzadenesheli 共同建立了一個稱為傅立葉神經(jīng)算子(FNO)的深度神經(jīng)網(wǎng)絡。

論文鏈接:https://arxiv.org/pdf/2010.08895v2.pdf
研究者聲稱新的架構(gòu)使網(wǎng)絡具有更快的速度,能將函數(shù)映射到函數(shù),從無窮維空間到無窮維空間,并且在偏微分方程上測試了該神經(jīng)網(wǎng)絡。
解決方案的核心是傅立葉層:在訓練數(shù)據(jù)通過神經(jīng)網(wǎng)絡的每一層之前,先對其進行傅里葉變換。然后,該層通過線性運算處理數(shù)據(jù),再執(zhí)行傅立葉逆變換回原始格式。此過程顯然比 DeepONet 的計算更直接,并且能夠通過卷積偏微分方程與其他函數(shù)的數(shù)學運算來求解偏微分方程。在傅立葉領域中,卷積相當于一個簡單的乘法,將經(jīng)過傅立葉變換的數(shù)據(jù)通過一層已訓練過權重的人工神經(jīng)元傳遞,然后進行傅立葉逆變換。最后,F(xiàn)NO 學習了整個偏微分方程族的算子,將函數(shù)映射到函數(shù)。
FNO 深度神經(jīng)網(wǎng)絡同時擁有極快的運行速度。例如,在一個需要進行 30000 次仿真(包括 Navier-Stokes 方程)的求解過程中,對于每個仿真,F(xiàn)NO 花費了不到一秒的時間;而 DeepONet 耗時 2.5 秒;傳統(tǒng)的求解器則大概需要花費 18 個小時。
總結(jié)
很顯然,DeepONet 與 FNO 這兩種方法都會超越傳統(tǒng)的求解器。兩個團隊的方法都是成功的,但是與大多黑盒化的神經(jīng)網(wǎng)絡一樣,目前我們尚不清楚它們?yōu)槭裁慈绱顺錾?,以及是否在所有情況下都如此出色。
經(jīng)過一年的努力,今年 2 月研究人員發(fā)表了對 DeepONet 架構(gòu)長達 112 頁的數(shù)學分析。研究證明這種方法是真正通用的,不僅僅是偏微分方程,DeepONet 可以將輸入端的任何函數(shù)集映射到輸出端的任何函數(shù)集。
而對 FNO 的數(shù)學分析尚未完成。不過對于沒有確定的偏微分方程的現(xiàn)象,學習神經(jīng)算子很可能是建模此類系統(tǒng)的唯一方法。比如交通問題,編寫精確捕捉交通動態(tài)的偏微分方程幾乎是不可能的,但是可以學習的數(shù)據(jù)量卻非常之多。
