LoginSignup
1
2

More than 5 years have passed since last update.

unityのml-agentsでtensorflowを使った強化学習を試してみる

Last updated at Posted at 2018-01-28

追記

  1. tensorboardの記述を追記
  2. 学習後の動画を埋め込んでみました。

はじめに

 youtubeでSirajさんの
Unity AI - Unity 3D Artificial Intelligenceを見て、これは勉強会のネタになりそうだ、ということで、unityのml-agentsでtensorflowを使った強化学習を試してみた。3DBallサンプルの記事は、日本語で素晴らしい記事がたくさんあるので、リンクだけ。

https://qiita.com/Ao_i/items/18dec197434c7f853a92
http://nn-hokuson.hatenablog.com/entry/2017/12/26/213456
http://naomo.co.jp/2017/09/unityがtensorflowに対応/
https://qiita.com/dora-gt/items/bacce436de2a3cdb1ef4
http://am1tanaka.hatenablog.com/entry/2017/11/08/230525

tennisサンプル

 tennisとは言っても、卓球(table tennis)のシミュレーションのようだ。
Screen Shot 2018-01-28 at 16.17.58.png

 このサンプルを動かす時にハマったのは、下記の3点。

  1. unityの[Hierarchy]タブの[Academy]以下にbrainが二つあると、python実行時にエラーになるので、一つにする
  2. unityのBuild時に[Scenes in Build]でtennisにチェックをつける(選択する)

Screen Shot 2018-01-28 at 16.42.26.png

  1. 最後に、学習済みモデルで動作させる際、[Graph Placeholder] sizeは 0のままで良いようだ。

tensorboard

 学習の経過を確認するのに、tensorboardで見ることができます。うまく学習が進んでいるようです。

Screen Shot 2018-01-28 at 19.22.56.png

学習結果

最後に

 pythonのコード自体は、3DBallもtennisも共通で行けるところが、頭では分かってはいたつもりだが、強化学習の汎用性の高さを感じる。また視覚的に動きが見えることで、強化学習の特徴が非常にわかりやすい。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2