深度学习正改变物理系统模拟,速度最高提升20亿倍那种

QbitAl QbitAl     2023-01-13     258

关键词:

梦晨 发自 凹非寺
量子位 报道 | 公众号 QbitAI

如果经常玩大型游戏的话应该会发现,游戏里的物理引擎效果越来越好了。

比如育碧公司的新游戏《极限国度》中自行车溅起的泥点、受到滑板冲击改变的雪道和飞溅的雪花、随着角色姿势不断变化的衣服褶皱等逼真细节,都让玩家更能感到身临其境。

但这里面有一个问题越来越突显:

玩家对游戏画面的要求永远在提高,物理解算器的发展却遇到了瓶颈,从算法上可以优化的余地已经不多了,以后还有什么办法能加速物理模拟?

育碧公司其实已经找到办法了,用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里那么好获得,所以用机器学习来做科研模拟这事进展一直缓慢。

牛津大学为了在数据有限的情况下搞模拟,首先想到的就是用卷积来自动提取数据特征。

不过从微观粒子到气候变化再到天体运行,数据类型不同适合的网络结构也大不相同。

他们最终设计出了一套神经网络超架构,相当于一个模版,在训练时同时进行更新网络的权重和搜索出适合特定问题的结构。

CNN超架构

在实验中选取了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/

深度学习模型汇总

本周学习内容汇报学习王喆老师的深度学习推荐系统第3章学习深度学习推荐模型的演化流程了解模型改进的一般方式改变深度神经网络的复杂程度特征交叉模型组合深度学习模型总结一、与传统机器学习模型相比,深度学习... 查看详情

深度学习-数据加载优化-训练速度提升一倍(代码片段)

1,介绍数据加载深度学习的训练,简单的说就是将数据切分成batch,丢入模型中,并计算loss训练。其中比较重要的一环是数据打batch部分(数据加载部分)。训练时间优化:深度学习训练往往需要大量... 查看详情

谷歌开源了tensorflow,世界就要马上被改变了吗

Google开源了其第二代深度学习技术TensorFlow——被使用在Google搜索、图像识别以及邮箱的深度学习框架。这在相关媒体圈、工程师圈、人工智能公司、人工智能研究团队里有了一些讨论。比较有趣的是,微软亚洲研究院立刻向媒... 查看详情

如何让xtrabackup恢复速度提升20倍?

...非阻塞的备份,其具备以下一些优点:??1)备份速度快,物理备份可靠??2)备份过程不会打断正在执行的事务??3)能够基于压缩等功能节约磁盘空间和流量??4)自动备份校验??5)还原速度快??6)可以流传将备份传输到另外一台机... 查看详情

fasterrcnn提升分类精度(转)

近年来,随着深度学习的崛起,计算机视觉得到飞速发展。目标检测作为计算机视觉的基础算法,也搭上了深度学习的快车。基于Proposal的检测框架,从R-CNN到FasterR-CNN,算法性能越来越高,速度越来越快。另一方面,直接回归Bou... 查看详情

深度学习在语音识别方面主要的难题和困难是啥?

参考技术A深度学习的应用:语音识别系统长期以来,在描述每个建模单元的统计概率模型时,大多采用的是混合高斯模型(GMM)。这种模型由于估计简单,适合海量数据训练,同时有成熟的区分度训练技术支持,长期以来,一... 查看详情

被诟病不实用的超级计算机,在深度学习时代会改变吗?

在中学课本里,我们都学到过“超级计算机”这个概念,在印象里它通常和神州五号、航空母舰等等高科技设备出现在同一个章节,属于国家科研能力的体现,更是在国际科技战备的赛点。现在这么多年过去了,一回神中国超级... 查看详情

数据并行:提升训练吞吐的高效方法|深度学习分布式训练专题

数据并行是大规模深度学习训练中非常成熟和常用的并行模式。本文将介绍数据并行的原理和主流实现方案,使用数据并行加速训练过程中需要注意的问题,以及如何优化数据并行进一步提高训练速度。希望能帮助用户... 查看详情

深度学习与视频分析简介

...介视频理解方法与技术技术优势重要技术罗列帧差法使用深度学习进行视频分析视频分析中的目标检测架构系统逻辑架构典型应用场景5G工序检测工业质量控制体育分析智慧城市监控智慧门店安防监控参考文献与学习路径视频分... 查看详情

火炉炼ai深度学习006-移花接木-用keras迁移学习提升性能(代码片段)

【火炉炼AI】深度学习006-移花接木-用Keras迁移学习提升性能(本文所使用的Python库和版本号:Python3.6,Numpy1.14,scikit-learn0.19,matplotlib2.2,Keras2.1.6,Tensorflow1.9.0)上一篇文章我们用自己定义的模型来解决了二分类问题,在20个回合的训练之... 查看详情

深度学习与视频分析简介

...解方法与技术技术优势重要技术罗列目标检测帧差法使用深度学习进行视频分析视频分析中的目标检测架构系统逻辑架构典型应用场景5G工序检测工业质量控制体育分析智慧城市监控智慧门店安防监控参考文献与学习路径视频分... 查看详情

google提出两个逆天模型:体积下降7倍,速度提升10倍

...经网络模型和训练数据规模的增长,训练效率正成为深度学习的一个重要焦点。GPT-3在小样本学习中表现出卓越的能力,但它需要使用数千个GPU进行数周的训练, 查看详情

SKPhysicsBody 改变动画/物理速度

】SKPhysicsBody改变动画/物理速度【英文标题】:SKPhysicsBodychangeanimation/physicsspeed【发布时间】:2013-11-0519:41:46【问题描述】:有没有办法改变physicsbody的动画/物理速度?我仍然希望每秒调用更新方法60次,我只是希望屏幕上的所有... 查看详情

深度学习性能提升的诀窍

深度学习性能提升的诀窍[转载]原文:HowToImproveDeepLearningPerformance作者:JasonBrownlee提升算法性能的想法这个列表并不完整,却是很好的出发点。我的目的是给大家抛出一些想法供大家尝试,或许有那么一两个有效的方法。往往只... 查看详情

地址标准化服务ai深度学习模型推理优化实践

导读深度学习已在面向自然语言处理等领域的实际业务场景中广泛落地,对它的推理性能优化成为了部署环节中重要的一环。推理性能的提升:一方面,可以充分发挥部署硬件的能力,降低用户响应时间,同... 查看详情

keras深度学习实战(20)——deepdream模型详解(代码片段)

Keras深度学习实战(20)——DeepDream模型详解0.前言1.DeepDream的技术原理2.DeepDream模型分析3.DeepDream算法实现3.1数据加载与预处理3.2DeepDream生成模型小结系列链接0.前言在《对抗样本生成》一节中,我们通过略微修改输入... 查看详情

[译]深度学习(yannlecun)

深度学习严恩·乐库 约书亚•本吉奥 杰弗里·希尔顿摘要深度学习是计算模型,是由多个处理层学习多层次抽象表示的数据。这些方法极大地提高了语音识别、视觉识别、物体识别、目标检测和许多其他领域... 查看详情

pytorch实现苹果m1芯片gpu加速:训练速度提升7倍,性能最高提升21倍

...,大大加快模型训练速度。这解锁了在Mac上执行机器学习工作流程的能力,例如在本地进行原型设计和微调。据PyTorch官网介绍,其使用Apple的MetalPerformanceShaders(MPS)作为PyTorch的后端来加速GPU训练。MPS后端扩... 查看详情