轉自: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