Deep learning Deep Q学习代理找到解决方案,然后再次发散

Deep learning Deep Q学习代理找到解决方案,然后再次发散,deep-learning,reinforcement-learning,dqn,Deep Learning,Reinforcement Learning,Dqn,我正在训练一名DQN特工来解决AI Gym的Cartpole-v0环境。我从这个人开始只是为了获得一些实践经验。我注意到的是,在训练过程中,在多次发作后,代理找到了解决方案,并且能够在最大时间步长内保持杆直立。然而,经过进一步的训练,该策略看起来变得更加随机,它不能再保持杆直立,并且在一个好的策略中进进出出。我很困惑,为什么进一步的培训和经验不能帮助经纪人呢?在每一集中,随机动作的ε变得非常低,所以它应该只做下一个预测。那么,为什么在一些训练中,它不能保持杆子直立,而在其他训练中,它却成功了呢

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

下面是我在上述相关实施的培训过程中的奖励事件曲线图


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

我有几点建议:

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

您好-很高兴听到这看起来很正常。我从epsilon=1开始,使用0.995的衰减因子,我不限制epsilon有多小,希望在某个时候代理不再需要进行随机操作。我刚刚检查了我的实现,在后面的《4500集》中,ε是1.4e-11,非常小。我对你提到的其他参数没有太多的了解——我希望从理论上理解,这样我就可以理解应该设置哪些参数。这可能吗?或者通常的做法是通过实验找到它们?你可能只需要进行实验不幸的是,RL中的超参数调谐是出了名的粗糙,所以我实际上能够找到这个术语-它被称为