Gym入门手册PDf下载
公众号回复20180616
Gym是一个强化学习算法开发和对比的工具箱。该环境支持智能体的各种训练任务,从走路到玩游戏,如Pong、Pinball等。
强化学习(RL,Reinforcement Learing)本身是什么,有什么优势在前面的文章中已有介绍(历史文章清单见文末),这里只划两个重点:
1.RL是一个非常通用的、包括所有需要做一系列决策的问题。
2.RL算法开始在许多非常复杂的环境中实现了很棒的效果。
说RL是为了引出Gym,Gym的出现是OpenAI组织为了解决RL中两个瓶颈问题而推出的环境平台。
Gym定位
1.需要更好的benchmarks.,从而为RL提供成长的土壤,一如CNN爆发时的ImageNet一样。
2.发表成果中缺少标准化的环境,导致了复现成果困难、阻碍了研究者之间的交流、继承和进展。
特色
1)开源了强化学习任务的交互环境。Gym库提供了便于使用的强化学习任务组件。
例如:
import gym env = gym.make("Taxi-v1")
observation = env.reset()
for _ in range(1000):
env.render()
action = env.action_space.sample() # your agent here
(this takes random actions)
observation, reward, done, info = env.step(action)
2)我们提供环境,你提供算法。你可以使用已有的数字化计算库实现智能体,如Tensorflow或Theano。
1.安装
安装非常方便,可以通过pip、Github的clone等方式,具体参见入门手册。
2.环境
这里一些主要环境,还有很多大家自己摸索:
Classic control and toy text
提供了一些RL相关论文中的一些小问题,开始学习Gym从这开始!
Atari
这里提供了一些小游戏,比如我们小时候玩过的小蜜蜂,弹珠等等。这些问题对RL研究有着很大影响!
Board games
提供了Go这样一个简单的下棋游戏,由于这个问题是多人游戏,Gym提供有opponent与你训练的agent进行对抗。
2D and 3D robots
机器人控制环境。 这些问题用 MuJoCo 作为物理引擎。
当然还有很多好玩的问题,比如CNN的自动调参、Minecraft等。
举个栗子:立摆平衡环境
立摆平衡环境,CartPole-v0,可提供一个1000步长的立摆环境,代码和动画如下所示。调用代码如下
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
env.render()
env.step(env.action_space.sample()) # take a random action
生成环境视频如下:
3.观察
Gym的step函数提供了我们训练算法所需要的反馈,主要有四类值。
observation(object)
实体在特定环境中的返回值
reward(float)
执行动作的反馈奖励信息
done(boolean)
是否需要重置环境的信号,如游戏中已经game over等
info(dict)
用于调试的诊断信息,也可以用来调试学习算法,不过在环境中不允许用这类信息训练算法。
4.空间
每个环境的定义是由两个空间组成的:动作空间action_space和观察空间observation_space。详细设计代码参见入门手册。
授人以渔
上手Gym两种姿势:1)入门手册;2)Github
Gym入门手册PDF下载:微信公众号回复20180616
Github地址:https://github.com/openai/gym
OpenAI Gym网址:https://gym.openai.com/
参考资料
OpenAI Gym网址:https://gym.openai.com/
Open AI Gym简介:http://www.cnblogs.com/yifdu25/p/8179861.html