久々に学習ルーチンの実装中
合議用に複数の評価関数を並行して学習するもので、Dropout*1を使用します。概要は下記の通り。
- 合議クライアント8個は、全て同じ評価項目の評価関数を用いる。
- 8クライアントのリーグ戦の結果から学習する。
- 学習アルゴリズムはPGLeaf。
- 各クライアントは、対局ごとに異なる乱数でDropoutを行い、評価関数(≒棋風)を少しづつ変化させる。
狙いとしては、色々な棋風の相手と対局する事で、特定の戦型に特化しないオールラウンダーな評価関数を構築する事です。
ついでに、8つの評価関数パラメータが出来上がるので、それを使って合議で対局すれば今より強くなるのも期待出来ます。
これは以前からアイデアはあったのですが、評価関数だけでメモリが100GB以上必要になってくると言う問題がありました。
今回、アルゴリズム上の工夫でメモリを節約出来るメドが立ったので、実装する事にしました。
…しっかし、今週中に学習ルーチンの実装を終えたとしても、電王トーナメントには間に合いませんね。5五将棋なら収束が速いから、同じ週のUEC杯5五将棋大会には間に合うかな?
……あ、そう言えばUEC杯の申し込みがまだだった。