强化学习的学习之路(四十三)2021-02-12 Monotonic Improvement Theory(策略的单调提升)

作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学习的基础知识,后面也会更新强化学习的论文阅读专栏。本来是想每一篇多更新一点内容的,后面发现大家上CSDN主要是来提问的,就把很多拆分开来了(而且这样每天任务量也小一点哈哈哈哈偷懒大法)。但是我还是希望知识点能成系统,所以我在目录里面都好按章节系统地写的,而且在github上写成了书籍的形式,如果大家觉得有帮助,希望从头看的话欢迎关注我的github啊,谢谢大家!另外我还会分享深度学习-基础知识专栏以及深度学习-论文阅读专栏,很早以前就和小伙伴们花了很多精力写的,如果有对深度学习感兴趣的小伙伴也欢迎大家关注啊。大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!不要高估一年的努力,也不要低估十年的积累,与君共勉!

Monotonic Improvement Theory(策略的单调提升)

在这一部分,我们希望能找到一种方法,使得策略模型在优化的过程中单调提升,要做到这一点,我们首先要解决的一个问题就是怎么衡量两个策略(更新前和更新后的策略)之间的差异:

J ( θ ′ ) − J ( θ ) = J ( θ ′ ) − E s 0 ∼ p ( s 0 ) [ V π θ ( s 0 ) ] = J ( θ ′ ) − E τ ∼ p θ ′ ( τ ) [ V π θ ( s 0 ) ] = J ( θ ′ ) − E τ ∼ p θ ′ ( τ ) [ ∑ t = 0 ∞ γ t V π θ ( s t ) − ∑ t = 1 ∞ γ t V π θ ( s t ) ] = J ( θ ′ ) + E τ ∼ p θ ′ ( τ ) [ ∑ t = 0 ∞ γ t ( γ V π θ ( s t + 1 ) − V π θ ( s t ) ) ] = E τ ∼ p θ ′ ( τ ) [ ∑ t = 0 ∞ γ t r ( s t , a t ) ] + E τ ∼ p θ ′ ( τ ) [ ∑ t = 0 ∞ γ t ( γ V π θ ( s t + 1 ) − V π θ ( s t ) ) ] = E τ ∼ p θ ′ ( τ ) [ ∑ t = 0 ∞ γ t ( r ( s t , a t ) + γ V π θ ( s t + 1 ) − V π θ ( s t ) ) ] = E τ ∼ p θ ′ ( τ ) [ ∑ t = 0 ∞ γ t A π θ ( s t , a t ) ] \begin{aligned} J\left(\theta^{\prime}\right)-J(\theta) &=J\left(\theta^{\prime}\right)-E_{\mathbf{s}_{0} \sim p\left(\mathbf{s}_{0}\right)}\left[V^{\pi_{\theta}}\left(\mathbf{s}_{0}\right)\right] \\ &=J\left(\theta^{\prime}\right)-E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[V^{\pi_{\theta}}\left(\mathbf{s}_{0}\right)\right] \\ &=J\left(\theta^{\prime}\right)-E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t} V^{\pi_{\theta}}\left(\mathbf{s}_{t}\right)-\sum_{t=1}^{\infty} \gamma^{t} V^{\pi_{\theta}}\left(\mathbf{s}_{t}\right)\right] \\ &=J\left(\theta^{\prime}\right)+E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t}\left(\gamma V^{\pi_{\theta}}\left(\mathbf{s}_{t+1}\right)-V^{\pi_{\theta}}\left(\mathbf{s}_{t}\right)\right)\right] \\ &=E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t} r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]+E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t}\left(\gamma V^{\pi_{\theta}}\left(\mathbf{s}_{t+1}\right)-V^{\pi_{\theta}}\left(\mathbf{s}_{t}\right)\right)\right] \\ &=E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t}\left(r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\gamma V^{\pi_{\theta}}\left(\mathbf{s}_{t+1}\right)-V^{\pi_{\theta}}\left(\mathbf{s}_{t}\right)\right)\right] \\ &=E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t} A^{\pi_{\theta}}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right] \end{aligned} J(θ)J(θ)=J(θ)Es0p(s0)[Vπθ(s0)]=J(θ)Eτpθ(τ)[Vπθ(s0)]=J(θ)Eτpθ(τ)[t=0γtVπθ(st)t=1γtVπθ(st)]=J(θ)+Eτpθ(τ)[t=0γt(γVπθ(st+1)Vπθ(st))]=Eτpθ(τ)[t=0γtr(st,at)]+Eτpθ(τ)[t=0γt(γVπθ(st+1)Vπθ(st))]=Eτpθ(τ)[t=0γt(r(st,at)+γVπθ(st+1)Vπθ(st))]=Eτpθ(τ)[t=0γtAπθ(st,at)]

在这里我们稍微介绍一些上面的证明做了:

  • 第一行:将old policy展开为对它生成的trajectory的期望。
  • 第二行:由于两个策略关于价值函数的expectation是相同的,所以可以将对old policy的期望转化为new policy的期望,这是这里转化的最关键一步。
  • 在三到四步,做了一个简单的构造,
  • 在第五步将new policy拆分,由于两个部分都转化为关于new policy的expectation,所以就可以将它们合并,则可以得到最终的关系式。

