基于离线策略的强化学习(PPO)

本文介绍了离线策略强化学习的概念,探讨了重要性采样在策略梯度中的应用,以及由此引出的离线策略梯度计算方法。重点讲解了PPO算法,如何通过KL散度约束来保持采样策略和目标策略的分布接近,并介绍了PPO2算法通过梯度裁剪简化这一过程。
摘要由CSDN通过智能技术生成

离线策略强化学习

对于基于策略的强化学习,通过建立带 θ \theta θ的策略模型,通过策略梯度进行优化,梯度如下 ∇ θ U = E τ − p θ ( τ ) [ ∇ θ l o g P θ ( τ ) R ( τ ) ] \nabla_\theta U=E_{\tau -p_\theta(\tau)}[\nabla_\theta log P_\theta(\tau)R(\tau)] θU=Eτpθ(τ)[θlogPθ(τ)R(τ)]
该方法是在线策略(on-policy),即学习更新的策略和与环境交互采样的策略是同一个,这带来一个问题,当进行策略参数 θ \theta θ更新后,原来旧 θ \theta θ的策略采样的数据就无法在用了,需要用新的策略采样才能进行梯度计算。这样样本利用率低,训练时间长。
因此需要将目标策略和采样策略进行分离,利用重要性采样进行梯度计算。

重要性采样

假设 f ( x ) f(x) f(x)服从 p ( x ) p(x) p(x)分布,求x的期望 E ( x ) = ∫ p ( x ) x d x E(x)=\int p(x)xdx E(x)=p(x)xdx
我们想用采样的方式进行计算,但是服从 p ( x ) p(x) p(x)分布的样本不好得到,相反,服从 q ( x ) q(x) q(x)分布的样本好得到。因此我们想用 q ( x ) q(x) q(x)分布的样本来代替 p ( x ) p(x) p(x)分布的样本,显然这是有误差的,因此需要对期望进行修正。
在这里插入图片描述
其中 p ( x ) q ( x ) {p(x) \over q(x)} q(x)p(x)称为重要因子,相当于把 q ( x ) q(x) q(x)分布的样本当场是真实 p ( x ) p(x) p(x)分布的样本来计算时,需要乘上这个重要因子修正,保证这么做是可以的。
存在的问题
要求这两个分布要比较接近,差别不能太大。意味着目标学习策略的参数 θ \theta θ和采样策略的参数 θ ′ \theta ^{\prime} θ要比较接近。

离线策略梯度

设学习目标的策略为 π θ π_\theta πθ,采样策略为 π θ ′ π_{\theta^{\prime}} πθ
∇ θ U = E τ − p θ ( τ ) [ ∇ θ l o g P θ ( τ ) R ( τ ) ] \nabla_\theta U=E_{\tau -p_\theta(\tau)}[\nabla_\theta log P_\theta(\tau)R(\tau)] θU=Eτpθ(τ)[θlogPθ(τ)R(τ)]
就变成了
∇ θ U = E τ − p θ ′ ( τ ) [ P θ ( τ ) P θ ′ ( τ ) ∇ θ l o g P θ ( τ ) R ( τ ) ] \nabla_\theta U=E_{\tau -p_{\theta^\prime}(\tau)}[{P_\theta(\tau)\over P_{\theta^\prime}(\tau)} \nabla_\theta log P_\theta(\tau)R(\tau)] θU=Eτp

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值