機(jī)器學(xué)習(xí)如何徹底改變游戲中的物理模擬
大數(shù)據(jù)文摘授權(quán)轉(zhuǎn)載自AI科技評(píng)論
編譯:琰琰
編輯:王曄
量子力學(xué)奠基者之一、英國理論物理學(xué)家保羅·狄拉克(Paul Dirac)在1929年說過:“大部分物理和化學(xué)所需要的數(shù)學(xué)理論的定律都是已知的,但這些定律的方程太復(fù)雜無法求得精確解”。他認(rèn)為,從蛋白質(zhì)折疊、材料失效到氣候變化,所有的物理現(xiàn)象都可以模擬為量子計(jì)算。但由于控制方程太復(fù)雜,科學(xué)家無法在現(xiàn)實(shí)的時(shí)間尺度上求解。
那么,這是否意味著我們永遠(yuǎn)無法實(shí)現(xiàn)實(shí)時(shí)物理模擬?
以前物理學(xué)家通過模型開發(fā)、求近似解等方法可以在較短時(shí)間內(nèi)達(dá)到預(yù)期的結(jié)果。然而,隨著研究、軟件和硬件技術(shù)的進(jìn)步,實(shí)時(shí)仿真只能在極限條件下才能夠?qū)崿F(xiàn),這一點(diǎn)在視頻游戲物理學(xué)中最為明顯。
模擬物理現(xiàn)象(如碰撞、變形、破裂和流體流動(dòng))屬于密集型計(jì)算。在游戲中實(shí)時(shí)模擬此類現(xiàn)象需要對(duì)不同的算法進(jìn)行了大量的簡(jiǎn)化和優(yōu)化。目前最先進(jìn)模擬方法是剛體物理學(xué)(rigid body physics),它可以確保兩個(gè)物體在碰撞和反彈的過程中不會(huì)發(fā)生變形或斷裂,這是模擬虛擬游戲的基礎(chǔ)。當(dāng)兩個(gè)物體碰撞時(shí),算法能夠進(jìn)行實(shí)時(shí)檢測(cè)并采用適當(dāng)?shù)牧δM碰撞。
如下,電子游戲中的“摧毀”可能是剛體物理學(xué)應(yīng)用的最佳示例。
需要說明的是,剛體物理學(xué)可用于模擬不變形物體的碰撞,但虛擬游戲中往往存在著大量可變形物體,比如頭發(fā)、衣服。而要想解決這個(gè)問題就需要用到柔體動(dòng)力學(xué)(soft-body dynamics)。
以下是模擬可變形物體的四種方法(按復(fù)雜度排序)
彈簧質(zhì)量模型(Spring-Mass Model)
由命名可知,彈簧相互連接的點(diǎn)的質(zhì)量系統(tǒng)代表模型檢測(cè)的目標(biāo),我們可將其視為三維胡克定律網(wǎng)絡(luò)。胡克定律是力學(xué)彈性理論中的一條基本定律,它表明受力固體材料中的應(yīng)力與應(yīng)變(單位變形量)之間成線性關(guān)系。
該模型的主要缺點(diǎn)是建立質(zhì)量彈簧網(wǎng)絡(luò)時(shí)需要大量的人力成本,并且材料特性與模型參數(shù)之間沒有嚴(yán)密的邏輯關(guān)系。但盡管如此,該模型在“BeamNG.Drive”賽車游戲中也達(dá)到了非常不錯(cuò)的效果,如下圖,基于彈簧-質(zhì)量模型的實(shí)時(shí)車輛模擬器,可用于模擬車輛變形。
基于位置的動(dòng)力學(xué)(Position-bsed Dynamics,PBD)
運(yùn)動(dòng)學(xué)模擬的方法通常基于力學(xué)模型,如粒子加速度遵循牛頓第二定律計(jì)算,通過積分計(jì)算獲取每個(gè)時(shí)刻的速度和位置。
在基于位置的動(dòng)力學(xué),通過求解約束方程的準(zhǔn)靜態(tài)問題來計(jì)算位置。PBD方法的精確度較低,但計(jì)算速度優(yōu)于基于強(qiáng)制的方法,因此非常適合游戲、動(dòng)畫電影等視覺場(chǎng)景。游戲中人物的頭發(fā)、衣服的運(yùn)動(dòng)通常都是采用該模型來實(shí)現(xiàn)。PBD不僅局限于可變形固體,還可用于模擬剛體物體和流體。更多內(nèi)容可參考這篇關(guān)于PBD方法的綜述[2]。
有限元法(finite element method ,F(xiàn)EM)
有限元方法計(jì)算變形材料是基于彈性場(chǎng)理論求解應(yīng)力-應(yīng)變方程。
它本質(zhì)上遵循3D胡克定律,首先將材料劃分為四面體的有限元,通過求解線性矩陣方程,獲得每個(gè)時(shí)刻步長(zhǎng)上頂點(diǎn)上的應(yīng)力和應(yīng)變。FEM是一種基于網(wǎng)格的軟體動(dòng)力學(xué)模擬方法,它的優(yōu)點(diǎn)是精確度高,且模型參數(shù)與材料特性(如楊氏模量和泊松比)直接相關(guān)。一般而言,F(xiàn)EM模擬在工程應(yīng)用方面不能實(shí)時(shí)運(yùn)行,但最近知名半導(dǎo)體公司AMD發(fā)布多線程FEM庫,表明FEMFX在游戲中可實(shí)時(shí)模擬變形材料。
圖片
AMD的實(shí)時(shí)有限元解算器FEMFX模擬木材斷裂
AMD的FEMFX模擬塑性變形
材料點(diǎn)法(Material Point Method ,MPM)
MPM是一種高精度的無網(wǎng)格方法,它比基于網(wǎng)格的方法更適合模擬變形、斷裂、多材料系統(tǒng)和粘彈性流體,因?yàn)檫\(yùn)行效率和分辨率更高。MPM是目前最先進(jìn)的無網(wǎng)格混合歐拉/拉格朗日的方法,是細(xì)胞內(nèi)粒子(PIC)和流體隱式粒子(FLIP)等傳統(tǒng)方法的升級(jí)。
MPM模擬不是實(shí)時(shí)運(yùn)行的,在一個(gè)含有一百萬個(gè)點(diǎn)的系統(tǒng)中,MPM每幀大約需要半分鐘。詳細(xì)內(nèi)容可見MPM綜述文章[3]。
一片面包的撕裂模擬需要1100萬MPM粒子
機(jī)器學(xué)習(xí)與物理模擬
以上四種方法與機(jī)器學(xué)習(xí)有什么關(guān)系呢?
我們注意到,基于傳統(tǒng)方法,模型的計(jì)算速度、精度/分辨率等指標(biāo)已經(jīng)陷入了一種瓶頸。物理解算器經(jīng)過過去幾十年的優(yōu)化,其發(fā)生階躍式改進(jìn)的空間已所剩無幾。而在此背景下,機(jī)器學(xué)習(xí)就派上了用場(chǎng)。
最近,牛津大學(xué)[5]、Ubisoft La Forge實(shí)驗(yàn)室[6]、DeepMind公司[7,8]以及蘇黎世聯(lián)邦理工學(xué)院[9]的研究表明,深度神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)物理間的相互作用并實(shí)現(xiàn)模擬,重點(diǎn)是速度可以提高多個(gè)數(shù)量級(jí)。其過程大致為:生成數(shù)以百萬計(jì)的模擬數(shù)據(jù)——通過神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練——使用經(jīng)過訓(xùn)練的模型模擬物理解算器。
其中,生成數(shù)據(jù)和訓(xùn)練模型階段會(huì)耗費(fèi)大量時(shí)間,但經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型在模擬物理階段速度會(huì)非??臁@?,牛津大學(xué)的研究人員[5]開發(fā)了一種被稱為:深度仿真器網(wǎng)絡(luò)搜索(Deep Emulator Network Search,DENSE)的方法,該方法將模擬速度提高了20億倍,并通過了10個(gè)科學(xué)案例的驗(yàn)證,包括天體物理學(xué)、氣候、聚變和高能物理學(xué)。
在游戲領(lǐng)域,Ubisoft La Forge研究團(tuán)隊(duì)開發(fā)的模型使用簡(jiǎn)單的前饋網(wǎng)絡(luò),通過在三個(gè)時(shí)間幀中對(duì)3D網(wǎng)格對(duì)象的頂點(diǎn)位置進(jìn)行訓(xùn)練來學(xué)習(xí)預(yù)測(cè)下一幀[6]。該模型本質(zhì)上是將預(yù)測(cè)與模擬數(shù)據(jù)集中的已知位置進(jìn)行對(duì)比,并通過反向傳播來調(diào)整模型參數(shù),以最小化預(yù)測(cè)誤差。
該團(tuán)隊(duì)使用Maya的nCloth物理解算器生成模擬數(shù)據(jù),這是一種針對(duì)布料優(yōu)化的高級(jí)彈簧質(zhì)量模型。他們還實(shí)施了主成分分析(PCA),實(shí)驗(yàn)表明,僅在最重要的基礎(chǔ)上進(jìn)行訓(xùn)練,神經(jīng)網(wǎng)絡(luò)模擬物理的速度比物理解算器快5000倍。
數(shù)據(jù)驅(qū)動(dòng)下的布料和粘性材料的物理模擬
相關(guān)視頻:
https://www.youtube.com/watch?v=yjEvV86byxg
同樣,DeepMind的團(tuán)隊(duì)近期在圖形網(wǎng)絡(luò)方面的工作也取得了驚人的成果[7]。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的每一層節(jié)點(diǎn)相連不同,圖神經(jīng)網(wǎng)絡(luò)直接具有類似于圖的網(wǎng)絡(luò)結(jié)構(gòu)。利用圖網(wǎng)絡(luò)模型,該研究團(tuán)隊(duì)成功地模擬了各種剛性、柔性材料,如沙子、水、黏液等。
該模型預(yù)測(cè)的不是粒子的位置,而是加速度。它使用歐拉積分計(jì)算速度和位置;使用一系列物理解算器(包括PBD、SPH和MPM)生成模擬數(shù)據(jù)。由于沒有針對(duì)速度進(jìn)行特殊優(yōu)化,該模型沒有明顯快于物理解算器,但它證明了機(jī)器學(xué)習(xí)與物理可以進(jìn)行有效的結(jié)合。
復(fù)雜物理模擬與深度學(xué)習(xí)預(yù)測(cè)之間的比較
相關(guān)視頻:
https://www.youtube.com/watch?v=h7h9zF8OO7E
雖然該研究領(lǐng)域仍處于初級(jí)階段,但我們觀察到基于深度學(xué)習(xí)的技術(shù)進(jìn)一步增強(qiáng)了物理模擬。從量子力學(xué)、分子動(dòng)力學(xué)到微觀結(jié)構(gòu)以及經(jīng)典物理,各種規(guī)模和復(fù)雜度的物理現(xiàn)象都有很多模擬模型,我們相信,機(jī)器學(xué)習(xí)和物理學(xué)二者結(jié)合將創(chuàng)造巨大的潛在價(jià)值。
相關(guān)研究
[1] Paul Dirac, Quantum Mechanics of many-electron systems, Proc. R. Soc. Lond. A 123, 714 (1929)
[2] J. Bender et al., A Survey on Position Based Dynamics, EUROGRAPHICS (2017)
[3] Chenfanfu Jiang et al., The Material Point Method for Simulating Continuum Materials, SIGGRAPH courses (2016)
[4] J. Wolper et al., CD-MPM: Continuum Damage Material Point Methods for Dynamic Fracture Animation, ACM Trans. Graph. 38, 119 (2019)
[5] M. Kasim et al., Building high accuracy emulators for scientific simulations with deep neural architecture search, arXiv (2020)
[6] D. Holden et al., Subspace Neural Physics: Fast Data-Driven Interactive Simulation, SCA Proc. ACM SIGGRAPH (2019)
[7] A. Sanchez-Gonzalez et al., Learning to Simulate Complex Physics with Graph Networks, Proc. 37th Int. Conf. ML, PMLR, 119 (2020)
[8] T. Pfaff et al., Learning Mesh-based Simulations with Graph Networks, arXiv (2021)
[9] B. Kim et al., Deep Fluids: A Generative Network for Parameterized Fluid Simulations, Computer Graphics Forum, 38, 59 (2019)
編譯連接:
hppts://www.reddit.com/r/MachineLearning/comments/phvgzb/r_how_machine_learning_will_revolutionise_physics/
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。