文献笔记:Policy Gradient Methods for Reinforcement Learning with Function Approximation

本篇论文讨论了策略梯度方法的函数逼近问题。首先明确策略梯度的目标函数:最大化策略$pi$下的累计回报$ ho(pi)$

[ ho ( pi ) = E left{ sum _ { t = 1 } ^ { infty } gamma ^ { t - 1 } r _ { t } | s _ { 0 } , pi ight}]

上式是初始状态为$s_0$的累计回报表达式,事实上,还可以利用策略生成的平稳状态分布$d^pi(s)$对$ ho(pi)$进行加权:

[ ho ( pi ) = lim _ { n ightarrow infty } frac { 1 } { n } E left{ r _ { 1 } + r _ { 2 } + cdots + r _ { n } | pi ight} = sum _ { s } d ^ { pi } ( s ) sum _ { a } pi ( s , a ) mathcal { R } _ { s } ^ { a }]

为了改进策略,我们希望能够按照$ ho(pi)$的正梯度方向对$pi$函数进行更新。假设$ heta$是策略函数$pi$的参数,本文的第一个基本结论为,无论上面哪种形式的$ ho(pi)$,其梯度都可以被表示为:

[frac { partial ho } { partial heta } = sum _ { s } d ^ { pi } ( s ) sum _ { a } frac { partial pi ( s , a ) } { partial heta } Q ^ { pi } ( s , a )]

该结论表明$ ho(pi)$的梯度不涉及$frac { partial d ^ { pi } ( s ) } { partial heta }$项,而$d ^ { pi } ( s )$是可以通过蒙特卡洛模拟得到的,这将为策略梯度方法的计算提供了极大的便利。

本文的结论2则解决了针对策略梯度的实际计算问题。假设$f_w$是$Q^pi(s,a)$的一个估计,w是逼近器$f_w$的参数,则w的更新方向为:

[Delta w _ { t } propto frac { partial } { partial w } left[ hat { Q } ^ { pi } left( s _ { t } , a _ { t } ight) - ight.f _ { w } left( s _ { t } , a _ { t } ight) ] ^ { 2 } propto left[ hat { Q } ^ { pi } left( s _ { t } , a _ { t } ight) - f _ { w } left( s _ { t } , a _ { t } ight) ight] frac { partial f _ { w } left( s _ { t } , a _ { t } ight) } { partial w }]

当$f_w$达到局部最优时,应该有:

[sum _ { s } d ^ { pi } ( s ) sum _ { a } frac { partial pi ( s , a ) } { partial heta } left[ Q ^ { pi } ( s , a ) - f _ { w } ( s , a ) ight] = 0]

结论2表明如果满足:

[frac { partial f _ { w } ( s , a ) } { partial w } = frac { partial pi ( s , a ) } { partial heta } frac { 1 } { pi ( s , a ) }]

则有:

[frac { partial ho } { partial heta } = sum _ { s } d ^ { pi } ( s ) sum _ { a } frac { partial pi ( s , a ) } { partial heta } f _ { w } ( s , a )]

这样就通过一个对$Q^pi(s,a)$的估计函数$f_w$实现了策略梯度的实际计算。

为了满足$frac { partial f _ { w } ( s , a ) } { partial w } = frac { partial pi ( s , a ) } { partial heta } frac { 1 } { pi ( s , a ) }$,本文说明可以通过对$pi(s,a)$与$f_w(s,a)$的合理构造进行保证,如:

[pi ( s , a ) = frac { e ^ { heta ^ { T } phi _ { s a } } } { sum _ { b } e ^ { heta ^ { T } phi _ { s b } } }]

[frac { partial f _ { w } ( s , a ) } { partial w } = frac { partial pi ( s , a ) } { partial heta } frac { 1 } { pi ( s , a ) } = phi _ { s a } - sum _ { b } pi ( s , b ) phi _ { s b }]

[f _ { w } ( s , a ) = w ^ { T } left[ phi _ { s a } - sum _ { b } pi ( s , b ) phi _ { s b } ight]]

上面的构造表明了,本文的算法是$f_w(s,a)$关于针对状态s特征函数的线性逼),但是$pi(s,a)$函数的选取则可以是多种多样的,可以采用复杂的非线性形式,只要根据上面的式子重新推导即可。

 

最后,本文给出了结论3,表明算法的收敛性,即:

[lim _ { k ightarrow infty } frac { partial ho left( pi _ { k } ight) } { partial heta } = 0]

 

原文地址:https://www.cnblogs.com/statruidong/p/10663988.html