モデルベースRLとMCTS — 頭の中で先読みする
これまでの手法は「実際に動いて、結果から学ぶ」モデルフリーでした。しかし人間の棋士は、駒を動かす前に頭の中で何手も先を読みます。環境のモデルを使って想像の中で計画するモデルベースRLと、その代表格 MCTS(モンテカルロ木探索) — AlphaGo の心臓部 — を動かして理解します。
1. 「体で覚える」か、「頭の中の地図で計画する」か
モデルとは、「この状態でこの行動をとると、次はどうなるか(遷移)、報酬はいくらか」を予測する環境のシミュレータのことです。
- モデルフリー(Q学習・PPOなど):モデルを持たない。実際に大量に試行し、結果を価値や方策に焼き込む。「体で覚える」。
- モデルベース:モデルを使って想像の中で行動をシミュレーションし、良さそうな手を選んでから実際に動く。「頭の中の地図で計画する」。
モデルフリー vs モデルベース — 同じ迷路、違う頭の使い方
左=モデルフリー:ひたすら実際に歩き回り、経験(緑の濃さ)を蓄積して覚える。右=モデルベース:動く前に頭の中でロールアウト(点線)を広げてシミュレーションし、一番良さそうな1手だけを実行する。実際に歩いた歩数の差=サンプル効率の差に注目。
注意 — モデルが間違っていれば、計画ごと間違う
モデルベースの弱点はモデル誤差。頭の中の地図が現実とずれていると、どれだけ精密に計画しても間違った答えに自信を持ってしまう。囲碁のようにルール=完全なモデルが既知のゲームでモデルベースが最初に大成功したのは偶然ではない。
2. MCTS — 木を育てる4つのステップ
先読みといっても、すべての手を全探索するのは不可能です(囲碁の局面数は宇宙の原子より多い)。MCTS は有望そうな枝だけを深く、ランダムシミュレーションの統計で探索する方法で、次の4ステップを何百回も繰り返して木を育てます。
- 選択:根から、UCBスコアが最大の子を選んで降りていく(有望さ+未知さのバランス)。
- 展開:まだ試していない手をひとつ木に追加する。
- ロールアウト:そこから終局までランダムにプレイし、勝敗を得る。
- 逆伝播:勝敗を根までさかのぼり、通ったノードの訪問回数と勝率を更新する。
UCT(i) = wi / ni + c √( ln N / ni )
wi/ni=その手の勝率(活用)、√(ln N / ni)=試行が少ない手ほど大きい(探索)。N=親の訪問回数、c≈1.4
POINT — UCT = バンディットを木に持ち込んだもの
「どの子ノードに降りるか」は、第2章の多腕バンディットそのもの。各ノードでUCB1を使って探索と活用を釣り合わせるのが UCT(UCB applied to Trees, 2006)で、これが現代MCTSの土台になった。
MCTSの4ステップ — 三目並べで木が育つ
局面:O が中段(3-4-5)をリーチ中で、X の唯一の受けは「中段左」。オレンジ=いま選択中の経路、ピンク=新しく展開されたノード、右下=ロールアウト(ランダム対局)の様子。各ノードの数字は 訪問回数 n と勝率。最初は評価が揺れますが、回数を増やすと正解の手に訪問が集中していきます(緑枠=現在の最善手)。
3. 対戦してみる — 思考回数と強さ
MCTS の気持ちよさはいつでも打ち切れること(anytime性)。10回で打ち切れば弱く、500回考えさせれば強い。あなたが X(先手)、MCTS が O です。思考回数を変えて体感してください。
MCTSと三目並べ対戦 — 思考回数スライダーで強さが変わる
盤面をクリックして X を置いてください。AI の思考中は、探索の進み具合と木のサイズ(ノード数)が表示されます。思考回数 10〜30 ならスキだらけ、300 以上ではほぼ負けなくなるはず。三目並べは双方最善で必ず引き分けなので、「引き分けに持ち込まれる」=AIが最善に近い証拠です。
4. AlphaGo — ニューラルネット×MCTSの三位一体
素のMCTSには2つの弱点があります。候補手が多すぎる(囲碁は毎手約250通り)ことと、ランダムなロールアウトは当てにならないことです。AlphaGo はこの2つを、前章までに学んだニューラルネットで置き換えました。
- 方策ネットワーク:人間・自己対局から学んだ「直感」で、有望な数手だけに探索を絞る。
- 価値ネットワーク:ロールアウトの代わりに(併用しつつ)、局面を一目で採点する。
- MCTS:2つのネットの出力を信じすぎず、木探索で「読み」の裏取りをする。
AlphaGoの構成 — 直感(NN)と読み(MCTS)の融合
方策ネットが探索の「幅」を絞り、価値ネットが「深さ」を省き、MCTSが両者を統合する。ボタンで世代を切り替えると、進化のポイントが表示されます。
| システム | 年 | 人間の知識 | 進化のポイント |
|---|---|---|---|
| AlphaGo | 2016 | 人間の棋譜で事前学習 | 方策・価値ネット+MCTS+ロールアウトで囲碁のトップ棋士を撃破 |
| AlphaZero | 2017 | ルールのみ(棋譜なし) | 自己対局だけで学習。ロールアウト全廃。囲碁・将棋・チェスを同一手法で制覇 |
| MuZero | 2019 | ルールすら不要 | 環境モデル(遷移・報酬)自体を学習し、学んだ想像の中でMCTSを回す |
一歩先へ — 2016年3月、ソウルの衝撃
囲碁AIがトップ棋士に勝つのは「あと10年先」と言われていた2016年、AlphaGo は世界最強級のイ・セドル九段に 4勝1敗。特に第2局の37手目「肩ツキ」は、人間なら1万分の1しか選ばない手と方策ネット自身が評価しながら、MCTSの読みが「良い」と裏付けて放たれた一手だった。直感(ネットワーク)と読み(探索)の融合が、人間の定石の外側に価値を見つけた瞬間であり、深層学習ブームを社会に決定づけた事件でもある。
POINT — プランニングと学習の融合
MCTSは「その場で考える」プランニング、ニューラルネットは「過去から染み込ませる」学習。AlphaZero では、MCTSの探索結果を教師にしてネットを更新し、賢くなったネットが次の探索を導く——探索が学習を鍛え、学習が探索を導くループが回っている。人間の「熟考して得た結論が、やがて直感になる」過程とよく似ている。
5. まとめ
- モデルベースRL:環境のモデルで「想像の中の試行」を回してから動く。サンプル効率が高い一方、モデル誤差が弱点。
- MCTS:選択→展開→ロールアウト→逆伝播の反復で、有望な枝だけを深く読む。UCT はバンディットのUCBを木に適用したもの。
- AlphaGo → AlphaZero → MuZero:直感(NN)と読み(MCTS)の融合から始まり、人間の棋譜、そしてルールまでも不要にする方向へ進化した。
次章では、報酬すら与えられない状況で「お手本」から学ぶ 模倣学習と逆強化学習 に進みます。Actor-Critic を忘れた方は前章へ。