schedule2021-01-22

【技術書】Unityではじめる機械学習・強化学習 Unity ML-Agents実践ゲームプログラミング

UnityもML-Agentsもわからなかったので参考書を買いました。

mlagents-book

Unityではじめる機械学習・強化学習 Unity ML-Agents実践ゲームプログラミング

この本の良い点

  • 日本語の情報が少ないML-Agentsについてまとめてある
  • ハイパーパラメータの典型的な範囲と説明がある!!
  • Unityのパラメータの画像が豊富にありわかりやすい

日本語の情報が少ないML-Agentsについてまとめてある

ML-Agentsについてググって出る日本語の情報は多くない。 あってもサンプルを動かすところまでがほとんどで、UnityもML-Agentsもわからないのでナンモワカラン状態だった。

公式のドキュメントはかなり詳しいが、英語を読むにも手がかりが欲しい。

書籍でML-Agentsを体系的に学んだことで、公式のドキュメントも読んでなんとなくわかるくらいまでになりました。

ハイパーパラメータの典型的な範囲と説明がある!!

個人的に一番おすすめのポイントはこれ! これだけで今後も長く見返すことが決まったぐらいありがたい。

ハイパーパラメータはニューラルネットワークの層の数や報酬にかかる係数など、推論や予測の枠組みの中で決定されないパラメータで人が任意に決める数値です。 このパラメータは学習する速度や精度に大きく影響していて、的外れなパラメータだと学習できないこともあります。 そのため、あらかじめ良さげなパラメータで学習を始めて徐々に調整していく必要があります。 この調整がチューニングです。 また、ML-AgentsではPPOやSACといった強化学習のモデルを利用しますが、モデルによってもハイパーパラメータが異なります。

はい。 このハイパーパラメータが何を意味するのか? そして、どの範囲で調整したら良いか?大きくしたら学習にどんな影響があるのか?が初心者にとってさっぱりで悩んだら嵌ります。 それゆえ、ハイパーパラメータの典型的な範囲と説明があるのはありがたいなと思いました。

著者の布留川英一さんは「AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門」なども書いていらっしゃるので信頼感があります。

前提

  • Unityに初めて触った。
  • DeepLeaningはゼロから作るDeep Learningのシリーズといくつかの本で学んだ。
  • 10年くらい前に研究でSVMを使ってた。
  • C#とPythonは業務で利用した