5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AlphaGo概要解説

Posted at

#AlphaGOアルゴリズム備忘録

##AlphaGOに使用する4つのアルゴリズム解説
①SLポリシーネットワーク
畳み込みニューラルネットワーク(CNN)によって次の一手を決定します。
SLは教師あり学習(supervised learning)の略

プロ棋士の棋譜よりデータを取得し、それを学習させます。
入力データ:盤面
CNN
出力データ:次の一手

②モンテカルロ木探査
先読み機能のために実装
ある盤面から石を打ち合い、盤面が進むシミュレーションを行うためのアルゴリズムです。

③__RLポリシーネットワーク__
自己対戦の強化学習アルゴリズム
バリューネットワークの教師データ生成に使用します。

RLは強化学習(reinforcement learning)の略

④バリューネットワーク
ある盤面から「勝てる確率」を算出する評価関数

RLポリシーネットワークより、プレイアウト(コンピュータ同士の自己対局)を繰り返し、
ある盤面から始めた時の勝率を自己対局の勝率により決定します。

例)盤面Aから黒が先に打つ状況で、100回対局を行いました。
黒は100対局中90勝10敗しました。
盤面Aの勝率は90%です。

##AlphaGO学習アルゴリズム
①:プロ棋士の棋譜(過去の対戦した記録)より、入力データ:盤面、出力データ:次の一手をCNNを使用し、学習させます。結果、「ある盤面に対して、次の一手を指す」SLポリシーネットワークを構築します。

②:RLポリシーネットワークを使用し、SLポリシーネットワークのアルゴリズムで、コンピュータ同士の自己対局を行います。ある盤面に対して、終局までシミュレーションを何度も行います。そして、ある盤面に対しての勝率を導きます。

③:②の結果から、入力データ:盤面、出力データ:勝率をCNNで学習させます。結果、バリューネットワーク(ある盤面に対しての勝率を導くことができるアルゴリズム)を構築することができます。

##AlphaGO実装アルゴリズム
①:モンテカルロ木探査を行います。探査する過程で、バリューネットワークを使用し、勝率を導きます。勝率の高い盤面は深く、勝率の低い盤面は浅く、探査します。

②:探査が終了したら、SLポリシーネットワークより、次の一手を決定します。

#参考文献
[1] D. Silver et al., "Mastering the game of Go with deep neural networks and tree search," nature, Vol. 529, No. 7587, pp. 484-489, 2016.

[2]AlphaGoを模したオセロAIを作る(1): SLポリシーネットワーク - Qiita

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?