評価関数の修正完了
上で書いたバグですが、同じパラメータを何箇所かで使っていたのが原因でした。
要するにあるパラメータをプラスの特徴量で使う場所とマイナスの特徴量で使う場所があって、単純に評価・学習するだけならプラスとマイナスで打ち消しあってて問題ない、けど、評価全体の学習率からパラメータごとの学習率を求める際に、打ち消しあってるのを認識出来なくてバグってた、という事らしいです*1。
んで、打ち消しあってるのが悪いならそれぞれの箇所で特徴量を加算していって*2、その後に加算した特長量とパラメータを使って評価・学習させる様に修正しました。
軽くテストした結果はOKだったので、学習用マシンに移して一晩様子見です。
ただ、今回の修正で遅くなった&コードが複雑になったのは困りものです。
遅くなった方はざっと1.x倍なので、探索の方で頑張れば何とか取り戻せるかもしれませんが、複雑になったのは何とか対処したいところ。
ついでに、駒割が一番複雑で他の部分*3はずっとシンプルってのは・・・なんか、設計段階からまずかったのかも。増改築繰り返してるからなぁ・・・・・・