Micropolis(オープンソース版のシムシティ1)および Conway’s Game of Life の1プレイヤーバージョンを含む、さまざまな規模の都市計画を行うための強化学習環境です。
gym-city - https://github.com/smearle/gym-city
Micropolis(オープンソース版のシムシティ1)および Conway’s Game of Life の1プレイヤーバージョンを含む、さまざまな規模の都市計画を行うための強化学習環境です。
gym-city - https://github.com/smearle/gym-city
GVGAI GYMは、ビデオゲーム記述言語(Video Game Description Language)で記述されたゲーム用の強化学習環境です。
AI研究用に作成された9個のクラシックゲームのクローンが含まれています。
GVGAI GYM - https://github.com/rubenrtorrado/GVGAI_GYM
Generic Video Gameコンペティション用のフレームワークも含まれています。
The GVG-AI Competition - http://www.gvgai.net/
Youtube上にデモ映像もあります。
osim-rlは、人間の筋骨格モデルと物理ベースのシミュレーション環境です。
人間モデルのコントローラーを開発して、最小限の労力で速度命令に従って、歩いたり走ったりすることが目的になります。
osim-rl - https://github.com/stanfordnmbl/osim-rl
前回収集した人間のデモ操作データを使って事前学習を行います。
環境設定に関しては、前回の記事(模倣学習② 人間のデモを使って事前学習を行う)を参照して下さい。
(Ubuntu 19.10で動作確認しています。)
人間のデモ操作データであるbowling_demo.npzファイルとrecorded_imagesフォルダを使って模倣学習を行うコードは以下の通りです。
[コード]
1 | import gym |
人間の操作したデータを事前学習するにはmodel.pretrain関数(24行目)を使います。
引数の意味は下記の通りです。
また模倣学習を行った後、さらに強化学習を行う場合はmodel.learn関数(27行目)をコメントアウトします。
実行すると、スコアは「120.2」になりました。(人間のデモ操作によって結果は変わります。)
模倣学習と合わせて強化学習も合わせて実行した結果や、強化学習のみで実行した結果も調査していきたいと思います。
ランダム行動では報酬を見つけにくい環境に対応するために模倣学習を試してみます。
Atari環境の1つであるボーリングゲーム(Bowling)を実行環境とします。
(Windowsではうまく動作しなかったので、Ubuntu 19.10で動作確認しています。)
下記のコマンドを実行し、実行環境をインストールします。
1 | pip3 install gym |
人間のデモ収集を行うコードは下記になります。
[コード]
1 | import random |
デモ収集にはgenerate_expert_trajを使います。引数の意味は下記の通りです。
返値はデモ demo(dict型)となります。
実行すると、次のような画面が表示されます。右側のウィンドウにフォーカスをあてるとゲームを操作することができます。
up、downで位置を選択し、fireでボールを投げます。
ボールを投げた後にup、downでボールの起動を曲げることができます。
10ゲーム(1エピソード)の人間の操作が収集され、bowling_demo.npzファイルとrecorded_imagesフォルダが出力されます。
次回は、今回収集した人間のデモデータを使って事前学習を行います。
gym-gazeboは、ROS(Robot Operating System)とGazeboを使用したロボット工学向けの環境です。
ROSはロボット開発のための開発ツールやライブラリが含まれたオープンソースソフトウェア、Gazeboはロボット開発のためのシミュレータになります。
gym-gazebo - https://github.com/erlerobot/gym-gazebo/
Duckietownは、MIT(マサチューセッツ工科大学)発の、ロボット工学とAIを学ぶためのプラットフォームです。
自動車(Duckiebot)、道路、信号、標識、障害物、輸送を必要とする人(Duckies)、そしてそれらが住む都市(Duckietown)で構成されています。
Duckietown - https://www.duckietown.org/
gym-duckietownは、Duckietownのシミュレータ環境になります。
duckietown/gym-duckietown - https://github.com/duckietown/gym-duckietown
(PGE)Parallel Game Engineは、人工知能実験用のゲームエンジンです。ブロック積みゲーム、カートポール、四足歩行、テニスなどの環境が提供されています。
(PGE)Parallel Game Engine - https://github.com/222464/PGE
gym-miniworldは、強化学習とロボット研究のためのミニマルな3Dインテリア環境です。
gym-miniworld - https://github.com/maximecb/gym-miniworld
部屋、ドア、廊下などさまざまなオブジェクトを含む環境をシミュレートするために使用できます。
Obstacle Towerは、エージェントが塔をできるかぎり上の階まで登ることを目的としたゲーム環境です。
Obstacle Tower - https://github.com/Unity-Technologies/obstacle-tower-challenge
機械学習研究者向けのコンテストのために開発された環境で、Unityで制作されています。