Natureに掲載されたalphaGo_Zeroの記事を読む

教師有り学習としての棋譜学習をしなくても強化学習だけで無敵になったNatureに掲載されたAlphaGo_Zeroの記事を読んでみる。

 

deepmind.com

上記のURLでpaperを押下するとNatureのサイトに行くが、大学とか特定の大企業では無料でPDFがdownloadできるメニューが現れる。現われない場合は大学か大企業の友人に頼むことになるが著作権違反になるかは分らない。

 Alpha碁につてはこれもNatureで読み、かなり衝撃を受けたので下記の資料に纏めてみたことがある。 

www.slideshare.net

 

 上記の資料の6ページにある様に従来のAlpha碁のNatureの記事では棋譜(教師)学習のSLと強化学習のRLのパイプラインで学習していた。

f:id:mabonki0725:20180216131827p:plain

 

 どの様にして棋譜学習が必要としない仕掛けになったか、Alpha碁がどの様に構造的に変化したか興味があった。

 

 下図はアルファ碁のRLの推論展開で「早碁モデル」をつかったものだが、

f:id:mabonki0725:20180216132307p:plain

Zeroの記事にある下図の推論過程は、上記の方法と比較して全く同じであるので、SL(棋譜学習)をすっ飛ばしてRLのみで済ましている様に見える。

 

f:id:mabonki0725:20180216083622p:plain

 しかし詳細に見ると下図で勝負の結果zから着手確率pと場面価値vを一度に深層学習で求めている所が相違している。従来のAlpha碁では勝負結果zから価値vを逆算してDQNで着手を決定していた。

 確かに着手確率pとその裏付けの価値vとを同期をとって逆伝播して学習する方が精度を高めるのは間違いない。

f:id:mabonki0725:20180216083933p:plain

 従って損失関数は着手確率pと価値vを一度に算出する次式となっている。

    \mathcal{L}=(z - v)^2 + \pi^T \log p + c ||\theta||^2

    ここで

     pは次の着手の確率

     \piは方策:学習過程を繰返しで形成された着手の分布

                    ||\theta||はパラメータの正則化

   またこの着手確率pと価値vの損失関数を解くのに40層のResNetを使っている。

 このResNetを使った方策と価値を統合することで、棋譜学習をせず強化学習のみで従来のAlpha碁より強いモデルを達成している様だ。

 

 下図の従来の棋譜を使ったモデルと比較して、この記事の最終のコメントが衝撃的である。

 「我々は人類が千年かかって作りあげた碁の知識をたった数日間で達成した!」

 恐ろしい革新的な事態が次々起こってきそうである。

 

f:id:mabonki0725:20180216090114p:plain

   

    なお、アルファ碁のSLモデルの実装については下記参照

          http://mabonki0725.hatenablog.com/entry/2017/03/29/090000

 AlphaGo_Zeroの実装については下記が有名

     https://github.com/mokemokechicken/reversi-alpha-zero