上期我们一起学习了强化学习入门的相关知识,深度学习算法(第32期)----强化学习入门必读
今天我们学习下OpenAI工具包以及神经网络策略学习平衡车的相关知识。
OpenAI Gym 介绍
强化学习的一个挑战就是为了训练智能体,我们必须有一个工作环境。如果想整一个学习玩Atari游戏的智能体,那么必须得有一个Atati游戏的模拟器。如果我们想训练一个自动行走的机器人,那么这个环境就是现实世界,我们可以直接去训练它去适应这个环境,但是这有一定的局限性,如果机器人从悬崖上掉下来,你不能仅仅点击“撤消”。你也不能加快时间;增加更多的计算能力不会让机器人移动得更快。一般来说,同时训练1000个机器人是非常昂贵的。简而言之,训练在现实世界中是困难和缓慢的,所以你通常需要一个模拟环境,至少需要引导训练。
OpenAI gym是一个提供各种游戏模拟环境(包括Atari游戏,棋盘游戏,2D-3D物理模拟等)的工具包。所以我们可以训练智能体,比较并开发新的强化学习算法。
首先,我们用pip安装OpenAI gym:
$ pip install --upgrade gym
接下来就是创建环境了:
>>> import gym
>>> env = gym.make("CartPole-v0")
[2016-10-14 16:03:23,199] Making new env: MsPacman-v0
>>> obs = env.reset()
>>> obs
array([-0.03799846,-0.03288115,0.02337094,0.00720711])
>>> env.render()
上面的make()函数创建了一个新环境,这是一个CartPole环境。这是一个2D的模拟环境,其中可以通过左右加速小推车,来平衡小车上的平衡杆,如下图: 环境创建之后,我们需要用reset()函数去初始化,这将返回第一次观测结果