姓名:王小涵
学号:16020199013
转载自:https://www.leiphone.com/news/201811/2IqyeVbpHdZcv9jp.html
【嵌牛导读】:入门深度强化学习
【嵌牛鼻子】:OpenAI
【嵌牛提问】:怎么从零开始快速入门深度强化学习?
【嵌牛正文】:
日前,OpenAI 发布了深度强化学习教育资源 Spinning Up,内容包括易懂的深度强化学习代码示例、习题、文档和教程。据 OpenAI 发布的博客称,零基础的深度强化学习「小白」通过自学 Spinning Up,也能快速掌握这一技能,甚至成为该领域的从业者。雷锋网(公众号:雷锋网) AI 科技评论对该博文进行编译如下:
OpenAI 发布的深度强化学习教育资源 Spinning Up,旨在让所有人学完后,都能成为一位熟练掌握深度强化学习技能的从业者。 Spinning Up 包含了易懂的深度强化学习代码示例、习题、文档和教程。
OpenAI 认为深度学习——尤其是深度强化学习——将在强大的 AI 技术发展中发挥核心作用。虽然现在有很多可用的资源能让人们快速提升深度学习技能,但是深度强化学习的掌握会更具挑战性。对此,OpenAI 设计了 Spinning Up 这套课程来帮助人们学会使用这些技术,并培养对于这些技术的认知。
OpenAI 开发 Spinning Up 的灵感来源于与其学者和研究员合作的工作,在此过程中,他们发现,如果得到正确的指导和资源,在机器学习方面的经验很少甚至没有经验的人也能够快速提升为这一领域的从业者。深度强化学习的这份 Spinning Up 资源正是考虑到这种需求所开发的,它已被整合到了 2019 年学者和研究员团队的课程(https://blog.openai.com/openai-scholars-2019/)中。
OpenAI 还发现,掌握强化学习的技能能够帮助人们参与到跨学科研究领域中,例如 AI 安全,该领域就涉及到强化学习和其他技能的结合。此外,还有很多人向 OpenAI 寻求从零开始学习强化学习的指导,因而他们决定将所给出的这些非正式建议体系化。
深度强化学习 Spinning Up 包括以下核心内容:
强化学习术语、各类算法以及基本理论的简介;
一篇关于怎样成长为一名强化学习研究者的总结;
一份按照主题排列的重点论文列表;
一份完善记录各类强化学习算法简介以及单独实现方式的代码文档,这些算法包括:原始的策略梯度(VPG)、信任区域策略优化(TRPO)、近端策略优化(PPO)、深度确定策略梯度(DDPG)等;
一些热身练习题。
提供长期支持
针对这个项目,OpenAI 有以下支持计划:
高带宽软件支持期:发布后的前三周,OpenAI 将快速处理 bug 修复、安装等问题,以及解决文档中的错误和歧义,并努力简化用户体验,让他们尽可以简单地使用 Spinning Up 自学。
2019 年 4 月的主要核查: 发布 Spinning Up 约六个月后,OpenAI 将基于从社区收到的反馈,认真核查软件包的状态,并公布未来的改进方案。
内部开发的公开发布: OpenAI 如果在与学者和研究员共事时,对深度强化学习中的 Spinning Up 进行了修改,会将修改发送到公开报告中,并立即向所有人开放。
OpenAI 教育
深度强化学习的 Spinning Up 是 OpenAI 新教育倡议的一部分,在这里,他们正「spinning up』地来保证实现《OpenAI 章程》的宗旨之一:「寻找创建一个让全球社区进行协作的方法,从而解决 AGI 的全球化挑战。」他们希望 Spinning Up 可以让更多人熟悉深度强化学习,并以此来推动安全、广泛受益的人工智能的前进。
2019 年 2 月 2 日,他们将在 OpenAI 旧金山分部举办一个深度强化学习 Spinning Up 研修班,包括 3 小时的课程讲解和 5 小时的半结构化开源、项目开发和分组会议——整场会议全部由 OpenAI 技术人员进行支持。我们希望参会者有软件工程经验,并要求他们有学习过机器学习但没有正式的机器学习经验。感兴趣的读者可以填报申请表(https://docs.google.com/forms/d/e/1FAIpQLSdWbG3H3JYC2Vp-bC1yeP1SL_DSi6laLNjW1RjvEEzlA1V6rg/viewform)报名。
合作伙伴
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 环境兼容。
另外,考虑到新入门者,OpenAI 为 Spinning Up 设计代码的思路是,使其尽可能地更短、更友好,以及更易于学习。OpenAI 的目标是,用最少的执行步骤来演示理论如何变成代码,规避深度强化学习库中常见的抽象层和模糊层。相比于提高代码可重用性的模块化设计,OpenAI 更看重代码的清晰易读,代码重用仅限于日志记录和并行化工具。Spinning Up 提供的代码都带有注释,这样使用者总是能够明白现在进行到了哪里,并在相应的阅读文档页面上得到背景材料(和伪代码)的支持。