栗子 发自 凹非寺量子位 出品 | 公众号 QbitAI
OpenAI说,完全没有机器学习基础的人类,也可以迅速上手强化学习。
他们刚刚发射了一套强化学习 (RL) 入门教程,叫做Spinning Up。真诚友好,无微不至。
从一套重要概念,到一系列关键算法实现代码,再到热身练习,每一步都以清晰简明为上,全程站在初学者视角。
△ 新手光环
团队表示,目前还没有一套比较通用的强化学习教材,RL领域只有一小撮人进得去。这样的状态要改变啊,因为强化学习真的很有用。
说不定你也用得上。所以,仔细翻翻这个新手包,看看到底有多关怀:
五大核心Spinning Up包含了5个重要部分。
第一部分,认识一下强化学习
这里分为三小步:
一是了解基础概念,即知道RL能用来做什么,理解概念和术语。
二是了解算法分为哪些种类。
三是了解策略优化。
https://spinningup.openai.com/en/latest/spinningup/rl_intro.html
第二部分,成为RL研究人员
(此部分可选择性忽略)
如何让自己习惯RL研究人员的新设定?
第一,知道哪些数学知识深度学习知识,是需要简要了解的。
第二,在实践中学习,写最最最简单的实现 (后面有代码) ,注重理解。
第三,有了小小的经验之后,试着开发自己的研究项目。这是入门之后的事了。
第四之后,有些遥远,暂时不详述了。
第三部分,论文阅读清单
这个论文列表非常详细,分为12个小类别,每个类别下有2-8篇论文。
团队说,列表比全面还全面,足够给一个想做RL研究的人类铺路了。
https://spinningup.openai.com/en/latest/spinningup/keypapers.html
第四部分,为初学者定制的代码
GitHub上面有个叫spinningup的项目,包含了强化学习能用到的各种关键算法:
VPG、TRPO、PPO、DDPG、TD3和SAC等。
团队说,这里的代码都是为初学者定制,很短很好学。比起模块化,Spinning Up以清晰为重,代码都注释过了,可以很清楚得看出每一步都在做什么,并且有背景材料可以辅助理解。
目标就是用最简约的实现,来演示一条理论是如何变成代码的,而抽象层和混淆层(Layers of Abstraction and Obfuscation) 这些东西,都省去了。
https://github.com/openai/spinningup
第五部分,热身练习
这里有两个习题集。
一是关于实现的基础,二是关于算法失效模式。
后面还有附加题,是要从零开始自己写代码实现,相对艰辛。
https://spinningup.openai.com/en/latest/spinningup/exercises.html
Hello World团队说,要感受强化学习是怎样运作的,最好的方式是跑一跑。
在Spinning Up里面,就很容易,只要用这段代码:
1python -m spinup.run ppo --env CartPole-v1 --exp_name hello_world
训练结束的时候,你会看到说明,然后可以按照里面讲的方法来观察数据,也观察训练好的智能体的视频。
另外,Spinning Up里面的实现,和一系列Gym环境都兼容:Classic Control,Box2D,MUJOCO等等。
看上去,好像真的没有很难。
OpenAI就是希望其他领域的研究人员,也能很轻易地用强化学习来辅助研究。
所以,试一下吧。
教程入口:
https://spinningup.openai.com/en/latest/index.html
GitHub传送门:
https://github.com/openai/spinningup
— 完 —
活动策划招聘
量子位正在招聘活动策划,将负责不同领域维度的线上线下相关活动策划、执行。欢迎聪明靠谱的小伙伴加入,并希望你能有一些活动策划或运营的相关经验。相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态