強化学習に関して考えてる事色々
現在のGA将!!!!の構成は自己対戦の結果からの強化学習なんですけど、対局の条件*1次第で1日10万〜100万局は行けます。
で、現在はその棋譜を評価関数の学習の為だけに使って、その後は捨ててますが、それではちともったいないので、なんとか有効活用出来ないかと検討中。
まず考えたのは自己対戦の棋譜からの定跡の構築。
ただこれ、定跡自体が「過去のデータ」でしかないことを考えると、定跡を作ればすぐに強くなるとは限らないのが難しい所です。
極端な話、昨日までの対局結果から作った定跡が、今日の(100万局後の)評価関数と相性良いかというと…微妙。「良い」と断言するのは無理です。
んで、「ある程度汎化能力のある定跡」ってものを考えると、それはつまり単なる評価関数な訳で、結局は評価関数の学習に集中すべきって言う結論になります。
もう一つ、棋譜だけじゃなくて探索木も利用出来るので、そこから遷移確率を計算して実現確率探索に応用出来ないかというのも検討しました。
ただ、例えば「最善手を適当なカテゴリに分類しつつ、そのカテゴリの手が最善手になる確率を計算する」って処理を、自己対戦の速度にあまり影響を与えずに(ここ重要)処理する必要があります。
んで、そうなるとどうにもには難しそうですし、そこまでしなくてもABC探索で良いかなってのが最近の考えです。まぁ、ABC探索も色々難しいんですけど、探索に関しては新しい手法を作るよりも既存の手法を使う方向で行きたいので。
あとはまぁ…「詰む確率を計算する関数」を学習で作ろうかとか思った事はありますが、それは評価関数がすべき事だと考えてやめました。今考えてるのは大体こんな感じです。
*1:探索の深さとか評価項目とか