从Zero到Hero,OpenAI重磅发布深度强化学习资源

姓名:刘畅 学号:15020199045

转自:https://zhuanlan.zhihu.com/p/49044306

【嵌牛导读】:OpenAI 发布了 Spinning Up,这是一份教学资源,旨在让所有人熟练掌握深度强化学习方面的技能。Spinning Up 包含清晰的 RL 代码示例、习题、文档和教程。

【嵌牛鼻子】:OpenAI ,Spinning Up,强化学习,教学资源

【嵌牛提问】:你会通过官方的文档在网上学习吗?

在项目主页中,OpenAI 提供了非常完整的使用教程,包括 Spinning Up 的详细介绍、各种环境下的安装方法、收录的算法,以及实验实现的教程等。除此之外,OpenAI 也提供了丰厚的学习资料,包括强化学习的入门基础、结合 Spinning Up 学习 RL 的课程、论文推荐、实验练习和基准结果参考等。给人的第一印象就是,要想在深度强化学习上从 Zero 到 Hero,天天逛这个网站就够了~

项目地址:https://spinningup.openai.com/en/latest/

在 Deep RL 中迈出第一步

OpenAI 相信深度学习——特别是深度强化学习——将在强大是 AI 技术发展中发挥核心作用。虽然有很多资源可以让人们快速了解深度学习,但深度强化学习更具挑战性。为此,OpenAI 设计了 Spinning Up 来帮助人们学会使用这些技术并扩展关于它们的一些想法。

OpenAI 设计 Spinning Up 的灵感来源于与该机构学者和研究员的合作,通过该合作,他们发现,如果获得正确的指导和资源,在机器学习方面经验甚少甚至没有经验的人也可以快速成长为从业者。在 Deep RL 中开发的 Spinning Up 正是为这种需求准备的,该资源已被纳入了 2019 年的学者和研究员团队课程(https://blog.openai.com/openai-scholars-2019/)。

OpenAI 还发现,具有 RL 方面的能力可以帮助人们参与跨学科研究领域,如 AI 安全——涉及强化学习和其它技能的混合。还有很多从零开始学习 RL 的人向 OpenAI 寻求建议,因此他们决定把提供的这些非正式建议正式发布出来。

Spinning Up 主要包含以下核心内容:

强化学习技术的简介,包含各种算法和基本理论的直观理解;

一些介绍如何才能做好强化学习研究的经验;

重要论文的实现,按照主题进行分类;

各种强化学习算法的单独实现,它们都有非常完善的介绍文档;

最后还会有一些热身练习题。

整个项目主要可以分为用户文档、强化学习简介、资源、算法文档和 Utilities 文档。其中用户文档主要介绍了学习该项目所需要的一些准备,包括怎样安装 Python 和 OpenAI Gym 等强化学习环境,学习资源的主要内容以及实战所需要注意的事项等。

在强化学习简介中,OpenAI 主要讨论了 RL 中的关键概念、关键算法和策略优化等内容。根据这一部分的内容,至少我们会对强化学习有一个清晰的认识,也就正式从小白到入门了。简介后面的资源章节才是进阶者的最爱,OpenAI 会先介绍如何才能做好强化学习研究,包括需要怎样的背景知识、如何写 RL 代码及思考强化学习问题等。当然这一部分还提供了非常多的「硬资源」,OpenAI 按照 12 大研究主题提供了 98 篇「必读」论文,并提供了其它一些练习题与挑战赛。

估计等读者搞定资源部分,就可以成为真正的强化学习研究者了。当然我们也可以跳过直接学习第三部分的算法文档,它包含了策略梯度、策略优化和 Actor-Critic 等多种主流强化学习算法。只要我们完成了第一部分的前提准备,第三部分的各种算法就能手到擒来。此外对于每一个 RL 算法,文档都会提供全面的介绍,包括基本思想、公式定理、模型组件和参数等。

支持

该项目具有以下支持计划:

高带宽软件支持期:发布后的前三周,OpenAI 将快速处理 bug 修复、安装问题,以及解决文档中的错误和歧义。我们将努力简化用户体验,使用 Spinning Up 自学变得尽可能简单。

2019 年 4 月的主要审查:发布约六个月后,OpenAI 将基于从学习社区收到的反馈认真审查软件包的状态,并宣布任何未来修改的计划。

内部开发的公开发布:如果 OpenAI 在与学者和研究员一起工作时,对 Deep RL 中的 Spinning Up 进行了修改,OpenAI 会将修改发至公共报告,并立即向所有人开放。

OpenAI 还将与其它组织合作来帮助人们学会使用这些材料。他们的第一个合作伙伴是加州大学伯克利分校的 Center for Human-Compatible AI (CHAI),并将在 2019 年初合作举办一个关于深度 RL 的研修班,类似于计划在 OpenAI 举办的 Spinning Up 研修班。

Hello World

感受深度强化学习算法表现如何的最好方式就是运行它们。而有了 Spinning Up,这变得非常简单:

python -m spinup.run ppo --env CartPole-v1 --exp_name hello_world

在训练结束时,你将获得关于如何从实验中查看数据以及观看训练智能体视频的指导。

Spinning Up 实现与 Classic Control、Box2D 和 MuJoCo 任务套件中的 Gym 环境兼容。

考虑到新学者,我们为 Spinning Up 设计了代码,使其更短、更友好,也更加容易学习。我们的目标是用最小的实现来演示理论如何变成代码,避免深度强化学习库中常见的抽象层和模糊层。我们倾向于清晰化而不是模块化——实现之间的代码重用严格受限于日志和并行实用程序。给代码加注释,这样你就总能知道事情的进展,并在相应的文档页面上得到背景材料(和伪代码)的支持。

学习资源概览

在整个项目中,强化学习简介部分和算法部分可能是很多数读者都非常感兴趣的章节,下面主要介绍了这两部分包含的内容。首先在强化学习简介中,关键概念是必须解释清楚的:

状态和观察值;

动作空间;

策略;

轨迹;

不同形式化的奖励;

RL 最优化问题;

值函数。

在关键概念之后,OpenAI 详细介绍了各种强化学习算法及技术在整体所处的位置。如下所示,强化学习也是个桃李满天下的大家族:

最后在强化学习简介部分,OpenAI 还重点介绍了策略优化,这一部分有挺多推导的,尤其是梯度的推导。不过好消息是这些推导都给出了详细的过程,包括变换、消元和一些对数技巧等。读者可以感受下推导过程:

此外在算法章节,Spinning Up 还收录了很多重要的强化学习算法,在项目页上也给出了各个算法的详细介绍和调用方法。

Spinning Up 收录的算法

比如策略梯度算法,如上图所示,文档中会给出关键的方程、伪代码、使用方法以及参考文献。

策略梯度算法的有限时域未折扣回报的梯度期望,以及策略参数的梯度更新方法

策略梯度算法的伪代码

策略梯度算法的调用函数,我们可以看到,Spinning Up 提供的函数调用可以直接设置参数。文档还提供了详细的参数解释

策略梯度算法的参考文献

Spinning Up 提供了 MuJoCo Gym 任务套件的 5 个环境下的算法实现基准,包括 HalfCheetah、Hopper、Walker2d、Swimmer、Ant。

HalfCheetah-2 环境下训练 3 百万时间步的基准结果。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容