GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富 | 开源

仅需要一个示例,就可以进行训练。

鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI

对超级马里奥的关卡太熟悉,想玩点刺激的?

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

现在,汉诺威大学的研究人员推出了一个新的GAN,能够生成船新、可玩的超级马里奥关卡。

画风完美统一,难点出其不意:

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

并且,仅需要一个示例,就可以进行训练。

比起我这样的马里奥乱造家,看上去有逻辑多了。

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

并且,他们已经把代码开源啦。

GAN版马里奥创作家

在《超级马里奥制造2》这款游戏里,玩家可以组合不同的关卡零件,凭借自己的灵感创作超级马里奥关卡。

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

事实上,这只名为TOAD-GAN的AI生成关卡的逻辑也与之类似。

TOAD-GAN是基于SinGAN架构的扩展,能够生成基于token的超级马里奥关卡。

所谓token长这样:

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

通过使用级联的生成器和判别器,SinGAN可以仅凭单一图像,训练生成模型。

基于这个架构,在训练中,一个关卡被采样为N个不同的尺寸。

N的选择标准,是生成器和判别器中卷积滤波器的感受野能够覆盖最小尺寸下关卡高度的至少一半。

这样一来,既可以确保关卡中较大的结构被正确建模,也能保障其全局位置的变化。

在空间下采样的过程中,一些小但重要的结构可能会丢失。为此,研究人员提出了一种保留重要token的下采样方法。

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

具体步骤如下:

首先,在单样本编码的训练关卡上,使用双线性下采样来创建所选尺寸的基础关卡。

针对每个尺寸中的每个像素,选择值大于0的token。并从该列表中,保留层次结构中等级最高的token,将其余token设置为0。

然后,在每个像素的所有通道上应用Softmax。

接着,还需要对较小尺寸的输出进行双线性上采样。

这样,TOAD-GAN就可以通过将预定义输入注入到生成器级联中,来执行关卡编写。

研究人员表示,这种应用对于程序内容生成而言十分有趣,因为给定token,设计者只需指定参考关卡或布局,生成器就会自动创建其变体,对数据量的要求并不高

实验结果

研究人员对TOAD-GAN生成的结果进行了定性对比。

可以看出,与超级马里奥的原生关卡相比,TOAD-GAN生成的关卡在保留了风格的基础上,产生了不同的元素组合方式。

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

与此前的其他方法不同的是,TOAD-GAN是一个生成器对应一个关卡。这也就避免了不同类型的关卡风格被混合到一起,造成混乱。

并且,也不会因为依赖于小样本的问题,而导致(p)中出现的重复情况。

所以,TOAD-GAN生产成本的游戏关卡在视觉效果上,更加令人信服。

研究人员还用Baumgarten等人提出的马里奥通关AI,验证了生成关卡的有效性。通关AI能在65%的随机生成关卡中取胜。在原生关卡中,其胜率是52%。

不只是超级马里奥

其实,不只是超级马里奥,研究人员也通过实验证明,TOAD-GAN可以生成任何基于token的游戏的关卡,比如超级马里奥赛车。

GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富

TOAD-GAN只用原生赛道样本进行训练。

对布局进行种子化处理,就可以保证赛车轨道的连接性和可玩性,还能让轨道结构与原始样本产生明显的不同。

研究人员还表示,下一步他们还会将游戏机制揉进生成过程中,并将TOAD-GAN应用于Minecraft这样的像素游戏,或具有非线性关卡结构的迷宫游戏。

传送门

论文地址:https://arxiv.org/abs/2008.01531

GitHub项目地址:https://github.com/Mawiszus/TOAD-GAN

版权所有,未经授权不得以任何形式转载及使用,违者必究。