首页 > 行业资讯 > 如何用算法轻松实现通关超级玛丽?

如何用算法轻松实现通关超级玛丽?

时间:2022-03-25 来源: 浏览:

如何用算法轻松实现通关超级玛丽?

人民邮电出版社
人民邮电出版社

renyoushe

传递新知,开创新视界。

收录于话题

不用历经千辛万难,就能让马里奥找到碧琪公主,是什么快乐体验?

国外有一位强化学习爱好者在reddit上秀了一波骚操作。

他利用强化学习训练出超级马里奥智能体,轻松通关,圆满了众多网友小时候没能通关超级玛丽的梦想。

“强化学习如此多娇,引无数程序员竞折腰”,还真不是一句玩笑话。

就拿小悠来说,最近也迷上了强化学习,发现那位程序员通关超级玛丽所用的PPO强化学习算法,在最近出版的这本 《EASY RL:强化学习教程》 中也只能算是开胃小菜。

强化学习应用的领域超级广,当然知识点也超级多,入门超级难。不过,学完这本“蘑菇书”,你会发现:

吃透“蘑菇书”后,便能像马里奥吃下“蘑菇”后变大变强一样,轻松通关强化学习。

——而这也正是“蘑菇书”的寓意所在。

▲点击封面,进入购买界面

01

强化学习的神通广大之处

超级玛丽发烧友利用强化学习顺利通关超级玛丽,这到底发生了什么?

让小悠来带你一探究竟。

最开始,这位程序员是 利用A3C算法训练智能体超级马里奥 。虽然经过这种算法训练后的马里奥可以以特别快的速度完成关卡,比普通的游戏玩家玩得更快、更好。

但是在进行了无数次的调整和测试后,这种算法训练出来的马里奥也最多只能通过全部32级关卡中的19级。

这位程序员一直没有放弃通关马里奥的努力。直到他在学习强化学习的过程中, 发现PPO算法似乎可以帮他实现梦想。

PPO算法是OpenAI 发布的一种最早用于训练OpenAI Five(第一个在电子竞技游戏中击败世界冠军的AI)的强化学习算法,其全称为Proximal Policy Optimization,意为近端策略优化。这种算法的实现和调参难度不大,在强化学习中表现出来的性能更是优于许多顶尖算法。

这位程序员惊叹于强化学习超强能力的同时,也不忘把这个项目在GitHub上开源,并把用Python编写PPO算法来给超级马里奥开外挂的成果展示在了reddit和YouTube上。

通过PPO算法训练出来的超级马里奥智能体可以完成全 部32级中的31级 ,极佳的效果引发了网友们的热议。

看到这里,你可能会好奇,如此神通广大的强化学习究竟是什么?

在蘑菇书中,作者是这样解释“强化学习”的:

强化学习(reinforcement learning,RL)讨论的问题是智能体(agent)怎么在复杂、不确定的环境(environment)中最大化它能获得的奖励。强化学习由两部分组成:智能体和环境。

在强化学习过程中,智能体与环境一直在交互。智能体在环境中获取某个状态后,它会利用该状态输出一个动作(action),这个动作也称为决策(decision)。然后这个动作会在环境中被执行,环境会根据智能体采取的动作,输出下一个状态以及当前这个动作带来的奖励。智能体的目的就是尽可能多地从环境中获取奖励。

虽然看似很复杂,但强化学习的逻辑在大自然中其实非常常见,也非常好理解。

比如,羚羊刚出生的时候都不会站立,但是它通过在大自然的环境中不断试错,不断接受成功或失败的反馈,一段时间后就可以跑得很快了。

而在超级马里奥这个项目中,利用算法训练出的马里奥就是智能体,与马里奥一直交互的游戏界面就是环境。作为智能体的马里奥在作为环境的游戏关卡中不断地观察、采取动作、获得奖励的过程,就是通过强化学习实现这个超强游戏外挂的过程。

当然,强化学习除了可以作为游戏外挂,还有很强的实际应用。

● 个性化推荐系统。

由于用户的偏好可能会经常变化,因此单纯根据评论和点赞来向用户推荐信息已经不能满足需求了。而使用了强化学习的推荐算法可以跟踪读者的反馈行为,并据此定义奖励,从而推送出更加符合用户当下期望的信息。

● 在金融科技领域中,通过强化学习驱动股票买卖。

