g用上强化学习和博弈论,EA开发的测试AI成精了

明敏 发自 凹非寺
量子位 报道 | 公众号 QbitAI
小人不断跳跃到实时生成的平台上、最后到达终点……
你以为这是个类似于微信“跳一跳”的小游戏?

g用上强化学习和博弈论,EA开发的测试AI成精了
文章插图

但它的真实身份,其实是游戏大厂EA(美国艺电公司)最新研究出的游戏测试AI。
和普通只会打游戏的AI不同,这次EA提出的新模型不仅要让小人成功跳到终点,还要自己实时生成平台来“为难”自己。
为什么要设计成这种“相爱相杀”的关系呢?
因为,此前的许多游戏测试AI往往会对训练中的地图过拟合,这导致它们在测试新地图时的表现很差。
由此,在强化学习的基础上,EA研究人员受到GAN的启发,提出了这种新方法ARLPCG (Adversarial Reinforcement Learning for Procedural Content Generation)。
目前,该方法的相关论文已被IEEE Conference on Games 2021接收。
用博弈论解决过拟合其实,把AI用到游戏测试,已经不是一件新鲜事了。
此前许多游戏测试AI都用到了强化学习。
它的特点是基于环境而行动,根据从环境中获得的奖励或惩罚(比如获得积分、掉血等等)不断学习,从而制定出一套最佳的行动策略。
不过研究人员发现,强化学习对于固定场景的泛化能力很差,往往会出现过拟合的现象。
比如在同样的场景中,只用强化学习训练的情况下,小人遇到陌生路径,就会发生“集体自杀”事件:

g用上强化学习和博弈论,EA开发的测试AI成精了
文章插图

这对于测试游戏地图哪里出现错误而言,真的非常糟糕。
为此,EA的研究人员参考了GAN的原理来设计模型,让AI内部自己对抗、优化。
具体来看,他们提出的方法ARLPCG主要由两个强化学习智能体组成。
第一个智能体生成器(Generator)主要负责生成游戏地图,它使用了程序内容生成(Procedural Content Generation),这是一种可以自动生成游戏地图或其他元素的技术。
第二个智能体是解算器 (Solver),它负责完成生成器所创建的关卡。
其中,解算器完成关卡后会获得一定的奖励;生成器生成具有挑战性且可通过的地图时,也会获得奖励。
训练过程中,两个智能体之间会相互提供反馈,让双方都能拿到奖励。
最终生成器将学会创建各种可通过的地图,解算器也能在测试各种地图时变得更加通用。

g用上强化学习和博弈论,EA开发的测试AI成精了
文章插图

与此同时,为了能够调节关卡难度,研究人员还在模型中引入了辅助输入 (Auxiliary input)。
通过调节这个值的大小,他们就能控制游戏的通过率。
比如,将生成器的辅助输入设为1时,它生成的平台就会更大、间距更近,小人跳跃的难度也就更低。

g用上强化学习和博弈论,EA开发的测试AI成精了
文章插图

当辅助输入为-1时,生成的平台就会变小、间距也会拉开,能够通关的小人随之变少。

g用上强化学习和博弈论,EA开发的测试AI成精了
文章插图

结果显示,在生成器的辅助输入从1降至-1过程中,成功率从97%降低到了69%。

g用上强化学习和博弈论,EA开发的测试AI成精了
文章插图

此外,也能通过调节解算器的辅助输入值控制通过率。
在固定路径、规则生成路径和对抗化生成路径几种情况下,通过率都随着辅助输入的降低而降低。