GAN再进击!Nvidia打造视觉学习GameGAN,用看的就能模拟出经典游戏小精灵

近日正逢怀旧电玩小精灵(Pac-man)问世40周年,Nvidia也发布了最新的对抗生成网络(GAN)研究成果GameGAN,可利用经典游戏小精灵的玩家视频,在四天内就产出一套栩栩如生的小精灵游戏(如下图),不仅能让用户动手玩,游戏中的规则、画面等细节更不需任何程序代码来撰写设计,等于不需要传统的游戏引擎支持,凭着GameGAN视觉学习就能完成。

近年来,Nvidia深耕GAN,在去年先后发布了如假包换的脸部生成网络StyleGAN,以及能将随手涂鸦转换成艺术大作的GauGAN。今年,Nvidia再度秀出新成果GameGAN,能靠视觉学习产生游戏环境,比如小精灵游戏的场景、规则等。

打造能视觉学习的模拟器

这款GameGAN由Nvidia、多伦多大学、加拿大AI研究院和麻省理工学院(MIT)联手打造,他们在论文中指出,模拟(Simulation)是机器人系统的核心,但要打造出好用的模拟器,还需撰写复杂的环境规则,比如,动态代理人该如何表现、代理人行为如何影响其他代理等。

为解决撰写复杂规则的问题,团队想出一个方法,要通过观察代理与环境的交互,来打造模拟器。团队首先从游戏下手,利用8个月时间,开发出一套生成式模型GameGAN;这套模拟器,将动画游戏视为现实世界的环境,可通过玩游戏的视频和键盘操作,来训练、模拟出一套游戏,甚至产生新的关卡。

进一步来说,GameGAN由三大部分组成,首先是一个动态引擎,来维持内部更新的变量,再来是一个外部记忆模块,来记住模型所产生的画面,保持一致性。也就是说,当游戏中代理人按一个按钮,GameGAN就会渲染(Render)、产生下一个屏幕画面,而记忆模块可创建环境内部地图,因此当代理人回到之前经过的地方时,画面就能保持一致。最后一部分则是渲染引擎,可在每个时间实体(Instance)中,对输出的图片进行解码。

用4天4个GPU来学习5万支视频

接着,团队利用5万支小精灵的游戏视频,以及Nvidia DGX系统来训练GameGAN。这些视频共有上百万个画面,内容包括了玩家操控小精灵的画面,而GameGAN就观看这些视频,从中学习游戏规则,比如精灵吃到大力丸时,幽灵会变色、反向逃跑等。这个方法,不需要传统的游戏引擎支持,也能创建一套完整的游戏。

此外,在训练过程中,GameGAN的渲染引擎还会学习从动态组件中(如吐火的幽灵),拆分出静态组件(如背景或蓝色的墙)。这个做法,还可让开发者替换背景,比如和马力欧玩小精灵,或是在自己喜欢的场景中玩游戏。

Nvidia多伦多研究实验室主任Sanja Fidler提到,团队开发完GameGAN后,只用了4天和4个GPU,就成功训练出小精灵游戏,还能让用户动手玩。此外,她也分享了开发过程中的趣事,“一些训练视频来自很厉害的亚洲玩家,所以最初GameGAN产生的小精灵,几乎都不会输。”

但她也坦言,GameGAN产生的小精灵,还没办法模拟原版小精灵的音效。

下一步:开发机器人模拟系统,加速自动化发展

“模拟器是训练机器人系统的核心,但开发模拟器非常耗时。”Sanja Fidler解释,模拟器可用来开发夹取对象的仓库机器人、自动驾驶汽车、送货机器人等,让机器人在其中学习现实世界的物理定律。但也因为这样,开发者要写许多规则来打造模拟器,比如物体如何交互、光线如何表现等。

她认为,GameGAN有望解决这个问题,通过观察代理人与环境的交互,来模仿代理人行为,开发者不必再撰写复杂的规则,来开发模拟器。