以往的有监督的时间序列模型可以用来预测未来的销售以及股票价格,但是这种模型不能用于特定股价时的具体操作,而强化学习可以解决这个问题。IBM就有一个基于强化学习的平台,它能根据每笔金融交易的市场反馈来计算函数模型,进而执行具体的金融交易。

● 自动驾驶汽车。

通过应用强化学习的一些自动驾驶任务,如轨迹优化、运动规划、动态寻路、控制器优化和基于场景的高速公路学习策略等,实现汽车的自动驾驶功能。特斯拉实现无人驾驶的最核心的算法就是强化学习。

● 机械臂自动抓取。

传统的抓取算法对每一个物体都需要建模,这样是非常费时的。但通过强化学习,我们就可以让机械臂学习到一个统一的抓取算法,让它能够抓取任何形状的物体。

● 工业自动化的控制中心。

除了综合应用强化学习和计算机视觉的半自动机器人,强化学习还可以像控制中心一样用来组织协调整个工厂中的设备。Deep Mind就曾利用强化学习来控制冷却其母公司Google的数据中心,从而减少了40%的能源消耗。

● 穿衣服的智能体。

很多电影或动漫中都需要实现人穿衣服的CG(Computer Graphics,计算机动画)场景,但穿衣服其实涉及到了非常多很精细的动作,如果单纯靠手写执行命令来实现让动画人物穿衣服是非常困难的。不过,如果通过强化学习训练一个智能体来实现穿衣服的功能,就简单多了。

......

这样的强化学习应用实例还有很多很多。

无论是学术界还是工业界,越来越多的人开始关注强化学习,并去学习和利用它,这是为什么呢?

其中非常重要的一个原因就是强化学习有非常大的潜力,它在环境中自己探索得到的模型可以有超越人类的表现。所以,功能强大的强化学习特别值得当今的你学习。

02

强化学习要如何“学习”?

那么,强化学习要如何学习呢?

对于初学者而言,跟着前人的脚步一步一个脚印,踏实学,不踩坑是一个不错的办法。对于入门成功者而言,强化学习领域的知识浩如烟海,如果不会巧抓重点、只会重复式地盲目学习是不太明智的选择,“缺啥补啥”才是高效率的学习技巧。

而这本让读者像马里奥吃下“蘑菇”后一样轻松通关强化学习的“蘑菇书”《EASY RL :强化学习教程》,正是初学者的入门指南,入门成功者的工具手册。

这并非信口开河。

首先,你可以把它理解为一本大有来头、实力过硬的“课程伴侣”。

蘑菇书最初源自B站累计播放100w+ 的3门强化学习的经典公开课的学习内容。

来自中科院、清华、北大的三位在读硕士自学了李宏毅老师的“深度强化学习”、周博磊老师的“强化学习纲要”和李科浇老师的“世界冠军带你从零实践强化学习”后,将所学所思记录下来。

蘑菇书第一部分主要介绍强化学习基础知识以及传统强化学习算法,第二部分主要介绍深度强化学习算法及其常见问题的解决方法。而第二部分各章相对独立,读者可根据自己的兴趣和时间选择性阅读。

“蘑菇书”的作者们不仅整理了三门经典公开课所涉及的强化学习知识,并用通俗易懂的语言进行理论说明,还加上了程序实例,公开分享到了GitHub上,一年的时间内便获得了 1W+的下载和3.3K+的标星。

对于学习者而言,特别是曾经看过这三门课程中任一课程的人来说,“蘑菇书”就像学生时代大家可望而不可即的“教师专用辅导书”。有时候课上的内容是需要一些预备知识的,如果你对此一无所知,那么将很难理解课程中的重难点。

而在蘑菇书中,作者们对这些内容进行了必要的补充和解释。“知其然”并“知其所以然”在“蘑菇书”中得到了充分体现。

除了对三门公开课中重难点内容和公式的强化讲解,作者们还补充了课程内容之外的强化学习的深入拓展知识——可以说“蘑菇书”不仅能帮助大家预习和复习三门公开课的内容,更能满足大家对于强化学习的扩展学习需求。

其次,这是一本以学习者的视角,根据学习经历撰写而成的“学霸笔记”。

对于强化学习初学者而言,还能有比根据学习经历编著而成的书更适合你零基础入门的吗?

小编相信,应该是没有了。

这本“蘑菇书”完全从学习者的角度出发,分享编著者自身学习体验中的难点和重点,以及“踩坑”和“跳坑”的经验。完美契合初学者“学得快、少踩坑”的诉求。

