添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
右图为reward曲线

于是找了很多该算法的复现来对比到底是哪里出了问题。花了大量的时间确认了复现的DDPG算法的决策和更新流程都没有问题之后,我把目光转向了超参数的设定上,最终发现 critic 的学习率通常需要设置的比 actor 大一点。在将 critic net 的学习率改大之后,DDPG算法终于表现出很好的性能,得到了漂亮的 reward 曲线,如图2所示。

图2 修改critic lr之后的学习效果,左图为critic loss,右图为reward曲线

在解决了该问题后,引出了一个问题,DDPG算法中的 actor critic 的学习率为什么需要不同才可我使该算法很好的work。为此我也在网上找到了关于该问题的探讨。总结下来大概有如下几种解释:

  • actor critic 的学习率是两个需要调整的超参数,这样设置是在实践中发现比较好的结果
  • 如果 actor critic 更新的更快,那么估计的Q值不能够真实反映动作的价值,因为 critic 的Q值函数是基于过去的策略估计出的
  • 因为 actor 输出的是具体动作,通常是 bounded ,因此学习率可以小一点,而 critic 学习的目标是折扣奖励的期望,通常是无界的,需要学习率大一点。
  • source: Why different learning rates for actor and critic : r/reinforcementlearning (reddit.com)

    为了进一步探究这两个参数的设置对于学习的影响,我用DDPG算法在 Pendulum-v1 进行了一系列的实验。

  • 固定 actor 的学习率为 3e-4 ,改变 critic 的学习率,得到实验结果如下图:

  • 固定 critic 的学习率为 3e-4 ,改变 actor 的学习率,得到实验结果如下图:

  • 保持 actor critic 的学习率相同,同时改变两者的学习率,得到实验结果如下图:

    由以上实验结果可以得出以下结论:

  • actor 学习率不变的情况下, critic 的学习率适当增大可以加快收敛速度, critic 如果设置过小可能会导致收敛较慢甚至学习不收敛。
  • critic 学习率过小导致网络很难收敛时,只调整 actor 的学习率无法使网络收敛
  • actor critic 的学习率在一致的情况下也是可以收敛的,但需要选择合适的参数才可以得到较好的学习效果。
  • 因此,在使用DDPG算法时, critic 网络相比于 actor 网络的学习率可以适当调大,可以得到一个较好的收敛效果。