不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

内容速读:

机器之心报道编辑:张倩、蛋酱看了用强化学习训练的马里奥,我才知道原来这个游戏的后几关长这样。其实,除了我们这些玩家之外,强化学习研究者也对这款游戏情有独钟。最近,有人用 PPO 强化学习算法训练了一个超级马里奥智能体,已经打通了 29 关,相关代码也已开源。使用 PPO 训练的 OpenAI Five 是第一款在电竞游戏中击败人类世界冠军的 AI。

机器之心报道

编辑:张倩、蛋酱

看了用强化学习训练的马里奥,我才知道原来这个游戏的后几关长这样。

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

《超级马里奥兄弟》是任天堂公司开发并于 1985 年出品的著名横版过关游戏,最早在红白机上推出,有多款后续作品,迄今多个版本总销量已突破 5 亿套。

这款游戏承载了一代人的回忆,你还记不记得你玩到过第几关?

其实,除了我们这些玩家之外,强化学习研究者也对这款游戏情有独钟。

最近,有人用 PPO 强化学习算法训练了一个超级马里奥智能体,已经打通了 29 关(总共 32 关),相关代码也已开源。

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

PPO 算法的全称是 Proximal Policy Optimization(近端策略优化),是 OpenAI 在 2017 年发布的一种强化学习算法。该算法的实现和调参十分简单,在强化学习中的表现优于当时所有顶尖算法的水平,因此被 OpenAI 作为强化学习研究中的首选算法。

使用 PPO 训练的 OpenAI Five 是第一款在电竞游戏中击败人类世界冠军的 AI。2018 年 8 月,OpenAI Five 与 Ti8Dota2 世界冠军 OG 战队展开了一场巅峰对决,最终 OpenAI Five 以 2:0 的比分轻松战胜世界冠军 OG。

此前,作者曾经使用 A3C 算法训练过用于通关超级马里奥兄弟的智能体。尽管智能体可以又快又好地完成游戏,但整体水平是有限的。无论经过多少次微调和测试,使用 A3C 训练的智能体只能完成到第 9 关。同时作者也使用过 A2C 和 Rainbow 等算法进行训练,前者并未实现性能的明显提升,后者更适用于随机环境、游戏,比如乒乓球或太空侵略者。

还有三关没有过是怎么回事?作者解释说,4-4、7-4 和 8-4 关的地图都包含了一些谜题,智能体需要选择正确的路径才能继续前进。如果选错了路径,就得重新把走过的路再走一遍,陷入死循环。所以智能体没能通过这三关。

00:00/00:00倍速 画中画

开源项目地址:https://github.com/uvipen/Super-mario-bros-PPO-pytorch

近端策略优化算法

策略梯度法(Policy gradient methods)是近年来使用深度神经网络进行控制的突破基础,不管是视频游戏、3D 移动还是围棋控制,都是基于策略梯度法。但是通过策略梯度法获得优秀的结果是十分困难的,因为它对步长大小的选择非常敏感。如果迭代步长太小,那么训练进展会非常慢,但如果迭代步长太大,那么信号将受到噪声的强烈干扰,因此我们会看到性能的急剧降低。同时这种策略梯度法有非常低的样本效率,它需要数百万(或数十亿)的时间步骤来学习一个简单的任务。

2017 年,Open AI 的研究者为强化学习提出了一种新型策略梯度法,它可以通过与环境的交互而在抽样数据中转换,还能使用随机梯度下降优化一个「surrogate」目标函数。标准策略梯度法为每一个数据样本执行一个梯度更新,因此研究者提出了一种新的目标函数,它可以在多个 epoch 中实现小批量(minibatch)更新。这种方法就是近端策略优化(PPO)算法。

该算法从置信域策略优化(TRPO)算法获得了许多启发,但它更加地易于实现、广泛和有更好的样本复杂度(经验性)。经过在一组基准任务上的测试,包括模拟机器人移动和 Atari 游戏,PPO 算法展示出了比其他在线策略梯度法更优秀的性能,该算法总体上在样本复杂度、简单性和实际时间(wall-time.)中有非常好的均衡。

近端策略优化可以让我们在复杂和具有挑战性的环境中训练 AI 策略,先看这个 demo 视频:

00:00/00:00倍速

如上所示,其中智能体尝试抵达粉红色的目标点,因此它需要学习怎样走路、跑动和转向等。同时该智能体不仅需要学会怎样从小球的打击中保持平衡(利用自身的动量),在被撞倒后还需要学会如何从草地上站起来。

PPO 方法有两种主要的变体: PPO-Penalty 和 PPO-Clip。

