なぜ進化版なのに「AlphaGo Zero」なのか?

これまでの「AlphaGo」は、人間のプロ棋士の棋譜を学習して強くなってきた。しかし、ついに、棋譜を使わず、自己対局だけで学習して強くなった「AlphaGo Zero」が発表された。昨年5月に韓国の世界トップレベルの棋士であるLee Sedol(李 世乭)九段を破った「AlphaGo Lee」と対局して100戦100勝の強さになったという。

AlphaGoは2015年10月に、何度もヨーロッパチャンピオンとなったFan Fui(樊麾)氏と対局して5戦全勝して、初めて人間のプロ棋士を破った。それまでのコンピュータ碁プログラムは強いアマチュアのレベルで、10170の局面がある囲碁でプロに勝つには少なくとも10年は掛かると言われていたのをあっさりと乗り越えてしまった。

そして、2016年3月には、18もの世界タイトルを取った韓国のLee Sedol九段と対局し、4勝1敗で勝利した。この対局で使われたソフトウェアはFan Hui氏と対局したものから改良されたものであり、また、Googleが開発したTensor計算専用LSIのTPUを使うなど、ハードウェアも新しいものが使われていた。

Google DeepMindは、それぞれAlphaGo Fan、AlphaGo Leeと呼んでいる。Lee Sedol氏との対局の後、インターネット対局にMasterと名乗る棋士が現れ、世界のトップレベルの棋士と対局して、60連勝を挙げた。この棋士は後にAlphaGoの改良版であることが明らかになった。この版はAlphaGo Masterと呼ばれている。

そして、2017年5月には、世界ランキング1位の中国のKe Jie(柯潔)九段と対局して、3戦3勝を挙げた。そして、この勝利をもってGoogle DeepMindは、今後は人間との対局は行わないと宣言した。

しかし、Google DeepMindはAlphaGoの開発を止めたわけではなかった。そして、その成果をNatureに投稿した。この論文が受理され、掲載号が公開されたのは2017年10月である。AlphaGo Zeroと呼ばれる新しいプログラムは、これまでのAlphaGoとは異なり、プロ棋士の棋譜を学習することは行わず、碁の基本ルールだけに基づいて、自己対局を繰り返して学習を行ったという。これが、AlphaGo Zeroと呼ばれる理由である。

最強の囲碁AIというだけではないAlphaGo Zeroの意義

棋譜を学習するというやり方では、棋譜という永年蓄積された知識が必要であるが、碁の基本ルールだけに基づいて学習するというアプローチは過去の知識の蓄積に頼らないので、碁に限らず、より広い範囲の問題の解決に適用できる可能性があると、AlphaGo Zeroの論文の第1著者のDavid Silver氏は言う。その意味では、AlphaGo Zeroの意義は、単に、最強の碁AIができたということに留まらない。

AlphaGoの基本的な方式は、Policy NetworkとValue Networkという2つのニューラルネットを使う。Policy Networkは、盤上の各点について、そこに石を置くことが、教師データにどれだけ近いかの確率を示す。そして、Value Networkは、各点に石を置くことで、どれだけ局面が有利になるかという評価を示す。

なお、AlphaGo Leeでは、Policy NetworkとValue Networkは別々に作られていたが、AlphaGo Zeroでは、ネットワーク本体は共通で、出力を作る最終部分だけが別個という構造に変わった。

そして、それぞれの局面で、Policy Networkを使って有利な手を選択し、Value Networkでその先のゲームがどれだけ有利になるかを計算する。この時、モンテカルロ法を使って、先読みを行い、有利になりそうな手を選択するMonte Carlo Tree Search(MCTS)という手法を使う。MCTSでは、ある程度、脈のありそうな手の先を読むので、かなり大量の計算を必要とする。

そして、プレイを行った最終結果のzをフィードバックしてネットワークの重みを修正する学習を行う。

上側のaはMCTSを使った自己対局プレイのパイプライン、下側のbで、自己対局の結果zで重みを修正する学習を行う (このレポートのすべての図は、Google DeepMindのAlphaGo ZeroについてのNatureに掲載された論文の図のコピーである)

MCTSでは、aでアクション値Qとボーナス値Uの和が最大となる手を選び、bでリーフノードを開いて次の手を評価する。cでサブツリーのQの値を更新する。これを繰り返してよい手を探す。探索が終わったら、選択確率を返す

AlphaGo FanやAlphaGo Leeでは、ニューラルネットとして畳み込み(Convolution)型のものを使っており、AlphaGo Leeでは12層のネットワークであった。これに対して、AlphaGo Zeroでは、Microsoftが考案したResidual Netを使っており、ここで使ったネットワークは20個のresidual blockを持つものである。Residual Blockの中には少なくとも2層の畳み込み層が含まれているので、20ブロックには少なくとも40層の畳み込み層がある。つまり、AlphaGo Zeroのニューラルネットは、AlphaGo FanやAlphaGo Leeのニューラルネットよりも規模が大きくなっている。これは、Residualネットワーク化と合わせて、予測精度を向上させるためと思われる。