SlideShare una empresa de Scribd logo
1 de 24
Copyright ©2017by Future Architect, Inc.
AlphaGo Zero 解説
フューチャーアーキテクト株式会社フューチャーアーキテクト株式会社
テータサイエンスチーム
李 碩根
20172017 年年 1010 月月 2727 日日
作者紹介
• 名前:李 碩根
• 会社:フューチャーアーキテクト株式会社
• 部署:データサイエンスチーム
• 役割: AI / 機械学習エンジニア
Copyright ©2017 by Future Architect, Inc. - 2 -
目次
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 -
1. AlphaGo Zero を構成する二つのパーツ
i. ニューラルネットワー
ク
(DNN)
ii. モンテカルロ木探
索
(MCTS)
 石の配置履歴 (s) だけをインプットとし
て、次の手の確率分布 (P) と現盤面の勝つ
確率 (v) を計算する。
  i. のモンテカルロ木探索でノード拡張
と評価に利用される
 現盤面から一番良い次の手を探索。
ii. の DNN を活用し、ツリーの各ノードの
拡張 & 評価を行う。
AlphaGo ZeroAlphaGo Zero はニューラルネットワークはニューラルネットワーク (DNN)(DNN) とモンとモン
テカルロ木探索テカルロ木探索 (MCTS)(MCTS) の二つのパーツで構成されるの二つのパーツで構成される
- 4 -
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 -
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 -
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 -
2. AlphaGo Zero の学習プロセス
論文の「概要欄」で紹介している学習プロセルの簡略図。本資料では、論文の「概要欄」で紹介している学習プロセルの簡略図。本資料では、
論文の「詳細欄」で紹介している内容を元に、プロセスを三つに分類す論文の「詳細欄」で紹介している内容を元に、プロセスを三つに分類す
る。る。
①MCTS によ
る自己対局
②DNN の学習
③ 学習前後の
性能比較
- 8 -
2. AlphaGo Zero の学習プロセス
①MCTS による
自己対局
②DNN の学習
③ 学習前後の
性能比較
AlphaGo ZeroAlphaGo Zero は3つの学習プロセスでは3つの学習プロセスで
構成されている。このプロセスのサイク構成されている。このプロセスのサイク
ルが非同期かつ並列に処理されている。ルが非同期かつ並列に処理されている。
- 9 -
2- MCTS① による自己対局
①MCTS による
自己対局
①MCTS による
自己対局
②DNN の学習
③ 学習前後の
性能比較
MCTSMCTS による自己対局を行い、対局データを作成すによる自己対局を行い、対局データを作成す
る。る。
- 10 -
2- MCTS① による自己対局
MCTSMCTS による自己対局をによる自己対局を 25,00025,000 回行い対局データを作回行い対局データを作
成する成する
※ 対局データの構成 : (s, π, z)
   ・ s: 現在の盤面
   ・ π: MCTS からの次の手の確
率分布
   ・ z: 実際のゲーム勝者
- 11 -
2- DNN② の学習
①MCTS による
自己対局
②DNN の学習②DNN の学習
③ 学習前後の
性能比較
MCTSMCTS による自己対局による自己対局 (①)(①) で生成した対局データでで生成した対局データで DNNDNN を学習させるを学習させる
- 12 -
2- DNN② の学習
MCTSMCTS による自己対局による自己対局 (①)(①) で作成した対局データでで作成した対局データで DNNDNN を学習さを学習さ
せるせる
変数説明
・ 対局データの構成 : (st, πt, z)
・ st: 現在の盤面
・ Pt: st を入力としたときの次の手の確率
分布
・ vt: st を入力としたときの勝つ確率
・ πt: MCTS の st からの次の手の確率分
布
・ z: 対局データに記録された勝者
DNN の (Pt, vt) を (πt, z) に近づけることで
DNN を最適化する
- 13 -
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 -
2-③ 学習前後の性能比較
①MCTS による
自己対局
②DNN の学習
③ 学習前後の
性能比較
③ 学習前後の
性能比較
DNNDNN の学習の学習 (②)(②) での新しいでの新しい DNNDNN を評価するを評価する
- 15 -
2-③ 学習前後の性能比較
(( 旧旧 )) (( 新新 ))
DNNDNN の学習の学習 (②)(②) 前の前の
DNNDNN を使ったを使った
AlphaGoAlphaGo
DNNDNN の学習の学習 (②)(②) で学習しで学習し
たた DNNDNN を使ったを使った
AlphaGoAlphaGo
  DNN の学習 (②) を行った DNN を使うことで実際に
