
隨著GPU能力的提升,支撐深度學習的軟硬體生態得到了快速發展。透過深度學習來解決科學計算問題成了一種趨勢,其中用深度學習來求解微分方程的方法也逐漸興起。尤其引人注意的是一種稱為物理導引神經網路的方法,其為科學計算領域注入了新的活力。物理導引神經網路(PINN: Physics Informed Neural Network)方法的核心思路是用神經網路來表徵微分方程的解,透過訓練神經網路來不斷地逼近數值解,從而帶來有別於傳統數值方法的一些優勢。本文將介紹該方法的基本思想,並透過一個簡單的案例來說明其基本實現,以及該方法近期的一些發展。
十七世紀末,物理和天文學上的問題催生了微積分,同時關於微分方程的研究也應運而生。十八世紀中期,伴隨著當時科技發展,微分方程已經發展成一個獨立的學科,而物理定律也不斷地以微分方程的形式出現。例如物質的輸運過程、聲音在空氣中的傳播、熱的擴散、電磁波通訊、水和空氣的流動過程,以及量子力學的物質波——薛定諤方程等等(見圖1)。物理學上的成功,使得微分方程的理論和技術延伸到化學、生物學,以及經濟學等廣闊的科學領域。因此,可以毫不懷疑地說,微分方程在科學和工程領域扮演著極為重要的作用。

利用微分方程來解決問題的常規做法是,首先對問題進行分析,再用微分方程對模型進行建模,然後收集觀測資料,配置模型的關鍵引數和條件(例如微分方程的初始條件、邊界條件等)。之後透過數學手段對微分方程進行求解,通常還需要將微分方程進行某種意義上的離散化,轉為計算機可以計算的形式,最後求得解。
多數情形下,解決實際問題的關鍵在於微分方程的解,因此如何求解微分方程的解成了解決問題的焦點。然而多數微分方程無法求得解析解,或者即使有解析解,也由於其過於複雜而無法應用,因此透過數值方法近似求解成了最切實的解決手段。對於實際問題,通常還會涉及近似解的精確性,對環境擾動的穩定性,以及求解的計算效率等問題。因此,求解微分方程已經發展成一個龐大的領域,發展出了許多數值計算方法,如差分方法、有限體積方法、有限元方法等等。
然而隨著微分方程需要解決的問題不斷地增加,傳統方法面臨著諸多問題。例如:1)適應性問題,實際問題面臨的資料總是多種多樣的,資料多但可能不完整,或具有一定的隨機性,使得傳統方法無法很好地適應這些資料;2)門檻高,專用軟體具有一定的學習難度,當計算規模變大時,往往還需要在原有的框架下編寫並行程式,導致維護成本升高;3)通用性問題,傳統方法對於不同的微分方程型別,發展了很多不同的數值手段,往往並不通用,需要為此單獨編碼,導致專用軟體為了處理通用性使得程式碼規模快速地增長。
深度學習的發展,為傳統方法注入了新的活力。相比與傳統的數值方法,物理導引神經網路方法(PINN:Physics Informed Neural Network)方法是一種無網格方法[1],其優勢在於:1)更好的適應性,能夠充分地利用收集到的資料;2)易實現,容易透過現有的深度學習工具鏈來實現,並更好地使用GPU來完成平行計算;3)更廣的適用範圍,例如適用於積分微分方程[2]、隨機偏微分方程[3]、分數階偏微分方程[4],甚至是求解一些數學上非良定的反問題[1]。
PINN方法的基本思想是將待求解用神經網路進行表徵,將初始條件、邊界條件和方程約束轉化為神經網路的損失函式,並透過梯度下降方法最佳化待求解,從而使得待求解達到物理約束要求。該方法得益於神經網路的強大表徵能力,以及目前流行的深度學習工具如TensorFlow、PyTorch。這些工具都具有強大的自動微分功能,可以輕鬆地為求導數的過程構建計算圖,訓練神經網路即可求解微分方程。
為了更加直觀地介紹該方法,這裡以剎車問題為例。假設有一輛小車,在距離終點1米處開始減速,且滿足一定的物理規律(如剎車速度隨距離線性遞減)。面對如上情景,需要解決的問題:a)預測小車1秒後停留的位置, 以及b)預測小車到達終點的時間。
為了回答上述問題,解決方案可大致分為三種方式:大資料方式、物理模型方式、PINN方法。
首先是大資料方式,這裡以目前流行的神經網路方法為例。神經網路方法的一般流程是1)收集儘可能多的資料;2)搭建通用的神經網路,構建損失函式,用收集到的資料訓練網路;3)利用訓練好的神經網路來進行推理,從而解決問題。
這裡假設已經透過感測器測量,收集到如下資料(非真實資料,僅作示意)。

記收集到的資料點為

,待擬合函式為

,神經網路表徵形式為

,如下圖:


示意圖

-
預測小車1秒後停留的位置——即求函式值
;
-
預測小車到達終點的時間——即求函式滿足方程
時t的解。
接下來是物理模型方法。作為一個物理問題,剎車問題可以透過引入物理先驗知識來求解。這裡的先驗知識是剎車速度隨距離線性遞減,因此建立如下物理模型:

其中λ可以已知也可以未知,為了簡單起見,這裡假設λ= 1。於是問題轉為求解上述物理模型(其中初始條件為

)。當方程形式較簡單時,即可透過解析法來求解,如該問題的解析解為

