pbe近似_强化学习导论(十一)- Off-Policy的近似方法

本文深入讲解强化学习中Off-Policy的函数近似方法,包括off-policy函数近似面临的两大难点及其解决方案。文章讨论了半梯度方法、Semi-gradient TD(0)和Expected Sarsa等算法,强调了致命三因素:Function Approximation、Bootstrapping和Off-policy training,并介绍了可能导致不稳定的反例。此外,还涵盖了线性价值函数几何、Gradient TD方法和降低方差的策略,如Emphatic-TD算法。
摘要由CSDN通过智能技术生成

前两章(9、10 章)已经讲了on-policy 情形下对于函数近似的拓展,本章继续讲解 off-policy 下对函数近似的拓展,但是这个拓展比on-policy时更难更不同。

在第六第七章中讲到的 off-policy 方法可以拓展到函数近似的情况下,但是这些方法在半梯度法下不能像在 on-policy 下一样良好地收敛。

Off-policy 在函数逼近时有两大难点:update target 发生变化。这个问题之前已通过 importance sampling 解决。

update distribution 发生变化,已不再是原先的 on-policy distribution。

要解决上述的第二个难点,有两种方法:通过之前讲的 importance sampling 将 update distribution 转变为 on-policy distribution 。

提出一种不依赖任何特定分布的 true gradient 方法。

11.1 Semi-gradient Methods

这一节主要目的是将 off-policy 下的查表法改造为梯度 / 半梯度法,主要针对第一个难点(变化的 update target)。大多数情况下,这个方法表现良好,少数情况存在发散的情况。

这些算法大多数采用了『单步重要性比例』:

equation?tex=%5Crho_t%5Cdoteq%5Crho_%7Bt%3At%7D%3D%5Cfrac%7B%5Cpi%28A_t%7CS_t%29%7D%7Bb%28A_t%7CS_t%29%7D%5C%5C

semi-gradient off-policy TD(0)

equation?tex=%5Cmathbf%7Bw%7D_%7Bt%2B1%7D%5Cdoteq%5Cmathbf%7Bw%7D_t%2B%5Calpha%5Crho_t%5Cdelta_t%5Cnabla%5Chat%7Bv%7D%28S_t%2C%5Cmathbf%7Bw%7D_t%29%5C%5C

其中episodic and discounted problem:

equation?tex=%5Cdelta_t%5Cdoteq+R_%7Bt%2B1%7D%2B%5Cgamma%5Chat%7Bv%7D%28S_%7Bt%2B1%7D%2C%5Cmathbf%7Bw%7D_t%29-%5Chat%7Bv%7D%28S_t%2C%5Cmathbf%7Bw%7D_t%29%5C%5Ccontinuing and undiscounted problem:

equation?tex=%5Cdelta_t%5Cdoteq+R_%7Bt%2B1%7D-%5Cbar%7BR%7D_t%2B%5Chat%7Bv%7D%28S_%7Bt%2B1%7D%2C%5Cmathbf%7Bw%7D_t%29-%5Chat%7Bv%7D%28S_t%2C%5Cmathbf%7Bw%7D_t%29%5C%5C

semi-gradient Expected Sarsa

equation?tex=%5Cmathbf%7Bw%7D_%7Bt%2B1%7D%5Cdoteq%5Cmathbf%7Bw%7D_t%2B%5Calpha%5Cdelta_t%5Cnabla%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_t%29%5C%5C

其中episodic and discounted problem:

equation?tex=%5Cdelta_t%5Cdoteq+R_%7Bt%2B1%7D%2B%5Cgamma%5Csum_a%5Cpi%28a%7CS_%7Bt%2B1%7D%29%5Chat%7Bq%7D%28S_%7Bt%2B1%7D%2Ca%2C%5Cmathbf%7Bw%7D_t%29-%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_t%29%5C%5Ccontinuing and undiscounted problem:

equation?tex=%5Cdelta_t%5Cdoteq+R_%7Bt%2B1%7D-%5Cbar%7BR%7D_t%2B%5Csum_a%5Cpi%28a%7CS_%7Bt%2B1%7D%29%5Chat%7Bq%7D%28S_%7Bt%2B1%7D%2Ca%2C%5Cmathbf%7Bw%7D_t%29-%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_t%29%5C%5C

这里梯度更新并未使用 importance sampling ,后面会解释。

上面都是针对单步算法,而对于多步算法,无论是 state value 还是 action value ,都需要做 importance sampling 。

n-step semi-gradient Expected Sarsa

equation?tex=%5Cbegin%7Baligned%7D+%5Cmathbf%7Bw%7D_%7Bt%2Bn%7D%26%5Cdoteq%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%2B%5Calpha%5Cprod_%7Bk%3Dt%2B1%7D%5E%7Bt%2Bn%7D%5Crho_k%5Cdelta_%7Bt%3At%2Bn%7D%5Cnabla%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%29%5C%5C+%5Cdelta_%7Bt%3At%2Bn%7D%26%5Cdoteq+G_%7Bt%3At%2Bn%7D-%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%29+%5Cend%7Baligned%7D%5C%5C

