强化学习的学习之路(四十)_2021-02-09: Actor Critic -Critics as baselines

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

Critics as baselines

前面提到的Actor-Critic方法和Policy Gradient方法各有优劣:Actor-Critic方法方差小但是有偏,Policy-Gradient无偏但是方差大:

image-20210225111621338

那我们就会有有一个想法是说能不能把这两种方法结合起来,形成类似下面的这种形式,在引入value function降低variance的情况下保持unbiased:

image-20210225111742618

传统的Advantage函数如下:

A π ( s t , a t ) = Q π ( s t , a t ) − V π ( s t ) A^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=Q^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-V^{\pi}\left(\mathbf{s}_{t}\right) Aπ(st,at)=Qπ(st,at)Vπ(st)

如果我们用MC的方法来估计Q函数,这个估计是unbiased的,但是由于是single-sample estimate,故而variance比较高:

A ^ π ( s t , a t ) = ∑ t ′ = t ∞ γ t ′ − t r ( s t ′ , a t ′ ) − V ϕ π ( s t ) \hat{A}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-V_{\phi}^{\pi}\left(\mathbf{s}_{t}\right) A^π(st,at)=t=tγttr(st,at)Vϕπ(st)

我们再换成下面这种形式:如果critic是正确的时候, 它的期望应该是零,。
A ^ π ( s t , a t ) = ∑ t ′ = t ∞ γ t ′ − t r ( s t ′ , a t ′ ) − Q ϕ π ( s t , a t ) \hat{A}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-Q_{\phi}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) A^π(st,at)=t=tγttr(st,at)Qϕπ(st,at)
留意到上面一个奏出来的式子相对而言是少了一个bias项, 那么我们是否可以将它补充回来呢? 这 个也就是Q-Prop的思路了,他的第二项就是这么一个目的:
∇ θ J ( θ ) ≈ 1 N ∑ i = 1 N ∑ t = 1 T ∇ θ log ⁡ π θ ( a i , t ∣ s i , t ) ( Q ^ i , t − Q ϕ π ( s i , t , a i , t ) ) + 1 N ∑ i = 1 N ∑ t = 1 T ∇ θ E a ∼ π θ ( a t ∣ s i , t ) [ Q ϕ π ( s i , t , a t ) ] \nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} \mid \mathbf{s}_{i, t}\right)\left(\hat{Q}_{i, t}-Q_{\phi}^{\pi}\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)\right)+\frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} E_{\mathbf{a} \sim \pi_{\theta}\left(\mathbf{a}_{t} \mid s_{i, t}\right)}\left[Q_{\phi}^{\pi}\left(\mathbf{s}_{i, t}, \mathbf{a}_{t}\right)\right] θJ(θ)N1i=1Nt=1Tθlogπθ(ai,tsi,t)(Q^i,tQϕπ(si,t,ai,t))+N1i=1Nt=1TθEaπθ(atsi,t)[Qϕπ(si,t,at)]
接下来我们再引入n-step的形式:

image-20210225112249569

我们发现上面的两种形式刚好是两个极端,前者使用了整条trajectory,后者仅仅使用了一个step,那么是否可以有个折中,从而达到base/variance的tradeoff?

image-20210225112351699

于是我们就得到了下面这种n-step的形式:

A ^ n π ( s t , a t ) = ∑ t ′ = t t + n γ t ′ − t r ( s t ′ , a t ′ ) − V ^ ϕ π ( s t ) + γ n V ^ ϕ π ( s t + n ) \hat{A}_{n}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{t+n} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t}\right)+\gamma^{n} \hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t+n}\right) A^nπ(st,at)=t=tt+nγttr(st,at)V^ϕπ(st)+γnV^ϕπ(st+n)

上一篇:强化学习的学习之路(三十九)_2021-02-08: Actor Critic -Design Decisions
下一篇:强化学习的学习之路(四十一)2021-02-10 Problems in Policy Gradient

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值