使用强化学习和博弈论,EA开发的测试AI变得更加精细。小人不断跳转到实时生成的平台,终于走到尽头了……你们觉得这是一款类似微信“跳”的小游戏吗?但其真实身份却是游戏巨头EA(美国艺电)最新研发的游戏测试AI。不同于只能玩游戏的普通AI,EA这次提出的新模式,不仅能让反派成功跳到终点,还能实时生成平台给自己“打难度”。为什么要设计成这种“相爱相杀”的关系呢?因为,很多之前的游戏测试AI在训练中容易过拟合地图,导致他们在测试新地图时表现不佳。因此,EA研究人员在强化学习的基础上,受到GAN的启发,提出了这种新方法ARLPCG(AdversarialReinforcementLearningforProceduralContentGeneration)。目前,与该方法相关的论文已被IEEECon??ferenceonGames2021录用。使用博弈论解决过拟合其实,在游戏测试中使用AI并不是什么新鲜事。许多以前的游戏测试AI都使用了强化学习。其特点是基于环境而行动,并根据从环境中获得的奖赏或惩罚(如获得积分、失血等)不断学习,从而制定出一套最优的行动策略。但研究人员发现,强化学习对固定场景的泛化能力很差,经常出现过拟合现象。比如在同一个场景中,只使用强化学习进行训练时,小人遇到不熟悉的路径就会出现“集体自杀”事件:这对于测试游戏地图哪里错了真的很不利。为此,EA研究人员参考了GAN的原理来设计模型,让AI自己进行战斗和优化。具体来说,他们提出的方法ARLPCG主要由两个强化学习代理组成。第一个代理生成器(Generator)主要负责生成游戏地图,它使用的是程序内容生成(ProceduralContentGeneration),这是一种可以自动生成游戏地图或其他元素的技术。第二个代理是Solver,负责完成Generator创建的关卡。其中,破解者完成关卡后将获得一定的奖励;生成器在生成具有挑战性且可通过的地图时也会获得奖励。在训练过程中,两个智能体互相提供反馈,使双方都能获得奖励。最终生成器将学会创建各种可通过的地图,而求解器在测试各种地图时将变得更加通用。同时,为了能够调整关卡的难度,研究人员还在模型中引入了一个辅助输入(Auxiliaryinput)。通过调整这个值的大小,他们可以控制游戏的通过率。例如,将生成器的辅助输入设置为1将使其生成的平台更大且靠得更近,使反派更容易跳跃。当辅助输入为-1时,生成的平台会变小,拉开距离,能过关的小人也会变少。结果表明,当发生器的辅助输入从1减少到-1时,成功率从97%下降到69%。另外,也可以通过调整求解器的辅助输入值来控制合格率。在固定路径、规则生成路径和对抗生成路径的几种情况下,通过率随着辅助输入的减少而降低。其中,对抗强化生成路径的通过率明显高于其他两者。此外,由于具有泛化到未知环境的能力,这种人工智能还可以用于训练后的实时测试。它可以在未知路段构建合理的通行路线,并可以反馈路径中障碍物或其他问题的位置。此外,这个AI还可以在不同的游戏环境中使用。在本文中,EA还展示了其在赛车游戏环境中的表现。在这个场景中,生成器可以创建不同长度、坡度和转弯的路段,求解器就变成了一辆在上面行驶的汽车。如果您将光线投射添加到生成器,您还可以在现有环境中导航。在这种情况下,我们看到生成器在不同的障碍物之间创建了一条容易的轨道,让汽车到达终点(图中的紫色球)。大型开放游戏测试论文第一作者LinusGisslén表示,开放世界游戏和实时服务游戏是发展的大势所趋。当游戏中引入了许多可变元素时,Bug的数量也会相应增加。所以游戏测试变得非常重要。目前常用的测试方法主要有两种:一种是用脚本进行自动化测试,另一种是手工测试。脚本测试速度快,但在处理复杂问题时效果不佳;手动测试正好相反。虽然可以发现很多复杂的问题,但是效率很低。而AI正好可以结合这两种方式的优点。其实EA这次提出的新方法很轻,生成器和求解器只用了两层512个单元的神经网络。LinusGisslén解释说,这是因为拥有多种技能会导致模型的训练成本非常高,所以他们试图让每个训练的agent只有一种技能。他们希望这种人工智能在未来能够不断学习新的技能,将人类测试人员从枯燥的普通测试中解放出来。此外,EA表示,当AI和机器学习逐渐成为整个游戏行业使用的主流技术时,EA也将做好充分的准备。论文链接:https://arxiv.org/abs/2103.04847参考链接:[1]https://venturebeat.com/2021/10/07/reinforcement-learning-improves-game-testing-ai-team-finds/[2]https://www.youtube.com/watch?v=z7q2PtVsT0I
