【Unity】ML-Agentsの学習状況をTensorBoardで確認する(ML-Agentsで機械学習&強化学習をやってみる その7)

投稿日:2022年2月5日
最終更新日:2022年2月5日

ML-Agentsの学習状況をTensorBoardで確認したい

これまでML-Agentsで機械学習をやってきたが、学習状況についてはPrompt画面で平均報酬と標準偏差を確認しているだけだった。今回はTensorFlow の可視化ツールキットであるTensorBoardで学習状況の統計情報を詳細に確認してみたい。

なお、参考文献の時点のML-AgentsはTensorFlowをつかっているが、最新のRelease 18ではPyTorchが使われている。ただ、PyTorchもTensorBoardをサポートしているため、TensorBoardを使うことはできる。

 

実行環境

Windows 10 64bit

Unity 2020.3.25f1

Anaconda 4.6.11 (Python 3.7.3)

ML-Agents Release 18

 

TensorFlowをインストールする

ML-AgentsでTensorFlowが使われていたときには、python上でML-Agentsをインストールすれば自動的にTensorFlowもインストールされたようだが、ML-AgentsのRelease 18ではPyTorchを使っているため、今回は手動でインストールする。

※TensorFlowをインストールしてから思ったけど、TensorFlowを使わないならTensorBoardだけインストールとかもできるのかも?

TensorFlowのインストール方法については公式ページを参照

私はAnacondaに仮想環境をつくって使っているので、仮想環境に切り替えてpipコマンドでTensorFlowをインストールした。

# pip install --upgrade tensorflow

問題なくインストールが進めば準備は完了。

 

TensorBoardを実行する

Anaconda PromptなどでGitHubからcloneしたml-agentsディレクトリに移動し、以下を実行する。これによってresultsフォルダ内にある過去の学習ログが、TensorBoardで可視化される。

# tensorboard --logdir=./results --port=6006

これでGoogle ChromeなどのWebブラウザからhttp://localhost:6006/を開けば、TensorBoardで学習の情報を確認することができる。以下が実際に開いてみた様子。

左下のRunsから、見たい学習ログを選択すれば各種統計情報のグラフを見ることができる。グラフの詳しい見方はTensorBoardの公式ページや参考文献を参照。

これで学習状況を詳細に確認できるようになった。これまではPPO(Proximal Policy Optimization)という強化学習アルゴリズムを使って機械学習をやってきたが、次回は別の強化学習アルゴリズムを試してみたいと思う。

 

参考文献

基本的には以下の本を読みつつ勉強していき、最終的には自分で何かしらゲームを作っていく予定。最低限ML-Agentsを使うための流れはブログで書いていこうと思っているが、詳細については説明しないので、深く理解するには本を買って勉強してみることをオススメする。

一部環境構築の記載などは古いけど、強化学習の概念やML-Agentsの学習方法、ゲームへの応用例などが日本語で整理してまとめられているので貴重な本だと思う。

古くなった情報を補完するため、本と合わせて以下のML-Agents Release 18の公式ドキュメントを参照している。

https://github.com/Unity-Technologies/ml-agents/tree/release_18_docs/

 

日記まとめ

この日記は以下でまとめてます。

【Unity】ML-Agentsで機械学習&強化学習をやってみる まとめ

 


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください