アルファ碁(囲碁AI)が人間のチャンピオンに勝ったのは、2016年のことでした。
将棋のAIが、プロ棋士たちに勝利する中で、
将棋はAIが勝ったけど、囲碁AIが勝つのはまだ先だろう、
といった空気の中での出来事だったように思います。
それは常識的な考えでした。
囲碁の探索空間はおよそ10360であり、将棋の探索空間10220とは、
くらべものにならないほど巨大であるためです。
そんな中、アルファ碁は人間に勝ちました。
そしてその手法は、以下の論文で報告されました。
『Mastering the game of Go with deep neural networks and tree search』
権威ある科学雑誌であるNatureに掲載されたこの論文は、
アルファ碁がどんな手法をつかったのかを詳細に報告しています。
この論文は、人工知能、機械学習、ディープラーニング(深層学習)、強化学習、深層強化学習などの潜在的な力を示し、
多くの方に驚きをもって、迎えられたのではないでしょうか。
アルファ碁はどんな手法が使われているの?
アルファ碁の仕組みはどうなっているの?
アルファ碁で使われる、深層学習(ディープラーニング)、強化学習、それらを合わせた、深層強化学習とはどんなものなの?
といった疑問を持たれた方も多いのではないでしょうか。
そこで本記事では、アルファ碁の手法や仕組みをわかりやすく学びたいあなたにおすすめの良書をご紹介します。
本書は、増補改訂版が出ています↓
もしも、手法の詳細というより、アルファ碁の結果をふまえて、
- 人工知能の未来はどうなりそう?
- 知能とは?知性とは?
- 人間とAIの違いはどんなところ?
といった内容をサクッと理解できる感じをご希望でしたら、
将棋AI開発の第一人者の1人でもある山本一成さんの1冊もおすすめです↓
本記事の概要
アルファ碁をつうじて、深層学習・強化学習を学びたいあなたはこちらの良書はいかがでしょうか
本書は、アルファ碁の各手法や全体の仕組みを、深層学習や強化学習の初学者の方でも、ゼロからシッカリ理解できるように解説された良書です。
本書では上で紹介した論文
⇒『Mastering the game of Go with deep neural networks and tree search』
の内容を、基礎からていねいに説明してくれています。
全体が1つのストーリーのように、わかりやすい順番で流れるように解説があり、読み始めると時間を忘れて没頭してしまいました。
アルファ碁が生まれた背景や、囲碁AI分野の全体像がサクッと理解できます(第1章)
第1章では、アルファ碁についての簡単な紹介からはじまり、
これまでの歴史や、囲碁AIの発展にどのようなアルゴリズムが寄与してきたかなどがサクッとまとめられています。
次の一手をどう決めるのか?
という点と機械学習の使い方が、機械学習の基本から分かりやすくまとめられています。
一般的な機械学習の流れ
生データ ⇒ 前処理 ⇒ 特徴抽出 ⇒ モデル化 ⇒ 学習
と、囲碁のアルゴリズムの対応関係がわかりやすい図でまとめられ、囲碁AI全般のしくみと、機械学習の関係をサクッと理解することができます。
加えて、ゲームAIの歴史、アルファ碁開発者のデミス・ハサビス氏の紹介、アルファ碁や関連囲碁AIの人類との戦績などもサクッと概観できます。
1章を読めば、アルファ碁や囲碁AI分野の全体像がサクッと理解できます。
ディープラーニングと、そのアルファ碁での使われた方をサクッと理解することができます(第2章)
第2章では、ディープラーニングとは?について、基礎となるニューラルネットワークの話からはじまり、手書き数字認識の例から畳み込みニューラルネット(CNN)の各要素技術の解説と最近の発展についてまとめられています。
次にそれを基礎にして、アルファ碁で次の一手を決めるのに使われる畳み込みニューラルネットワークの解説があります。すでにCNNを学んだ方なら、画像認識と、アルファ碁のCNNが同じ構造をもっていることがサクッと理解できます。
ちなみに、アルファ碁での このCNNは、SL ポリシーネットワーク(SL: Supervised Learning: 教師あり)と呼ばれていて、ある盤面において、次の石が打たれる確率を出力するのに使われています。
また、SL ポリシーネットワークの膨大な計算量への対処として、GPU や GPU を活かすCUDAの発展があったことも書かれており、勝率を予測するCNNであるバリューネットワークの説明もされています。
2章を読むことで、ディープラーニングそのものについての内容と、アルファ碁での使われ方をサクッと理解することができます。
強化学習とは?から、Q学習、方策勾配法、SL・RL ポリシーネットワークなどの手法をシッカリ理解することができます(第3章)
第3章では、強化学習の手法について、わかりやすく解説されています。
直観にすぐれたAIがディープラーニングとするなら、強化学習は経験に学ぶAIと説明があります。
強化学習は、機械学習とは違う考え方に基づいています。まずは初学者にもわかりやすいように、エージェントや報酬、価値、方策など基本的な概念が解説されています。
強化学習は(教師あり)機械学習と違い、正解がない状態で、なんらかの選択をし、選んだ答えのよさを報酬をもとに判定します。そして報酬をもとに、行動原理(方策)を改善していく方法と説明されています。
つぎに強化学習の歴史がまとめられています。強化学習がリチャード・E・ベルマン博士による動的計画法に起源をもち、価値関数を更新するQ学習、方策関数を更新する方策勾配法などがサクッと紹介されています。
強化学習のこれまでの事例として、
- 多腕バンディット問題(UCB1アルゴリズム、リグレットなど)
- 迷路についての強化学習(Q学習、TD誤差、行動価値関数、ε-グリーディ法、方策勾配法、方策関数など)
- テレビゲームの操作の強化学習(DQN(Deep Q learning)、ATARI2600ゲームなど)
などが、アルゴリズムや具体例とともに紹介されています。
それを踏まえて、アルファ碁の強化学習についての解説があります。
SL ポリシーネットワークを強化学習することでより勝ちやすいポリシーネットワーク(RL ポリシーネットワーク)をつくる、といった目的や、学習の方法、計算量や必要日数などがサクッとまとめられています。(ちなみに、RL ポリシーネットワークのRLは、Reinforcement learning 強化学習の略です)
また、本書の山場の1つでもあり、
- これまでの強化学習とアルファ碁の比較
- 方策勾配法による強化学習の各ステップ
- 実際のアルゴリズムのフローチャート
- 自己対戦による学習データの獲得の工夫
など、アルファ碁の手法の詳細が、図などを使って、わかりやすく詳細にまとめられています。
第3章を読むことで、アルファ碁の深層強化学習のアルゴリズムだけでなく、強化学習とは?から、Q学習、方策勾配法、SL・RL ポリシーネットワークなどの各手法について、シッカリ理解することができます。
AIが先読みするために必要な「探索」の解説がされています(第4章)
囲碁で先を読む方法についての解説があります。
- 2人ゼロ和有限確定完全情報ゲーム
- SPポリシーネットワークの活用によるゲームにおける探索
- しらみつぶし探索の考え方とゲーム木(ミニマックス木、アルファベータ法、枝刈り、深さ延長、評価関数など)
- モンテカルロ木探索
- プレイアウト
- 原始モンテカルロ
といった内容が、発展の時系列にしたがって、図を用いながら、わかりやすく解説されています。
アルファ碁の全体の設計図と、全体を制御するAI(APV-MCTS)について学べます(第5章)
第5章では、1~4章で紹介された各要素をうまく制御するためのしくみ(アルファ碁全体の設計図)についてまとめられています。
全体を制御するAI(非同期方策価値更新モンテカルロ木探索(APV-MCTS))のアルゴリズムが解説されています。
- バイアス計算でのSLポリシーネットワークの利用
- バリューネットワークとプレイアウトの勝率の併用
- 多数のCPU, GPU による高速化
などのポイントとなる工夫についてもシッカリまとめられています。
5章を読むことで、アルファ碁の全体の設計図と、全体を制御するAI(APV-MCTS)について学べます。各技術がどう使われ、どのように性能を発揮しているのかを理解することができます。
付録として、畳み込みニューラルネットワークや強化学習の学習則の数式の導出や、以下に示す著者のホームページからダウンロードできる、囲碁プログラム「DeltaGo」のインストール方法などがつけられています。
また、実装の際に問題となりやすい、データ構造の設計、例外処理、計算量やメモリの制約などについての情報は、著者のDeltaGoのホームページで公開予定とのことです。
DeltaGoホームページ(著者ページ)は ⇒ こちら
囲碁は好きだけど、ディープラーニングなどはちょっとわからない、といった初学者の方でも、言葉の説明から、図やイラスト、Memoなどがあり、なるほどと理解できるように工夫されているので安心です。
ある程度機械学習を学ばれた方は、アルファ碁の全体像をサクッとつかめるだけでなく、方法論やアルゴリズムの詳細も理解できます。また、技術同士のつながりや組み合わせ方なども学べるのがうれしいところです。
くわえて、重要なキーワードについての解説がそのつど3行程度でサクッとまとめられていて、基礎知識の漏れを埋めるのに役立ちます。
アルファ碁の解説を通じて、機械学習や強化学習の各手法がアルファ碁でどう使われているかの理解だけでなく、それら手法そのものの理解を、シッカリ両立させた、お得な1冊となっています。
本書は、増補改訂版が出ています↓
こちらもございます↓
こちらもございます↓
『強化学習の最新アルゴリズムをサクッと学びたいあなたはこちらをどうぞ【速習 強化学習】』
『「強化学習」と「深層学習」を組み合わせた「深層強化学習」の実装を学びたいあなたはこちらはいかがでしょうか【C言語】』
『将棋AIの第一人者が解説する人工知能「アルファ碁」と、深層学習・強化学習による人工知能の進化とは?』
『「機械学習」に入門したいあなたにチェックしてほしい良書、10冊はこちらです』