概要
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マスの着手想確率が出力される
以下のような構造をしている
ValueNet
出力は現局面の勝率を-1~1で表したものが出力される
以下のような構造をしている
AlphaGoの学習
以下の手順で学習を行うこと
①教師あり学習によるRollOutPolicyとPolicyNetの学習
②強化学習によるPolicyNetの学習
③強化学習によるValueNetの学習
モンテカルロ木探索
コンピュータ囲碁ソフトでは現在もっとも有効とされている探索法
現局面から末端局面までPlayOutと呼ばれるランダムシミュレーションを多数回行い、その勝敗を集計して着手の優劣を決定する
該当手のシミュレーション回数が一定数を超えたら、その手を着手したあとの局面をシミュレーション開始局面とするよう、探索木を成長させる
の木の成長を行うことによって、一定条件下において探索結果は最善手を返すということが理論的に証明されている
AlphaGoとAlphaGoZeroの違い
・特徴入力からヒューリスティックな要素を排除し、石の配置のみにした
・PolicyNetとValueNetを1つのネットワークに統合した
・Residual Netを導入した
・モンテカルロ木探索からRollOutシミュレーションをなくした
Residual NetWork
ネットワークにショートカット構造を追加して、勾配の爆発、消失を抑える効果を狙ったもの。Residula Networkを使うことにより、100層を超えるネットワークでの安定した学習が可能となった
以下のような構造をしている
Residual NetWorkの何がすごいのか?
degradation問題を解決している。degradationとは何なのか?
浅いネットワークが深いネットワークより性能が良くなるという問題である
原因は以下2点が考えれる
①学習による最適化の効率がよくない
②恒等写像の部分の学習がうまくいかない
Residual learningで解決している!!
一般的にxを入力してyを出力するf(x)を学習がするが
Residual learningではy=H(x)=F(x)+xのF(x)の部分を学習する
上記のようにすることで全パラメータが0のときに入力がxのみになるので恒等写像が表現できているといえる