2022年7月24日日曜日

もう1つ修正を施したらちゃんと育つようになった

 前回回帰ネットワークの実装ミスの話をしたが、もう1つだけミスしていたかもしれないところがあった。今までの実装では zero_grad() メソッドをエピソードの終了時にだけ呼び出していたのだが、learn() メソッドが呼び出される度に呼び出されるように変更した。

どちらが正解かははっきりしなかったのだが、裏で回していたKangarooで、これを毎回呼び出した方が安定して成長することがわかったのでこのような変更を加えた。これでバッチサイズが小さくなっても学習が途中で止まってしまうことがなくなった。

AIガオガエンの方でもそうなっているようで、Lv3を何度か攻略してみたところバッチサイズが小さくても過去に見られたようなパフォーマンスの低下が見られなくなった。やっと実装が完了した、ということになるだろうか。まだ問題が潜在している可能性はあるものの、今のところ不審な挙動は見られない。

今は学習率周辺のベンチマークをとっている。もしうまくいくようであれば過去に一度試したGRU、未来予測型、色の見えるエージェントなども順次試していきたい。それぞれ攻略するのに数日単位でかかるので気長な作業にはなりそうだが…。

0 件のコメント:

コメントを投稿