例如,为了尽可能地降低阅读门槛,编著者对3门公开课的精华内容进行选取并优化,对所涉及的公式都给出详细的推导过程,对较难理解的知识点进行了重点讲解和强化,以方便读者更为轻松地入门。

书中很多内容对初学者来说都是宝贵的经验,特别能够引起共鸣。

最后,这是一本通过开源方式多人协作写成,并且获得业内多位大咖力荐的“升级纸质书”。

在众多优秀开源教程的启发下,编著者决定将该笔记制作成教程来让更多的强化学习初学者受益。为此,他们采用在GitHub上开源协作的方式完成本书的优化升级。

在蘑菇书的初稿完成后,三位作者为了更好地优化这套教程,便把它当作教材,组织了上百人的组队学习活动。

“实践是检验一切的真理”,“蘑菇书”的这次实践自然也得到了一致好评。不仅如此,编著者们还根据学习者们对初版教程的上百次反馈,经历了1年多的开源协作修改,完成了蘑菇书的优化,并在出版社老师们的规范化加工后,最终得以出版。

开源协同创作这种方式,具有多人分工合作、相互校验、透明监督等优点,不仅让书的质量得以保证,也提高了内容输出的效率。

或许正是因为书籍内容质量之高和审核之严,让蘑菇书一经问世,便收获一片好评,获得了 李宏毅、周博磊、李科浇、汪军、张伟楠、李升波、胡裕靖 共7位强化学习领域大咖的亲笔推荐!

正如清华大学车辆与运载学院长聘教授、博士生导师李升波对本书的评价所言:

“强化学习的应用尚处于起步阶段,它既有理论学习的复杂度,又有工程实践的挑战性,导致初学者难以入门,更难以深入。这本书以生动形象的语言、深入浅出的逻辑,介绍了一系列基本的强化学习算法,并结合丰富有趣的经典案例讲解代码实践,为强化学习初学者提供了一套可快速上手的学习资料。”

强化学习虽难,但也不用怕,快去吃透这本“蘑菇书”,像马里奥吃“蘑菇”一样,顺利通关强化学习吧~

参考链接:

①《Easy RL :强化学习教程》推荐词、前言、第一章

②超级马里奥兄弟的近端策略优化 (PPO) - YouTube

③[P] Python implementation of Proximal Policy Optimization (PPO) algorithm for Super Mario Bros. 29/32 levels have been conquered : MachineLearning

④GitHub-uvipen/Super-mario-bros-PPO-pytorch: Proximal Policy Optimization (PPO) algorithm for Super Mario Bros

⑤Top 19 Real-Life Reinforcement Learning Examples That You Should Know 

⑥Deep Reinforcement Learning Course 

⑦10 Real-Life Applications of Reinforcement Learning 

⑧Reinforcement Learning Algorithms and Applications 

推荐阅读

▲点击封面,进入购买界面

《EASY RL 强化学习教程》

强化学习作为机器学习及人工智能领域的一种重要方法,在游戏、自动驾驶、机器人路线规划等领域得到了广泛的应用。

本书结合了李宏毅老师的“深度强化学习”、周博磊老师的“强化学习纲要”、李科浇老师的“世界冠军带你从零实践强化学习”公开课的精华内容,在理论严谨的基础上深入浅出地介绍马尔可夫决策过程、蒙特卡洛方法、时序差分方法、Sarsa、Q 学习等传统强化学习算法,以及策略梯度、近端策略优化、深度Q 网络、深度确定性策略梯度等常见深度强化学习算法的基本概念和方法,并以大量生动有趣的例子帮助读者理解强化学习问题的建模过程以及核心算法的细节。

此外,本书还提供较为全面的习题解答以及Python代码实现,可以让读者进行端到端、从理论到轻松实践的全生态学习,充分掌握强化学习算法的原理并能进行实战。

本书适合对强化学习感兴趣的读者阅读,也可以作为相关课程的配套教材。

推荐阅读

点击图片即可阅读全文

你为什么那么普通,却那么自信?

成年人的崩溃无处安放?试试离开地球,去外太空静静

俞敏洪对话赵林教授:为什么说“我们都是希腊人”?

瘟疫爆发的隔离期,他们意外走上了人生巅峰,是因为……

《隐秘的角落》:什么样的亲密关系,让他们走向了恶的深渊?

面对纷繁复杂的世界,我们该如何“慧眼识陷阱”?

最好的自律,就是在舒适区的边缘疯狂试探

点「赏」,给小悠加鸡腿 ↓↓↓

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