統計的検定とチューニング

ShogiArena が使う統計手法とパラメータ最適化アルゴリズムの解説です。 Elo で強さの差を表し、SPRT で検定し、SPSA でパラメータを最適化する流れを説明します。

想定読者

  • 大学レベルの確率、統計の基礎知識がある
  • 仮説検定(帰無仮説、対立仮説、有意水準)の概念は理解している
  • 将棋エンジンの開発や評価に携わっている、または興味がある
  • 最適化アルゴリズムの基本概念(勾配降下法など)を知っている

各章の内容

  1. Elo レーティング:エンジンの強さを数値化する基礎理論
  2. SPRT(逐次確率比検定):エンジン間の強さの差を統計的に判定
  3. SPSA(同時摂動確率近似法):エンジンパラメータの自動最適化
  4. 分散削減テクニック:少ない対局数で高精度な推定を得る手法
  5. 用語集:専門用語の定義と関連ページ
  6. テストフレームワーク概説:OpenBench、Fishtest、Cutechess の解説と ShogiArena の位置付け

SPSA で得たパラメータの検証は、チューニング終了後の独立した SPRT ランで行います。 LTC 回帰テストも判定に SPRT を使えます。 SPRT を先に理解してから SPSA に進むことを推奨します。

他のエンジンテストフレームワークとの比較

ShogiArena の統計モジュールは、以下のフレームワークの知見を参考に設計されています。 各フレームワークの詳細は テストフレームワーク概説 を参照してください。

フレームワーク対象SPRTSPSA五項分布
ShogiArena将棋✓✓✓
cutechessチェス✓✗✓
OpenBenchチェス✓✓✓
fastchessチェス✓✗✓

次に読む

→ Elo レーティング:エンジンの強さを数値化する基礎理論