Importance Sampling and TRPO
背景 在看《Bayesian models of cognition》时候,偶然看到了Importance Sampling的介绍,然后我就突然回忆起TRPO算法中,运用到了这个思路: 回忆:将理论上的新策略总收益迭代表达中,新策略($\tilde \pi$: policy being optimized)下的环境转移分布为权重的优势平均项,近似为行动策略($\pi$ : policy acting on env.)下的环境转移分布为权重的优势平均。 $$ L_\pi(\tilde \pi)=\eta(\pi) +\sum_{s\in \mathcal S}\rho_{\pi}(s)\sum_{a\in\mathcal A}\tilde \pi(a|s)A_\pi(s,a) $$ 最大化$L_\pi(\tilde \pi)$其实就是最大化等式右边的第二项:$\sum_{s\in \mathcal S}\rho_{\pi}(s)\sum_{a\in\mathcal A}\tilde \pi(a|s)A_\pi(s,a)$ 将该算法可工程化:基于数据的优化。利用行动策略$\pi$在环境中rollout数据,加上一个策略变化的KL限制,问题变为如下: $$ \max _{\theta} \ L _{\theta _{\text{old}}}(\theta) \quad \text{s.t.} \quad \overline{D} _{\text{KL}}^{\rho _{\theta _{\text{old}}}}(\theta _{\text{old}}, \theta) \le \delta $$ 观察第二个求和项: $$ \sum_{a\in\mathcal A}\tilde \pi(a|s)A_\pi(s,a) $$ 其含义是待优化策略分布下,行动策略和环境交互过程中得到的优势的期望。但是在此时此刻,我们并不清楚待优化的策略分布是什么,跟当前的策略有什么变化,所以该部分无从求解。重要性采样(Importance Sampling)就是在这个时刻发挥了作用。我们无法预知整个$\pi$的分布,但是单点的计算是可以知道的$\pi(a_t|s_t)$:这一步可以叫做新策略下的老行动评估,实际的做法就是利用环境数据$s_t$产生高斯分布的期望和方差,构建一个分布,例如MultivariateNormal,然后基于这个分布计算行动$a_t$的单点概率。 $$ \sum _a \pi _\theta(a|s_n) A _{\theta _{\text{old}}}(s_n, a) = \mathbb{E} _{a \sim q} \left[ \frac{\pi _\theta(a|s_n)}{q(a|s_n)} A _{\theta _{\text{old}}}(s_n, a) \right] $$ ...