RL中的策略优化问题

一、策略迭代

如果使用值函数重新定义强化学习的目标,我们可以得到:RL就是找到最优的策略,使得每一个状态的价值最大化。相当于求解
π ∗ = a r g m a x a q π ∗ ( s , a ) \pi^{*}=argmax_{a}q_{\pi^{*}}(s,a) π=argmaxaqπ(s,a)
而对于每一个状态对应的行为,我们希望找到使其价值最大化的行为:
a ∗ = a r g m a x a q π ∗ ( s , a ) a^{*}=argmax_{a}q_{\pi^{*}}(s, a) a=argmaxaqπ(s,a)

可以看出为了求出最终的结果,我们需要同时更新交织在一起的策略与价值。这个问题有一个解决算法是 策略迭代法。

只要能得到精确的值函数,就可以使用贝尔曼公式求出最优策略,也就是说最优策略满足上面提到的公式2。

二、策略梯度

策略梯度法不采用迂回的方式更新策略,而是直接计算策略可能更新的方向。

回到问题的本质,RL的目标是最大化长期回报期望,于是目标可以写成如下形式:

π ∗ = argmax ⁡ π E τ ∼ π ( τ ) [ r ( τ ) ] \pi^{*}=\operatorname{argmax}_{\pi} E_{\boldsymbol{\tau} \sim \pi(\boldsymbol{\tau})}[r(\boldsymbol{\tau})] π=argmaxπEτπ(τ)[r(τ)]

其中 τ \tau τ 表示使用策略进行交互得到的一条轨迹, r ( τ ) r(\tau) r(τ) 表示这条轨迹的总体回报。由于值函数也是一个函数,我们可以将之表示为策略参数的函数,然后就可以通过求导的方式,使参数沿着梯度上升的方向更新,也就是提升策略了。这就是利用梯度的方法进行策略优化。

算法推导

将上述目标函数用 J ( θ ) J(\theta) J(θ) 表示,将轨迹的期望回报展开,可以得到

J ( θ ) = E τ ∼ π θ ( τ ) [ r ( τ ) ] = ∫ τ ∼ π θ ( τ ) π θ ( τ ) r ( τ ) d τ J(\theta)=E_{\boldsymbol{\tau} \sim \pi_{\theta}(\tau)}[r(\boldsymbol{\tau})]=\int_{\boldsymbol{\tau} \sim \pi_{\theta}(\tau)} \pi_{\theta}(\boldsymbol{\tau}) r(\boldsymbol{\tau}) \mathrm{d} \boldsymbol{\tau} J(θ)=Eτπθ(τ)[r(τ)]=τπθ(τ)πθ(τ)r(τ)dτ

由于策略函数通常是定义良好的函数,所以求导运算可以和积分运算互换,这样可以得到

∇ θ J ( θ ) = ∫ τ ∼ π θ ( τ ) ∇ θ π θ ( τ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值