方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

機器之心專欄

機器之心編輯部

偏微分方程是領域知識的一種簡潔且易於理解的表示形式,對於加深人類對物理世界的認知以及預測未來變化至關重要。然而,現實世界的系統過於紊亂和無規律,控制方程往往具有複雜的結構,難以從機理模型中直接推導獲得。

研究者們希望透過機器學習方法,直接從高維非線性資料中自動挖掘最有價值和最重要的內在規律(即挖掘出問題背後以 PDE 為主的控制方程),實現自動知識發現。

近日,東方理工、華盛頓大學、瑞萊智慧和北京大學等機構的研究團隊提出了一種基於符號數學的遺傳演算法 SGA-PDE,構建了開放的候選集,可以從資料中直接挖掘任意形式的控制方程。

實驗表明,SGA-PDE 不但可以從資料中挖掘到 Burgers 方程(具有互動項),Korteweg–de Vries 方程(KdV,具有高階導數項),和 Chafee-Infante 方程(具有指數項和導數項),而且還成功挖掘到粘性重力流問題中的具有複合函式的控制方程,以及具有分式結構的方程,而後兩者是此前方法難以發現的。SGA-PDE 不依賴關於方程形式的先驗知識,填補了複雜結構控制方程挖掘問題的空白。該模型無需提前給定方程候選集,利於自動知識發現演算法在未知科學問題中的實際應用。

該研究以《Symbolic genetic algorithm for discovering open-form partial differential equations (SGA-PDE)》為題,於 6 月 1 日發表在 Physical Review Research 上。

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

目前常見的知識發現思路是利用稀疏迴歸,即預先給定一個封閉的候選集,然後從中選擇方程項,並組合出控制方程,如 SINDy 和 PDE-FIND。但是此類方法要求使用者預先確定方程的大致形式,再將所有對應的微分運算元作為候選集中的函式項提前給出,

無法從資料中找到候選集中不存在的函式項

。最新的一些研究嘗試利用遺傳演算法擴充候選集,但是基因的重組和變異存在較大侷限性,依然

無法產生複雜結構的函式項(如分式結構和複合函式)

從資料中直接挖掘開放形式控制方程的關鍵在於以一種易於計算的方式生成並表示任意形式的控制方程,並透過衡量生成的方程與觀測資料的符合程度,來評估方程形式的準確性,進而對挖掘的方程進行迭代最佳化。因此,自動知識發現的核心問題是表示與最佳化。

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

表 1。 自動控制方程挖掘方法對比表

表示問題的挑戰在於:

1. 如何利用有限的基礎單元來表示無限的複雜結構控制方程(即開放候選集)

2. 如何構建易於計算的控制方程表示方法。

為了能夠自由表示任意結構的方程,研究人員將 SGA-PDE 的基本表示單元弱化到了運算元和運算子,並透過符號數學的方法,利用二叉樹構建了開放候選集。

最佳化問題的挑戰在於:

1. 方程形式與方程評估指標之間的梯度難以計算

2. 開放候選集的可行域是無窮大的,最佳化過程很難有效兼顧探索(exploration)與利用(exploitation)

。為了能夠對開放候選集問題高效尋優,研究人員利用一種針對樹結構特殊設計的遺傳演算法實現方程形式的最佳化。

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

圖 1:自動知識發現問題和 SGA-PDE 示意圖

研究人員首先透過細化演算法中方程的基本表示單元來表示開放形式的偏微分方程,

將方程的表示尺度從獨立的函式項層面轉化為更基礎的運算子和運算元層面

SGA-PDE 將控制方程中的運算子分為雙運算子(如 +、-)與單運算子(如 sin、cos),然後將所有潛在變數定義為運算元(如 x、t、u)。研究人員採用二叉樹的結構將運算子與運算元組合起來,對不同的方程進行編碼。二叉樹中所有的終端節點(度為 0 的葉子節點)對應於運算元,所有的非終端節點對應於運算子,其中雙運算子對應於度為 2 的節點,單運算子對應度為 1 的節點。

如圖 2 所示,透過一種可計算字串作為連線,

任何一個函式項都可以轉化為一顆二叉樹

,同時,

滿足一定數學規則的二叉樹也可以轉化為函式項

。進而一個

具有多個函式項的控制方程等價於一個由多棵二叉樹組成的森林

。SGA-PDE 透過符號數學的方式,表示任何開放形式的偏微分控制方程。此外,論文中也提出了一種隨機生成具有數學含義的二叉樹的方法,可以保證生成的二叉樹不違背數學原理。

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

