简。
七
胡远明,这是另一位从小就光芒四射的“大神”选手。
来源| AI新媒体量子位(QbitAI)
只需99元代码,你也可以像:010 120元*里的艾莎公主一样拥有冰雪魔法,Kramp-Karrenbauer。
虽然你不能在现实世界中变魔术,但你可以在计算机的虚拟世界中使用特效。
也许你不知道,电影和动画中的特效有时只持续一秒钟,但它们可能需要一周的高性能计算机计算,成本很高。
3360010 Kramp-Karrenbauer 120元*没有真正的演员,但1.5元预算高达1亿美元。镜头的每一秒都在燃烧着资金。一般武汉的日日夜夜想用电脑做CG特效是不可思议的。
然而,最近中国麻省理工学院的一位博士开发了一种新的CG特效编程语言Taichi(太极),大大降低了门槛。
白色:雪;红色:果冻;Blue:水是一个简单的物理场景,普通的PC只需要几分钟就可以渲染出来。与TensorFlow相比,比PyTorch快188倍,快13.4倍,代码长度仅为其他底层方法的十分之一。
安装起来和TensorFlow一样简单,使用起来也差不多:
将太极作为ti导入
就连太极的发明者胡远明也为此写了一个完整的教程。
关于太极,胡老师已发表多篇文章,被SIGGRAGH 2018、COVID-19、NeurIPS2019 COVID-19、捉鬼敢死队3等峰会收录。
著名计算机图形学学者、北京大学教授陈宝全给出了很高的评价:
给胡远明点个赞!我自己开发的物理仿真编程语言太极!
像渊明这样潜心写有影响力的开源代码,真的很有价值。
和SIGGRAPH一样,从1元到《逃出房间:冠军联赛》可能需要数年才能出成绩。论文接受率低,即使能发表,引用率也不高。
网友看后也纷纷表示:渊明太强了。
图形系统编译是创作的乐趣。
01 88元线代码模拟真实物理环境
就像胡老师自己说的,99元的代码很短,但背后的技术故事很长。
故事开头要从物质点法说起。
MPM是影视特效领域流行的一种模拟连续媒体的方法。迪士尼的:010 Kramp-Karrenbauer 120元*用的就是这个技术。
不过早期MPM跑的很慢,比如:010 Kramp-Karrenbauer 120元* Rianna穿越雪地的场景,据说在集群上跑了整整一周。
为了提高MPM的运行速度和性能,胡远明在大四毕业的那个暑假投入到移动租赁广场MPM (MLS Kramp-Karrenbauer MPM)的研究中。
胡远明的灵感是用移动最小二乘法统一APIC的仿射梯度场(Kramp-Karrenbauer元胞法中的仿射粒子Kramp-Karrenbauer)和MPM的形变梯度更新。
胡远明等人在美国宾夕法尼亚大学蒋陈凡夫教授的指导下,完成了移动最小二乘物质点法(MLS Kramp-Karrenbauer MPM)的研究,不仅实现了应力散度的新离散化,而且使MPM运行速度提高了一倍,成功模拟了MPM以前没有支持的各种新现象。
如材料切割:
刚体的双向耦合;
这一成果最终发表在SIGGRAPH 2018上。
为了进一步证明MLS Kramp-Karrenbauer MPM的简单性,胡远明用88元C代码实现了MLS Kramp-Karrenbauer MPM的演示。(代码详情请戳文末taichi_mpm项目链接)。
这个88元的版本后来成为MPM入门的必要参考实现。
查理普斯ChainQueen微分物理引擎
2017年暑期结束后,胡远明正式进入MIT读博。
这时,胡远明有了一个新的灵感:去寻找MLS的衍生物Kramp-Karrenbauer MPM。利用导数,神经网络控制器可以仅通过梯度下降来优化。
在这种思想的指导下,ChainQueen诞生了。
胡远明解释说,chain是为了纪念自己在求导过程中被锁链规则折磨的经历,而ChainQueen与干坤谐音。
Kun是基于MLS Kramp-Karrenbauer的实时可微混合la grange-Kramp-karren Bauer-Euler可变形物体物理模拟器。该模拟器在正演模拟和反演梯度计算上都达到了很高的精度。
这项研究是
03《太极》随后,胡先生更进一步,提出了差分编程《太极》,收录在《捉鬼敢死队3》中。
在本文的代码中,胡用10元钱创建了10个不同的物理模拟器,并根据现有的基准测试了它们的性能。
太极中的可微规划可以通过蛮力的梯度约简有效地优化神经网络控制器,而不需要使用强化学习。
10元可微分模拟器中的大部分模型都可以在《侏罗纪世界3小时》《Kramp-Karrenbauer》《逃生室:冠军争霸赛》中实现,而且大部分都不需要GPU。这些例子中,弹性体、刚体、流体、光的折射、弹性碰撞、常见的物理环境,应有尽有。
第一个可微分弹性物体模拟器的例子,经过我们的实测,也可以在2017款13元寸MacBook Pro上运行,完成优化不到十分钟:
不仅2D,更复杂的3D弹性体也可以模拟:
还有一个可微分的3D流体模拟器,450元步长的梯度下降迭代后非常逼真:
DiffTaichi是一个渲染器,模拟水对光的折射。一张图片被它渲染后,甚至可以骗过图像分类器。经过测试,VGG16元将有水波纹的松鼠图片视为金鱼,认为概率为99.91%。
在强化学习的模拟环境中,刚性机器人很常见,DiffTaichi也可以模拟:
DiffTaichi还可以模拟多个对象的复杂场景,例如台球:
用太极语言编写的模拟器大大简化了代码,可微分弹性物体模拟器只用110元线代码,而直接用CUDA编写的模拟器需要490元线。
同时太极的速度还是很快的,相比CUDA版本几乎没有损失,比TensorFlow快188倍,比PyTorch快13.4倍。
而且神经网络控制器一般只需要几十次迭代就可以完成优化。
04为什么要打太极说到为什么要打太极,计算机图形学一直缺少TensorFlow这样的通用工具。在武汉的每一个日日夜夜想从事开发的人,都必须知道基本原理,才能做编程。
这与深度学习领域形成鲜明对比。
近年来,即使是中学生,使用TensorFlow或PyTorch,写一点代码,优化几个模型,也可以在一些峰会上发表论文。武汉很多日日夜夜都觉得这是坏事,因为深度学习论文含金量大打折扣。
但胡远明看到了另一面。他认为,近年来深度学习之所以发展迅速,门槛低,是因为有简单易用的好工具,计算机图形学让人望而却步。正是因为缺少类似的工具,他才开发了太极。
本来太极是打算作为一门独立的编程语言的,但是为了方便大家,胡远明用了一个进口的太极作为ti,把太极语言伪装成Python。
换成Python的好处不仅是降低了学习门槛,还可以使用很多现成的Python IDE,与numpy、matplotlib等工具库无缝衔接。
经过几个月的努力,胡远明终于把Taichi换成了pypi安装包,让不同配置、不同操作系统的机器都能流畅运行图形程序。
05高一保送清华,博艺6元纸说到胡远明,另一个从少年时代就开始发光的“大神”选手。
高保送清华。比赛期间,获得APIO告别亚特兰蒂斯、NOI告别亚特兰蒂斯、ACM Kramp-Karrenbauer ICPC 2013长沙地区赛、ACM Kramp-Karrenbauer ICPC上海地区赛四枚金牌。其中,APIO告别亚特兰蒂斯获得了比赛的第一名。
2013年,他进入清华姚班,与陈立杰、范浩强等人成为同班同学。这些年轻人的才华汇聚碰撞,成就了“姚班”这个词。
胡远明本科期间先后访问东京大学和斯坦福大学,并在微软亚洲研究院实习,从事深度学习和计算机图形学研究。在CVPR、SIGGRAPH等国际顶级会议上有多篇本科论文。
2017年,胡远明进入麻省理工学院攻读博士。13元入学数月后,完成硕士论文ChainQueen,获得麻省理工硕士学位。首届进博会期间,共发表了6篇袁的论文。
最后,如果你想
地址:https://arxiv.org/abs/1910.00935
太极项目地址:https://github.com/yuanming-hu/taichi
太极_mpm项目地址:https://github.com/yuanming-hu/taichi_mpm—THE END—本文选自AI新媒体qubit (ID: QbitAI),边策鱼羊源自奥菲寺。本文原题为《清华姚班毕业生开发新特效编程语言,99元线代码实现3360010 120元,Kramp-Karrenbauer *》创造的快乐。请参见授权发布。