Deep Q Learning 代理找到解决方案然后再次发散

Deep Q Learning agent finds solution then diverges again

我正在尝试训练 DQN 代理来解决 AI Gym 的 Cartpole-v0 环境。我从这个人的 implementation 开始只是为了获得一些实践经验。我注意到,在训练过程中,经过多次训练后,智能体找到了解决方案,并且能够在最大时间步长内保持杆子直立。然而,经过进一步的训练,这个政策看起来变得更加随机,它不能再保持杆子直立,进进出出一个好的政策。我很困惑为什么进一步的培训和经验不能帮助代理人?在剧集中,我的随机动作 epsilon 变得非常低,所以它应该只对下一个预测进行操作。那么,为什么它在某些训练集中无法保持杆子直立,而在其他训练集中却成功了?

这是我在上述链接实现的训练过程中的奖励-情节曲线图。

这对我来说实际上看起来很正常,事实上,在阅读整个问题之前,我猜你的结果来自 CartPole。

我有几点建议:

  • 当您绘制结果时,您应该绘制几个随机种子的平均值。这不仅是一种普遍的好做法(它显示了您的算法对种子的敏感程度),它还会使您的图表变得平滑并让您更好地了解代理的“技能”。不要忘记,环境 策略是随机的,因此您的代理表现出这种行为并不完全疯狂。
  • 假设您正在实施电子贪婪探索,您的 epsilon 值是多少?你会随着时间的推移而腐烂吗?问题也可能是您的代理即使在找到好的政策后仍在探索很多。
  • 您是否尝试过超参数,例如学习率、epsilon、网络大小、回放缓冲区大小等?这些也可能是罪魁祸首。