圖 2:二叉樹與函式項之間的表示和轉化方法

由於圖 2 所示表示方法能夠將函式空間中的樣本和二叉樹空間的樣本一一對應。這意味著

基於符號數學的表示方法是有效且非冗餘的

,可以作為遺傳演算法中編碼過程

。研究者提出了一種針對樹結構的遺傳演算法(圖 3),從實驗資料中自動挖掘符合觀測資料的控制方程。這種針對樹結構的遺傳演算法

可以實現在不同層面的最佳化

重組環節是在森林(方程)層面最佳化

,以找到二叉樹(函式項)的最優組合方式。這一環節與當前常見的稀疏迴歸類方法類似,是在封閉候選集內的尋優。

變異環節是在二叉樹(函式項)層面最佳化

,透過隨機產生不同的節點屬性,找到在給定的二叉樹結構下,最優的節點屬性組合,本質上是對當前結構的利用(exploitation)。

替換環節同樣是在二叉樹(函式項)層面最佳化

,但是會產生新的二叉樹結構,是對樹結構的探索(exploration),實現了完全開放候選集中的最佳化。

SGA-PDE 透過多層級的最佳化,可以兼顧二叉樹拓撲結構的利用與探索,有利於高效找到最優的方程形式。

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

圖 3:針對樹結構的遺傳演算法

實驗資料如圖 4 所示,其中第 2 列展示了物理場觀測值,

是 SGA-PDE 的唯一輸入資訊

。第 3 列和第 4 列中的基礎一階導數可以透過對物理場觀測值差分獲得。第 1 列為正確的方程形式。實驗中 SGA-PDE 採用了相同的預置運算元和運算子,不需要針對具體問題進行調整,以便驗證演算法的通用性。

最終,SGA-PDE 成功從資料中挖掘到 Burgers 方程,KdV 方程,Chafee-Infante 方程,具有複合函式求導的粘性重力流控制方程,以及具有分式結構的方程。上述方程具有

指數項、高階導數項、互動項、複合函式和巢狀結構等多種複雜形式

表 2 對比了多種已有演算法在上述 5 種算例中的計算結果,可見 SGA-PDE 填補了挖掘複雜結構控制方程的空白。

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

圖 4:實驗資料圖

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

表 2 自動知識發現演算法在不同控制方程挖掘問題中的實驗結果

為了更充分地理解 SGA-PDE 的尋優過程,圖 5 展示了挖掘 KdV 方程時的演化路徑。可見第 1 代產生的最優方程與實際方程相差甚遠。在此後演化過程中,隨著二叉樹的拓撲結構以及節點含義的變異,以及函式項之間的交叉重組,最終在第 31 代找到了正確的解,且此時 AIC 指標已達到文中給定的收斂標準。有意思的是,如果繼續最佳化,則會在第 69 代找到 KdV 方程基於複合函式求導的更加簡約的表達形式。圖 6 則展示了 SGA-PDE 尋找具有分式結構控制方程的最佳化過程。

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

圖 5:SGA-PDE 對 KdV 方程的最佳化過程

方程就是二叉樹森林?遺傳演算法從資料中直接發現未知控制方程和物理機理

圖 6:SGA-PDE 對具有分式結構的方程的最佳化過程

控制方程是對領域知識的一種高效表示形式,然而許多現實問題的方程引數甚至方程形式都不確定,很難寫出準確的控制方程,極大制約了領域知識在機器學習中的應用。

SGA-PDE 透過符號數學的方法對方程進行轉化,解決了

任意形式的偏微分方程的表示問題

。此外,SGA-PDE 採用針對二叉樹設計的遺傳演算法,透過對樹的拓撲結構以及節點屬性的迭代最佳化,

從開放域中自動挖掘符合觀測資料的控制方程

。在最佳化中,SGA-PDE 不依賴於方程形式的先驗資訊,也無需給定候選集,實現了

對複雜結構方程的自動尋優

。同時,SGA-PDE 也是無梯度演算法,避免了方程結構與損失值之間梯度難以計算的問題。

未來研究將關注於:1。 嘗試結合強化學習或者組合最佳化演算法;2。 透過嵌入物理機理縮小求解空間;3。 評估並提升 SGA-PDE 對稀疏資料和有噪資料的適用性;4。 將知識嵌入方法與知識發現方法進行融合。

論文連結(可免費獲取):

https://journals。aps。org/prresearch/abstract/10。1103/PhysRevResearch。4。023174

程式碼與算例資料鏈接:

https://github。com/YuntianChen/SGA-PDE

TAG: 方程PDESGA二叉樹運算子