也就是说,我们的新策略与旧策略的差就是旧策略的advantage关于新策略的trajectory的expectation。这个时候,如果按照policy iteration的流程,在improvement中,也就只需要使得每步提升最大,找到新的parameter使得下面的这个式子最大化即可。

J ( θ ′ ) − J ( θ ) = E τ ∼ p θ ′ ( τ ) [ ∑ t γ t A π θ ( s t , a t ) ] J\left(\theta^{\prime}\right)-J(\theta)=E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t} \gamma^{t} A^{\pi_{\theta}}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right] J(θ)J(θ)=Eτpθ(τ)[tγtAπθ(st,at)]

然后我们对后面一项进行重要性采样:

E τ ∼ p θ ′ ( τ ) [ ∑ t γ t A π θ ( s t , a t ) ] = ∑ t E s t ∼ p θ ′ ( s t ) [ E a t ∼ π θ ′ ( a t ∣ s t ) [ γ t A π θ ( s t , a t ) ] ] = ∑ t E s t ∼ p θ ′ ( s t ) [ E a t ∼ π θ ( a t ∣ s t ) [ π θ ′ ( a t ∣ s t ) π θ ( a t ∣ s t ) γ t A π θ ( s t , a t ) ] ] \begin{aligned} E_{\tau \sim p_{\theta^{\prime}}(\tau)}\left[\sum_{t} \gamma^{t} A^{\pi_{\theta}}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right] &=\sum_{t} E_{\mathbf{s}_{t} \sim p_{\theta^{\prime}}\left(\mathbf{s}_{t}\right)}\left[E_{\mathbf{a}_{t} \sim \pi_{\theta^{\prime}}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left[\gamma^{t} A^{\pi_{\theta}}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]\right] \\ &=\sum_{t} E_{\mathbf{s}_{t} \sim p_{\theta^{\prime}}\left(\mathbf{s}_{t}\right)}\left[E_{\mathbf{a}_{t} \sim \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left[\frac{\pi_{\theta^{\prime}}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}{\pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)} \gamma^{t} A^{\pi_{\theta}}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]\right] \end{aligned} Eτpθ(τ)[tγtAπθ(st,at)]=tEstpθ(st)[Eatπθ(atst)[γtAπθ(st,at)]]=tEstpθ(st)[Eatπθ(atst)[πθ(atst)πθ(atst)γtAπθ(st,at)]]

我们发现前面一项还是存在新策略的expectation的问题,使得这个问题就变得异常复杂,那么我们能不能在这里直接把新策略替换成旧策略呢?这样我们就可以根据旧策略去算这个值了:
在这里插入图片描述

这里我们有一个假设或者可以说是一个先验,也就是当我们的新策略与旧策略比较接近时,我们得到的 p θ ( s t ) p_{\theta}\left(\mathbf{s}_{t}\right) pθ(st) p θ ′ ( s t ) p_{\theta^{\prime}}\left(\mathbf{s}_{t}\right) pθ(st)就会比较接近,那么我们就可以对前面两项期望做替换。

那么我们现在就来证明它:

  • 首先证明确定性策略的情况下:

在这里插入图片描述

  • 接着证明策略是任意分布下的情况:

在这里插入图片描述

​ 最终也就得到了一个bound,只要两个policy在policy space足够相近,那么就可以直接对expectation进行替换,进行policy improvement,同时能够有收敛保证:
θ ′ ← arg ⁡ max ⁡ θ ′ ∑ t E s t ∼ p θ ( s t ) [ E a t ∼ π θ ( a t ∣ s t ) [ π θ ′ ( a t ∣ s t ) π θ ( a t ∣ s t ) γ t A π θ ( s t , a t ) ] ] \theta^{\prime} \leftarrow \arg \max _{\theta^{\prime}} \sum_{t} E_{\mathbf{s}_{t} \sim p_{\theta}\left(\mathbf{s}_{t}\right)}\left[E_{\mathbf{a}_{t} \sim \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left[\frac{\pi_{\theta^{\prime}}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}{\pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)} \gamma^{t} A^{\pi_{\theta}}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right]\right] θargθmaxtEstpθ(st)[Eatπθ(atst)[πθ(atst)πθ(atst)γtAπθ(st,at)]]
​ such that ∣ π θ ′ ( a t ∣ s t ) − π θ ( a t ∣ s t ) ∣ ≤ ϵ \left|\pi_{\theta^{\prime}}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)-\pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right| \leq \epsilon πθ(atst)πθ(atst)ϵ, for small enough ϵ , \epsilon, ϵ, this is guaranteed to improve J ( θ ′ ) − J ( θ ) J\left(\theta^{\prime}\right)-J(\theta) J(θ)J(θ)

上一篇:强化学习的学习之路(四十二)2021-02-11 Issues of Importance Sampling
下一篇:强化学习的学习之路(四十四)2021-02-13 Monotonic Improvement with KL Divergence

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值