「ソニック・ザ・ヘッジホッグ」などのゲームを攻略するAI作成をステップ・バイ・ステップで学べる!
人工知能によるゲームの攻略は、ゲーム開発者のみならず、機械学習を学びたい学生や研究者にとっても、最もホットな話題となっており、日々新たな攻略アルゴリズムが発表されています。そのなかでも、2015年12月に設立された非営利団体「OpenAI」は、その中心的な存在となっています。
「OpenAI」は、誰でも自由に使える強化学習ツールキット「OpenAI Gym」を公開しており、このなかにはAtariのゲーム環境やロボット制御の環境などの学習用の環境が多数含まれています。本書では、この「OpenAI Gym」を使って、ゲームを攻略するAIを作るための手法を手順を追って解説しています。
「OpenAI Gym」では、さまざまな強化学習アルゴリズムがまとめられた「Stable Baselines」を組み合わせて学習を行うため、本書でも「Stable Baselines」の概要から各アルゴリズムの詳細、学習状況の監視の方法などをサンプルを作りながら紹介しています。
Atariのゲーム環境には、AIで攻略するための無償のゲームが数多く含まれていますが、「OpenAI Gym」の「Gym Retro」環境は、より高度な市販ゲームを攻略するためのもので、本書では実際に有償の「ソニック・ザ・ヘッジホッグ」(セガ/メガドライブ版)のゲームを入手して攻略していきます。
「OpenAI Gym」は、レトロゲーム以外にも「マインクラフト」「スタークラフトII」といった最新ゲームを攻略するための環境、Unityゲームを攻略するためのGymラッパー、ロボット制御の強化学習、FX・株の値動きを予測する環境など、多数の環境が接続でき、本書の最後ではさまざまなバリエーションの学習の概要も取り上げます。
1章 深層学習と強化学習の概要
1-1 人工知能と機械学習
1-2 教師あり学習と教師なし学習と強化学習
1-3 強化学習
1-4 開発環境と開発フレームワーク
2章 Pythonの開発環境の準備
2-1 Anacondaの準備
2-2 Google Colabの準備
2-3 Pythonの文法
3章 OpenAI Gym
3-1 OpenAI Gymの概要
3-2 OpenAI Gymのインストールと動作確認
3-3 Gymインタフェース
3-4 行動空間と状態空間
4章 Stable Baselines
4-1 Stable Baselinesの概要とインストール
4-2 強化学習アルゴリズムの分類と特徴
4-3 平均報酬と平均エピソード長の出力とMonitorの利用
4-4 モデルの保存と読み込み
4-5 TensorBoardとコールバックによる学習状況の監視
4-6 マルチプロセッシングの概要と実装
4-7 Stable Baselines Zooによる学習済みモデル実行
5章 Atari環境の攻略
5-1 Atari環境の学習
5-2 前処理
5-3 ハイパーパラメータの調整
5-4 クラウド学習
5-5 模倣学習によるAtari環境の学習
6章 Gym Retro
6-1 Gym Retro環境の構築
6-2 Gym Retroの学習
6-3 ゲームインテグレーションの作成
7章 ソニック環境の攻略
7-1 ソニック環境の準備
7-2 強化学習によるソニック環境の攻略
7-3 模倣学習によるソニック環境の攻略
7-4 ソニックのAIをさらに強化する試み
8章 さまざまな強化学習環境
8-1 OpenAIのMuJoCo環境とRobotics環境
8-2 PyBullet環境:オープンソースな3D物理シミュレーション環境
8-3 AnyTrading:トレーディングの強化学習環境
8-4 Unity ML-Agents:Unityの強化学習環境
8-5 Gymラッパー:Unity ML-Agents環境をGym環境に変換
8-6 MarLÖ:マインクラフトの模倣学習環境
8-7 PySC2:StarCraft IIの強化学習環境
8-8 そのほかの強化学習環境