2017 Fall CS294 Lecture 4: Policy gradients introduction

看完CS294 Lecture 4,感觉收获好多,满满的都是干货啊。太多精华和亮点了,以至于我些笔记都很有压力,我觉得最好的方法就是对照Lecture 4的PPT一页一页地看并理解。

我先前有一篇博客My Roadmap in Reinforcement Learning ,Karpathy从直觉的角度阐述了Poliy Gradient的思想,如果从严格的数学形式来理解证明,可以看CS294的lecture 4。我截取了三张PPT如下,涵盖了PG的推导,其中的符号含义应该也可以猜到, τ τ 表示的是一条马尔科夫链的trajectory。

这里写图片描述
这里写图片描述
这里写图片描述

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
policy gradient存在的两大问题:

  • high variance
  • slow convergence

high variance主要指的是用reward调制之后的用于反传的gradient存在很大的variance,注意这里的high variance指的是gradient,而不是别的。举一个简单的例子,比如下面会提到的,其中trajectory是一维的(这样比较好画图),如果把reward函数整个加一个constant,理论上最优解应该不变,但是实际中每一次trajectory更新的梯度都会有很大的差别,详细的解释参考CS294视频 (这一讲主要探讨high variance的解决办法)

slow convergence,如果上面的high variance的问题值得是,很难得到很好的反传梯度的话,那么slow convergence指的就是,即便得到了很好的梯度,PG还是收敛很慢。(这一个问题下一讲再讲)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

下面PPT上半部分是PG的high variance 问题。除了图中用的例子来理解,还有一种理解(来自CS321n)就是片面的使用 Tt=1r(st,at) ∑ t = 1 T r ( s t , a t ) 来调制gradient,这样难以关照到不同action的重要性;PPT的下半部分则是PG的slow convergence问题,被Jan Peters和Stefan Schaal在2008年提出的一个natural grading解决。

这里写图片描述

Two tricks for high variance:

  • Causality,也就是利用reward的因果性,不再盲目的累加所有的reward,而是让每一个reward只对当前以及历史的action的gradient进行调制
  • Baseline,baseline的话一般可以减掉平均就好了,但也可以推导出optimal baseline,不过效果和直接减掉平均差别不大。

然后就是PG是一个on-policy,而且每个trajectory才能更新一下,换作是NN,每次更新又比较小,那么这样一来几乎就没有efficiency。对此,可以使用importance sampling(IS)来将PG改写成off-policy,具体就不解释了,可以看PPT。。

更新:

PG是一个on-policy算法的原因是,每次 θ θ 更新之后,都要重新generate samples,这和Q-learning不同(可以重复利用以前旧的 θ θ 生成的样本进行训练)。这里要谨记的是:on-policy和off-policy的本质区别在于,generate samples的policy和update的policy是不是同一个。比如说,Q-learning,它使用的是 ϵ ϵ greedy ( ϵ0 ϵ ≠ 0 )的policy去generate samples,但是被更新 θ θ 的policy却是 ( ϵ=0 ϵ = 0 )的greedy policy,因此是off-policy。

正因为PG是一个on-policy算法,因此它每次更新 θ θ 之后都要重新generate samples,所以它永远不能跳过下图的step 1:

这里写图片描述

这样非常的sample-inefficient。

下面的推导,通过Importance Sampling,使PG成为off-policy,让它能够利用旧的 θ θ 对应的policy所generate的samples。

这里写图片描述

这里写图片描述

下图中的 θ θ 是旧的policy的参数,而 θ θ ′ 则是我们想要更新的,最新的policy的参数,可以看到,通过利用IS,求期望已经与 θ θ ′ policy生成的samples无关了(是在 π(θ) π ( θ ) 对应policy生成的trajectory samples上求的期望)。至此,PG被转化成了off-policy

这里写图片描述

但是,单纯地按照上面推出的式子去算,会有问题,如下。给出的解决办法下面的这个ppt也列出来了,这里就不讲了,在以后讲到natural gradient时会讲到。

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值