自己対局の停滞
2026-08-12/13 の初期自己対局に関する記録です。最初の 1 世代だけ改善し、その後止まりました。ここでは設計判断を変えた測定だけ残します。
症状
1 手 32シミュレーション:
| 子モデル | 親モデル | 学習データ | 結果 |
|---|---|---|---|
| gen2 | 教師あり 100k | 434k 局面 × 4エポック | +74 Elo |
| gen3 | gen2 | 430k × 4エポック | +4.1、非有意 |
| gen3' | gen2 | 1.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 点です。
- 同じ分布の対局数を増やすだけでは足りなかった。
- 内部 Elo だけでは誤判定し得る。
- 最初の停滞の主因は、教師探索が弱すぎたことだった。