AlphaGo が強くなったかを確かめるために、 AlphaGo( 旧 )
vs AlphaGo( 新 ) の対戦を 400 回行う。そこで 55% 以上に
勝利した AlphaGo が選ばれ次のループに使われることにな
る。
  AlphaGo( 新 ) が 55% の勝率に達成できなかった場
合、 AlphaGo( 旧 ) をそのまま使い、学習が継続される。
- 16 -
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 -
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 -
5. AlphaGo Zero の性能評価
3636 時間の学習した時間の学習した ZeroZero が、数か月が、数か月
学習した学習した LeeLee のパフォーマンスを超のパフォーマンスを超
え、え、
4040 日の学習で日の学習で AlphaGo MasterAlphaGo Master よりより
高性能を達成する。高性能を達成する。
一つのマシーン一つのマシーン (4TPU)(4TPU) で計算で計算
を行うを行う ZeroZero が、複数のマシーが、複数のマシー
ンン (48TPU)(48TPU) で計算するで計算する LeeLee にに
勝利。勝利。
- 19 -
6. 教師あり学習 vs. 強化学習
AlphaGo ZeroAlphaGo Zero のパフォーマンスのパフォーマンス
赤線:人の対戦データで学習赤線:人の対戦データで学習
青線:人の対戦データ無で学習青線:人の対戦データ無で学習
点線:点線: AlphaGo LeeAlphaGo Lee    (baseline)(baseline)
人の対戦データ無の方が人の対戦データ無の方が
パフォーマンス高いパフォーマンス高い
- 20 -
7. 人の動き予測
赤線:人の対戦データで学習
青線:人の対戦データ無で学習
人の対戦データで学習させた方が
人間の手を高精度で予測
→→ 人のプレイスタイルを模倣し人のプレイスタイルを模倣し
ない方が高いパフォーマンスがない方が高いパフォーマンスが
出る出る
- 21 -
8. まとめ
従来の従来の Alpha GoAlpha Go と比べ、と比べ、
1. 人対人の対戦データが不要で、データ作成コストが
ゼロ
2. 学習速度が向上
3. アーキテクチャがシンプル
4. アルゴリズムに囲碁のドメイン知識が無い。
   囲碁以外のドメインでも使用可能なアルゴリズ
ム
- 22 -
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 -

Más contenido relacionado

La actualidad más candente

強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAGIRobots
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
『自由エネルギー原理入門』勉強会1章&2章前半
『自由エネルギー原理入門』勉強会1章&2章前半『自由エネルギー原理入門』勉強会1章&2章前半
『自由エネルギー原理入門』勉強会1章&2章前半大地 紺野
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
Transformerを雰囲気で理解する
Transformerを雰囲気で理解するTransformerを雰囲気で理解する
Transformerを雰囲気で理解するAtsukiYamaguchi1
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?Deep Learning JP
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系についてMaximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系についてYusuke Nakata
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language ModelsDeep Learning JP
 
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-Deep Learning JP
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論Deep Learning JP
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 

La actualidad más candente (20)

