トップ » BOOK » Unity ML-Agents 実践ゲームプログラミング v1.1対応版

Unity ML-Agents 実践ゲームプログラミング v1.1対応版

Unityではじめる機械学習・強化学習

著者:布留川 英一

定価 3,960円(本体3,600円+税10%)
発行・発売 株式会社 ボーンデジタル
ISBN 978-4-86246-482-8
総ページ数 368ページ
サイズ B5変形、オールカラー
発売日 2020年8月中旬

本書の詳細

ついに正式版が登場へ!ゲーム開発にAIを活用しよう

「Unity ML-Agents」は、2017年秋にv0.1として登場以降、順調にバージョンアップを重ね、2020年5月についに正式版となりました。今後は、Unityの中核機能の1つになると予想されています。

本書は、2018年7月に刊行した前書(v0.4に対応)を、正式版に合わせて全面的に改訂したものです。
Unity ML-Agentsは、多くのAIプログラミングで必須となる「Python」のコーディングを必要とせず、Unity ML-Agentsの仕組みに沿って、通常のゲーム開発同様にC#によるコーディングで完結できることが大きな特徴です。

本書では、これからゲームAIについて学びたい方から読んでいただけるように、機械学習の基礎から学習環境の構築、付属サンプルによるさまざまな学習方法の解説などを、ステップ・バイ・ステップで実践的に習得できるように構成しています。

また、実際の開発現場でゲームAIを活用するためのサンプルとして、Unityが無償で公開しているゲームを使って、「テストの自動化」「ゲームバランスの調整」「より自然な振る舞いを行うNPC」「人間の代わりとなる対戦相手」をAIとして実装したサンプル事例も紹介しています。

本書は、基礎から実践まで網羅しており、これからゲームAIにチャレンジしたい方にお勧めしたい1冊です。

ダウンロードデータは、ZIP形式で圧縮されています。WinZip(Windows)やStuffit(Macintosh)等のアプリケーションで解凍してご使用ください(ファイルサイズ:約132MB)。

ダウンロード

■P.50の手順02のコマンド
pip install -e ./ml-agents

「pip 20.2」では、「pip install」時に「ERROR: After October 2020 you may…」というエラーが発生する場合があります(「pip 20.1以前」「pip 20.3以後」では発生しません)。その場合は、「-–use-feature=2020-resolver」を追加してください。

pip install -e ./ml-agents -–use-feature=2020-resolver

※上記は、pipの依存関係チェックが厳しくなったためです。以下の記事も参照してください。
https://qiita.com/ksato9700/items/ec30d726a1508c7985a0

■P.072の実行コマンド
誤:mlagents-learn ./config/trainer_config.yaml –run-id=RollerBall-1 –env=RollerBall

正:mlagents-learn ./config/sample/RollerBall.yaml –run-id=RollerBall-1 –env=RollerBall

■P.073の実行コマンド
誤:mlagents-learn ./config/trainer_config.yaml –run-id=RollerBall-2 –env=RollerBall –num-envs=8

正:mlagents-learn ./config/sample/RollerBall.yaml –run-id=RollerBall-2 –env=RollerBall –num-envs=8

■P.074の実行コマンド
誤:mlagents-learn ./config/trainer_config.yaml –run-id=RollerBall-3 –env=RollerBall

正:mlagents-learn ./config/sample/RollerBall.yaml –run-id=RollerBall-3 –env=RollerBall

■P.322の./config/sample/KartingMicrogame.yaml
末尾に以降を追加(模倣学習+強化学習で動作するように変更)
※ダウンロードファイルも更新(2020年9月2日以前にダウンロードされた方は再ダウンロードしてください)。

behavioral_cloning:
demo_path: KartingMicrogame.demo
steps: 10000
strength: 0.5
samples_per_update: 0

目次

「はじめに」「目次」をPDFファイルでご覧いただけます。

1章 機械学習とUnity ML-Agentsの概要
1-1 人工知能と機械学習
1-2 教師あり学習と教師なし学習と強化学習
1-3 強化学習
1-4 強化学習の学習アルゴリズム
1-5 Unity ML-Agentsの概要
1-6 Unity ML-Agentsの学習シナリオ

2章 はじめての学習環境の作成
2-1 開発環境の準備
2-2 プロジェクトの準備
2-3 はじめての学習環境の作成
2-4 学習と推論
2-5 学習の高速化

3章 Unity ML-Agentsの基礎
3-1 状態と観察
3-2 行動
3-3 報酬とエピソード完了
3-4 決定
3-5 訓練設定ファイル
3-6 mlagents-learn
3-7 TensorBoard

4章 さまざまな学習方法
4-1 SAC
4-2 Discrete
4-3 Visual Observation
4-4 Raycast Observation
4-5 セルフプレイ
4-6 Curiosity
4-7 模倣学習
4-8 LSTM(Long Short-Term Memory)
4-9 カリキュラム学習
4-10 環境パラメータのランダム化
4-11 Observable属性

5章 サンプルの学習環境
5-1 サンプル学習環境の準備
5-2 FoodCollector(Observation)
5-3 GridWorld(Visual Observation)
5-4 PushBlock(Raycast Observation)
5-5 Tennis(セルフプレイ①)
5-6 Soccer(セルフプレイ②)
5-7 Pyramids(Curiosity・模倣学習)
5-8 Hallway(LSTM)
5-9 WallJump(カリキュラム学習)
5-10 3DBall(環境パラメータのランダム化)
5-11 Bouncer(RequestDecision)
5-12 Reacher(多関節の学習①)
5-13 Worm(多関節の学習②)
5-14 Crawler(多関節の学習③)
5-15 Walker(多関節の学習④)
5-16 Basic(カスタムセンサーコンポーネント)

6章 ゲーム開発における強化学習の活用
6-1 ゲーム開発での強化学習エージェントの活用
6-2 Flappy Bird Style-テストの自動化
6-3 3D Game Kit Lite-コンテンツのバランス調整のサポート
6-4 Puppo, The Corgi-より自然な振る舞いを行うNPC
6-5 Karting Microgame-人間の代わりとなる対戦相手
6-6 Unity Analyticsによるエージェントの行動解析

7章 Python APIを使った学習環境の構築
7-1 Python APIを使った学習
7-2 Gymラッパー
7-3 Python Low Level API
7-4 サイドチャネル
7-5 カスタムサイドチャネル