DDPG by gymnasium 14日目

本日のお題は

保存したパラメータを読み出すのはactorとtarget_actorまたcriticとtarget_criticで共通で良いのだろうか。

です。結果として共通で良いです。

つまりactorとtarget_actorはactor_params.ptを呼び出して、criticとtarget_criticはcritic_params.ptを呼び出せば成り立ちます。

ただ、実行開始直後が同じパラメータになってしまうので、リプレイバッファに経験が貯まりTDターゲットの再計算が始まるまではcriticとの差が小さいので、しばらくは学習の進み方が遅くなるのではないかと予想しております。

実際は問題になるほどではありませんでしたが、ここはセオリー通り共通ではなくてそれぞれのパラメータを読み込むように修正しました。

ActorNNクラスの__initi__()の中に

そしてCriticNNクラスの_init__()の中に

と書いていたのを削除して、代わりに

actor, ciritc, target_critic, target_actorそれぞれのインスタンス生成直後に入れています。