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

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

  • 著者:布留川 英一
  • 定価:本体:3,600円+税
  • 発行・発売:株式会社 ボーンデジタル
  • ISBN:978-4-86246-482-8
  • 総ページ数:368ページ
  • サイズ:B5変形判、オールカラー

発売日:2020年08月12日

製品の購入はこちら

  • Born Digital Store

※書店でお買い求めの際には、予め在庫をご確認ください。≫取扱い店舗
※PDF書籍に関しては書店販売を行っておりません。

ついに正式版が登場へ!ゲーム開発に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冊です。

「はじめに」「目次」を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 カスタムサイドチャネル

製品の購入はこちら

  • Born Digital Store

※書店でお買い求めの際には、予め在庫をご確認ください。≫取扱い店舗
※PDF書籍に関しては書店販売を行っておりません。

正誤表 / ダウンロード

正誤表

■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

ダウンロード

zipファイルで圧縮されていますので、解凍ソフトで解凍してください(ファイルサイズ:約132MB)。