Python深度强化学习:基于Chainer和OpenAI Gym
上QQ阅读APP看书,第一时间看更新

1.7 模拟器:OpenAI Gym

深度强化学习是一个重复的过程,其中状态随诸如机器人之类的物体的运动而改变,并且能对该状态做出响应。

由于难以想象该画面,因此我们将以如图1.2a所示的用一只手举起扫帚的倒立摆来进行充分的说明。将扫帚立于掌心,当扫帚即将掉落时,手会朝该方向快速移动。

当进行移动(动手)时,状态(扫帚的倾斜)会发生改变。你可以通过快速重复此操作来使扫帚保持持续倒立。这时,不仅是通过数值表示,而是进行实际移动将更容易理解。

为了检查状态,也有使用OpenGL或OpenCV等全部记录的方法,但是在本书中使用“OpenAI Gym”。OpenAI是一家非营利性研究机构,成立于2015年10月,其宗旨是开发和推广使整个人类社会受益的人工智能。创始人之一是特斯拉公司(Tesla,Inc.)的首席执行官埃隆·马斯克(Elon Musk),该公司以电动汽车闻名。

2016年4月,OpenAI发布了OpenAI Gym作为人工智能研究平台,用于强化学习算法的开发和评估。OpenAI Gym包含各种强化学习任务,例如玩电子游戏的智能体(太空侵略者等)、经典控制问题(倒立摆等)以及机械臂控制等模拟器。

OpenAI Gym的基本功能将与ChainerRL一同进行安装。实际上,图1.7中所示的用于确认ChainerRL的安装的倒立摆是使用OpenAI Gym编写的。图1.1中的吃豆人和太空侵略者也可以通过使用OpenAI Gym的扩展版本轻松执行。要执行此操作,请按照以下步骤安装OpenAI Gym的扩展版本。

撰写本书时,OpenAI Gym的扩展版本无法在Windows的Anaconda环境中安装。如果要在Windows上运行它,则可以使用VirtualBox并在VirtualBox上运行Ubuntu。有关如何安装VirtualBox的信息,请参阅附录A.1。另外,VirtualBox上的Ubuntu无法连接到外部设备,例如第5章中提到的摄像机。

Linux、Mac、RasPi环境(仅适用于Windows上的VirtualBox)

027-1

接下来让我们确认安装是否成功。如果按如下所示更改代码列表1.1的第2行,则显示如图1.1a所示的吃豆人。

代码列表1.3 吃豆人:chainerrl_test_pm.py

027-2

另外,如果按如下方式更改代码列表1.1的第2行,则显示如图1.1b所示的太空侵略者。

代码列表1.4 太空侵略者:chainerrl_test_si.py

027-3

如果安装顺利,请继续阅读第2章。

专栏

编写程序的编辑器

通过使用称为“编辑器”的文本编辑软件,可以轻松编写Python之类的程序。在这里,我们介绍三个编辑器。另外,这里介绍的所有编辑器都是免费的。

1. Visual Studio Code

它为Microsoft提供的开源代码编辑器软件Visual Studio Code是可以在Windows、Linux和Mac上运行的编辑器,优点是可以单行执行代码以进行调试。图1.8所示为Visual Studio Code的外观。

028-1

图1.8 Visual Studio Code的外观

官方网站:https://code.visualstudio.com/

2. Atom

Atom是可以在Windows、Linux和Mac上运行的编辑器。它已经发布了许多扩展功能,并已将常用的功能扩展添加为标准功能,且仍在不断发展。

官方网站:https://atom.io/

3. Sakura Editor

樱花编辑器(Sakura Editor)是可以在Windows上运行的编辑器。它的优点是它可以像记事本一样易于使用。本书中在Windows环境下的示例程序的运行检查是通过Sakura Editor生成程序并在其终端执行的。

官方网站:http://sakura-editor.sourceforge.net/