单张A100,50亿步训练,英伟达开源最强虚拟角色定制模型,超逼真动作零样本生成,游戏动画行业要变天
声明:本文来自微信公众号“新智元”(ID:AI_era),作者:新智元,编辑:好困 润,授权站长之家转载发布。
近日,英伟达正式开源了超强虚拟角色定制模型CALM。基于此,开发者可以利用AI,零样本生成复杂逼真的动作,简单而自由地控制角色。
8月8日深夜,英伟达CEO黄仁勋,再次登上了世界顶级计算机图形学会议SIGGRAPH的舞台,用一系列重磅更新展示了在AI和元宇宙方向上的野心。
而就在最近,被SIGGRAPH2023收录的CALM模型的正式开源,也让游戏和动画开发直接飙上了AI加持的快车道。
CALM可以自学「人类的动作」,无需额外训练就能自由合成和控制虚拟角色的动作,效果逼真自然。
也许很快整个游戏、动画工业的格局就要彻底改变,而VR场景中的人物和角色也将从此不再生硬,元宇宙可能真的要加速到来了!
AI控制角色蹲行靠近目标,当距离足够近时踢腿,最后举起双臂庆祝
具体来说,英伟达联合以色列理工学院、巴伊兰大学和西蒙菲莎大学,共同提出了一种全新的条件对抗潜模型(Conditional Adversarial Latent Models,CALM)。
通过模仿学习,CALM学习到了一种可以捕捉人类动作复杂性和多样性的动作表征,并能直接控制角色的动作。
该方法可以联合学习控制策略和动作编码器,对给定动作的关键特征进行重建,而不仅仅是复制。
结果表明,CALM可以通过学习语义动作表征,对生成的动作进行控制,并且为更高层的任务训练提供风格调整。
训练完成后,用户就可以利用像电脑游戏一样的界面,非常直观地对角色进行控制了。
论文地址:https://arxiv.org/abs/2305.02195
项目地址:https://github.com/NVlabs/CALM
实现方法
CALM以对抗性技能嵌入为基础,并借鉴了其代码。
研究人员利用单张A100GPU,通过在4096个IsaacGym环境上进行并行训练,共计50亿步。
项目地址:https://xbpeng.github.io/projects/ASE/index.html
为了实现零样本任务解决方案,CALM由3个阶段组成:
(1)动作编码器和底层策略(解码器)联合训练,将动作捕捉序列映射为控制模拟角色的动作。
(2)使用潜空间调节训练高层策略,从而实现对执行动作方向的控制,同时保留所需的风格。
(3)将步骤1和2结合起来,使用简单的有限状态机来解决任务,无需进一步训练,也无需精心设计奖励/终止条件。
阶段1:底层训练
在底层训练阶段,CALM学习了一个编码器和一个解码器。
编码器接收来自动作参考数据集的动作,即关节位置的时间序列,并将其映射到低维潜表征(low-dimensional latent representation)。
解码器是一个底层策略,通过与模拟器进行交互,来生成类似于参考数据集的动作。
这个策略能够按需产生各种行为,但不受动作方向性的影响。例如,它可以被指示走路,但无法本能的地控制行走的方向。
为了评估学习到的动作表征能力,研究人员测试了在潜空间中在动作之间进行插值的能力。
在这里,初始的潜表征是「冲刺」,最终的潜表征是「蹲下不动」。
在整个过程中,潜表征会随着时间进行线性插值,而角色则会通过语义上有意义的转换来平稳过渡,逐渐减慢速度并倾斜上半身。
阶段2:方向控制
为了控制动作方向,研究人员训练了一个高层任务驱动策略来选择潜变量。
其中,这些潜变量被提供给底层策略,并让后者生成所需的动作。
为了实现这一点,研究人员首先通过动作编码器来获取动作潜表征。
然后,根据高层策略所选的潜变量与代表所需风格的潜变量之间的余弦距离成比例,给它一个额外的奖励,从而引导高层策略采用所期望的行为风格。
而训练好的方向控制器,就可以控制角色所执行的动作形式和方向了。
比如下面的「蹲下行走」、「举盾行走」和「奔跑」。
蹲行
举盾
奔跑
阶段3:推理
最后,把之前训练过的模型结合起来(底层策略和方向控制器),以在没有额外训练的情况下组合出复杂的动作。
为此,用户创建一个包含标准规则和指令的有限状态机(finite-state machine,FSM)。
这些规则和指令确定要执行哪种动作,类似于用户控制游戏角色的方式。
例如,它们决定角色是否应该执行简单的动作,直接使用底层策略进行执行,或者是否需要高层控制来进行定向动作。
比如,FSM可以构建如下的动作流程:
(1)转身,
(2)向着目标蹲行,直到距离<1m,
(3)庆祝。
以下是更多的效果展示:
测试结果
可控动作生成
研究人员首先分析了CALM的三个方面:(1)编码器质量,(2)底层控制器的多样性,以及(3)组合系统的可控性。
编码器质量
使用之前研究中的类别分离性(separability)测试,研究人员在编码器学习的表示上衡量了潜空间内动作类别之间的分离性,将动作类别定义为单个动作文件(motion file)中的子动作。
如上表所示,CALM将动作编码为具有更好分离性的表征。
多样性
研究人员使用参考数据集训练了一个分类器,将动作序列映射到原始动作索引(originating motion index)。
当从随机采样的潜变量
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10