Reinforcement Learning 2

1. 两种Policy

强化学习有两种训练方法:

  • On-policy,要学的Agent边学边玩
  • Off-policy,要学的Agent看别人玩

前文讲解的Policy Gradient其实是On-policy的做法,这理解起来很直观:

  • 使用$\pi_\theta$来收集数据。当$\theta$被更新之后,必须重新采样数据。故Policy Gradient需要大量的时间去训练数据

而Off-Policy得目标是:使用$\pi{\theta^{‘}}$收集得样本来训练$\theta$,由于$\pi{\theta^{‘}}$是固定的,故可以反复使用它采集数据。

2. Importance Sampling

  • 在Policy Gradient中,玩一轮游戏可能得全局期望为:

    • $x^i$从$p(x)$中采样,取平均值近似期望。
  • 这里的$p(x)$即为某一个$\tau$出现的概率,当充分采样时,其概率近似$\frac{1}{N}$。

  • 那么假设不从$p(x)$中采集数据,而是从$q(x)$中采集数据且$q(x)$可以是任意得形式,那么可否用从$q(x)$中采集的数据训练$p(x)$下的模型,从而避免多次和环境交互的过程呢?理论上是可行的,涉及到的方法就是重要性采样:

    • 通过巧妙地转换,使得从从$q(x)$中采集的样本获得总期望和$p(x)$下的相等,只是$f(x)$多了一个权重$\frac{p(x)}{q(x)}$。
    • 所以即使不能从$p(x)$中采样数据,也可以通过从$q(x)$中采样来获取期望
  • 理论上,$q(x)$可以采用任何形式的分布,但实际上$q(x)$不能和$p(x)$相差太多,否则还是会出现问题,我们可以通过比较两个期望的方差来得到这一结论

    • 我们通过重要性得到如下等式:

    • 那么,我们现在计算它们的方差,方差的计算公式为:$Var(x) = E(x^2) - [E(x)]^2$

    • 通过对比可以发现,上面两个公式的第二项是相同的,所以最影响方差的出现在第一项的。当$p(x)$和$q(x)$的差距很大时,会导致第一项中的权重系数$\frac{p(x)}{q(x)}$变化剧烈,这就导致方差严重不同。

    • 所以,当从$p(x)$和$q(x)$采样次数足够多时,那么$E{x \thicksim p}[f(x)] = E{x \thicksim q}[f(x)\frac{p(x)}{q(x)}]$还是成立的;但当采样次数不够多的时候,由于从$p(x)$采样和从$q(x)$采样方差相差过大,那么等式相等难以成立。

  • 让我们举一个通俗易懂的例子来解释这件事,如下图

    • 图中,黑线横轴上方$f(x)$值为正,下方为负。$p(x)$和$q(x)$都是长尾分布,所以直观上它们本身的方差就很大
    • 当从$p(x)$中采样时,高概率采集的样本$f(x)$都是在黑线横轴下方的,故期望值应该为负数;而从$q(x)$中采样时,高概率采集的样本$f(x)$值为正,故期望值应该为正数。
    • 这就说明如果$p(x)$和$q(x)$相差过大,那么重要性采样在采样不充分的情况下会导致$E{x \thicksim p}[f(x)] = E{x \thicksim q}[f(x)\frac{p(x)}{q(x)}]$不成立。

3. On Policy to Off-Policy

在On policy的形式下,原始的策略梯度形式为:

那么在加入了重要性采样的方法后,该策略梯度就变成了Off policy的形式,如下:

这里让$\theta^{‘}$作为Actor与环境做互动,给$\theta$做榜样,从而帮助$\theta$采集大量的训练数据。在Off Policy下,当前训练的Actor就无需时刻与环境做互动从而获得训练数据,可通过$\theta^{‘}$所代表的Actor与环境做互动拿到的数据更新$\theta$即可。