RL系列On-Policy与Off-Policy
Posted jinyublog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RL系列On-Policy与Off-Policy相关的知识,希望对你有一定的参考价值。
强化学习大致上可分为两类,一类是Markov Decision Learning,另一类是与之相对的Model Free Learning
分为这两类是站在问题描述的角度上考虑的。同样在解决方案上存在着两种方法对应着这两类问题描述,即Dynamic Programming(DP)和Stochastic Method,其中DP方法可以分为Policy Iteration与Value Iteration,统计方法皆以Monte Carlo为基础,延申后产生Temporal-Difference(TD)与TD($lambda$)算法,并可再细分为on-policy的SARSA算法与off-policy的Q-learning。依据这个分类规则,可以发现所谓的on-policy与off-policy皆是出现在统计方法之中,且以Monte Carlo作为实现基础的,但实际上DP方法使用的也大都是on-policy策略,这其中包括了epsilon-greedy,UCB和Softmax。可以从之前我们对这几种动作选择策略的分析上找出一些关于on-policy的共同点,将其列举出来:
- 都属于软策略(soft-policy),即没有动作的选择概率为0
- 在学习过程中,使用前一次迭代更新的动作选择策略作为本次迭代的动作选择策略
可以发现on-policy中的动作选择策略是随迭代在试验中不断更新的,而off-policy与之不同之处便在于此。关于on-policy与off-policy的区别在Sutton书中有这么一段描述:
The on-policy approach in the preceding section is actually a compromise—it learns action values not for the optimal policy, but for a near-optimal policy that still explores. A more straightforward approach is to use two policies, one that is learned about and that becomes the optimal policy, and one that is more exploratory and is used to generate behavior.
前一句话表明on-policy算法是在保证跟随最优策略的基础上同时保持着对其它动作的探索性,对于on-policy算法来说如要保持探索性则必然会牺牲一定的最优选择机会。后一句话表明,有一个更加直接的办法就是在迭代过程中允许存在两个policy,一个用于生成学习过程的动作,具有很强的探索性,另外一个则是由值函数产生的最优策略,这个方法就被称作off-policy。
off-policy与重要性采样(Importance Sampling)密不可分,虽然这其中的逻辑并不复杂,但初学时确实有些难理解,尤其是在Sutton书中突然出现Importance Sampling的概念,而且并没有很多解释。Importance Sampling主要的作用在于通过一个简单的可预测的分布去估计一个服从另一个分布的随机变量的均值。在实际应用off-policy时,迭代过程通常会有两个策略,一个是Behavior policy,用于生成学习过程所需要选择的动作,这一个简单的,探索性非常强的关于动作选择的分布,另一个是Target policy,这是我们最终希望得到的最优动作选择分布。应用Importance Sampling之处在于通过Behavior policy去估计Target policy可能反馈回来的收益的均值,即用一个简单分布去估计服从另一个分布的随机变量的均值。由于Monte Carlo方法主要应用离散随机变量问题,所以我们也以离散随机变量为例解释如何实现Importance Sampling。
假设一个随机变量$ A_1 $服从离散分布$ P $,另一个随机变量$ A_2 $服从离散分布$ Q $,其中$ P = {p_1, p_2, ..., p_n } $,$ Q = {q_1, q_2, ..., q_n} $。离散随机变量$A_1$可以写为$ A_2 = {x_1, x_2, ..., x_n} $,$A_2$中每个元素出现的概率都对应这离散分布$ P $,随机变量$ A_2 $也同样写为$ A_2 = {x_1, x_2,..., x_n} $,但其元素出现的概率对应离散分布$ Q $。依据这个基本假设,我们可以写出期望$ E[A_1] $与期望$ E[A_2] $:
$$ E[A_1] = sum_{i = 1}^{n} x_i p_i $$
$$ E[A_2] = sum_{i = 1}^{n} x_i q_i $$
如使用统计方法去估计随机变量$ A_1 $与随机变量$ A_2 $的均值$ M[A_1] $与$ M[A_2] $,可以写为(均试验N次):
$$ M[A_1] = frac{1}{N}(x_1 K_1 + x_2 K_2 + .... + x_n K_n) $$
$$ M[A_2] = frac{1}{N}(x_1 M_1 + x_2 M_2 + .... + x_n M_n) $$
以上是关于RL系列On-Policy与Off-Policy的主要内容,如果未能解决你的问题,请参考以下文章