我正在 OpenAI 健身房的 SpaceInvaders 环境中训练 DQN 的自定义实现。剧集奖励不断增加,大约达到了 DQN 在此环境下获得的最大剧集奖励。然而,最奇怪的是,最初损失增加了,然后它一直在快速振荡,而没有显示出任何持续的减少?
这怎么解释?我的第一个猜测是 DQN 中的移动目标,但在其他游戏(例如 Pong)中,可以观察到平滑的逐渐下降?很明显,学习率的降低可能会修复振荡。但是,我有兴趣解释图像中的具体结果,特别是如果损失没有减少,它是如何学习的。
注意:环境绝对与原始 DQN 论文中使用的环境相同。下面绘制的损失是 L2 损失,没有像原始 DQN 论文中那样在其上应用 huber 损失。相反,所有梯度都被截断为范数 10。
