今回は Unity本の紹介です。タイトルはUnityではじめる機械学習・強化学習 Unity ML-Agents 実践ゲームプログラミング

タイトルの通り、Unity の機械学習ライブラリである ML-Agents の詳細説明、設定法、これを使用した機械学習例が細かく解説 されております。
これらの情報がほんとうに深く、かつ分かりやすく書かれているので、Unity ML-Agents本としては最強かと思います。作者は 布留川英一さんです。

Book_004



【感想】

上にも書きましたが、ほんとうに Unity ML-Agents本として最強!だと思います。と言うか、Unity ML-Agents以外でもこんな充実した内容のものを見たことないような気がします。他のUnityに限らず、技術やツール、ライブラリもこんな本があったら良いなと思いました。

と言うのは、書かれてある内容がとても具体的かつ細かくて分かりやすく、とても参考になりました。
本書のトピック、Unity ML-Agents の設定項目の詳細説明、ソースの説明。ML-Agents に含まれるサンプルプロジェクトの全ての詳しい説明。
また、ML-Agents を使用したオリジナルゲームに適用した例もいくつか取り上げ、それらの説明がまたとても詳しい。


Unity ML-Agents に関して、これ以上の本は作りようがないのではないでしょうか。ほんとうにお薦めと言うか、これ以外に選択肢はないと思います。

ちなみに、Unity が ML-Agentsの話をする際、Non-Gameへのシミュレーション適用の話をよく出してますが、それに関することは本書には含まれていません。基本Game分野への適用例です。Game分野ではこの本がダントツ素晴らしいので、Non-Gameを詳しく書かれた良い本が出ると良いな。
(本書に自動運転シミュレーションの話が少しあるのを車のゲームと捉えましたが、Non-Gameのシミュレーションとも捉えられます。)


【内容】

以下に本書の全章をあげて、各章の簡単な説明を書いてみました。この各章のタイトルを見るだけで、本書が網羅している情報が良く分かると思います。

1章:Unity ML-Agentsの全体像
機械学習・強化学習の基本と Unity ML-Agentsの概要が書かれています。とても分かりやすく説明されています。
 1-1:機械学習の概要
 1-2:強化学習の概要
 1-3:Unity ML-Agentsの概要
 1-4:学習シナリオ

2章:サンプルの学習環境の実行
Unity ML-Agentsを実際に使うための環境の作成方法の説明と、1つのサンプルを使用して学習の仕方や実行の仕方を解説。4章で全てのサンプルプロジェクトの紹介がされているので、その事前説明となります。
 2-1:開発環境の準備
 2-2:プロジェクトの設定
 2-3:サンプルの学習環境の作成
 2-4:Pythonスクリプトによる学習
 2-5:Unityでの推論モデル

3章:はじめての学習環境の作成
2章ではサンプルの実行方法の話でしたが、本章ではオリジナルの学習環境を構築する方法が解説されています。5章でオリジナルゲームの適用例が説明されているので、その事前説明となります。
 3-1:はじめての学習環境の準備
 3-2:Academyの追加
 3-3:Brainの追加
 3-4:Agentの追加
 3-5:はじめての学習環境の実行
 3-6:iOS、Androidでの実行

4章:サンプルの学習環境の解説
Unity ML-Agentsに本書出版時点に含まれている全サンプルを対象に、それぞれサンプルの概要、設定値、学習法、ソースコードが詳しく説明されています。
 4-1:Basic(Single-Agent)
 4-2:3DBall(Simultaneous Single-Agent)
 4-3:GridWorld(Visual Observation)
 4-4:Tennis(Adversarial Self-Play)
 4-5:PushBlock(RayPerception)
 4-6:WallJump(Brainの切り替え)
 4-7:Reacher(2関節を持つAgent)
 4-8:Crawler(8関節を持つAgent)
 4-9:BananaCollectors(模倣学習)
 4-10:Halloway(RNN (LSTM) )
 4-11:Bouncer(On Demand Decision)
 4-12:Soccer Twos(Copetitive Multi-Agent)
 4-13:Walker(13関節を持つAgent)
 4-14:Pyramids(ICM)

5章:新規ゲームの学習環境の構築
いくつかの機械学習手法を使ったオリジナルゲームの紹介をし、それらに適用した Unity ML-Agentsの設定値やソースコードの内容を詳しく解説。
 5-1:三目並べ(完全情報ゲーム)
 5-2:ポーカーゲーム(不完全情報ゲーム)
 5-3:ロケットゲーム(カリキュラム学習)
 5-4:格闘ゲーム(模倣学習)
 5-5:自動運転シミュレーション(シミュレーション)

6章:Python APIとクラウド学習
Unityで作成した学習環境を制御するための Python APIの詳細や、Unity ML-AgentsをサポートしているAWSを使用したクラウド学習について解説。
 6-1:Jupyter Notebookの概要と基本操作
 6-2:Python APIの概要と使い方
 6-3:AWS(Amazon Web Services)によるクラウド学習


【著者】

本書の著者 布留川英一さんは もともとはドワンゴの方で、その後、清水亮さんの UEIでスマートフォン、二足歩行ロボット向けのアプリ、ハイパーテキストタブレット端末「enchantMOON」の開発をされていたそうです。
現在は GHELIAにて、人工知能、VR、ARの研究開発に従事しているとのこと。

彼の著書は他には以下のようなものがあります。





Unityゲーム プログラミング・バイブル
吉谷 幹人
ボーンデジタル
2018-05-01




Sponsored Link