ISBN 9784839967093
囲碁ディープラーニングプログラミング
概要
囲碁AIボット構築を通じて深層学習と強化学習を実装レベルで習得する
想定読者
PythonとKerasで機械学習を実践したいエンジニア。ディープラーニングの理論を囲碁という具体的な問題領域で体得したい人。AlphaGoの仕組みを実装ベースで理解したい人。
こんな人には向いていない
- 囲碁のルールや戦略を学びたい人(本書はAI実装が主題であり囲碁の棋力向上を目的としていない)
- 強化学習の数学的背景を体系的に学びたい人(本書は高校レベルの数学を前提とした実装重視の構成であり、理論の厳密な展開は別書が必要)
- TensorFlowやPyTorchを前提とした現代的なMLOpsパイプラインを学びたい人(本書はKerasベースで2019年時点の実装例が中心)
読了後にできるようになること
- モンテカルロ木探索(MCTS)をPythonで実装し、ゲームAIの探索戦略を設計できる
- 畳み込みニューラルネットワークを囲碁の盤面表現に適用し、指し手予測モデルを構築できる
- 方策勾配法・価値ベース強化学習・actor-critic法の違いを実装レベルで説明できる
- AlphaGoおよびAlphaGo Zeroで用いられた自己対局による強化学習パイプラインの構造を理解できる
- 学習済みボットをWebサーバとして公開し、Online Go Serverへ提出する運用手順を習得できる
- AWS上でGPUを使ったモデル訓練・デプロイの基本的な手順を実行できる
本書のキー概念(章解説)
- 第 1 章 深層学習に向けて:機械学習の導入
- 第 2 章 機械学習の問題としての囲碁
- 第 3 章 最初の囲碁ボットの実装
- 第 4 章 木探索によるゲームプレイ — MCTSの実装を扱う章。強化学習と組み合わせる前段として重要度が高い
- 第 5 章 ニューラルネットワーク入門
- 第 6 章 囲碁データのためのニューラルネットワークの設計 — 盤面の特徴量設計がボット強度に直結するため、CNNの設計判断が最も学べる章
- 第 7 章 データからの学習:深層学習ボット
- 第 8 章 ボットの公開
- 第 9 章 練習による学習:強化学習 — 自己対局ループの実装。AlphaGo Zeroへの橋渡しとなる概念が集中している
- 第 10 章 方策勾配による強化学習
- 第 11 章 価値に基づく強化学習
- 第 12 章 actor-critic法による強化学習
- 第 13 章 AlphaGo:すべてをまとめる — Part I〜IIの実装要素を統合する章。AlphaGoのアーキテクチャ全体像を確認する場所
- 第 14 章 AlphaGo Zero:強化学習と木探索の統合
ハイライト
- 囲碁ボット構築の方法を理解することで、他の人工知能開発にも応用することができるようになります。(囲碁AIという具体的な題材が汎用的なDL/RL習得の手段であることを端的に示す記述)
- AlphaGoの開発と拡張という魅惑的な冒険へ導いてくれます。とても読みやすく魅力に溢れた人工知能と機械学習の実践的入門書です。(DeepMind AlphaGoチームのThore Graepel研究者によるまえがきの評価。実装書としての性格を示す)
編集メモ
Qiita記事でのISBN直接言及は確認できなかった(検索0件)。囲碁AIという特化した題材のため参照母数は限定的。ただしManning原著『Deep Learning and the Game of Go』は強化学習入門書として英語圏での評価が確立しており、日本語訳版として一定の需要が見込まれる
読む前に押さえておきたいこと
- Pythonの基本文法とオブジェクト指向の概念(クラス・継承)
- NumPy配列操作の基礎(行列演算が苦にならないレベル)
- 高校数学レベルの微分・確率の概念(偏微分の意味が分かる程度で十分)
学習のコツ
- 囲碁のルールを知らなくても第2章で最低限の説明が得られるが、事前に9路盤の基本ルールだけ把握しておくと盤面表現の章(6章)への理解が早い
- 強化学習(9〜12章)は順序依存が強いため飛ばし読みは避ける。一方、付録A(数学の基礎)と付録B(誤差逆伝播法)は躓いたタイミングで参照する辞書的な使い方が合っている
- 13章・14章はそれ以前の章の実装を組み合わせる統合章のため、手を動かさずに読むだけでも設計の全体像を掴む価値がある
- 付録D(AWS訓練)はGPUリソースが手元にない場合の実践的な補完手段として活用できる
出版社による内容紹介
ボードゲームを題材とした古典的なAIの実装からはじめ、深層学習と強化学習を囲碁AIに組み込み、改良していきます。囲碁ボット構築の方法を理解することで、他の人工知能開発にも応用することができるようになります。 Manning Publications『Deep Learning and the Game of Go』の日本語版。 ・PythonとKerasを利用した囲碁AIボット開発でディープラーニングを深く理解できます。 ・AlphaGo/AlphaGo Zeroで用いられた手法も解説! ・基本的なPythonと高校レベルの数学の知識で読破可能。 この本はAlphaGoの開発と拡張という魅惑的な冒険へ導いてくれます。あなたは最も美しくかつ挑戦的なゲーム開発の基礎を学ぶことになるでしょう。とても読みやすく魅力に溢れた人工知能と機械学習の実践的入門書です。 ー Thore Graepel:DeepMind AlphaGoチームの研究・開発者(本書まえがきより) 第I部:基礎 第1章 深層学習に向けて:機械学習の導入 第2章 機械学習の問題としての囲碁 第3章 最初の囲碁ボットの実装 第II部:機械学習とゲームAI 第4章 木探索によるゲームプレイ 第5章 ニューラルネットワーク入門 第6章 囲碁データのためのニューラルネットワークの設計 第7章 データからの学習:深層学習ボット 第8章 ボットの公開 第9章 練習による学習:強化学習 第10章 方策勾配による強化学習 第11章 価値に基づく強化学習 第12章 actor-critic法による強化学習 第III部:“全体は部分の総和に勝る” 第13章 AlphaGo:すべてをまとめる 第14章 AlphaGo Zero:強化学習と木探索の統合 付録A 数学の基礎 付録B 誤差逆伝播法 付録C 囲碁プログラムとサーバ 付録D Amazon Web Servicesを使用したボットの訓練とデプロイ 付録E Online Go Serverへのボットの提出
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。