增强学习笔记 第十三章 策略梯度方法

我们通过参数θ定义偏好函数$h(s,a,\theta)$,通过h的softmax表示$\pi(a|s)$,然后根据$\pi(a,s)$计算优劣度$\eta(\theta)=v_{\pi_{\theta}}(s_0)$,最后,通过计算$\eta$对$\theta$的梯度,来实现$\theta$的更新。

13.1 策略梯度定理

定义策略优劣度:$\eta(\theta)=v_{\pi_{\theta}}(s_0)$

可以证明:

注意上面证明过程中$d_{\pi}(s)=\displaystyle\sum_{k=0}^{\infty}\gamma^k Pr(s_0\to s,k,\pi)$,表示按照策略π从起始状态$s_0$到达状态s的总可能性,并且根据步数作了折扣。这个值非常地不直观,也不利于下面的推导。因此我不用d这个变量。

 

13.3 MC的策略梯度方法

书中推导过程有些晦涩,这里我用更直观的方式来表达:

$\nabla\eta(\theta)=\displaystyle\sum_s\sum_{k=0}^{\infty}\gamma^k Pr(s_0\to s,k|\pi)\sum_a\nabla\pi(a|s)q_{\pi}(s,a)$

$=\displaystyle\sum_s\sum_{k=0}^{\infty}\sum_a Pr(s_0\to s,k|\pi)\pi(a|s)\frac{\nabla\pi(a|s)}{\pi(a|s)}\gamma^k q_{\pi}(s,a)$

$=\displaystyle\sum_s\sum_{k=0}^{\infty}\sum_a Pr(s_0\to s,a,k|\pi)\pi(a|s)\frac{\nabla\pi(a|s)}{\pi(a|s)}\gamma^k q_{\pi}(s,a)$

其中$Pr(s_0\to s,a,k|\pi)$表示在策略π下,k步达到s且采取a的概率。

而$G_k$恰好是$q(s,a)$的采样,表示从k往后平均能获得多少总奖励

$=E_{\pi}[\frac{\nabla\pi(a|s)}{\pi(a|s)}\gamma^k G_k]$ (这里表达不严格,因为k是积分变量)

 

梯度算出来之后,就有了迭代更新式(梯度上升):

 

 对线性模型+softmax的偏好函数来说,我们有:

13.4 基线

为了减少学习的方差,我们引入基线函数$b(s)$

$b(s)$可以取任何值,任何函数,只要不和a相关,就不影响上面式子的结果。因为:

但是,对于随机梯度下降来说,因为我们是根据一个一个取样来实现梯度上升,引入基函数可以极大地减少更新时的波动。更精确地,当

$b(s)=E_a[q_{\pi}(s,a)]=v(s)$时,方差将最小。

因此,我们在改进η的同时,我们也要设法计算$v(s)$,因此我们引入一个新的参数w来计算$v(s)$

θ的迭代更新式为:

 

13.5 Actor-Critic方法

上面使用MC方法,为了改善学习性能,我们介绍TD方法。这时候,value函数不仅用来当baseline,还要用来backup。下面是TD(0)的迭代更新式:

结合前一章资格迹,TD(λ)的算法如下:

 

 

 13.6 连续问题的策略梯度方法

连续问题中,η定义为每一步的平均收益:

其中$d_{\pi}(s)$为状态$s$出现的比例

 

posted on 2017-10-08 22:33  米老虎M  阅读(1968)  评论(0编辑  收藏  举报

导航