PPO-Penalty 近似求解一个类似 TRPO 的被 KL - 散度约束的更新,但惩罚目标函数中的 KL - 散度,而不是使其成为优化问题的硬约束, 并在训练过程中自动调整惩罚系数,从而适当地调整其大小。

PPO-Clip 在目标中没有 KL 散度项,也没有约束。取而代之的是在目标函数上进行专门裁剪 (clip), 以消除新策略远离旧策略的激励 (incentives)。

关于该算法的更多信息可以参考原论文。

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

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

网友:马里奥的奔跑,是我放荡不羁的青春

项目作者用 Pytorch 实现的《超级马里奥》demo 在 reddit 上引起了上千人围观,作者也现身评论区答疑解惑。

有人说,「他跑得那么快、那么不管不顾,看得我捏了一把汗。」

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

这种六亲不认的步伐甚至让某些人想起了自己放荡不羁的青春。

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

「跑这么快,你捡钱和蘑菇了吗?」这个马里奥的迷之操作让人觉得有点困惑。甚至有人调侃说,「这应该是史上最『节俭』的马里奥了。」

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

当然,也有人问技术方面的问题,比如说:「是不是为每一关都训练了一个单独的智能体?有没有尝试过训练一个智能体打通所有关?」

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

作者表示,确实每关都是单独训练的,中间也尝试过训练一个智能体智能体跑所有关,但没成功。

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

评论区还存在其他的质疑,比如过拟合问题。

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

但无论如何,有一点是值得欣慰的:这个实现借助强化学习之手,让我们看到了二十关以后的样子。

不吃蘑菇,不捡金币,我用强化学习跑通29关马里奥,刷新最佳战绩

参考链接:https://www.reddit.com/r/MachineLearning/comments/hy3hry/p_python_implementation_of_proximal_policy/

相关推荐

好马不吃回头草?错了,这几款游戏回归福利谁能忍住不领取

没错,它就是当时火爆全球的策略类游戏,而部落战争也准备开启自己的八周年的庆典了,为了让老玩家也可以回来享受一下8周年的气氛,特意在前段时间就出台了一个老玩家回归福利活动.活动名字叫做首领你回来啦!这次给到的回归福利可以说是有史以来最给力的一次,不但有回归动画,回归教学,更有村庄升级,和终极大福利给到...

吃鸡游戏中,不吃配件的3把武器,捡到就是“满配”

无论是绝地求生端游,手游,还是和平精英,枪械配件对武器的提升作用非常大,但有些枪械即使没有配件,也可以发挥强大作用。今天我们来聊一聊,吃鸡游戏中:不吃配件的3把武器,捡到就是“满配” 1、S686霰弹枪 S686作为一把喷子,伤害非常爆炸,不管你身穿多高的防具,两枪都能直接把你带走。并且S686捡起...

影之诗:推荐两套不吃先后手的卡组

主要来介绍下吉尔沃这套牌吧。感觉现在挂世界的卡组好多,许多对局,相同的卡组LOW到第十局分胜负一点都不少见,所以谁先手,谁就越有可能取胜。我每次后手输了都会玩一局周报局分享的吉尔沃大威天龙,无关先后手,打法、皇是真的爽,胡了把先手狗吊起来锤。说下皇家,不管任何形态的皇家,打起来是真没什么压力,直到遇...

108岁老人打麻将不输钱,临终前告诉孙子“四不吃”,赢钱赢到手软

打麻将一定要心态好,不能刚开始输几局心态就崩了,如果这样的话你只会越输越快,而曾经有一位108岁的老奶奶,打麻将从来不输,而究竟有什么秘诀呢?开牌吃边卡,莫吃两头牌。牌从门前过,不如摸一个。手风不超二,缺幺留后更。原则不放炮,职责看下家。金三和银七,危险二五八。二五先打八,拆边不拆卡。有风先打东,打...

“吃鸡”鲨鱼偶遇天外来物,网友:这样的运气,想不吃鸡都难

作为如今大热的手游,和平精英确实是备受玩家们的喜爱,也能理解,毕竟随时随地就能吃鸡的体验,确实不错,无时无刻都可以感受枪战的刺激,而且现在和平精英的玩法可是太多了,精彩不停啊,为了让玩家们时刻感受游戏新鲜感,策划也是下功夫了的。要是都是鲨鱼的粉丝,那真的是不想吃鸡都难啊,这样的天外来物,多多益善。

PCL四大天王各领风骚,IFTY一天两鸡狂追分,韦神佛系不吃鸡

