2023年4月,谷歌和斯坦福大学创造的虚拟小镇smallville。在这个开放世界中,25个由GPT驱动的智能体拥有独特人设和记忆,生活在小镇中,产生了错综复杂的行动,甚至自发组织了一场情人节派对,从邀请、装饰场地到成功举办,像是真实世界的“镜像”仿真。
可惜的是,小镇中多智能体的交互过程,仅通过2D画面和对话气泡展示,无法呈现“西部世界”中3D真人用生动神态、身体动作和反应创造的身临其境感。
如何让虚拟小镇“生动”起来?
演示视频:https://www.bilibili.com/video/BV1bb4y1V72a/#reply622506930
元象XVERSE专门研发3D动作生成PHASIG算法,全称为Physics-based Humanlike Agent-Scene Interaction Generation,让AI在3D场景中拥有思考、规划和行动力,只需输入角色任务相关文本,如“组织一场情人节派对”,AI就能自动规划和生成3D动作,并随场景和角色意图的变化智能调整,用“灵动”交互让小镇焕发生机。
PHASIG算法综合使用了元象大模型、强化学习、物理仿真等多种复杂技术,融入了团队成员在图形学顶会SIGGRAPH Asia 2023发表的AI角色动作生成算法(获大会最佳论文提名)。
多样化的生成效果
PHASIG算法最大的优势在于“双提效”,提升效率上,通过在物理仿真环境大量探索和模拟训练,减少了大量人力和时间成本。提升效果上,让智能体自动完成高复杂度任务,以及生成对应的多样化动作,呈现上更为逼真生动:
- 处理多样化任务
会为智能体规划坐、躺、拿取等多样化任务:
定制走路姿态和风格:
- 处理多样化环境信息
当任务相同(=坐),环境不同(=椅子不同)时,智能体动作要适应环境,比如靠背椅用放松坐姿,吧台高脚椅要伸直双脚:
智能体和物体相对位置不同时,要灵活应对,比如背对椅子,可直接坐下。若正对椅子,要转身再坐下:
-
生成多样化动作效果
智能体状态或意图改变,对同一个物体可以有不同的交互方式,例如当智能体的状态变得疲劳时可以在沙发上躺下而非坐下:
-
应对多样化环境变化
面对环境变化,智能体要能及时状态并应对。比如其他角色移动了椅子,智能体要能更新相对位置信息并坐下,甚至快要摔倒时,也能自然起身再坐下:
3D动作生成的技术流程
想让AI在3D场景中拥有思考、规划和行动力,可以结合传统游戏技术和PHASIG算法提升生成效果。具体分为两个步骤:
第一步:输入任务Prompt
用大模型自动规划和拆解任务
为展现智能体的复杂行为,让元象大模型成为“大脑”,分析智能体当前所在的时间、生活状态数值、每天活动时刻表等关键信息,规划出“下一步要用餐”的任务。
再用一个参数量更小的模型拆解任务,将行动细化为:【走去】【冰箱】-【拿】【苹果】 - 【拿】【香蕉】-【走去】【沙发】-【坐在】【沙发】-【用餐】。
第二步:AI自动生成多样化3D动作
强化学习、物理仿真、传统技术的灵活组合
这里的【走去冰箱】或【走去沙发】是常见的寻路问题,对多样性要求不高,可用游戏成熟的NavMesh、A*算法等来解决。
而【拿苹果】或【坐沙发】则动作复杂度高,要考虑智能体和物品的相对位置有随机性,椅子高度或形状不同,要对应不同坐姿等,传统方法难以处理,就用强化学习和物理仿真结合的PHASIG算法来解决。
强化学习的应用
强化学习是人型机器人和四足机器人制造领域常用的方法,提供了一种训练机器人的有效方式,使其能在复杂环境中执行任务,学习适应性行为,并不断优化其表现。
PHASIG算法的训练过程,就是在物理模拟环境中控制多个智能体,不断模拟探索并搜集实时反馈或奖励,再通过PPO(Proximal Policy Optimization)等强化学习算法优化智能体的行为,不断重复模拟和优化,直到表现无法进一步提升。
世界知名围棋AI“AlphaGo”和Dota游戏中水平媲美世界冠军的“OpenAI Five”就是基于类似的算法,在特制游戏模拟环境中进行大量练习(相当于人类练习数万年),从而击败顶尖职业选手。
关于 PPO 算法
一种常用的强化学习算法,在其损失函数中引入了Clip函数来控制更新幅度,防止策略更新过大,从而提高了算法稳定性,让训练过程更高效可靠。
其损失函数如下:,其中为新策略相对于旧策略的变化率。为该时刻的优势函数。为策略变化率相关的阈值。
原理延伸阅读:2020年游戏开发者大会育碧关于《Ragdoll Motion Matching》演讲;经典书籍《Reinforcement
learning: An Introduction, 2nd edition》
物理仿真的应用
为了获取强化学习的训练数据,采用人形机器人的物理仿真方式模拟人体的运动,主要考虑碰撞和驱动两个方面。碰撞方面,采用简单几何体(如胶囊体和球体)来近似身体部位形状,能让计算和内存消耗较小,又赋予各肢体质量感与碰撞模拟的能力。
仅需极少参数即可描述胶囊体和球体的几何特征及位姿信息
在驱动上,添加关节(joint)连接各个肢体,并约束其运动,比如用膝盖关节连接人的大腿和小腿,并设定其不会向前弯曲。这一般会用到两种连接:球窝关节(ball-and-socket joint),有三个旋转自由度,如颈部和肩膀;铰链关节(revolute joint)有一个旋转自由度,如膝盖和手肘。基础几何体用关节连接,即可形成一个拟人态的关节系统(Articulation system)。
拟人态关节系统
最后策略网络输出每个关节的目标旋转,通过PD控制器(Proportional-derivative controller)让角色动起来,就获得了一个动作符合物理仿真的人形机器人。
关于 PD 控制器 PD控制器的输出根据以下公式计算: 其中比例增益和微分增益都是提前设置的参数,而是当前状态和目标状态之间的残差。
强化学习需大量模拟,元象在云上服务器部署高了高并发物理仿真系统,仅通过单卡A10,即可支持上千个物理模拟环境同时模拟,大大加速了训练和推理。
综上所述,PHASIG算法通过大模型、强化学习和物理仿真的有机结合,让智能体能有意识或无意识地应对变化、不确定的环境,是AI+3D领域的又一次前沿探索。
未来展望
目前PHASIG算法仅覆盖肢体动作的生成,不包含手指等更精细部位的动作,此外动作完成的精准度还有所欠缺,例如操作电脑时手没有放在键盘上等,元象将持续迭代算法提高AI的表现力。
让AI Agents在3D场景中拥有强大的思考、规划和行动力,为虚拟世界的角色赋予“大脑”和“身体”,是打造沉浸式3D内容的高潜力路径。元象将持续提升动作生成效果的多样性、一致性和可控性,增加动作类型,提升动作内容可控部分,如探索文本生成动作算法,用文本描述引导和调整动作生成等。