局面の予測勝率を基準とする、学習対象局面の選別
現在のGA将!!!!!!!!では、自己対局で生成した全ての局面を学習対象としています。
ただ、これは結構非効率的なやり方で、無駄な学習対象局面が存在する為に、深い探索と組み合わせた学習が困難です。
という訳で、初期局面から終局直前までの各局面を対象に、ある程度のランダムさを与えつつ*1複数回の対局を(途中の局面から)実施し、勝率が一定の範囲(例えば3割〜7割)に収まっている場合だけ学習対象局面としてはどうかと考えました。
で、具体的なアルゴリズムは下記の通り。終局時の報酬を基準としたPGLeafでの学習を前提とします。
- 評価関数パラメータを初期化する。
- 以下を無限に繰り返す。
- 自己対局で1局指す。
- 自己対局を用いて、予測勝率を計算する。
- 勝率が一定範囲内の局面を対象に、以下を適当な回数(10回とか100回とか)繰り返す。
- 各局面から自己対局を行う。
- 評価関数パラメータを修正する。
んで、予測勝率の計算までは浅い探索を使用し、学習対象局面を絞り込んだ後に深い探索を用いたらどうかと検討中。
要するに「ざっと読んだ感じ、この辺の局面が勝負の分かれ目だった。だから、その辺りの局面は深く読んで学習してみよう。」という感じの動作です。
例によって上手く行くかどうかは不明なんで、選手権後に実験してみます。
*1:例えばソフトマックス方策を用いて対局する、等