もういい加減、メタ強化学習に見切りをつける時期かもしれない
メタ強化学習
今月いっぱいは足掻いてみて、それでめどが立たなかったらすっぱりあきらめます。
メタパラメータの調整
メタ強化学習が失敗した場合は、何か別の手を考える必要あり。今の所案は二つ。
- 王手将棋*1・後手ランダム指しで、手作業で調整
- 上の条件で、収束までの対局数が最短になる値に自動調整
二つ目は、単純な(状態を見ずに値を調整する)メタ強化学習ですが、これは既に成功しているので、ルーチンを流用するかも。
今の所、ソフトマックスの温度(or εグリーディーのε)とλ・評価関数の学習率の三つだけ調整出来れば良いので、手作業でもなんとかなるかもしれませんが。
学習が進んでいるかどうかの判断方法
いくつか案はあるんですが、どれも決め手にかけます。
「正解率や一致率が高くなるけど、弱くなる」って可能性を考慮すると、最初二つはあんまり採用したくないです。やるとしても補助程度に。
ただ、連続対戦にしても1日1〜2時間程度しか(連続対戦に使うのには)時間をさけれませんから、それだとせいぜい数十局。統計的に見て意味のある数字かどうかは…微妙。
判断方法に関しては継続して検討しておきます。
高速化
学習が遅いのは対局数を増やしてごまかします。目標10万局/日。
以前調べた限りだと、プログラム全体の実行時間に占める評価関数内での処理時間がかなり多かったので、評価関数の高速化とリーフノード数の削減だけでも、それなりの高速化は期待出来そうです。
つー訳で残項目。多い…
- リバーシでの予備実験
- 将棋の学習関連
- 選手権での対局用
- USIにちゃんと対応
- MTD-∞の実装
- 思考時間制御
*1:王手したら勝ちという以外は普通の将棋と同じルール