OpenAI Gym のいろいろな環境で強化学習を試すために、どんな環境があるのかを調べてみます。
環境IDの一覧取得
環境IDの一覧を取得するためのコードは次のようになります。
[コード]
1 | from gym import envs |
上記のコードを実行すると環境がたくさん表示されます。
省略しようかと思ったのですが、せっかくなので全て表示しておきます。
[実行結果]
1 | Copy-v0 |
いろいろな環境で強化学習の調査ができると思うと楽しみです。
OpenAI Gym のいろいろな環境で強化学習を試すために、どんな環境があるのかを調べてみます。
環境IDの一覧を取得するためのコードは次のようになります。
[コード]
1 | from gym import envs |
上記のコードを実行すると環境がたくさん表示されます。
省略しようかと思ったのですが、せっかくなので全て表示しておきます。
[実行結果]
1 | Copy-v0 |
いろいろな環境で強化学習の調査ができると思うと楽しみです。
Stable Baselines の強化学習アルゴリズムの1つである PPO2 を使ってCartPole-v1を攻略してみます。
PPO2 は、マルチプロセッシングで訓練可能な強化学習アルゴリズムです。
各処理のポイントはコメントをご参照ください。
[コード]
1 | import gym |
Stable Baselines は、OpenAI が提供する「強化学習アルゴリズム」の実装セット OpenAI Baselines の改良版です。
最新の強化学習アルゴリズムを含む複数のアルゴリズムがサポートされており、インターフェースやドキュメントなどが整理され、使いやすい実装になっていることが大きな特徴です。
Stable Baselines - https://github.com/hill-a/stable-baselines
以下の強化学習アルゴリズムをサポートしています。
Stable Baselines をインストールするには次のコマンドを実行します。
1 | pip install stable-baselines[mpi] |
Microsoft MPI v10.0 - https://www.microsoft.com/en-us/download/details.aspx?id=57467
MPI(Message Passing Interface) とは、並列コンピューティングを利用するために標準化された規格および実装です。
Stable Baselines では「DDPG」「GAIL」「PPO1」「TRPO」のマルチプロセッシングの実装に MPI が使用されています。
前回は、四足歩行のシミュレーションをランダム行動で実行しましたが、今回は学習させて正しく歩けるようにしてみます。
AntBulletEnv-v0 を学習させるコードは次のようになります。
[コード]
1 | import gym |
学習には時間がかかりますが、学習が成功すると3Dモデルが四足歩行で歩く様子を確認することができます。

PyBullet環境 は、オープンソースの3D物理エンジン Bullet で実装された強化学習環境です。
オープンソースのため無料で利用することができます。
PyBullet をインストールするために次のコマンドを実行します。
1 | pip install pybullet |
今回は、四足歩行の3Dモデルを歩かせる AntBulletEnv-v0環境 を利用します。
ランダムで行動するコードは下記のようになります。
[コード]
1 | import gym |
上記コードを実行すると、四足歩行の3Dモデルが表示されます。
ただ今回はランダム実行のため、うまく歩くことはできません。

(Windowsだとうまく動作しなかったので、Ubuntuで動作確認しています。)
Flask を使ったWebサービスで、データベースにアクセスして取得したデータをブラウザに表示する処理を実装していきます。
データベースは MySQL を想定しています。
1 | from flask import Flask, render_template |
データを表示するhtmlファイルのサンプルは下記のとおりです。
(layout.htmlの記載は省略しています。)
1 | {% extends "layout.html" %} |
GymFC は、姿勢制御に重点を置いたフライトコントロール・チューニングフレームワークです。
世界初のニュートラルネットワークでサポートされているフライトコントロール・ファームウェア Nueroflight で使用されるコントローラーの開発にも利用されています。
GymFC - https://github.com/wil3/gymfc
Gym Electric Motor (GEM) は、さまざまなタイプの電気モーターとコンバータを考えて、多種多様な電気ドライブをシミュレートする強化学習環境です。
Gym Electric Motor (GEM) - https://github.com/upb-lea/gym-electric-motor
Donkey Car は、市販のラジコンカーを改造して自律走行させることができるプラットフォームです。
Donkey Car - https://www.donkeycar.com/
gym-donkeycar は、この Donkey Car のシミュレータのGym環境です。
gym-donkeycar - https://github.com/tawnkramer/gym-donkeycar