Skip to content

自己対局の停滞

2026-08-12/13 の初期自己対局に関する記録です。最初の 1 世代だけ改善し、その後止まりました。ここでは設計判断を変えた測定だけ残します。

症状

1 手 32シミュレーション:

子モデル親モデル学習データ結果
gen2教師あり 100k434k 局面 × 4エポック+74 Elo
gen3gen2430k × 4エポック+4.1、非有意
gen3'gen21.72M × 1エポック+11.7、非有意

新規データを 4 倍にすると検証方策損失は改善しましたが、直接対局の棋力は改善しませんでした。単純なデータ量不足ではありませんでした。

内部対局だけでは足りなかった

リプレイ窓 実験は兄弟モデルに +29.9 Elo 勝ち、一度は成功に見えました。しかし固定 YaneuraOu KP256 @10k への測定では逆転しました。

モデル固定基準への Elo
gen3'+13.2
replay-gen123−7.1

各 4,000 局では、直接対局で負けた gen3' の方が固定外部基準に対し約 20 Elo 強い結果でした。

この測定から、次をルールにしました。

子モデルと親モデルの直接対局は親選択には使えるが、「将棋が強くなった」証拠にはしない。固定外部基準でも確認する。

リプレイバッファ 自体を否定する結果ではありませんが、この実験は棋力向上の証拠にはなりません。

決定的な結果: 探索が浅すぎた

学習を一切変えず、同じ重みで 256シミュレーションと32シミュレーションを比較しました。

結果
スコア0.9611 / 180局
Elo+557

初期のデータ・学習変更よりはるかに大きい差でした。ネットワークは、教師生成に使っていた 32シミュレーション 探索より既に強かったことになります。

その後、深い探索を実用化するためバッチ評価を実装しました。バッチ 1 は逐次探索を完全再現します。大きなバッチは速くなりますが、複数経路が同じ待機中の葉へ衝突するとノード数が減るため、バッチ幅は シミュレーション数と一緒に増やす必要があります。

探索改善後の位置

256シミュレーションで固定 YaneuraOu KP256 と比較:

相手の探索量DLManaka Elo
10k nodes+416.6
100k nodes−121.4
950k nodes、約 1 秒−609.0

残る差の多くは探索時間差でした。同じ実時間で相手がはるかに多くのノードを読むためです。

測定上の注意

YaneuraOu は nodes で固定する

YaneuraOu の NetworkDelay 設定は byoyomi から時間を引きます。再現可能な基準には go nodes N を使うか、遅延設定を無効化します。

手動確認では stdin をすぐ閉じない

go の直後に quit を送ると、探索開始前に終了して nodes 0 が出ることがあります。手動確認では stdin を十分な時間開いたままにします。

この後の変更

後続ループでは、より深いバッチ探索、広い リプレイ窓、昇格判定を導入しました。gen11 時点の状態は 改善計画 を参照してください。

このページの結論は次の 3 点です。

  1. 同じ分布の対局数を増やすだけでは足りなかった。
  2. 内部 Elo だけでは誤判定し得る。
  3. 最初の停滞の主因は、教師探索が弱すぎたことだった。