0
点赞
收藏
分享

微信扫一扫

强化学* 常用*台

本篇博客主要是讲一下强化学*的一些常用*台, 强化学*的发展已经好多年了,以前都是大家做什么实验然后都是自己编写环*代码,由于很多人的代码都是不公开的所以其他人要继续做前人的工作就需要自己重新构建环*代码,这样做一方面做了很多重复工作,浪费了大量的时间,而且很没有必要,另一方面每个人都重新编写各自的环*代码导致每个人的环*多少是有所不同的,在一个环*下运行不是的算法代码往往在另一个环**台上可能就难以达到之前的表现,这种情况下使得大家的代码不具备可复现性,而这本质上违背了学科科研的要求。


具体*台介绍如下:

1.    Gym

gym 是  openAI 公司出品的强化学*常用环**台, 该*台应该是强化学*被人所熟知最多的, 集成的环*非常多,同时也有多个第三方环*为期提供接口。

 环*介绍页面:   ​​http://gym.openai.com/envs/#classic_control​​

强化学*  常用*台_python


文档介绍页面:

强化学*  常用*台_python_02


具体如何安装 gym 前文已经介绍,这里就不在多说。

 附注:

这里唯一要多说的是啥呢,就是Gym环*里面只提供了环*代码,并没有集成任何强化学*代码,具体强化学*代码需要自己按照其API接口来写,其最大优点就是接口比较好,众多强化学*环*都为其提供接口。



2.    baselines    

第二个要说的强化学*的环*还是   openAI 公司提供的, baselines 。

openAI 的 baseline主页

强化学*  常用*台_python_03

由上图可以看出,  baselines  在openAI公司的地位和Gym是并驾齐驱的。


baselines 项目地址:(github)      ​​https://github.com/openai/baselines​​

强化学*  常用*台_python_04


进入到  baselines项目的具体代码中, 即  ​​ baselines/baselines​​  文件夹,如下:

强化学*  常用*台_github_05



强化学*  常用*台_html_06


可以看到    baselines 项目中提供的都是一些 性能表现非常好的代码,这也正如其ReadMe中的介绍:

强化学*  常用*台_强化学习_07

可以看出   baselines 项目就是为了给众多的research人员提供一个方便、快捷的基准(baselines) 测试对比环*。

附注:

某种意义上来说  baselines 并不是强化学*的环**台, 而应该算是强化学*的基准算法库,更像是一个函数库,大家可以便捷的在其上面做实验,又或者对其进行修改,或者在其之上提出新的算法 等。


3.   pysc2            ( StarCraft II Learning Environment )

 第三个要说的*台是比较特殊的他说暴雪公司(游戏公司)和  DeepMind 公司合作出品的, 专门用于训练  星际争霸 游戏的AI对战的强化学**台。

DeepMind 的AlphaGo把围棋搞定之后,业界开始目光投向即时策略游戏如  StarCraft II(星际争霸 II )。最近 DeepMind和Blizzard合作出了个StarCraft II的研究*台,称为 PySC2。


下面看下这个*台的效果图:

强化学*  常用*台_github_08


强化学*  常用*台_强化学习_09


强化学*  常用*台_强化学习_10

pysc2 项目的网址:    ​​https://github.com/deepmind/pysc2​​

强化学*  常用*台_python_11

安装:

强化学*  常用*台_强化学习_12

显而易见的 我们安装成功了,  其实 pysc2 *台还是比较好安装的,但是pysc2安装好以后并没有结束,我们剩下的工作是要安装  StarCraft II ,

因为 pysc2 其实是相当于Python环*对  StarCraft II  调用的一个接口封装, 如果要真正意义的运行起来我们还要安装  StarCraft II 游戏。

这里我们就不对   StarCraft II 游戏的具体安装进行介绍, 未来我们会在以后的博客中对此再继续介绍。


不得不说的是    pysc2  的官方网址,如下:

​​https://deepmind.com/blog/deepmind-and-blizzard-open-starcraft-ii-ai-research-environment/​​

强化学*  常用*台_html_13


关于  pysc2  的具体内容,能是agent在强化学*后取得什么样的效果,多智能体的智能决策等,DeepMind写一篇论文,如下:

​​http://deepmind.com/documents/110/sc2le.pdf​​

强化学*  常用*台_强化学习_14


4.   TORCS         (The Open Racing Car Simulator)  赛车游戏模拟器

TORCS  (The Open Racing Car Simulator The Open Racing Car Simulator)是一个跨*台的赛车游戏模拟器,也可作为强化学*的研究*台 。


官方网站:  

​​http://torcs.sourceforge.net/​​

强化学*  常用*台_github_15

 gym_torcs  是一个 TORCS  的强化学*环*,提供类似前面 OpenAI Gym的接口。


gym_torcs 的官方网址为  :

​​https://github.com/ugo-nama-kun/gym_torcs​​


强化学*  常用*台_python_16

效果图:

强化学*  常用*台_python_17

5.   RLLAB

rllab 也是一个研究强化学*算法的框架。官方网站为  ​​https://github.com/openai/rllab​​

官方支持 python 3.5+,基于 Theano   。


与OpenAI Gym 的区别在于 OpenAI Gym 支持更广泛的 环*,且提供在线支持更广泛的 环*,且提供在线scoreboard 可以用于共享训练结果。 rllab 自己也提供一个基于pygame的可视环*, 同时它也可兼容OpenAI Gym 。

除此之外 ,它提供了一些强化学*算法的实现, 这些参考实现和组件可以使得强化学*算法的开发更快上手 。

 安装 步骤可按照官方网站:

​​https://rllab.readthedocs.io/en/latest/user/installation.html​​

6.  DeepMind Lab

DeepMind Lab (原 Labyrinth)是由 DeepMind发布的 3D 迷宫场景强化学**台。 之前是 DeepMind内部使用的,后来开源了。


官方介绍:

​​https://deepmind.com/blog/open-sourcing-deepmind-lab/​​


强化学*  常用*台_github_18



论文地址:

​​https://arxiv.org/pdf/1612.03801.pdf​​

强化学*  常用*台_html_19


源码位于:

​​https://github.com/deepmind/lab​​

强化学*  常用*台_python_20




强化学*  常用*台_强化学习_21


 强化学*  常用*台_强化学习_22


7.  MuJoCo

 

MuJoCo(Multi-Joint dynamics with Contact)是一个模拟的机器人,生物力学,图形和动画等领域的物理引擎。

官网:​​http://www.mujoco.org/index.html​​


强化学*  常用*台_python_23


强化学*  常用*台_github_24

 强化学*  常用*台_github_25


OpenAI对MuJoCo引擎做了Python 3的binding-mujoco-py ,

源码位于:​​https://github.com/openai/mujoco-py​​


 强化学*  常用*台_github_26

========================================================

还有其它常用的强化学**台,这里就不多介绍了,以下给出参考网址:


举报

相关推荐

0 条评论