SMG也是最近状态不错,已经提前进入淘汰赛,由于绝地求生运气成分很占,所以想要在淘汰赛见到四大天王,还是不容易,这一次将齐聚PCL夏季赛的淘汰赛,虎牙会全程直播PCL,IFTY和4AM作为虎牙平台的签约战队,一直成绩不错,期待他们在夏季赛的表现!

“吃鸡”菜鸟上分注意点?不吃鸡也能稳妥上分,萌新赶紧学习!

欢迎来到瓜瓜谈游戏,有些小伙伴在吃鸡的时候总会抱怨说上分太难,队友太坑等等一些问题,在小编看来这并不玩家吃不到鸡的根本。虽然说在游戏中的上分坎坷比较多,经常会遇见一些实力和段位不符的队友,把自己坑到体无完肤。在这里面同样也会有不少玩家一直是在处于“坑人”的状态,并不是被坑。那么本期给大家分享几个单排...

“吃鸡”用高倍镜观察止痛药发现一个标志和日期,以后不吃了

止痛药上的秘密在吃鸡游戏中止痛药是一个非常常见的物资,可以帮助玩家回血,补充能量值。近日一位吃鸡玩家用高倍镜观察止痛药发现了一个神秘的标志和一个日期。除了这个标志之外,止痛药上面还有一个日期,一般来说药品上面不会显示生产日期,只会显示有效期到某年某月某日,所以DATA后面的日期应该是有效期时间。

《幻塔》遗迹太难了?教你一个小技巧,不吃血硬核通关

《幻塔》遗迹太难了?教你一个小技巧,不吃血硬核通关

三国志 冠军也逃不过真香定律?小孩你说好不吃鱼补血的呢?

三国志 冠军也逃不过真香定律?小孩你说好不吃鱼补血的呢?

天龙八部:三生三世卡49新战场来了!限制满四不吃卡,懂得来

最近《新天龙八部》网游卡级的小伙伴是越来越多了,大家都喜欢卡级省心省钱省时间。目前卡级最新战场来自服务器,由玩家自发组成卡49级、限制石头4级、不吃卡,欢迎各路白嫖选手投入战场,已经开始疯狂激情对战。来自服务器的“怀旧”帮和“天府”帮之间的对战,从战斗比例来看,两方实力是比较相当的。喜欢的话可以入驻...

六剑剑圣遭遇削弱,已退居二线?神超:我就不信六剑六奥还不吃

因为虽然剑士羁绊与剑圣遭遇到削弱,但是如果在剑圣装备很对的情况之下,这套阵容前期用来过渡的三剑三奥还是有着比较大的强度的。而在近日,神超在排位的过程之中就遇到了一把“自然之力”星系,同时,也因为在前期就拿到了剑圣的神装,在这一局中,神超就有了六剑六奥的打算。而就像之前所说的那样,在这一局中,神超已经...

花一万就觉得自己是氪金大佬? 这些玩家分分钟刷新你的价值观

饭可以不吃,但游戏必须氪。不少人以为自己累积氪金超过一万,总算可以挺起腰板大声说话了吧,不料刚一开腔就引来网友们的哄堂大笑。一群氪了十万多的人都不敢自称为大佬",不信?NO.3:Steam氪金30W说了两位在网游里面一掷千金的大佬现在我们换一下口味,在Steam里面氪金超过30万又将会是什么...

魔兽世界怀旧服:P5阶段奶萨速成与进阶与未来展望

作者:NGA-DeeSee当前阶段,不吃合剂的毕业奶萨满会有接近1100的治疗强度,按照60%来算,我们需要堆到660才能保证不会被甩飞。萨满的3T2是质变,优先去BWL里躺,优先捡手套、手腕、鞋子、腰带,没有的话就优先凑3T2。首领锁链腿甲不是奶萨用的,不要拍。当天BWL躺完就可以去MC全通团躺了...

三国志11赵云洞察破一切软控,作为谋士也能扳回一局

在三国志11中,赵云因为其洞察特技使得赵云不吃软控的,必定识破对方计略,这使得赵云能抗住一切谋略,令三国11里的所有谋士汗颜。然而虽然如此,三国志11还是为齐攻设计了一个特技——掎角。二人分别是吕布和曹操的谋士。逮捕暗杀董卓失败的曹操,但被曹操的志向感动而弃官同行。后有随吕布辗转到徐州,最后与吕布一...

盒子游戏,游戏玩家专属个性阅读社区


©CopyRight 2010- 2020 BOXUU.COM Inc All Rights Reserved

鄂公网安备 35020302000061号- 鄂ICP备2020015574号-1