0

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

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

在此处输入图像描述

4

1 回答 1

1

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

我有几个建议:

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