如果经常玩大型游戏的话应该会发现,游戏里的物理引擎效果越来越好了。
比如育碧公司的新游戏《极限国度》中自行车溅起的泥点、受到滑板冲击改变的雪道和飞溅的雪花、随着角色姿势不断变化的衣服褶皱等逼真细节,都让玩家更能感到身临其境。
但这里面有一个问题越来越突显:
玩家对游戏画面的要求永远在提高,物理解算器的发展却遇到了瓶颈,从算法上可以优化的余地已经不多了,以后还有什么办法能加速物理模拟?
育碧公司其实已经找到办法了,用AI。
育碧的AI研发部门La Forge早在2017年就已成立,在AI技术应用于游戏开发中已经做出不少成果。
他们用强化学习优化游戏NPC的寻路行为,用GAN生成丰富的NPC脸型(知道《看门狗军团》号称有900万个可招募NPC怎么来的了吧)。
对了,La Forge还开发了一个AI能快速寻找代码中的Bug(但Bug还是很多啊)。
在物理模拟上,他们把要模拟的物体在前3帧的位置作为输入,喂给神经网络来预测下一帧,还用主成分分析法(PCA)简化计算,最终把不同类型物理模拟的速度提高了300-5000倍。
虽然还没听说有在哪款游戏里大规模实际应用上,但光凭这个数据就足以让人期待了。
尤其是那些经历过打开模拟头发运动的“海飞丝特效”游戏就变卡的玩家。
毕竟小孩子才做选择,大人画质和帧数全都要。
游戏与电影最大的不同就是有玩家的参与。
电影可以在制作时使用大规模机群消耗大量时间渲染好固定的画面。
但游戏要根据玩家的操作实时计算并反馈结果,还只能靠玩家自己的机器的计算能力。
育碧团队的神经网络用预测代替了密集的计算,训练好后只需要很少的资源就能快速给出结果。
在布料模拟中,只消耗了不到10mb的内存和显存,每秒可以给出2000多帧。
但是神经网络的训练不是需要很长时间吗?
没错,除了训练过程消耗时间,生成训练所需的大量数据要消耗更多时间。
不过这些都是一次性的工作,可以在游戏开发阶段由游戏公司的计算资源完成。
也就是把计算的重担从运行时(Runtime)玩家自己的机器转移到了训练服务器上。
对于游戏角色的动作,用物理解算器给出精准数据的速度只能达到每秒3帧,而神经网络的预测却可以做到每秒2000多帧。
看这拳击动作,有点《刺客信条》那味了。
除了游戏公司育碧,DeepMind也对用神经网络做物理模拟感兴趣。
他们用的是图神经网络,而且预测的不是物体的位置而是加速度,再用欧拉积分计算出相应的速度和位置。
通过这个模型,DeepMind成功模拟了水、沙子和黏稠物的运动。
不过可惜的是这项研究更注重展示深度学习方法能做什么,在预测速度上和传统解算方法相比没有太大优势。
无论是计算还是预测的方法,既然都把物体的运动过程模拟出来了,除了做游戏和影视特效以外是不是还能有点别的用处?
没错,物理模拟算法同时也是科学研究的有力工具。
尤其是像今年的诺贝尔物理奖颁给了气候和材料学领域的复杂系统,以及高能物理、天体物理学这些领域。
它们研究的对象要么特别宏观要么特别微观,还有的需要等很长时间才能观察到一次,想拿实物去做实验会遇到很多困难。
为此,牛津大学开发了一套Deep Emulator Network Search(DENSE)系统,在10个科学研究场景中把物理模拟速度最高提高到20亿倍。
你没看错,是20亿倍。
原来在此之前,科研模拟中主流的做法还是用随机森林和高斯过程等传统机器学习方法来构建模型。
这些方法首先需要的数据量就非常庞大,还要人工去提取特征。
在很多科学领域数据并不像图像识别或NLP里那么好获得,所以用机器学习来做科研模拟这事进展一直缓慢。
牛津大学为了在数据有限的情况下搞模拟,首先想到的就是用卷积来自动提取数据特征。
不过从微观粒子到气候变化再到天体运行,数据类型不同适合的网络结构也大不相同。
他们最终设计出了一套神经网络超架构,相当于一个模版,在训练时同时进行更新网络的权重和搜索出适合特定问题的结构。
在实验中选取了10个科学模拟领域,其中就包括这次获得诺贝尔物理奖的气候模拟:
1、高能物理学中的弹性X射线汤姆逊散射(XRTS)
2、实验室天体物理学中的光学汤姆逊散射(OTS)
3、聚变能科学中的托卡马克边缘局域模诊断(ELMs)
4、等离子体中的3倍射线发射光谱(XES)
5、天体物理学中的星系晕中心分布建模
6、沙茨基上升海洋高原地震层析成像(SeisTomo)
7、气候科学中使用大气环流模型(GCM)的全球气溶胶气候建模
8、生物地球化学中的海洋中上层化学计量建模(MOPS)
9、中子成像(ICF JAG)
10、惯性约束聚变实验中的标量测量(ICF JAG Scalars)
最终的结果,比传统物理解算的方法速度提高了10万-20亿倍不等。
与手工设计的神经网络相比,搜索出来的网络结构收敛速度也都有所提高。
这么厉害的方法,也不是没有缺点。
牛津大学认为DENSE目前最大的两个局限是不适用于多维数据输入,以及在输出可变性高的区域学习效果不好,不过也算是为很多需要快速计算的研究领域提供了新的解决方案。
这次获诺贝尔物理奖的三位科学家的主要研究发表于上世纪60至80年代,那时候的计算机速度要比现在慢上太多,算法也都是直接解算为主。
即便如此他们也都在各自领域做出了突破性的成果。
现在有了AI物理模拟的帮助,希望更多的研究成果能不断涌现出来。
育碧论文:https://dl.acm.org/doi/10.1145/3309486.3340245
视频演示:https://www.youtube.com/watch?v=yjEvV86byxg
DeepMind论文:https://arxiv.org/abs/2002.09405
视频演示:https://www.youtube.com/watch?v=h7h9zF8OO7E
牛津论文:
https://arxiv.org/abs/2001.08055
参考链接:
[1]https://www.reddit.com/r/MachineLearning/comments/phvgzb/r_how_machine_learning_will_revolutionise_physics/