深層学習day4 Section2:AlphaGo

要点まとめ

Alpha Go Lee

方策関数 PolicyNet と 価値関数 ValueNetからなる。

方策関数の入力は囲碁の盤面と同じ19x19の48チャンネル。 48チャンネルは、石(自石、敵石、空白)の3チャンネル、オール1、着手履歴、呼吸点・・・等。 その後、畳込み+ReLu関数を繰り返し、最後にsoftmax関数を通すと、19x19の次の手の確率を出力。

価値関数の入力は盤面特徴入力49チャンネル。 畳み込み+ReLu関数を繰り返し、全結合層を挟み、活性化関数tanhを通して、現局面の勝率を-1~1で表したものが出力される。

PolicyNetの教師あり学習では、KGS Go Serverというネット囲碁対局サイトの棋譜データから、3000万対局分の教師を用意して、教師と同じ手を予測できるように学習を行った。

PolicyNetの学習あり学習、最初は教師あり学習による様々な種類のPolicyPoolからランダムに選択されたPolicyNetとの対局シミュレーションを行い、その結果から方策勾配法で学習を行った。

その後、ValueNetの学習も行う。

RollOutPolicyとはNNではなく線形の方策関数で、高速で方策を計算する目的の関数。 PolicyNetが3ms要するのに対し、RollOutPolicyは3usで済む。

ValueNetの学習は、PolicyNetを使用して対局シミュレーションを行い、その結果の勝敗を教師として学習した。

Alpha Go Zero

AlphaGo Lee AlphaGo Zero
教師あり学習 あり なし
入力にヒューリスティックな要素 あり なし
PolicyNetとValueNet 独立 一つのNetworkに統合
Residual Net なし 導入

また、AlphaGo Zeroではモンテカルロ木探索からRollOutシミュレーションをなくした。 PolicyValueNetは、入力に19x19の17チャンネルを取り、畳み込み、BatchcNormalize、ReLuを通し、その次にResudualBlockを通す。その後方策関数側と価値関数側とに分けて出力を作る。 ResidualBlockの基本構造は、 畳み込み→BatchNorm→ReLu→畳み込み→BatchNorm→Add(ショートカットを加算)→ReLu であり、 AlphaGoZeroでは基本構造を39個重ねている。

ショートカット構造があるため、勾配消失を回避できると共に、アンサンブル効果が得られる。

実装演習

なし

確認テスト等考察

Alpha Go LeeからZeroへは、ヒューリスティックな入力の排除や、ValueNet ・PolicyNetの統一、ResidualNetの利用などが大きな変更点。ResidualNetは畳み込み等の基本的な構造の他に、入力をそのまま出力に加算するショートカット構造を持つことで、深い層構造を実現している。