OpenAIが2017/5/24に発表した強化学習のオープンソースが簡単に使えそうなので使ってみた
「DQN」とその3種のバリエーションの強化学習アルゴリズムを人工知能の研究団体「OpenAI」が公開
Baselinesのgithub
実行するのはチュートリアルとして紹介されている以下の2つ
baselines.deepq.experiments.train_cartpole
baselines.deepq.experiments.train_pong
環境
Mac OS Sierra 10.12.4
python 3.6.1
ちなみに python2.7系ではできないので注意
cartpole
このチュートリアルは台車の棒が倒れないようにするゲームらしい
とりあえず何も考えずに実行する
色々とモジュールが足りないと言われるのでガンガンインストールする
# 学習用のコマンド
python -m baselines.deepq.experiments.train_cartpole
# 学習結果のモデルで遊ぶコマンド
python -m baselines.deepq.experiments.enjoy_cartpole
強化学習してそう・・・
ちなみにepisodesが690で停止した。
遊んでみた
これはどうやって遊ぶのだろうか・・・
黒い物体が倒れたと判定されたらリロードされてる感じはあるけど、意味不明
pong
これはアイスホッケーみたいな対戦ゲームらしい
ここでも足りなモジュールはガンガンインストール
ちなみにcv2
がないと言われたらと言われたらOpenCVのことなので以下を参考にすると良い
pyenvでインストールしたpython3からOpenCV3を利用できるようにする
下記の記事を見てもらうとわかりますが、linuxだとopencv設定がかなり面倒です。
pythonでOpenCVを使う一番簡単な方法
なので、私はanacondaに切り替えて実行しました。(すぐ出来るのでオススメ)
# 学習用のコマンド
python -m baselines.deepq.experiments.train_pong
# 学習結果のモデルと遊ぶ用のコマンド
python -m baselines.deepq.experiments.enjoy_pong
1episodesが90秒で、690回繰り返されるとしたら、約62,100秒、17時間15分・・・・
途中でやめました
やってみました
約1160回のepisodeがあったので、さすがに時間かかりました・・・
途中でスリープモードで止まっていたので何とも言えませんが、8時間ぐらいかかった気がします。
遊んでみた結果は以下で動画になっているので確認してください。
OpenAI Baselinesをwindows(winpython)で試す。
(ちなみにこれ、人間vs機械学習でバトルできるのかなって思ってたけど、そうじゃないんだね・・・、強化学習と戦ってみたかったです・・・)