www.slideshare.net
DeepMindがNatureに投稿した論文を、CMUのPhDの方が解説しているプレゼン資料がslideshareにありました。
AlphaGoの仕組みがとても分かりやすくまとめてあり、英語ですが一読の価値ありです。
スライドのアウトラインを部分的に日本語で書き出してみました。
まずはコンピュータ囲碁AIの定義
- 碁盤を行列で表現
- 1(黒)/ -1(白)/ 0(碁石なし)
- d手目の碁盤の状態sが与えられた時に、最適なアクションaを選ぶ
実現方法
- あらゆる碁盤の状態をどうやってシミュレートする?
- d手目の全aについて、ゲームが終了となるまでシミュレーションして勝ちor負けを観測
- 全シミュレーションで最も勝ち数が多いaを選択
- これは不可能
- 可能な碁盤の状態は、宇宙の原子数よりも多いと言われている
探索空間を絞り込むことがポイント
- アクションaの候補を絞り込む = 幅削減
- Policy Network
- アクションaの良さを評価(位置の評価) = 深さ削減
- Value Network
- 最後までシミュレートしない
- v(s): 碁盤の状態sの時の評価
アクションaの候補の絞り込み
- P(a|s)を学習
- プロ棋士の打ち方を学習(教師あり学習)
- 13層のCNNで実現
- 碁盤の状態sが与えられた時のaの確率P(a|s)
- 自己対戦で強化学習
碁盤の状態の評価
- CNNにレグレッション層を追加
- 1に近いほど良い、0に近いほど悪い
Monte Carlo Search Tree
- Selection
- アクションaの候補絞り込み(Policy Network)
- Shallow Networkを使ってP(a|s)の高速化(Rollout)
- Expansion
- Evaluation
- 碁盤の状態評価(Value Network)
- Backup
Results
- Rollout + Policy Network + Value Networkでプロ5段くらいと予想される
スライドには図面があって、それを見て英語の解説を読むとまた理解は深まると思います。