损失减少而突然增加

时间:2019-01-13 21:11:48

标签: deep-learning reinforcement-learning q-learning

我正在与DQN一起训练代理商。报酬在增加而损失在减少。这是一个好成绩,我取得了很好的成绩。但是,我有点怀疑,因为损失减少了,突然上升到很高的值

这是前20个时代

37 epochs

~17000之后,奖励达到15694,损失减少到Reward: 16366.0 Steps: 100.0 Update: 117 Time: 17.44 Episodes: 40 Loss: 15099.0156 =============================== Reward: 15909.5 Steps: 100.0 Update: 120 Time: 17.9 Episodes: 41 Loss: 14892.0322 =============================== Reward: 16744.5 Steps: 100.0 Update: 123 Time: 17.87 Episodes: 42 Loss: 14705.1650 =============================== Reward: 16613.5 Steps: 100.0 Update: 126 Time: 18.39 Episodes: 43 Loss: 14518.6943 =============================== Reward: 16422.0 Steps: 100.0 Update: 129 Time: 18.8 Episodes: 44 Loss: 19189.0879 =============================== Reward: 16820.5 Steps: 100.0 Update: 132 Time: 19.27 Episodes: 45 Loss: 28676.2344 =============================== Reward: 16513.5 Steps: 100.0 Update: 135 Time: 19.66 Episodes: 46 Loss: 28341.6875 =============================== Reward: 16878.5 Steps: 100.0 Update: 138 Time: 20.08 Episodes: 47 Loss: 27986.1465

在这里可以注意到损失的大幅增加。超过100集,播放了3次

let options = [
    'A',
    'B',
    'C'
];

我希望损失继续减少或稳定下来。我如何解释损失的增加?我该如何避免呢?

1 个答案:

答案 0 :(得分:1)

也许是爆炸梯度问题。在训练期间,损失突然变得非常大。  您可以尝试使用L2归一化(https://keras.io/regularizers/)和渐变裁剪。此外,您可以尝试学习率,可以降低学习率或使用其他优化器(例如,仅使用SGD代替Adam或您使用的其他任何方法。如果您使用的是递归细胞,则可以尝试使用LSTM而不是GRU。 Here you can find some more information and ideas about how to fix it.