強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
『自由エネルギー原理入門』勉強会1章&2章前半
『自由エネルギー原理入門』勉強会1章&2章前半『自由エネルギー原理入門』勉強会1章&2章前半
『自由エネルギー原理入門』勉強会1章&2章前半
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
Transformerを雰囲気で理解する
Transformerを雰囲気で理解するTransformerを雰囲気で理解する
Transformerを雰囲気で理解する
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系についてMaximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
 
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
[DL輪読会]`強化学習のための状態表現学習 -より良い「世界モデル」の獲得に向けて-
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 

Destacado

古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説suckgeun lee
 
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
[DL輪読会]Hybrid Reward Architecture for Reinforcement LearningDeep Learning JP
 
Trust Region Policy Optimization
Trust Region Policy OptimizationTrust Region Policy Optimization
Trust Region Policy Optimizationmooopan
 
大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + αKatsuki Ohto
 
Atlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのか
Atlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのかAtlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのか
Atlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのかアトラシアン株式会社
 
ニューラルネットワークの仕組みを学ぶ 20170623
ニューラルネットワークの仕組みを学ぶ 20170623ニューラルネットワークの仕組みを学ぶ 20170623
ニューラルネットワークの仕組みを学ぶ 20170623Hiroki Takahashi
 
Dots deep learning部_20161221
Dots deep learning部_20161221Dots deep learning部_20161221
Dots deep learning部_20161221陽平 山口
 
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」fukuoka.ex
 
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」fukuoka.ex
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較Ryota Suzuki
 
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video GenerationDeep Learning JP
 
Kerasで深層学習を実践する
Kerasで深層学習を実践するKerasで深層学習を実践する
Kerasで深層学習を実践するKazuaki Tanida
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learningDeep Learning JP
 
Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Kimikazu Kato
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Kimikazu Kato
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017Carol Smith
 

Destacado (20)

古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説古典的ゲームAIを用いたAlphaGo解説
古典的ゲームAIを用いたAlphaGo解説
 
AlphaGoのしくみ
AlphaGoのしくみAlphaGoのしくみ
AlphaGoのしくみ
 
【強化学習】Montezuma's Revenge @ NIPS2016
【強化学習】Montezuma's Revenge @ NIPS2016【強化学習】Montezuma's Revenge @ NIPS2016
【強化学習】Montezuma's Revenge @ NIPS2016
 
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
[DL輪読会]Hybrid Reward Architecture for Reinforcement Learning
 
Trust Region Policy Optimization
Trust Region Policy OptimizationTrust Region Policy Optimization
Trust Region Policy Optimization
 
大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α大富豪に対する機械学習の適用 + α
大富豪に対する機械学習の適用 + α
 
【論文紹介】PGQ: Combining Policy Gradient And Q-learning
【論文紹介】PGQ: Combining Policy Gradient And Q-learning【論文紹介】PGQ: Combining Policy Gradient And Q-learning
【論文紹介】PGQ: Combining Policy Gradient And Q-learning
 
Atlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのか
Atlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのかAtlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのか
Atlassian Japan Forum 2017 The Information Ageの現実 なぜ組織が構造改革を進めなければならないのか
 
ニューラルネットワークの仕組みを学ぶ 20170623
ニューラルネットワークの仕組みを学ぶ 20170623ニューラルネットワークの仕組みを学ぶ 20170623
ニューラルネットワークの仕組みを学ぶ 20170623
 
Dots deep learning部_20161221
Dots deep learning部_20161221Dots deep learning部_20161221
Dots deep learning部_20161221
 
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
 
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
 
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
[DL輪読会] MoCoGAN: Decomposing Motion and Content for Video Generation
 
Kerasで深層学習を実践する
Kerasで深層学習を実践するKerasで深層学習を実践する
Kerasで深層学習を実践する
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
Pycon2017
Pycon2017Pycon2017
Pycon2017
 
Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
 

Similar a AlphaGo Zero 解説

ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題Kenta Oono
 
Deep Learning技術の最近の動向とPreferred Networksの取り組み
Deep Learning技術の最近の動向とPreferred Networksの取り組みDeep Learning技術の最近の動向とPreferred Networksの取り組み
Deep Learning技術の最近の動向とPreferred Networksの取り組みKenta Oono
 
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さんAkira Shibata
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Kenta Oono
 
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafDevelopment and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafKenta Oono
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也harePreferred Networks
 
NIPS2015概要資料
NIPS2015概要資料NIPS2015概要資料
NIPS2015概要資料Shohei Hido
 
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]DeNA
 
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについて
組込向けDeep Learning最新技術の紹介量子化テクニックとDorefaNetについて組込向けDeep Learning最新技術の紹介量子化テクニックとDorefaNetについて
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについてNatsutani Minoru
 
Deep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowDeep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowTadaichiro Nakano
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGALeapMind Inc
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開Seiya Tokui
 
170318 第3回関西NIPS+読み会: Learning What and Where to Draw
170318 第3回関西NIPS+読み会: Learning What and Where to Draw170318 第3回関西NIPS+読み会: Learning What and Where to Draw
170318 第3回関西NIPS+読み会: Learning What and Where to DrawShinagawa Seitaro
 
Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史Hirono Jumpei
 
MuZero - ML + Security Reading Group
MuZero - ML + Security Reading GroupMuZero - ML + Security Reading Group
MuZero - ML + Security Reading GroupKim Hammar
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Tatsuya Tojima
 
[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a MapDeep Learning JP
 
Getting Started with Deep Learning using Scala
Getting Started with Deep Learning using ScalaGetting Started with Deep Learning using Scala
Getting Started with Deep Learning using ScalaTaisuke Oe
 

Similar a AlphaGo Zero 解説 (20)

ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
Deep Learning技術の最近の動向とPreferred Networksの取り組み
Deep Learning技術の最近の動向とPreferred Networksの取り組みDeep Learning技術の最近の動向とPreferred Networksの取り組み
Deep Learning技術の最近の動向とPreferred Networksの取り組み
 
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
 
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafDevelopment and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and maf
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
 
NIPS2015概要資料
NIPS2015概要資料NIPS2015概要資料
NIPS2015概要資料
 
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
 
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについて
組込向けDeep Learning最新技術の紹介量子化テクニックとDorefaNetについて組込向けDeep Learning最新技術の紹介量子化テクニックとDorefaNetについて
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについて
 
Deep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowDeep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlow
 
Fpgax20180217
Fpgax20180217Fpgax20180217
Fpgax20180217
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
 
170318 第3回関西NIPS+読み会: Learning What and Where to Draw
170318 第3回関西NIPS+読み会: Learning What and Where to Draw170318 第3回関西NIPS+読み会: Learning What and Where to Draw
170318 第3回関西NIPS+読み会: Learning What and Where to Draw
 
Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史
 
MuZero - ML + Security Reading Group
MuZero - ML + Security Reading GroupMuZero - ML + Security Reading Group
MuZero - ML + Security Reading Group
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
 
[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map
 
Getting Started with Deep Learning using Scala
Getting Started with Deep Learning using ScalaGetting Started with Deep Learning using Scala
Getting Started with Deep Learning using Scala
 

AlphaGo Zero 解説

  • 1. Copyright ©2017by Future Architect, Inc. AlphaGo Zero 解説 フューチャーアーキテクト株式会社フューチャーアーキテクト株式会社 テータサイエンスチーム 李 碩根 20172017 年年 1010 月月 2727 日日
  • 2. 作者紹介 • 名前:李 碩根 • 会社:フューチャーアーキテクト株式会社 • 部署:データサイエンスチーム • 役割: AI / 機械学習エンジニア Copyright ©2017 by Future Architect, Inc. - 2 -
  • 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. 1. AlphaGo Zero を構成する二つのパーツ i. ニューラルネットワー ク (DNN) ii. モンテカルロ木探 索 (MCTS)  石の配置履歴 (s) だけをインプットとし て、次の手の確率分布 (P) と現盤面の勝つ 確率 (v) を計算する。   i. のモンテカルロ木探索でノード拡張 と評価に利用される  現盤面から一番良い次の手を探索。 ii. の DNN を活用し、ツリーの各ノードの 拡張 & 評価を行う。 AlphaGo ZeroAlphaGo Zero はニューラルネットワークはニューラルネットワーク (DNN)(DNN) とモンとモン テカルロ木探索テカルロ木探索 (MCTS)(MCTS) の二つのパーツで構成されるの二つのパーツで構成される - 4 -
  • 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. 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. 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. 2. AlphaGo Zero の学習プロセス 論文の「概要欄」で紹介している学習プロセルの簡略図。本資料では、論文の「概要欄」で紹介している学習プロセルの簡略図。本資料では、 論文の「詳細欄」で紹介している内容を元に、プロセスを三つに分類す論文の「詳細欄」で紹介している内容を元に、プロセスを三つに分類す る。る。 ①MCTS によ る自己対局 ②DNN の学習 ③ 学習前後の 性能比較 - 8 -
  • 9. 2. AlphaGo Zero の学習プロセス ①MCTS による 自己対局 ②DNN の学習 ③ 学習前後の 性能比較 AlphaGo ZeroAlphaGo Zero は3つの学習プロセスでは3つの学習プロセスで 構成されている。このプロセスのサイク構成されている。このプロセスのサイク ルが非同期かつ並列に処理されている。ルが非同期かつ並列に処理されている。 - 9 -
  • 10. 2- MCTS① による自己対局 ①MCTS による 自己対局 ①MCTS による 自己対局 ②DNN の学習 ③ 学習前後の 性能比較 MCTSMCTS による自己対局を行い、対局データを作成すによる自己対局を行い、対局データを作成す る。る。 - 10 -
  • 11. 2- MCTS① による自己対局 MCTSMCTS による自己対局をによる自己対局を 25,00025,000 回行い対局データを作回行い対局データを作 成する成する ※ 対局データの構成 : (s, π, z)    ・ s: 現在の盤面    ・ π: MCTS からの次の手の確 率分布    ・ z: 実際のゲーム勝者 - 11 -
  • 12. 2- DNN② の学習 ①MCTS による 自己対局 ②DNN の学習②DNN の学習 ③ 学習前後の 性能比較 MCTSMCTS による自己対局による自己対局 (①)(①) で生成した対局データでで生成した対局データで DNNDNN を学習させるを学習させる - 12 -
  • 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. 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. 2-③ 学習前後の性能比較 ①MCTS による 自己対局 ②DNN の学習 ③ 学習前後の 性能比較 ③ 学習前後の 性能比較 DNNDNN の学習の学習 (②)(②) での新しいでの新しい DNNDNN を評価するを評価する - 15 -
  • 16. 2-③ 学習前後の性能比較 (( 旧旧 )) (( 新新 )) DNNDNN の学習の学習 (②)(②) 前の前の DNNDNN を使ったを使った AlphaGoAlphaGo DNNDNN の学習の学習 (②)(②) で学習しで学習し たた DNNDNN を使ったを使った AlphaGoAlphaGo   DNN の学習 (②) を行った DNN を使うことで実際に AlphaGo が強くなったかを確かめるために、 AlphaGo( 旧 ) vs AlphaGo( 新 ) の対戦を 400 回行う。そこで 55% 以上に 勝利した AlphaGo が選ばれ次のループに使われることにな る。   AlphaGo( 新 ) が 55% の勝率に達成できなかった場 合、 AlphaGo( 旧 ) をそのまま使い、学習が継続される。 - 16 -
  • 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. 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. 5. AlphaGo Zero の性能評価 3636 時間の学習した時間の学習した ZeroZero が、数か月が、数か月 学習した学習した LeeLee のパフォーマンスを超のパフォーマンスを超 え、え、 4040 日の学習で日の学習で AlphaGo MasterAlphaGo Master よりより 高性能を達成する。高性能を達成する。 一つのマシーン一つのマシーン (4TPU)(4TPU) で計算で計算 を行うを行う ZeroZero が、複数のマシーが、複数のマシー ンン (48TPU)(48TPU) で計算するで計算する LeeLee にに 勝利。勝利。 - 19 -
  • 20. 6. 教師あり学習 vs. 強化学習 AlphaGo ZeroAlphaGo Zero のパフォーマンスのパフォーマンス 赤線:人の対戦データで学習赤線:人の対戦データで学習 青線:人の対戦データ無で学習青線:人の対戦データ無で学習 点線:点線: AlphaGo LeeAlphaGo Lee    (baseline)(baseline) 人の対戦データ無の方が人の対戦データ無の方が パフォーマンス高いパフォーマンス高い - 20 -
  • 22. 8. まとめ 従来の従来の Alpha GoAlpha Go と比べ、と比べ、 1. 人対人の対戦データが不要で、データ作成コストが ゼロ 2. 学習速度が向上 3. アーキテクチャがシンプル 4. アルゴリズムに囲碁のドメイン知識が無い。    囲碁以外のドメインでも使用可能なアルゴリズ ム - 22 -
  • 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 -