使用对抗性强化学习测试游戏内容
2022年1月25日整理发布:在过去的十年里,人工智能研究实验室已经使用强化学习来掌握复杂的游戏。最近,游戏公司也对在游戏开发生命周期中使用强化学习和其他机器学习技术产生了兴趣。
例如,在游戏测试中,可以训练 RL 代理通过在现有内容(地图、关卡等)上玩游戏来学习游戏。一旦代理掌握了游戏,它可以帮助发现新地图中的错误。这种方法的问题在于,RL 系统经常在训练期间看到的地图上过度拟合。这意味着它将非常擅长探索这些地图,但在测试新地图时会很糟糕。
EA 研究人员提出的技术通过“对抗性强化学习”克服了这些限制,这是一种受生成对抗网络(GAN) 启发的技术,GAN 是一种深度学习架构,可让两个神经网络相互对抗以创建和检测合成数据。
在对抗性强化学习中,两个 RL 代理竞争和协作来创建和测试游戏内容。第一个代理生成器使用程序内容生成 (PCG),这是一种自动生成地图和其他游戏元素的技术。第二个代理Solver尝试完成生成器创建的关卡。
两种代理之间存在共生关系。Solver 通过采取有助于它通过生成的关卡的行动来获得奖励。另一方面,生成器因创建具有挑战性但并非不可能完成的关卡而获得奖励。随着训练的进行,两个代理相互提供的反馈使他们能够更好地完成各自的任务。
级别的生成以逐步的方式进行。例如,如果对抗性强化学习系统用于平台游戏,则生成器会创建一个游戏块,并在求解器设法到达它后继续移动到下一个游戏块。
“使用对抗性 RL 代理在其他领域是一种经过审查的方法,并且通常需要使代理充分发挥其潜力,”Gisslén 说。“例如,DeepMind 在让他们的Go 代理与不同版本的自身对战以达到超人类的结果时使用了这个版本。我们将其用作在训练中挑战 RL 代理变得更通用的工具,这意味着它将对环境中发生的变化更加稳健,这在游戏测试中经常会出现这种情况,环境每天都会发生变化基础。”
逐渐地,Generator 将学习创建各种可求解的环境,Solver 在测试不同环境时将变得更加通用。
一个强大的游戏测试强化学习系统可能非常有用。例如,许多游戏都有允许玩家创建自己的关卡和环境的工具。在各种 PCG 生成的关卡上接受过训练的 Solver 代理在测试用户生成内容的可玩性方面将比传统机器人更有效。
对抗性强化学习论文中有趣的细节之一是引入了“辅助输入”。这是一个影响生成器奖励并使游戏开发人员能够控制其学习行为的侧通道。在论文中,研究人员展示了如何使用辅助输入来控制 AI 系统生成的关卡难度。
EA 的 AI 研究团队将该技术应用于平台和赛车游戏。在平台游戏中,生成器从起点逐渐向目标放置积木。Solver 是玩家,必须从一个块跳到另一个块,直到达到目标。在赛车游戏中,Generator 放置赛道的各个部分,Solver 将汽车驾驶到终点线。
研究人员表明,通过使用对抗性强化学习系统并调整辅助输入,他们能够在不同级别控制和调整生成的游戏环境。
他们的实验还表明,使用对抗性机器学习训练的 Solver 比使用固定地图训练的传统游戏测试机器人或 RL 代理要强大得多。