学習アルゴリズム、どうしよっかなぁ
今実装しているのは下の三つ。どれも自己対戦で学習します(TDLeaf(λ)のみ、USIで他のエンジンと対局して学習する機能あり)。
- TDLeaf(λ)
- TreeStrap
- 方策勾配法
TDLeaf(λ)もTreeStrapもチェスで実績ありますが、方策勾配法は聞いた事ありません。
アルゴリズムの内容を考えると、方策勾配法は兄弟モデルの比較に近い事をしているので、伸び代はまだありそうな感じです。
あと、TreeStrapなら対局中に相手番の時間を使って学習とかも出来るんで、floodgateとかで他のエンジン相手に学習するには向いてるかも。
ただ、floodgateで学習しようとすると、学習率の調整含めて色々課題がありそうです。高すぎるとダメだし、かと言って低すぎると収束遅くなりますし。
その点、自己対戦でやるなら多少収束遅くても対局数増やしてごまかせるので、楽っちゃ楽。
うーん、どうするかなぁ…