ラビットチャレンジ【深層学習Day4】~Alpha Go~

概要

Alpha Goは深層強化学習を活用したものであり、長らく世界最強だった囲碁棋士イ・セドル九段を破ったGoogle囲碁プログラムである

Alpha GoはPolicyNetとValueNetの組み合わせで構築されている

モンテカルロ木探索」が活用されている

Alpha Goの進化系としてAlpha Go Zeroがある

Alpha Go ZeroはResidualNetworkが組み込まれている

この章では以下の項目を学んだ

・PolicyNet

・ValueNet

・AlphaGoの学習

モンテカルロ木探索

・AlphaGoとAlphaGoZeroの違い

・Residual NetWork

・Residual NetWorkの何がすごいのか?(appendix)

PolicyNet

出力は19X19マスの着手想確率が出力される

以下のような構造をしている

f:id:Maruring:20210717185427p:plain

ValueNet

出力は現局面の勝率を-1~1で表したものが出力される

以下のような構造をしている

f:id:Maruring:20210717185440p:plain

AlphaGoの学習

以下の手順で学習を行うこと

教師あり学習によるRollOutPolicyとPolicyNetの学習

強化学習によるPolicyNetの学習

強化学習によるValueNetの学習

モンテカルロ木探索

コンピュータ囲碁ソフトでは現在もっとも有効とされている探索法

現局面から末端局面までPlayOutと呼ばれるランダムシミュレーションを多数回行い、その勝敗を集計して着手の優劣を決定する

該当手のシミュレーション回数が一定数を超えたら、その手を着手したあとの局面をシミュレーション開始局面とするよう、探索木を成長させる

の木の成長を行うことによって、一定条件下において探索結果は最善手を返すということが理論的に証明されている

AlphaGoとAlphaGoZeroの違い

教師あり学習を一切行わず、強化学習のみで作成

・特徴入力からヒューリスティックな要素を排除し、石の配置のみにした

・PolicyNetとValueNetを1つのネットワークに統合した

・Residual Netを導入した

モンテカルロ木探索からRollOutシミュレーションをなくした

Residual NetWork

ネットワークにショートカット構造を追加して、勾配の爆発、消失を抑える効果を狙ったもの。Residula Networkを使うことにより、100層を超えるネットワークでの安定した学習が可能となった

以下のような構造をしている

f:id:Maruring:20210717190313p:plain

Residual NetWorkの何がすごいのか?

degradation問題を解決している。degradationとは何なのか?

浅いネットワークが深いネットワークより性能が良くなるという問題である

原因は以下2点が考えれる

①学習による最適化の効率がよくない

②恒等写像の部分の学習がうまくいかない

Residual learningで解決している!!

一般的にxを入力してyを出力するf(x)を学習がするが

Residual learningではy=H(x)=F(x)+xのF(x)の部分を学習する

上記のようにすることで全パラメータが0のときに入力がxのみになるので恒等写像が表現できているといえる