。而當方程形式較複雜時,可用差分方法進行迭代求解,




以上問題涉及的是常微分方程(僅含一個自變數導數),這裡再給出一個偏微分方程(含多個自變數導數)的例子。注意,傳統方法對常微分方程、偏微分方程的數值處理形式有不小的差別,但對於PINN方法,對二者的處理方式可以統一起來。下面來考慮一維的Burgers方程的求解。該方程出現在許多領域,如流體力學、氣體動力學以及交通流等問題中。它是一個基本的偏微分方程,可以看成流體動力學方程的一個簡化(去除壓力梯度項)。對於較小的粘滯係數,Burgers方程會導致激波的形成,這是傳統數值方法難以精確解決的問題之一。其方程和初邊值條件如下:



為初邊值(初值、邊界值)上的標籤資料的損失,而

可看作偏微分的方程誤差,由於其含有偏導數,因此需額外處理含有偏導

的部分:


目前,有關PINN方法的研究正在如火如荼地開展中,也出現了一些有意思的拓展。例如,處理更復雜的時空問題,可以將大空間區域進行分解[5,6];應用於涉及積分的微分方程,可以進行簡單地離散化[7],或者是更巧妙方式如自積分方法AutoInt[8]。應對高維情況問題[9],以及結合不確定性的問題[10],不同的神經網路結構[11],以及上一篇公眾號提到的工作。同時近期也發展了一些軟體包,如DeepXDE,NVIDIA SimNet,以及SciANN、TensorDiffEq, NeuroDiffEq, IDRLNet 和基於 Julia 語言的 NeuralPDE,其中比較流行的軟體包為DeepXDE,以及NVIDIA的產品SimNet。有關這一領域更多的進展,可以參考綜述性的文章[12]與書籍[13]。
從上述的介紹可以看出,PINN方法是一種介於大資料方法和物理模型方法的融合方法。這種方法將物理模型和資料都轉變為了損失項,從而使得模型與資料之間的隔閡變小。可以從下圖得到一些關於PINN方法適用範圍的啟發。

[1] Raissi, M., Perdikaris, P., & Karniadakis, G. E. (2019). Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational Physics, 378, 686-707.
[2] Xu, H., Zhang, D., & Wang, N. (2021). Deep-learning based discovery of partial differential equations in integral form from sparse and noisy data. Journal of Computational Physics, 445, 110592.
[3] Zhang, D., Guo, L., & Karniadakis, G. E. (2020). Learning in modal space: Solving time-dependent stochastic PDEs using physics-informed neural networks. SIAM Journal on Scientific Computing, 42(2), A639-A665.
[4] Pang, G., Lu, L., & Karniadakis, G. E. (2019). fPINNs: Fractional physics-informed neural networks. SIAM Journal on Scientific Computing, 41(4), A2603-A2626.
[5] Jagtap, A. D., & Karniadakis, G. E. (2020). Extended physics-informed neural networks (xpinns): A generalized space-time domain decomposition based deep learning framework for nonlinear partial differential equations. Communications in Computational Physics, 28(5), 2002-2041.
[6] Kharazmi, E., Zhang, Z., & Karniadakis, G. E. (2021). hp-VPINNs: Variational physics-informed neural networks with domain decomposition. Computer Methods in Applied Mechanics and Engineering, 374, 113547.
[7] Lu, L., Meng, X., Mao, Z., & Karniadakis, G. E. (2021). DeepXDE: A deep learning library for solving differential equations. SIAM Review, 63(1), 208-228.
[8] Lindell, D. B., Martel, J. N., & Wetzstein, G. (2021). Autoint: Automatic integration for fast neural volume rendering. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 14556-14565).
[9] Beck, C., Becker, S., Grohs, P., Jaafari, N., & Jentzen, A. (2021). Solving the Kolmogorov PDE by means of deep learning. Journal of Scientific Computing, 88(3), 1-28.
[10] Zhang, D., Lu, L., Guo, L., & Karniadakis, G. E. (2019). Quantifying total uncertainty in physics-informed neural networks for solving forward and inverse stochastic problems. Journal of Computational Physics, 397, 108850.
[11] Ren, P., Rao, C., Liu, Y., Wang, J., & Sun, H. (2021). PhyCRNet: Physics-informed Convolutional-Recurrent Network for Solving Spatiotemporal PDEs. arXiv preprint arXiv:2106.14103.
[12] Karniadakis, G. E., Kevrekidis, I. G., Lu, L., Perdikaris, P., Wang, S., & Yang, L. (2021). Physics-informed machine learning. Nature Reviews Physics, 3(6), 422-440.
[13] Thuerey, N., Holl, P., Mueller, M., Schnell, P., Trost, F., & Um, K. (2021). Physics-based Deep Learning. arXiv preprint arXiv:2109.05237.


壁仞科技研究院作為壁仞科技的前沿研究部門,旨在研究新型智慧計算系統的關鍵技術,重點關注新型架構,先進編譯技術和設計方法學,並將逐漸拓展研究方向,探索未來智慧系統的各種可能。壁仞科技研究院秉持開放的原則,將積極投入各類產學研合作並參與開源社群的建設,為相關領域的技術進步做出自己的貢獻。

