【强化学习】随机策略梯度算法(stochastic-policy-gradient)

策略搜索方法相对于值函数法有如下优缺点
优点:

  1. 直接策略搜索方法是对策略 π \pi π进行参数化表示,与值函数方中对值函数进行参数化表示相比,策略参数化更简单,有更好的收敛性。
  2. 利用值函数方法求解最优策略时,策略改进需要求解 a r g m a x a Q θ ( s , a ) argmax_a Q_\theta(s,a) argmaxaQθ(s,a),当要解决的问题动作空间很大或者动作为连续集时,该式无法有效求解。
  3. 直接策略搜索方法经常采用的随机策略,能够学习随机策略。可以将探索直接集成到策略之中。

缺点:

  1. 策略搜索的方法容易收敛到局部最小值。
  2. 评估单个策略时并不充分,方差较大。

一、基础算法推导

本文主要从重要性采样角度进行分析。

策略梯度的目标依旧是最大化累积回报,定义一个参数化策略 π θ \pi_\theta πθ的期望累积回报如下所示
J ( θ ) = E τ ∼ p ( τ ; θ ) = ∫ τ ∼ p ( τ ; θ ) p ( τ ; θ ) r ( τ ) d τ \begin{aligned} J(\theta) = E_{\tau \sim p(\tau;\theta)}&=\int_{\tau\sim p(\tau;\theta)}p(\tau;\theta)r(\tau)d\tau\\ \end{aligned} J(θ)=Eτp(τ;θ)=τp(τ;θ)p(τ;θ)r(τ)dτ
p ( τ ; θ ) p(\tau;\theta) p(τ;θ)表示在策略 π θ \pi_\theta πθ的情况下轨迹 τ \tau τ出现的概率,在计算时无法通过一个不确定参数的分布 p ( τ ; θ ) p(\tau;\theta) p(τ;θ)进行采样,因此通过重要性采样的方式,推导如下所示。
J ( θ ) = ∫ τ p ( τ ; θ o l d ) p ( τ ; θ o l d ) p ( τ ; θ ) r ( τ ) d τ = ∫ τ p ( τ ; θ o l d ) p ( τ ; θ ) p ( τ ; θ o l d ) r ( τ ) d τ = E τ ∼ p ( τ ; θ o l d ) [ p ( τ ; θ ) p ( τ ; θ o l d ) r ( τ ) ] \begin{aligned} J(\theta)&=\int_{\tau}\frac{p(\tau;\theta_{old})}{p(\tau;\theta_{old})}p(\tau;\theta)r(\tau)d\tau\\ &=\int_{\tau}p(\tau;\theta_{old})\frac{p(\tau;\theta)}{p(\tau;\theta_{old})}r(\tau)d\tau\\ &=E_{\tau\sim p(\tau;\theta_{old})}[\frac{p(\tau;\theta)}{p(\tau;\theta_{old})}r(\tau)] \end{aligned} J(θ)=τp(τ;θold)p(τ;θold)p(τ;θ)r(τ)dτ=τp(τ;θold)p(τ;θold)p(τ;θ)r(τ)dτ=Eτp(τ;θold)[p(τ;θold)p(τ;θ)r(τ)]

对上述公式求导,由于策略函数通常是连续可微的良好函数,因此求导和积分符号可以互换。
∇ θ J ( θ ) = ∫ τ ∇ θ p ( τ ; θ ) r ( τ ) d τ = ∫ τ p ( τ ; θ ) p ( τ ; θ ) ∇ θ p ( τ ; θ ) r ( τ ) d τ = ∫ τ p ( τ ; θ ) ∇ θ log ⁡ p ( τ ; θ ) r ( τ ) d τ = E τ ∼ p ( τ ; θ ) [ ∇ θ log ⁡ p ( τ ; θ ) r ( τ ) ] \begin{aligned} \nabla_{\theta}J(\theta)&=\int_{\tau}\nabla_{\theta}p(\tau;\theta)r(\tau)d\tau\\ &=\int_{\tau}\frac{p(\tau;\theta)}{p(\tau;\theta)}\nabla_{\theta}p(\tau;\theta)r(\tau)d\tau\\ &=\int_{\tau}p(\tau;\theta)\nabla_{\theta}\log{p(\tau;\theta)}r(\tau)d\tau\\ &=E_{\tau\sim p(\tau;\theta)}[\nabla_{\theta}\log{p(\tau;\theta)}r(\tau)] \end{aligned} θJ(θ)=τθp(τ;θ)r(τ)dτ=τp(τ;θ)p(τ;θ)θp(τ;θ)r(τ)dτ=τp(τ;θ)θlogp(τ;θ)r(τ)dτ=Eτp(τ;

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值