鱼羊发自凹非寺
量子位报道公众号 QbitAI
对超级马里奥的关卡太熟悉,想玩点刺激的?
现在,汉诺威大学的研究人员推出了一个新的 GAN,能够生成船新、可玩的超级马里奥关卡。
画风完美统一,难点出其不意:
并且,仅需要一个示例,就可以进行训练。
比起我这样的马里奥乱造家,看上去有逻辑多了。
并且,他们已经把代码开源啦。
GAN 版马里奥创作家
在《超级马里奥制造2》这款游戏里,玩家可以组合不同的关卡零件,凭借自己的灵感创作超级马里奥关卡。
事实上,这只名为TOAD-GAN的 AI 生成关卡的逻辑也与之类似。
TOAD-GAN 是基于 SinGAN 架构的扩展,能够生成基于 token 的超级马里奥关卡。
所谓 token 长这样:
通过使用级联的生成器和判别器,SinGAN 可以仅凭单一图像,训练生成模型。
基于这个架构,在训练中,一个关卡被采样为N个不同的尺寸。
N 的选择标准,是生成器和判别器中卷积滤波器的感受野能够覆盖最小尺寸下关卡高度的至少一半。
这样一来,既可以确保关卡中较大的结构被正确建模,也能保障其全局位置的变化。
在空间下采样的过程中,一些小但重要的结构可能会丢失。为此,研究人员提出了一种保留重要 token 的下采样方法。
具体步骤如下:
首先,在单样本编码的训练关卡上,使用双线性下采样来创建所选尺寸的基础关卡。
针对每个尺寸中的每个像素,选择值大于 0 的 token。并从该列表中,保留层次结构中等级最高的 token,将其余 token 设置为0。
然后,在每个像素的所有通道上应用 Softmax。
接着,还需要对较小尺寸的输出进行双线性上采样。
这样,TOAD-GAN 就可以通过将预定义输入注入到生成器级联中,来执行关卡编写。
研究人员表示,这种应用对于程序内容生成而言十分有趣,因为给定 token,设计者只需指定参考关卡或布局,生成器就会自动创建其变体,对数据量的要求并不高。
实验结果
研究人员对 TOAD-GAN 生成的结果进行了定性对比。
可以看出,与超级马里奥的原生关卡相比,TOAD-GAN 生成的关卡在保留了风格的基础上,产生了不同的元素组合方式。
与此前的其他方法不同的是,TOAD-GAN 是一个生成器对应一个关卡。这也就避免了不同类型的关卡风格被混合到一起,造成混乱。
并且,也不会因为依赖于小样本的问题,而导致(p)中出现的重复情况。
所以,TOAD-GAN 生产成本的游戏关卡在视觉效果上,更加令人信服。
研究人员还用 Baumgarten 等人提出的马里奥通关 AI,验证了生成关卡的有效性。通关 AI 能在 65% 的随机生成关卡中取胜。在原生关卡中,其胜率是 52%。
不只是超级马里奥
其实,不只是超级马里奥,研究人员也通过实验证明,TOAD-GAN 可以生成任何基于 token 的游戏的关卡,比如超级马里奥赛车。
TOAD-GAN 只用原生赛道样本进行训练。
对布局进行种子化处理,就可以保证赛车轨道的连接性和可玩性,还能让轨道结构与原始样本产生明显的不同。
研究人员还表示,下一步他们还会将游戏机制揉进生成过程中,并将 TOAD-GAN 应用于 Minecraft 这样的像素游戏,或具有非线性关卡结构的迷宫游戏。
传送门
论文地址:
https://arxiv.org/abs/2008.01531
GitHub 项目地址:
https://github.com/Mawiszus/TOAD-GAN
— 完 —