您的位置:首页 > 编程语言

一条命通关,这个AI算法玩超级马里奥操作秀翻天丨视频+开源代码

2019-06-02 11:55 1661 查看
郭一璞 发自 北四环 
量子位 报道 | 公众号 QbitAI

把超级马里奥玩成下面这样,算什么水平?

能流畅的行走在妖魔鬼怪之间

能掐准食人花出现的时机

能灵巧的躲过烧火棍

能克服各种变态的地形

从1-1到7-1,只要一条命,就能全部通过,而且操作几乎没有迟疑,如行云流水一般。

不信的可以看完整视频:

别人玩得这么溜,你是不是只能被小乌龟、喷子弹的小怪物、上上下下的地形虐?

不过,这个玩游戏的不是人,是一只通过深度强化学习算法实现的AI。

异步优势演员评论家算法

这个算法已经开源,是2016年的论文《Asynchronous Methods for Deep Reinforcement Learning》中提到的算法的实现。

异步一步Q-Learning:每个线程与自己的环境副本交互,在每一步中计算,用共享的渐变目标网络Q-Learning损失的梯度,就像DQN训练模型一样。

异步多步Q-Learning:在正视图中通过明确的计算多步返回来运行,因为基于动量的方法反向传播来训练神经网络时,用正视图更容易一些。

异步优势演员评论家算法:这是超级马里奥AI的核心。智能体中的两个部分,分别扮演演员和评论家,负责创造和监督。

和前面的异步多步Q-Learning一样,演员和评论家在正视图中运行,用相同的多步返回组合来更新策略和价值函数。

演员就像一个小孩子一样,会探索世界,做各种事情。

评论家则类似于前面小演员的爸爸妈妈,负责监督演员的举动,赞扬他做的好的地方,批评他做的不好的地方,告诉自己孩子:你和其他演员(别人家的孩子)差在哪儿了。

因此,演员希望一直能获得爸妈的赞扬,获得积极的反馈,就会根据爸妈的赞扬和批评不断修正自己的行为。

而对于异步优势演员评论家算法而言,则是为小演员提供了一所“学校”。如果小演员只在家里学习,可能学到的东西更片面,而且学习速度也比较慢。在异步优势演员评论家算法这所学校里,有“老师”和“同学”能让演员更快的学习,学到正确的知识。

游戏达人Viet Nguyen

最后,公布这个算法实现的是GitHub用户Viet Nguyen。

他是一名AI和机器人方向的硕士,毕业于慕尼黑工业大学,主要研究自然语言处理和计算机视觉。

现在,他是德国手游公司Popcore的一名数据科学家。除了超级马里奥,他还研究过用Deep-Q-Learning训练AI玩Flappy Bird。

传送门

最后,这个项目已经开源了,发布者公布了代码和模型,针对超级马里奥的每一关都单独训练了模型,在RTX 2080上大概一关费了6~10个小时。

开源代码
https://github.com/vietnguyen91/Super-mario-bros-A3C-pytorch

论文原文
Asynchronous Methods for Deep Reinforcement Learning
Volodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirza, Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, Koray Kavukcuoglu
https://arxiv.org/abs/1602.01783


小程序|全类别AI学习教程

AI社群|与优秀的人交流

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