Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AlphaGo Zero 解説

4,681 views

Published on

2017年10月19日に発表されたGoogle DeepMindのAlphaGo Zero ( アルファ碁, アルファご ) の論文解説。
AlphaGo Zeroの仕組みを分かりやすく説明します。

Published in: Science
  • Be the first to comment

AlphaGo Zero 解説

  1. 1. Copyright ©2017by Future Architect, Inc. AlphaGo Zero 解説 フューチャーアーキテクト株式会社フューチャーアーキテクト株式会社 テータサイエンスチーム 李 碩根 20172017 年年 1010 月月 2727 日日
  2. 2. 作者紹介 • 名前:李 碩根 • 会社:フューチャーアーキテクト株式会社 • 部署:データサイエンスチーム • 役割: AI / 機械学習エンジニア Copyright ©2017 by Future Architect, Inc. - 2 -
  3. 3. 目次 1. AlphaGo Zero を構成する二つのパーツ i. ニューラルネットワーク (DNN) ii. モンテカルロ木探索 (MCTS) 2. AlphaGo Zero の学習プロセス a. MCTS による自己対局 b. DNN の学習 c. 学習前後の性能比較 3. AlphaGo の各種バージョン 4. AlphaGo Fan vs. AlphaGo Zero 5. AlphaGo Zero の性能評価 6. 教師あり学習 vs. 強化学習 7. 人の動き予測 8. まとめ 9. 参照論文 - 3 -
  4. 4. 1. AlphaGo Zero を構成する二つのパーツ i. ニューラルネットワー ク (DNN) ii. モンテカルロ木探 索 (MCTS)  石の配置履歴 (s) だけをインプットとし て、次の手の確率分布 (P) と現盤面の勝つ 確率 (v) を計算する。   i. のモンテカルロ木探索でノード拡張 と評価に利用される  現盤面から一番良い次の手を探索。 ii. の DNN を活用し、ツリーの各ノードの 拡張 & 評価を行う。 AlphaGo ZeroAlphaGo Zero はニューラルネットワークはニューラルネットワーク (DNN)(DNN) とモンとモン テカルロ木探索テカルロ木探索 (MCTS)(MCTS) の二つのパーツで構成されるの二つのパーツで構成される - 4 -
  5. 5. 1-i. ニューラルネットワーク (DNN)  インプット (s) 1. 現盤面から 7 手前までの石の配置履歴 (s)  アウトプット ( P, v ) 1. 次の手の確率分布(P) 2. インプットの現盤面での勝つ確率 (v)  Residual Network(※1, 2 ) を利用 1. Conv layer の residual blocks 2. Batch normalization 3. Rectifier nonlinearities ※ 1: He, K., Zhang, X., Ren, S. & Sun, J. Deep residual learning for image recognition   (2016) ※ 2: DNN のアーキテクチャ詳細は省略 石の配置履歴だけをインプットし、「次の手の確率分石の配置履歴だけをインプットし、「次の手の確率分 布」と「インプットの現盤面で勝つ確率」両方をアウ布」と「インプットの現盤面で勝つ確率」両方をアウ トプットする。トプットする。 - 5 -
  6. 6. 1-ii. モンテカルロ木探索 (MCTS) AlphaGo Zero の MCTS は三つのプロセスにて構成される 1.Select (選択) • ルートノード (R) から始め、葉ノード (L) まで評価値が高 いノードを選択していく 2.Expand (拡張) & Evaluate (評価) • 1. で選択した L がゲーム終了ではない場合、 L を DNN に インプットし、 L での勝つ確率 (v) と次の手の確率分布 (P) を計算する • 計算した v は L の評価値 (Q) になり、 P の確率分布で子 ノード (C) を拡張する 3.Backup (バックアップ) • 2 . の拡張 & 評価で得られた子ノードの Q の平均値を親 ノードに反映する。その平均値が親ノードの新しい評価 値になる。 上記のプロセスをループさせ、次の手の確率分布 (π) を計算する  現盤面から一番良い次の手を探索。 現盤面から一番良い次の手を探索。 i.i. のの DNNDNN を活用し、ツリーの各ノードの拡張を活用し、ツリーの各ノードの拡張 && 評価を行評価を行 う。う。 ※ MCTS のチュートリアル: https://future-architect.github.io/articles/20170804/https://future-architect.github.io/articles/20170804/ - 6 -
  7. 7. 1-ii. モンテカルロ木探索 (MCTS) 選択選択 拡張拡張 && 評価評価 バックアップバックアップ P: DNN で予測した次の手の確率 V: DNN で予測した現盤面の勝つ確率 Q: ノードの評価値。全子ノードの Q の平均値 U: upper confidence bound 。 P/(1+ 訪問回数 ) に 比例 π: MCTS で計算した次の手の確率分布 Q+U 値が最大の手を選択 ・葉ノードの場合 ( 緑枠 )    Q = V   ・親ノードの場合 (赤枠)    Q = 全子ノードの Q の平 均値                DNN で v と P を計算し、 拡張 & 評価する プレイプレイ MCTS で計算した 次の手の確率分布 (π) を元に一番良い手を 選択する - 7 -
  8. 8. 2. AlphaGo Zero の学習プロセス 論文の「概要欄」で紹介している学習プロセルの簡略図。本資料では、論文の「概要欄」で紹介している学習プロセルの簡略図。本資料では、 論文の「詳細欄」で紹介している内容を元に、プロセスを三つに分類す論文の「詳細欄」で紹介している内容を元に、プロセスを三つに分類す る。る。 ①MCTS によ る自己対局 ②DNN の学習 ③ 学習前後の 性能比較 - 8 -
  9. 9. 2. AlphaGo Zero の学習プロセス ①MCTS による 自己対局 ②DNN の学習 ③ 学習前後の 性能比較 AlphaGo ZeroAlphaGo Zero は3つの学習プロセスでは3つの学習プロセスで 構成されている。このプロセスのサイク構成されている。このプロセスのサイク ルが非同期かつ並列に処理されている。ルが非同期かつ並列に処理されている。 - 9 -
  10. 10. 2- MCTS① による自己対局 ①MCTS による 自己対局 ①MCTS による 自己対局 ②DNN の学習 ③ 学習前後の 性能比較 MCTSMCTS による自己対局を行い、対局データを作成すによる自己対局を行い、対局データを作成す る。る。 - 10 -
  11. 11. 2- MCTS① による自己対局 MCTSMCTS による自己対局をによる自己対局を 25,00025,000 回行い対局データを作回行い対局データを作 成する成する ※ 対局データの構成 : (s, π, z)    ・ s: 現在の盤面    ・ π: MCTS からの次の手の確 率分布    ・ z: 実際のゲーム勝者 - 11 -
  12. 12. 2- DNN② の学習 ①MCTS による 自己対局 ②DNN の学習②DNN の学習 ③ 学習前後の 性能比較 MCTSMCTS による自己対局による自己対局 (①)(①) で生成した対局データでで生成した対局データで DNNDNN を学習させるを学習させる - 12 -
  13. 13. 2- DNN② の学習 MCTSMCTS による自己対局による自己対局 (①)(①) で作成した対局データでで作成した対局データで DNNDNN を学習さを学習さ せるせる 変数説明 ・ 対局データの構成 : (st, πt, z) ・ st: 現在の盤面 ・ Pt: st を入力としたときの次の手の確率 分布 ・ vt: st を入力としたときの勝つ確率 ・ πt: MCTS の st からの次の手の確率分 布 ・ z: 対局データに記録された勝者 DNN の (Pt, vt) を (πt, z) に近づけることで DNN を最適化する - 13 -
  14. 14. 2- DNN② の学習 なぜなぜ MCTSMCTS の予測値にの予測値に DNNDNN を近づけることでを近づけることで DNNDNN の性能が上がるのの性能が上がるの か?か? DNN :現盤面のみを考慮 MCTS :現盤面+予測される将来の盤面を DNN で計算した平均値 一つの盤面だけを考慮する DNN より複数の盤面を考慮する MCTS の方が予測性能が高い。 (DNN だけでの性能は Elo 3000 代。 MCTS を使うと同じ DNN で 5000 まで性能が上がる※ ) DNN がポリシーに相当し、 MCTS はポリシーの性能を探索で上げていることに相当する。 つまり、 MCTS は強力なポリシー強化オペレーターである。 AlphaGo Zero の主なアイディアは、このオペレーターを用いて policy iteration することである。 ※ 本スライドの 「 5. AlphaGo Zero の性能比較」参照 (p.19) - 14 -
  15. 15. 2-③ 学習前後の性能比較 ①MCTS による 自己対局 ②DNN の学習 ③ 学習前後の 性能比較 ③ 学習前後の 性能比較 DNNDNN の学習の学習 (②)(②) での新しいでの新しい DNNDNN を評価するを評価する - 15 -
  16. 16. 2-③ 学習前後の性能比較 (( 旧旧 )) (( 新新 )) DNNDNN の学習の学習 (②)(②) 前の前の DNNDNN を使ったを使った AlphaGoAlphaGo DNNDNN の学習の学習 (②)(②) で学習しで学習し たた DNNDNN を使ったを使った AlphaGoAlphaGo   DNN の学習 (②) を行った DNN を使うことで実際に AlphaGo が強くなったかを確かめるために、 AlphaGo( 旧 ) vs AlphaGo( 新 ) の対戦を 400 回行う。そこで 55% 以上に 勝利した AlphaGo が選ばれ次のループに使われることにな る。   AlphaGo( 新 ) が 55% の勝率に達成できなかった場 合、 AlphaGo( 旧 ) をそのまま使い、学習が継続される。 - 16 -
  17. 17. 3. AlphaGo の各種バージョン 1. AlphaGo Fan 2015 年 10 月に発表された論文 (※ 1 ) 1. AlphaGo Lee 基本 Fan と同様だが、 Value Network の訓練方法と DNN のアーキテクチャが異な る ( 論文無し。※2で軽くコメントされた ) 1. AlphaGo Master Zero のアーキテクチャと同様だが、教師あり学習を行い、インプットも Zero と異 なる ( 論文無し。※2で軽くコメントされた ) 1. AlphaGo Zero 一つの DNN と MCTS だけで構成された最新アーキテクチャ (※ 2 ) ※ 1: Silver, D. et al. Mastering the game of Go with deep neural networks and tree   search. Nature 529, 484–489 (2016). ※ 2: Silver, D. et al. Mastering the game of Go without human knowledge.. . Nature 550, 354–359 (19 October 2017) - 17 -
  18. 18. 4. AlphaGo Fan vs. AlphaGo Zero AlphaGo Fan AlphaGo Zero 構成 MCTS, Policy Network(DNN), Value Network(DNN), Rollout policy MCTS, DNN 使用 DNN Convolutional Neural Network Residual Network 学習方法 教師あり学習 & 強化学習 強化学習 インプット 石の配置、ダメの数、取れる相手の 石の予測数、シチョウが取れるかど うか、などなど 石の配置履歴 学習時間 数か月 40 日 性能 3000 elo 5000 elo 1. Zero の方がアーキテクチャシンプル 2. Fan は囲碁のルールを利用した手作りインプットを使用。 Zero は石の配置履 歴のみ 3. Zero は人のデータを必要としない 4. Zero の学習コストも低いうえに、性能も優れている - 18 -
  19. 19. 5. AlphaGo Zero の性能評価 3636 時間の学習した時間の学習した ZeroZero が、数か月が、数か月 学習した学習した LeeLee のパフォーマンスを超のパフォーマンスを超 え、え、 4040 日の学習で日の学習で AlphaGo MasterAlphaGo Master よりより 高性能を達成する。高性能を達成する。 一つのマシーン一つのマシーン (4TPU)(4TPU) で計算で計算 を行うを行う ZeroZero が、複数のマシーが、複数のマシー ンン (48TPU)(48TPU) で計算するで計算する LeeLee にに 勝利。勝利。 - 19 -
  20. 20. 6. 教師あり学習 vs. 強化学習 AlphaGo ZeroAlphaGo Zero のパフォーマンスのパフォーマンス 赤線:人の対戦データで学習赤線:人の対戦データで学習 青線:人の対戦データ無で学習青線:人の対戦データ無で学習 点線:点線: AlphaGo LeeAlphaGo Lee    (baseline)(baseline) 人の対戦データ無の方が人の対戦データ無の方が パフォーマンス高いパフォーマンス高い - 20 -
  21. 21. 7. 人の動き予測 赤線:人の対戦データで学習 青線:人の対戦データ無で学習 人の対戦データで学習させた方が 人間の手を高精度で予測 →→ 人のプレイスタイルを模倣し人のプレイスタイルを模倣し ない方が高いパフォーマンスがない方が高いパフォーマンスが 出る出る - 21 -
  22. 22. 8. まとめ 従来の従来の Alpha GoAlpha Go と比べ、と比べ、 1. 人対人の対戦データが不要で、データ作成コストが ゼロ 2. 学習速度が向上 3. アーキテクチャがシンプル 4. アルゴリズムに囲碁のドメイン知識が無い。    囲碁以外のドメインでも使用可能なアルゴリズ ム - 22 -
  23. 23. 9. 参照論文 Mastering the game of Go without human knowledgeMastering the game of Go without human knowledge https://www.nature.com/nature/journal/v550/n7676/full/nature24270.htmlhttps://www.nature.com/nature/journal/v550/n7676/full/nature24270.html Mastering the game of Go with deep neural networks and tree searchMastering the game of Go with deep neural networks and tree search http://www.nature.com/nature/journal/v529/n7587/full/nature16961.htmlhttp://www.nature.com/nature/journal/v529/n7587/full/nature16961.html - 23 -
  24. 24. - 24 -

×