Yuding
这家伙很懒,什么都没留下
发布于

有关强化学习奖励在训练300万轮中存在先上升稳定,又突然下降现象的产生原因

评论(15)
  • cantonlx 回复
    Yuding Yuding 2024-07-09 09:52:16

    我也没有试过这种方法,感觉不好控制阈值

    我在 matlab 的强化学习框架做,我看到是默认需要设置梯度上限阈值的

  • Chief 回复
    C cantonlx 2024-07-08 19:18:34

    请教一下,通过设置更新过程的梯度上限能不能解决这个问题呢?

    梯度截断后,还是有陡降。进行了多组实验,只在一组中观察到了此情况

  • Chief 回复

    做过梯度截断 ~ 还是出现了陡降的情况

  • Yuding
    Yuding 回复
    C cantonlx 2024-07-08 19:18:34

    请教一下,通过设置更新过程的梯度上限能不能解决这个问题呢?

    我也没有试过这种方法,感觉不好控制阈值

  • cantonlx 回复
    C Chief 2024-03-14 20:56:18

    我采用 REINCFORCE 训练的时候也出现过类似的情况,出现剧烈下降后,坚持训练一段时间,又会恢复到之前的水平~可以打印梯度向量范数看一看,在突然变差时,梯度有没有突然增加。

    请教一下,通过设置更新过程的梯度上限能不能解决这个问题呢?

  • 上善若水
    上善若水 回复
    Yuding Yuding 2024-03-14 20:52:41

    这种情况是不可控的吗,算法里面有经验池,感觉按理论来也不会这么离谱

    我理解是不可控的,只可能优化算法尽可能减小这种情况带来的训练影响

  • Yuding
    Yuding 回复
    C Chief 2024-03-14 20:56:18

    我采用 REINCFORCE 训练的时候也出现过类似的情况,出现剧烈下降后,坚持训练一段时间,又会恢复到之前的水平~可以打印梯度向量范数看一看,在突然变差时,梯度有没有突然增加。

    好的,我之后试一下打印梯度向量范数看看,谢谢解答

  • Chief 回复
    Yuding Yuding 2024-03-14 20:48:32

    不确定能不能复现,以前在 gym 里跑 ddpg 也出现过一次,这次的环境也只出现了一次,当时出现剧烈下降的时候,我就没有跑完了,所以也不知道后续会怎么变化,我也觉得可能陷入到一个较差的境地

    我采用 REINCFORCE 训练的时候也出现过类似的情况,出现剧烈下降后,坚持训练一段时间,又会恢复到之前的水平~可以打印梯度向量范数看一看,在突然变差时,梯度有没有突然增加。

  • Yuding
    Yuding 回复

    这种情况是不可控的吗,算法里面有经验池,感觉按理论来也不会这么离谱

  • Yuding
    Yuding 回复
    C Chief 2024-03-14 20:44:32

    该问题是可以复现的吗?例如,可以试一试改变初始化模型的种子,是否还有这种情况。估计多半情况下是不可复现的,猜测是参数在某一轮迭代中被更新到了 “很差” 的区域。

    不确定能不能复现,以前在 gym 里跑 ddpg 也出现过一次,这次的环境也只出现了一次,当时出现剧烈下降的时候,我就没有跑完了,所以也不知道后续会怎么变化,我也觉得可能陷入到一个较差的境地

  • Chief 回复
    Yuding Yuding 2024-03-14 20:36:40

    使用的算法是 PPO 算法,用的 sb3 直接调用,学习率:6e-4 网络中间的隐藏层 88 和 16*16 环境用的 jsbsim

    该问题是可以复现的吗?例如,可以试一试改变初始化模型的种子,是否还有这种情况。估计多半情况下是不可复现的,猜测是参数在某一轮迭代中被更新到了 “很差” 的区域。

  • Yuding
    Yuding 回复
    Yuding Yuding 2024-03-14 20:37:15

    8x8 16x16

    两个网络的隐藏层都是 8 输入 16 输出

  • Yuding
    Yuding 回复
    Yuding Yuding 2024-03-14 20:36:40

    使用的算法是 PPO 算法,用的 sb3 直接调用,学习率:6e-4 网络中间的隐藏层 88 和 16*16 环境用的 jsbsim

    8x8 16x16

  • Yuding
    Yuding 回复
    C Chief 2024-03-14 20:32:03

    可以贴一下使用的算法,模型,超参数~

    使用的算法是 PPO 算法,用的 sb3 直接调用,学习率:6e-4 网络中间的隐藏层 88 和 16*16 环境用的 jsbsim

  • Chief 回复

    可以贴一下使用的算法,模型,超参数~