GAN版马里奥创作家:单样本可训练,生成关卡要素丰富 | 开源
点击上方“机器学习与生成对抗网络”,关注"星标"
获取有趣、好玩的前沿干货!
鱼羊 发自 凹非寺
量子位 报道 | 公众号 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
— 完 —
猜您喜欢:
超100篇!CVPR 2020最全GAN论文梳理汇总!
拆解组新的GAN:解耦表征MixNMatch
StarGAN第2版:多域多样性图像生成
附下载 | 《可解释的机器学习》中文版
附下载 |《TensorFlow 2.0 深度学习算法实战》
附下载 |《计算机视觉中的数学方法》分享
《基于深度学习的表面缺陷检测方法综述》
《零样本图像分类综述: 十年进展》
《基于深度神经网络的少样本学习综述》
GAN版马里奥创作家:单样本可训练,生成关卡要素丰富 | 开源相关推荐
- GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富 | 开源
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 对超级马里奥的关卡太熟悉,想玩点刺激的? 现在,汉诺威大学的研究人员推出了一个新的GAN,能够生成船新.可玩的超级马里奥关卡. 画风完美统一 ...
- 视频教程-Windows版YOLOv4目标检测实战:训练自己的数据集-计算机视觉
Windows版YOLOv4目标检测实战:训练自己的数据集 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多 ...
- 超越Facebook、谷歌、微软,百度发布全球首个百亿参数对话预训练生成模型PLATO-XL...
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 和 AI 进行无障碍的对话,是什么样的体验?你或许能够在这篇文章里找到 ...
- Cocos2d-xna : 横版战略游戏开发实验5 TiledMap实现关卡地图
Cocos2d-xna : 横版战略游戏开发实验5 TiledMap实现关卡地图 在前面的几篇中动手实验使用了CCSprite.CCScene.CCLayer.CCAction.CCMenu等coco ...
- DL之DCGNN:基于TF利用DCGAN实现在MNIST数据集上训练生成新样本
DL之DCGNN:基于TF利用DCGAN实现在MNIST数据集上训练生成新样本 目录 输出结果 设计思路 实现部分代码 说明:所有图片文件丢失 输出结果 更新-- 设计思路 更新-- 实现部分代码 更 ...
- 预训练生成模型:结合VAE与BERT/GPT-2提高文本生成效果
论文标题: Optimus: Organizing Sentences via Pre-trained Modeling of a Latent Space 论文作者: Chunyuan Li, Xi ...
- VLM:Meta AI CMU提出任务无关视频语言模型视频理解预训练VLM,代码已开源!(ACL 2021)...
关注公众号,发现CV技术之美 本文分享 ACL 2021 论文『VLM: Task-agnostic Video-Language Model Pre-training for Video Under ...
- AI学习笔记(九)从零开始训练神经网络、深度学习开源框架
AI学习笔记之从零开始训练神经网络.深度学习开源框架 从零开始训练神经网络 构建网络的基本框架 启动训练网络并测试数据 深度学习开源框架 深度学习框架 组件--张量 组件--基于张量的各种操作 组件- ...
- 网络训练生成飞行轨迹
网络训练生成飞行轨迹 介绍 本文是博客的子文.介绍如何对网络进行训练.主要代码文件如下: 整体代码框图如下,本文介绍框图中的B模块: 网络结构 网络结构定义代码在 nets.py中,模型名称为 Pla ...
最新文章
- 只身单车游山东(五)
- 针对不同创业阶段的创业者适合参加哪些创业赛事活动呢?创业是一场异常艰辛的马拉松,坚持是唯一的捷径,借...
- 中石油训练赛 - DNA(字符串哈希)
- 常见的几种负载均衡算法
- Oracle技术之ASM上恢复STANDBY数据库出现ORA-15173错误
- Jupyter Notebook使用说明
- 消除由try/catch语句带来的Warning
- 大数据面试3分钟自我介绍_如何在面试时,做好三分钟自我介绍
- 航海家辛巴达的故事(一)
- 异常体系执行顺序的 注意事项
- pcs7组态虚拟机中的服务器,PCS7冗余服务器配置
- 利用稀疏格式矩阵求解方程组以及机器学习训练速度对比
- windows通知栏中显示 微信等应用软件 的通知
- 地震了!最好直接砸死我!
- excel表格xlsx解密方法,忘记excel表格xlsx密码怎么办?
- 在控制台打印不完整的解决问题
- linux 动画软件,免费开源的 2D 动画软件
- SpringCloud Module依赖程序包找不到问题解决方法
- 树莓派4B+EdgeX+MQTT的填坑之旅
- CAS统一登录认证(1): 搭建 CAS Server
热门文章
- cas 4.1.5 添加验证码 亲测成功
- 常见监控软件介绍及原理介绍
- 一键安装+Docker计划正式启动
- java迭代的次数_kmeans_report Java 实现k- 聚类算法,分别以迭代次数及分配不再发生变化为 终止条件,用图 Develop 238万源代码下载- www.pudn.com...
- Grid 与 Dock
- 什么是安全操作系统?
- 基于ROS实现的机器人运动PID控制器
- WordPress4.6命令执行漏洞(CVE-2016-10033)复现教程---保姆级教程
- Unity制作一个望远镜与查看器摄像机
- 深入理解侵入式容器与非侵入式容器(intrusive containers)