自己対局を2倍に増やしても対局強度の改善は検出できなかった
Splendor AIでは、局面評価を担うPolicy/Value Networkの教師データを自己対局中のPUCT探索から生成している。
通常は1手あたり128回探索する。しかしValueの学習に真に必要なのは、1手ごとの精緻な探索値よりも、独立した対局から得られる多様な勝敗サンプルだと考えた。1手あたりの探索計算を間引いて対局数自体を増やせば、同じ学習行数でもValueの汎化が進み、強度が上がるのではないかと期待した。
KataGoのPlayout Cap Randomization(PCR)を採用した。各手番の半分は通常の128回探索、残りの半分は64回の高速探索で着手を選ぶ。高速探索の手番はroot noiseを省き、教師データからも除外する。対局を進める計算コストは払うが、学習データは通常探索の行だけを集める設計だ。
32世代の比較実験
山札から非公開でカードを予約する手(blind reserve)に対応したbootstrapモデル n5_s1 から、乱数seedを揃えた2系統で32世代学習した。PCR側は開始対局を2倍にし、学習に使う通常探索の行数を通常側の差5%以内に揃えた。
| 指標 | 通常PUCT-128 | PCR(fast 64) |
|---|---|---|
| 世代あたりの開始対局組数 | 512組 | 1,024組 |
| 学習に用いた行数 | 基準 | 差5%以内 |
| self-play所要時間 | 1.00倍 | 1.32〜1.34倍 |
| loop全体の所要時間 | 1.00倍 | 1.22〜1.29倍 |
| 32世代対戦勝率(対通常側、2系統合算) | 基準 | 50.5% [95% CI: 48.8〜52.2%] |
| 32世代対戦勝率(系統別: 系列1 / 系列2) | 基準 | 52.0% / 49.0% |
| Value汎化ギャップ(訓練時と未知局面のloss変化差) | 0.011 | 0.007 |
対局強度の改善は検出できなかった。両系統とも互角の勝率にとどまり、上振れは見られなかった。一方で、Valueの汎化ギャップは縮小した。
高速探索の手番も、対局を終局まで進めるために計算リソースを消費する。そのため、学習1行を得るために必要な計算時間はむしろ増加した。現在のsearch-value混合教師のもとでは、独立した終局結果の追加だけでは、この追加コストに見合う強度向上は得られないと理解が変わった。終局結果の比重を大きく高めるTD(λ)など、Value教師の設計そのものを見直す際に改めて検証したい。
この記事は、実装・実験記録をもとに、主にLLMが編集しています。