ClaudeがまとめたAlphaGoシリーズの系譜は以下の通り:
この中から今回はAlphaGo Zeroに注目する。
膨大なパラメータによって特徴づけられる関数がメインとなる。この関数は局面を入力されると、その局面において可能な着手の「有望度」をとして与え、また、その局面における手番プレイヤーからみた予想勝敗をで与える。
AlphaGo Zeroの学習とは、パラメータを調整し、人間に勝てるようにすることに他ならない。
では、具体的に学習はどうやって行うのか。そのためには、関数から実際に手を選択する仕組みを考える必要がある。最も素朴には、有望度が最大の手を選択すれば良いのだが、実際には「先読み」を行うことでより有望度の精度を上げる手法が採られる。そこで用いられるのがMCTSである。
有望度というのは、先読みをした結果なのだから、先読みをしても有望度は改善されないのではないかと思われるが、それはが完璧な場合の話である。実際は不完全であり、一般には先読みを行った後の方が有望度の精度が高くなると期待される。
しかし、先読みを行うには膨大に存在する手の可能性を検討する必要があるわけで、無限の計算能力を持つわけではない我々は、あらゆる可能性の中から「有望そうな」ものを選ばねばならない。MCTSはこの可能性の選択に対してを利用する。
ダンジョンを攻略する冒険者の立場になって考えよう。彼の目的は、ダンジョン内の宝物庫に到達することである。
彼は今、ダンジョン内のある拠点にいる。ダンジョンは非常に複雑なので、出来るだけ効率的に探索を行いたい。どうすればいいだろうか?
から枝分かれしている道のそれぞれについて、冒険者の勘(に相当する)から、それぞれの道がどのくらいの有望度であるかを知ることが出来る。当然、まずは最も有望度の高い道を選ぶだろう。そうして進んでみると、新しい部屋にたどり着く。この部屋を隈なく調べてみると、彼はで感じていたのと、別の気配を感じ取る。有望そうだと思って道を選んだが、どうもこの部屋は望みが薄そうだと思うこともあるだろうし、逆に、思ったよりずっと宝物庫に近そうだと感じることもあるだろう。
しかし、どちらにせよ、彼は一歩進んで新しい知識を得たのだから、それによってさっきまで持っていたこの道についての評価を更新するべきだろう。彼は新しい部屋を手元のマップに追記して、拠点へ帰る。この時、選んだ道の探索回数に1を加算し、さらに累積有望度にを加算する。そして道の平均有望度を計算する。
累積有望度はこれまでのその道を選んだ時に得られた有望度の累積。平均有望度は文字通りその平均である。つまり、平均有望度は探索の結果が徐々に反映されてゆくことになる。イメージとしてはその道を選んだ結果得られると期待される有望度である。
回目の探索が終わって、回目の探索を行う場面を考えるのが分かりやすい。
からスタートする。このステップでは、枝分かれしている各道について以下の選択スコアを計算する:
ここでは拠点から枝分かれしている道につけた番号である。は道の平均有望度、は冒険者の勘()が最初に与えた道の有望度、は道をこれまでに探索した回数であり、はこの拠点から出発した探索の総回数、すなわちに等しい。は定数で、第二項をどれだけ重く見るかを決める。
第一項は、これまでの探索で実際に確かめられた評価である。実際に道を選んだ探索によって得られた有望度の平均値であった。これがスコアに加算されている意味は、これまでの探索で良いと分かっている道を選べという要求である。
第二項のメインはである。これは探索前に冒険者が持っている勘による値であった。や分数はそれに対する重みづけを行っているにすぎないが、特にこの分数の意味を考えるのが重要である。
分母は道を選んだ回数である。一方で分子は、探索の総回数である。つまり、探索の初期には分数自体は大きな値となるはずである。しかし、探索の後半では分子は平方根でしか伸びない一方で、分母はそのままスケールする。すると、分数全体は小さくなってゆくことが期待される。
したがって、この項は第一項とは逆に、まだ試していない道を選べという要求である。が小さいうちは分母が小さいので第二項は大きく、その道を繰り返し選ぶにつれて小さくなっていく。また勘の良い道ほどが大きいから、どれも未探索のうちは勘の順に試されることになる。冒険者はこの二つの要求の釣り合いを取りながら、スコアが最大の道を選ぶのである。
こうして次の部屋に到達する。その部屋がマップに記載があればまたスコアを計算して先へ進む。マップにまだ記載のない部屋であれば一旦探索を打ち切って拠点へ引き返す。
この時、それまで辿ってきた道を引き返すわけだが、この時道の記録を既に述べた方法で更新する。
この探索方法であれば、冒険者の勘に加えて、実際に探索を行った結果も加味される。最初は勘に従って道を選ぶが、探索が進んでデータが揃えば、勘よりもそのデータ(つまり平均有望度)を利用して道を選ぶことになる。