牛津大學一項研究表明,與傳統物理求解器相比,機器學習模型可將物理模擬速度提升至最高20億倍,距離解決困擾狄拉克的模擬計算難題可能向著成功更近了一步。
1929年,英國著名量子物理學家保羅·狄拉克曾說過,“大部分物理學和整個化學的數學理論所需的基本物理定律是完全已知的,困難只是這些定律的確切應用導致方程太復雜而無法解決”。狄拉克認為,所有物理現象都可以模擬到量子,從蛋白質折疊到材料失效和氣候變化都是如此。唯一的問題是控制方程太復雜,無法在現實的時間尺度上得到解決。
這是否意味著我們永遠無法實現實時的物理模擬?隨著研究、軟件和硬件技術的進步,實時模擬在經典極限下成為可能,這在視頻游戲的物理模擬中最為明顯。
對碰撞、變形、斷裂和流體流動等物理現象進行需要大量的計算,但目前已經開發出可以在游戲中實時模擬此類現象的模型。當然,為了實現這一目標,需要對不同算法進行了大量簡化和優化。其中最快的方法是剛體物理學。
為此假設,大多數游戲中的物理模型所基于的對象可以碰撞和反彈而不變形。物體由圍繞物體的凸碰撞框表示,當兩個物體發生碰撞時,系統實時檢測碰撞并施加適當的力來加以模擬。此類表示中不發生變形或斷裂。視頻游戲“Teardown”可能是剛體物理學的巔峰之作。
不過,剛體物理雖然有利于模擬不可變形的碰撞,但不適用于頭發和衣服等可變形的材料。在這些場景中,需要應用柔體動力學。以下是4種按復雜性順序模擬可變形對象的方法:
彈簧質量模型
顧名思義,這類對象由通過彈簧相互連接的質點系表示。可以將其視為 3D 設置中的一維胡克定律網絡。該模型的主要缺點是,在設置質量彈簧網絡時需要大量手動工作,且材料屬性和模型參數之間沒有嚴格的關系。盡管如此,該模型在“BeamNG.Drive”中得到了很好的實現,這是一種基于彈簧質量模型來模擬車輛變形的實時車輛模擬器。
基于位置的動力學 (PBD):更適合柔體形變
模擬運動學的方法通常基于力的模型,在基于位置的動力學中,位置是通過求解涉及一組包含約束方程的準靜態問題來直接計算的。PBD 速度更快,非常適合游戲、動畫電影和視覺效果中的應用。游戲中頭發和衣服的運動一般都是通過這個模型來模擬的。PBD 不僅限于可變形固體,還可以用于模擬剛體系統和流體。
有限元法 (FEM):非實時,準確性高
這種方法是基于彈性場理論對應力-應變方程進行數值求解。它本質上是在 3D 中解決 3D 胡克定律。將材料劃分為有限元,通常為四面體,通過求解線性矩陣方程,在每個時間步計算頂點上的應力和應變。FEM 是一種基于網格的柔體動力學仿真方法。它非常準確,模型參數與楊氏模量和泊松比等材料屬性直接相關。工程上實際應用的 FEM 模擬通常不是實時的,不過最近,AMD 發布了名為 FEMFX 的游戲多線程 FEM 庫,可實時模擬材料變形。
質點法 (MPM):精度高,速度較慢
MPM 是一種高精度的無網格方法,比基于網格的方法更適合模擬大規模變形、裂縫、多材料復合系統和粘性流體,提高了模擬效率和精度。MPM 是目前最先進的無網格歐拉/拉格朗日混合方法, MPM 模擬不是實時的,對于涉及大100萬個點的系統,最先進的模擬每幀大約需要半分鐘。
AI助力,物理模擬速度提升20億倍
在模擬計算中,計算速度和精度之間總是存在權衡。由于物理求解器在過去幾十年中得到了極大的優化,幾乎沒有空間進行逐步改進。
這就需要機器學習發揮作用了。來自牛津大學、育碧、DeepMind 和 ETH Zurich的最新研究表明,深度神經網絡可以學習物理交互并對其進行多次模擬速度快幾個數量級。
通過生成數以百萬計的模擬數據,用神經網絡進行訓練,在用訓練過的模型來模擬物理求解器,就可以實現這樣的提升。盡管離線過程在生成數據和訓練模型方面會花費大量時間,但經過訓練的神經網絡在模擬物理模型的速度要快得多。
牛津大學的研究人員開發了一種稱為深度仿真器網絡搜索 (DENSE) 的方法,將模擬速度提升了最高20 億倍,他們并已經在 10 個科學研究案例中證明了這一點,包括天體物理學、氣候、聚變和高能物理學等領域。
在游戲領域,Ubisoft La Forge 的團隊使用了一個簡單的前饋網絡,該網絡在三個后續時間幀內訓練 3D 網格對象的頂點位置,并學習預測下一幀。該模型本質上是將預測與模擬數據集中的已知位置進行比較,并通過反向傳播來調整模型參數,以最大限度地減少預測中的誤差。
該團隊使用 Maya 的 nCloth 物理解算器生成模擬數據,這是一種針對布料優化的高級彈簧質量模型。他們還實施了主成分分析 (PCA) 以僅在最重要的基礎上進行訓練。結果神經網絡模擬物理的速度比物理求解器快 5000 倍。
DeepMind團隊最近的另一項工作在圖網絡方面取得了驚人的成果。與傳統神經網絡不同,圖神經網絡具有類似圖的結構。團隊使用圖網絡模擬了各種材料,包括沙子、水、粘稠物和剛性固體。
這個模型不是預測粒子的位置,而是預測加速度,并且使用歐拉積分計算速度和位置。模擬數據是使用一系列物理求解器生成的,包括 PBD、SPH(平滑粒子流體力學)和 MPM。
由于針對速度進行優化,因此并沒有物理求解器快得多,但它展示了當機器學習遇到物理時可以實現的目標。
目前,這個領域仍處于起步階段,但未來肯定會發現提升物理模擬性能的基于機器學習的新技術。從量子力學和分子動力學到微觀結構和經典物理學,有很多模型可以模擬多種規模和復雜度的物理現象,機器學習和物理學相結合,創造價值的潛在機會無疑是巨大的。