探索付き自己対局ループを3世代回し、固定パネルで+10.9ptの向上を確認した

教師あり学習で訓練した EAT モデルに PUCT128 による探索を組み合わせ、得られた探索訪問分布を次の世代のネットワークに学習させる「探索付き自己対局ループ」を3世代にわたって実行した。乱数シード 1701、2901、4301 の3系統を独立に学習させ、初期モデル(G0)と第3世代(G3)の実力を固定の対戦相手パネル(fixed panel)を用いて評価した。

G3は初期モデルG0を+10.87ポイント上回る

指標G0G3差分
均等配分パネルスコア70.09%80.96%+10.87 pt [+9.16, +12.57]

3本の学習系統ごとの勝率改善幅も極めて近い値を示した。

学習系統G3 − G0
1701+11.11 pt
2901+11.10 pt
4301+10.38 pt

対戦相手ごとの内訳を見ると、改善の度合いにはバリエーションが見られた。

対戦相手G0G3差分
過去世代EAT50.55%70.61%+20.05 pt
深さ3探索の教師AI80.56%88.15%+7.60 pt
point rush(ルールベース)79.17%84.11%+4.95 pt

3種類の対戦相手すべてに対して勝率が向上しており、特定の対戦相手に特化した過剰適合ではないことが裏付けられた。

1世代あたりの学習レシピ

各世代のサイクルでは、PUCT128 による自己対局から32,768行のデータを抽出し、512ステップのオプティマイザ更新を行った。方策ヘッド(policy head)は探索の訪問回数分布を、価値ヘッド(value head)は最終的な勝敗結果(WDL)をそれぞれ学習する。

3系統 × 3世代の累計実績数値
学習実行回数(fits)9
保持データ行数294,912
オプティマイザ更新ステップ4,608
サンプル提示総数約472万行

G0およびG3の性能評価には同一の clean PUCT128 を用い、開始局面のスケジュールも共通化して、3系統 × 3対戦相手のグリッドで対戦させた。G3側の4,992局に対し、G0側の対照群も同数の対局を実施している。

評価基準の数値乖離対策を先行して是正

第2世代の検証時、PyTorchモデルとONNX/ネイティブ推論エンジンとの間で生じる生ロジット値の数マイクロ単位の微小な誤差により、当時の厳格なパリティゲートでパイプラインが停止する事象が発生した。

そこで、arena対戦の結果を確認する前に、実際の対局で消費される policy 確率、WDL 勝率確率、手番相対価値、および argmax 一致度を中心とした受入基準(acceptance contract)へと再定義した。その結果、CPU/CUDA双方を含む9成果物 × 3系統の計27回の適格性テストすべてを正常に通過できた。

なお、この判定基準の見直しは、arena評価での不合格を受けて場当たり的に許容誤差を緩和したわけではない。

3世代にわたる探索付き自己対局を通じて、モデルの対局性能が着実に向上することが実証された。今後はこの自己対局ループをベンチマーク環境とし、探索アルゴリズムや着手表現、ネットワーク構造の改良効果を定量的に検証していく。


この記事は、実装・実験記録をもとに、本文の大部分をLLMが執筆し、筆者が内容を確認・編集しています。