強化学習で解くための環境を自作してそれをDQNのフレームワーク(keras-rl)を用いてrewardの変化を見て行っているのですが、それについて質問です。
エピソードごとのrewardをグラフにするとだいたいいつも以下の様になります。
毎回序盤で一気に下がってその後上がるといった形になります。ここで下がっているポイントはkeras-rlでいう、nb_steps_warmupで指定した最初の学習には使われない部分のステップが終わるとそこでまず下がります。まずこれは何故でしょうか?nb_steps_warmupで指定したタイムステップ分は学習で使われない部分だという認識でしたがこれはどういう事でしょうか?
また一枚めの画像で実際にプロットしている点は以下になります。
[-22.0, -279.0, -58.0, -68.0, -14.0, -8.0, -33.0, -12.0, -39.0, -20.0, -32.0, -28.0, -52.0, -43.0, -18.0, -32.0, -12.0, -17.0, -12.0, -37.0, -16.0, -26.0, -27.0, -7.0, -16.0, -14.0, -48.0, -43.0, -14.0, -28.0]
この時のエージェントでテストすると、以下の様になります。
Episode 1: reward: -6.000, steps: 50
Episode 2: reward: -6.000, steps: 50
Episode 3: reward: -6.000, steps: 50
Episode 4: reward: -7.000, steps: 50
Episode 5: reward: -6.000, steps: 50
Episode 6: reward: -7.000, steps: 50
Episode 7: reward: -7.000, steps: 50
Episode 8: reward: -6.000, steps: 50
Episode 9: reward: -6.000, steps: 50
Episode 10: reward: -6.000, steps: 50
ここで表示されるrewardもそのエピソードのステップ毎に得られたrewardの合計のエピソードrewardですよね?だとしたら、何故テストではこの様に全体としてトレーニング時より高い値となっているのでしょうか?
因みに1500ステップ行った結果ですが、学習を途中で止めてテストするとそこでのrewardは最後まで学習させた時より落ちるので、学習はしっかり進んでいるのではないかと思うのですがどうでしょうか?

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/27 00:59