强化学习常用平台(环境)
转自:https://www.cnblogs.com/devilmaycry812839668/p/10228987.html
本篇博客主要是讲一下强化学习的一些常用平台, 强化学习的发展已经好多年了,以前都是大家做什么实验然后都是自己编写环境代码,由于很多人的代码都是不公开的所以其他人要继续做前人的工作就需要自己重新构建环境代码,这样做一方面做了很多重复工作,浪费了大量的时间,而且很没有必要,另一方面每个人都重新编写各自的环境代码导致每个人的环境多少是有所不同的,在一个环境下运行不是的算法代码往往在另一个环境平台上可能就难以达到之前的表现,这种情况下使得大家的代码不具备可复现性,而这本质上违背了学科科研的要求。
具体平台介绍如下:
1. Gym
gym 是 openAI 公司出品的强化学习常用环境平台, 该平台应该是强化学习被人所熟知最多的, 集成的环境非常多,同时也有多个第三方环境为期提供接口。
环境介绍页面: http://gym.openai.com/envs/#classic_control
文档介绍页面:
具体如何安装 gym 前文已经介绍,这里就不在多说。 前文地址: https://www.cnblogs.com/devilmaycry812839668/p/10226829.html
附注:
这里唯一要多说的是啥呢,就是Gym环境里面只提供了环境代码,并没有集成任何强化学习代码,具体强化学习代码需要自己按照其API接口来写,其最大优点就是接口比较好,众多强化学习环境都为其提供接口。
2. baselines
第二个要说的强化学习的环境还是 openAI 公司提供的, baselines 。
openAI 的 baseline主页
由上图可以看出, baselines 在openAI公司的地位和Gym是并驾齐驱的。
baselines 项目地址:(github) https://github.com/openai/baselines
进入到 baselines项目的具体代码中, 即 baselines/baselines 文件夹,如下:
可以看到 baselines 项目中提供的都是一些 性能表现非常好的代码,这也正如其ReadMe中的介绍:
可以看出 baselines 项目就是为了给众多的research人员提供一个方便、快捷的基准(baselines) 测试对比环境。
附注:
某种意义上来说 baselines 并不是强化学习的环境平台, 而应该算是强化学习的基准算法库,更像是一个函数库,大家可以便捷的在其上面做实验,又或者对其进行修改,或者在其之上提出新的算法 等。
3. pysc2 ( StarCraft II Learning Environment )
第三个要说的平台是比较特殊的他说暴雪公司(游戏公司)和 DeepMind 公司合作出品的, 专门用于训练 星际争霸 游戏的AI对战的强化学习平台。
DeepMind 的AlphaGo把围棋搞定之后,业界开始目光投向即时策略游戏如 StarCraft II(星际争霸 II )。最近 DeepMind和Blizzard合作出了个StarCraft II的研究平台,称为 PySC2。
下面看下这个平台的效果图:
pysc2 项目的网址: https://github.com/deepmind/pysc2
安装:
显而易见的 我们安装成功了, 其实 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/
关于 pysc2 的具体内容,能是agent在强化学习后取得什么样的效果,多智能体的智能决策等,DeepMind写一篇论文,如下:
http://deepmind.com/documents/110/sc2le.pdf
4. TORCS (The Open Racing Car Simulator) 赛车游戏模拟器
TORCS (The Open Racing Car Simulator The Open Racing Car Simulator)是一个跨平台的赛车游戏模拟器,也可作为强化学习的研究平台 。
官方网站:
gym_torcs 是一个 TORCS 的强化学习环境,提供类似前面 OpenAI Gym的接口。
gym_torcs 的官方网址为 :
https://github.com/ugo-nama-kun/gym_torcs
效果图:
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/
论文地址:
https://arxiv.org/pdf/1612.03801.pdf
源码位于:
https://github.com/deepmind/lab
7. MuJoCo
MuJoCo(Multi-Joint dynamics with Contact)是一个模拟的机器人,生物力学,图形和动画等领域的物理引擎。
官网:http://www.mujoco.org/index.html
OpenAI对MuJoCo引擎做了Python 3的binding-mujoco-py ,
源码位于:https://github.com/openai/mujoco-py
=========================================================
还有其它常用的强化学习平台,这里就不多介绍了,以下给出参考网址:
https://blog.csdn.net/weixin_41362649/article/details/84798175