前两天被一篇文章刷屏了,内容和《冰雪奇缘》相关,但话题的中心人物却是一位清华毕业生。说到这里小伙伴们应该反应过来了,嗷~就是那位开发了新的特效编程语言,用99行代码来实现魔法世界的学霸吧?

没错~这位学霸就是毕业于清华大学姚班,目前是麻省理工学院CSAIL( 计算机科学与人工智能实验室)博士生的胡渊鸣,爱好图形设计、动画电影,在基于物理的模拟器中创建和销毁一切东西。你们感受到那种扑面而来的霸道真气了吗?
胡渊鸣
麻省理工学院CSAIL博士生

代码到底长成啥样子就不介绍了,放上来咱们也看不懂。“一个简单的物理场景,普通PC仅需几分钟即可渲染完成,相比TensorFlow提速了188倍、比PyTorch快13.4倍,代码长度只有其他底层方法的十分之一”。正如他在知乎上说的:“这99行代码虽然很短,其背后的故事却很长”。老编努力整理了一下,力求给小伙伴们讲清楚。










?广告?
CG世界推荐动捕品牌:青瞳视觉

联系电话:13564203193 网址:www.chingmu.com


巨人的脚步从来不会停歇,接下来他又研究了就是用于物理模拟的可微分编程DiffTaichi。Taichi中的可微分编程可以通过蛮力梯度下降有效地优化神经网络控制器,无需使用强化学习。
https://github.com/yuanming-hu/difftaichi
在这个项目汇总,胡同学一口气写了8个不同的模拟器,加上合作者的2个,一共用了10个可微物理模拟器来证明DiffTaichi的生产力到底有多高。这些示例中包括弹性体、刚体、流体、光线的折射、弹性碰撞等常见物理环境。
■ 可微弹性体模拟(Differentiable Elastic Object Simulator)


■ 可微分的3D弹性体模拟(Differentiable 3D Elastic Object Simulator)

■ 可微分的3D流体模拟(Differentiable 3D Fliud Simulator)
■ 可微分的高度场水模拟(Differentiable Height Field Water Simulator)

■ 刚体模拟(Differentiable Rigid Body Simulator)

■ 弹簧质点模拟(Differentiable Mass-Spring Simulator)



■多个物体的复杂模拟:台球模拟(Differentiable Billiard Simulator)


10种可微分模拟器中的大多数模型可以在2-3小时内模拟完成,而且多数都不需要GPU。DiffTaichi大大提高了差异化物理模拟器的性能和生产率。比如其中可微分弹性对象模拟器比在TensorFlow中的实现速度要快188倍,而且DiffTaichi版本运行速度可以和CUDA一样,但是代码长度却缩短了4.2倍。
再后来,胡同学写了一套运行在Python AST上面的前端编译,把Python AST编译到Taichi AST(import taichi as ti),是因为“Python本身是一门很容易学、普及程度很高的语言,伪装成Python以后的Taichi语言很容易学习,这样设计以后很多常用的Python包,如numpy、matplotlib、PyTorch都可以和Taichi无缝衔接”(摘自胡同学的知乎文章),哼哼,下次老编再推荐Python课程的时候还拒绝嘛?
经过几个月的努力,胡渊鸣终于把Taichi改成了pypi安装包,让不同配置不同操作系统的机器都能顺利运行图形学的程序。
说到这里,大家心里肯定会对这样一个问题越来越好奇,“胡同学到底是何许人也”?老编带着这个问题到网上逛了一圈,然后发现了…(这里省略了胡同学年少时期的模样唔哈哈哈或或或…)

扬州晚报的人物对话栏目《名人会客厅》在2010年对胡渊鸣同学的采访报道,那时胡同学刚刚从参加第16届全国青少年信息学奥林匹克联赛中的上万名初赛选手中脱颖而出,获得了江苏赛区一等奖,以及清华大学的保送资格。而像他这样在高一就能获得保送资格的学生并不常见。
少年胡同学的优异成绩还不仅如此,同年5月获得了第4届亚洲与太平洋地区信息技术奥林匹克大赛银奖。2008及2009年,还在上初中的他获得了全国信息学奥林匹克竞赛分区联赛(NOIP)初中组全国一等奖,之前还有。
胡同学的爸爸是大学信息学教师,小胡在大概八九岁的时候就开始接触计算机方面的书籍了。因为父母经常要上课,就把他放在大学研究生工作室那里,看着研究生写程序,一开始就是纯属娱乐而已。
在胡同学看来,编程并不枯燥,就像写文章一样,编程一个程序,用一种新算法数据结构优化、迅速地完成一个运算,都是很能带来愉悦感的。





http://3g.163.com/news/10/1206/15/6N7SBAKB00014AED.html
■ 论文《DiffTaichi:物理模拟的可微分编程(ICLR 2020)》
https://github.com/yuanming-hu/difftaichi
■ 微信公众号「量子位」文章《清华姚班毕业生开发新特效编程语言,99行代码实现《冰雪奇缘》,网友:大神碉堡!创世的快乐》
■ 论文《带有切割和耦合(CPIC)的高性能MLS-MPM解算器》
https://github.com/yuanming-hu/taichi_mpm
-END-
☀️

原创文章,作者:CG世界,如若转载,请注明出处:https://www.cgworld.wiki/28314.html
评论列表(1条)
会数学就是好