本文來源:量子位、魔力小孩Magikid、知乎
他叫胡淵鳴,不鳴則已一鳴驚人。他高一就被保送清華,2013年進入清華姚班,本科期間先後前往東京大學,史丹福大學訪學,並在微軟亞洲研究院實習。從事深度學習和計算機圖形學研究。
在知乎上,胡淵鳴有點火。因為他用他所學的程式語言寫了99行代碼,實現了自己的「冰雪奇緣」
一己之力開發物理模擬程式語言
用99行代碼實現介質模擬
《冰雪奇緣》沒有真人出演,預算卻高達1.5億美元,每一秒的鏡頭都是經費在燃燒。一般人想用電腦做出CG特效簡直不可想像。
但是,清華姚班畢業,一位來自中國的MIT麻省理工博士,開發的一種新的CG特效程式語言:Taichi(太極)大大降低了CG製作的門檻。
傳統方法需要千百行代碼的CG動畫,現在只用99行代碼,你也可以像《冰雪奇緣》裡的艾莎公主一樣擁有冰雪魔法。
用計算機製作CG動畫,簡直就像上帝在創造世界一樣。你不僅僅需要逼真的繪圖,天衣無縫的3D製作,還需要通過動畫效果模擬出現實世界的「物理關係」,「化學反應」。例如物體自然下落的重力效果,火苗躥動的空氣燃燒效果。
在此之前,最好的CG編輯軟體是TensorFlow,不過依然耗時巨大。
如今這一切,被「太極」改寫了。用「太極」編寫CG一個簡單的物理場景,普通PC僅需幾分鐘即可渲染完成,相比TensorFlow提速了188倍、比PyTorch快13.4倍,代碼長度只有其他底層方法的十分之一。
甚至,Taichi的發明者胡淵鳴同學還為此編寫了完整使用教程。這一切,都是他一個人做的!如果說軟體開發也有武俠江湖,那麼這位少年就是傳說中的「楊過」了。關於Taichi,胡同學已經發表了多篇文章,分別被SIGGRAGH 2018、ICRA 2019、NeurIPS2019、ICLR 2020等頂會收錄。計算機圖形學知名學者、北大教授陳寶權給出很高的評價:給胡淵鳴同學點讚!一己之力開發了物理模擬程式語言 Taichi!像淵鳴這樣如此投入寫有影響力的開原始碼實在是難能可貴。像SIGGRAPH這樣的,可能要投入1~2年才會有成果,論文接受率低,即使能發表出來,引用率也不高說起胡淵鳴,這又是一位從少年時代起就熠熠閃光的「大神級」選手。高一保送清華,競賽生涯中,拿下APIO 2012、NOI 2012、ACM-ICPC 2013長沙區域賽、ACM-ICPC上海區域賽四塊金牌,其中APIO 2012成績是全場第一名。2013年進入清華姚班,胡淵鳴與陳立傑、範浩強等人成為同班同學,這群年輕人的才華在這裡匯聚、碰撞,與「姚班」二字相互成就。本科期間,胡淵鳴先後前往東京大學、史丹福大學訪學,並曾於微軟亞洲研究院實習,從事深度學習和計算機圖形學研究。本科便有多篇論文中選CVPR、SIGGRAPH等國際頂會。2017年,胡淵鳴進入MIT讀博。入學13個月後,完成碩士論文ChainQueen,拿到MIT碩士學位。博一期間,共發表6篇頂會論文。2017年的夏天結束之後,胡淵鳴正式進入MIT讀博。這時候的胡淵鳴迸發了新的靈感:求出MLS-MPM的導數。有了導數,就能只用梯度下降來優化神經網絡控制器。胡淵鳴解釋說,chain是為了紀念他在求導過程中被鏈式法則折磨的經歷,而ChainQueen則與乾坤諧音。乾坤基於MLS-MPM,是一種針對可變形對象的、實時的可微混合拉格朗日-歐拉物理模擬器。該模擬器在前向仿真和反向梯度計算中均實現了高精度。這項研究發表在了ICRA 2019上,胡淵鳴也以此完成了碩士論文。隨後,胡同學將工作又推進一步,提出了可微分編程DiffTaichi,被ICLR 2020收錄。在這篇文章的代碼中,胡同學創建了10個不同的物理模擬器,並根據現有基準對其性能進行基準測試。Taichi中的可微分編程,可以通過蠻力的梯度下降有效地優化神經網絡控制器,而不必使用強化學習。10種可微分模擬器中的大多數模型可以在2-3小時內實現,而且大部分不需要GPU。這些示例中,彈性體、剛體、流體、光線的折射、彈性碰撞,常見物理環境應有盡有。第一個示例可微分彈性對象模擬器,經過我們的實測,在2017版13寸的MacBook Pro上也能運行,而且完成優化只需不到十分鐘的時間:還有可微分的3D流體模擬器,經過450步的梯度下降迭代,已經非常逼真:DiffTaichi模擬水對光線折射的渲染器,一張圖片經過它的渲染,甚至能騙過圖像分類器。經過測試,VGG16將帶有水波紋的松鼠圖片當做金魚,而且認為概率為99.91%。用Taichi語言編寫的模擬器大大簡化了代碼,可微分彈性對象模擬器只用了110行代碼,而直接用CUDA編寫則需要490行。你在看這篇文章嗎↓