其中episodic and discounted problem:

equation?tex=G_%7Bt%3At%2Bn%7D%5Cdoteq+R_%7Bt%2B1%7D%2B%5Ccdots%2B%5Cgamma%5E%7Bn-1%7DR_%7Bt%2Bn%7D%2B%5Cgamma%5En%5Chat%7Bq%7D%28S_%7Bt%2Bn%7D%2CA_%7Bt%2Bn%7D%2C%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%29%5C%5Ccontinuing and undiscounted problem:

equation?tex=G_%7Bt%3At%2Bn%7D%5Cdoteq+R_%7Bt%2B1%7D-%5Cbar%7BR%7D_t%2B%5Ccdots%2BR_%7Bt%2Bn%7D-%5Cbar%7BR%7D_%7Bt%2Bn-1%7D%2B%5Chat%7Bq%7D%28S_%7Bt%2Bn%7D%2CA_%7Bt%2Bn%7D%2C%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%29%5C%5C

n-step semi-gradient tree-backup

第七章还讲过一种不需要 importance sampling 的算法:tree-backup 算法,其半梯度法如下:

equation?tex=%5Cbegin%7Baligned%7D+%5Cmathbf%7Bw%7D_%7Bt%2Bn%7D%26%5Cdoteq%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%2B%5Calpha%5BG_%7Bt%3At%2Bn%7D-%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%29%5D%5Cnabla%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_%7Bt%2Bn-1%7D%29%5C%5C+G_%7Bt%3At%2Bn%7D%26%5Cdoteq%5Chat%7Bq%7D%28S_t%2CA_t%2C%5Cmathbf%7Bw%7D_%7Bt-1%7D%29%2B%5Csum_%7Bk%3Dt%7D%5E%7Bt%2Bn-1%7D%5Cdelta_k%5Cprod_%7Bi%3Dt%2B1%7D%5Ek%5Cgamma%5Cpi%28A_i%7CS_i%29+%5Cend%7Baligned%7D%5C%5C

11.2 Examples of Off-policy Divergence

从本节开始讨论第二类难点,也就是 update distribution 不再是 on-policy distribution 。本节主要是讲了 off-policy 下使用半梯度法导致不稳定或不收敛的反例。

例子的具体情况略过,其结论是,参数

equation?tex=%5Cmathbf%7Bw%7D 更新的稳定性与步长参数

equation?tex=%5Calpha 无关,只需大于 0 即可,而其值的大小只影响参数

equation?tex=%5Cmathbf%7Bw%7D 发散的速度,而非是否发散。

本例的一个特殊点是,它一直在重复一个状态转移来更新

equation?tex=%5Cmathbf%7Bw%7D (这也是实际中可能发生的情况),因为 behavior policy 可能会选择 target policy 永远不会选择的那些 action(此时

equation?tex=%5Crho_t%3D0 ,权重得不到更新)。

还有一个反例——Baird's counterexmaple ,这个例子主要是在说,bootstrapping 和 semi gradient 在非 on-policy 下结合时,会导致发散。

Q-learning 往往是收敛性最好的算法,但仍有使用 Q-learning 也发散的反例,一个解决方案是使 behavior policy 与 target policy 尽量接近(比如将 behavior policy 设为 target policy 的

equation?tex=%5Cvarepsilon -greedy policy )。

11.3 The Deadly Triad

上一节对存在不稳定性的情况举了例子,本节再来做一个归纳总结。

导致不稳定性有三个主要因素,称其为『致命三因素(The Deadly Triad)』:Function Approximation

Bootstrapping

Off-policy training

结论:『当三者同时出现,会导致系统不稳定;只出现两个时则可避免不稳定性。』

关于三者的取舍情况,首先 function approximation 最需要保留,他能够使我们的算法得到足够的扩展和延伸,变得更有泛化能力。

而 bootstrapping 是可以考虑放弃掉的,但代价是牺牲计算效率和数据利用率(bootstrapping 可以利用终止状态之前的数据来进行中途学习,所以效率高)。

最后, off-policy 能够将行为从目标函数分隔开,能够带来一定程度上的便利,但并非是必须的。不过若想要『并行学习』,则一定要使用 off-policy 。

11.4 Linear Value-function Geometry

为了更好理解 off-policy learning 的一些问题,考虑对函数逼近做一些抽象的分析。

设状态空间中的 state-value function 为映射

equation?tex=v%3AS%5Cto+R (大部分的 v 函数并没有具体意义,即不对应任何具体的 policy ) 。

记状态空间为

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值