軽く評価関数をテストしていたら
バグ発見。学習率の扱いが変でした。
あ、ちゃんと書いていませんでしたが、私の評価関数だと「関数全体の学習率」と「パラメータごとの学習率」を別にしてあります。
例えば関数全体の学習率0.1の場合に学習させると、学習前後で評価値の誤差が10%減る様になっています。
んで、パラメータごとの学習率は、全体の学習率と特徴量*1を元に計算しています。
が、パラメータごとの学習率の計算方法が変で、関数全体の学習率と誤差の減少率が一致していません。
このままだと困るんで、調査してみます。多分、特徴量が1か0の2値の時に作ったルーチンが、特徴量が2以上になった場合に対応出来てないとかその辺でしょう。
*1:先後の駒の枚数の差とか王将周辺の利きの数とか。