算法学习(二十)——GAE

全称是generalized advantage estimator,几乎所有最先进的policy gradient算法实现里面都使用了该技术,适合高维状态,一般都是PPO+GAE。

该算法主要改进在于对A的估计。

优势函数可以写成如下:

 一步的优势函数进一步展开为:

 其中V 的值都是估计的,因此A的估计存在偏差。

优势函数的2步估计及无穷步估计分别为:

 可以看到,随着步数的增加,V的比重逐渐减少,所以不准确的影响也在逐渐减少。

GAE的方法是改进对优势函数的估计,将偏差控制到一定的范围内。其方法是对优势函数进行多步估计,并将这些多步估计利用衰减因子进行组合。具体是这样做的:

当λ=0时,GAE的形式就是TD误差的形式,有偏差,但方差小。 λ=1时就是蒙特卡洛的形式,无偏差,但是方差大。

 

所以我们就可以选个合适的λ值来对偏差和方差做一个权衡了。进而去估计最终的策略梯度。

其实就是PG类算法增加了一个超参数,可以更精确手动调参了。

参考:

Actor-Critic算法小结 - 知乎闲言碎语:上周末圆满完成第二次线下培训课程,为了优化课程,着实花费了不少心血,包括自己动手开发了配套的代码程序,重新做了新的ppt……, 虽然很累,但看到参加的同学反映收获很大,这些工作也算是值了。现在…https://zhuanlan.zhihu.com/p/29486661GAE——泛化优势估计 - 知乎GAE主要是讲对优势函数At如何进行估计,网上讲这篇的很少,看着是相当地累了。。 1 Introduction在RL中,最大化policy的reward期望,一个关键问题是 动作与最终的奖励 往往具有较大的 时间延迟,在RL中这个问题被…https://zhuanlan.zhihu.com/p/356447099

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PPO算法(Proximal Policy Optimization)和GAE技术(Generalized Advantage Estimation)是两种常用的强化学习技术,可以结合使用来提高算法的性能和稳定性。 具体来说,PPO算法是一种基于策略梯度的强化学习算法,用于训练智能体的策略函数。PPO算法的核心思想是通过对策略函数进行剪切操作,以控制更新的幅度,从而提高算法的稳定性和收敛速度。 而GAE技术是一种用于估计优势函数的方法,可以在策略梯度算法中使用,以提高算法的性能和泛化能力。GAE技术的核心思想是使用当前策略函数和价值函数的估计值,对未来的奖励进行折扣,并计算出每个状态的优势函数,从而更准确地衡量策略的好坏。 结合PPO算法GAE技术的步骤如下: 1. 采样数据:使用当前策略采样一批数据,包括状态、动作、奖励和下一个状态等信息。 2. 计算优势函数:根据采样的数据,使用GAE技术计算出每个状态的优势函数,作为更新策略函数的参考。 3. 计算损失函数:使用PPO算法的损失函数,计算出当前策略函数的损失值,以及剪切比率等参数。 4. 更新策略函数:使用优化算法,根据计算出的损失函数和剪切比率等参数,更新策略函数的参数。 5. 更新价值函数:使用回归算法,根据采样的数据,更新价值函数的参数,以更准确地估计每个状态的价值。 6. 循环迭代:重复以上步骤,直到策略函数和价值函数收敛为止。 结合PPO算法GAE技术可以有效地解决策略梯度算法中的问题,如策略震荡、高方差等,提高算法的稳定性和收敛速度,并在大规模的复杂环境中取得更好的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值