蒙特卡罗方法(Monte Carlo, MC)之on policy 和 off policy
概念解释
同轨(on policy)策略:
用于生成采样数据序列的策略和用于实际决策的待评估和改进的策略是一样的。在同轨策略方法中,策略一般是软性的(选中任何一个动作的概率大于某个值),会逐渐逼近一个确定性策略。
【同轨策略算法的蒙特卡罗控制的总体思想依然是GPI,采用首次访问型MC算法来估计当前策略的动作价值函数。由于缺乏试探性出发假设,不能简单通过对当前价值函数进行贪心优化来改进策略,否则就无法试探非贪心的动作。】
离轨(off policy)策略:
用于评估或改进的策略和用于实际决策的待评估和改进的策略是不同的,即生成的数据“离开”了待优化的策略所决定的决策序列轨迹。
基于重要度采样的离轨策略
所有的学习控制方法都面临一个困境:它们希望学到的动作可以使随后的智能体行为是最优的,但是为了探索所有的动作来保证找到最优动作,它们需要采取非最优的行动。如何在解决遵循试探策略采取行动的同时学习到最优策略?
同轨策略实际上是一种妥协-- 他不直接学习最优策略的动作值,而是学习一个接近最优而且仍能进行试探的策略的动作值。另一个直接的方法是直接采用两个策略,一个用来学习并最终成为最优策略,另一个更加有试探性,并用来产生智能体的行动样本。分别为目标策略和行动策略。(其数据来自一个不同的策略,所以离轨策略方法方差更大,收敛更慢)
在如何利用策略b的样本序列来估计策略 \(\pi\)的问题中 ,我们一般使用重要度采样来进行样本序列的转换。
重要度采样是一种在给定来自其它分布的样本的条件下,估计某种分布的期望值的通用方法。在应用到离轨策略中是对回报值根据其估计在目标策略与行动策略中出现的相对概率进行加权,这个相对概率也被称为重要度采样比。
尽管整体的轨迹概率值与MDP的状态转移概率有关,而且MDP的转移概率通常是未知的,但它在分子分母中完全相同,所以可被约分。最终,重要度采样比只与两个策略和样本序列数据相关,而与MDP的动态特性(状态转移概率)无关。在实际估计中,只需要根据重要度采样比来调整回报值并对结果进行平均即可。一种是普通重要度采样,另一种是加权重要度采样。
两种重要度采样方法的区别:(都是基于首次访问方法)
在加权平均的估计中,比例系数在分子与分母中被约分,估计值等于观测到的回报值没有重要度采样比无关(假设采样比不为0)。是b策略下的状态估计值,而不是\(\pi\)策略下的估计值,在统计学意义上是有偏的。
在离线策略方法中,重要性抽样的作用在于根据同一序列在目标策略和行为策略下出现的相对概率对回报进行加权。
重要性采样
重要性采样只是一种让积分计算更加准确的策略方法,不能直接应用来采样,是在针对具体的积分问题。积分可以看做期望的表示,所以将其与期望联系到一起。
对于给定概率分布,要对其进行采样,有以下几种方法:
- 逆采样:产生随机数然后反解,适用于那些比较容易求的分布函数
- Rejective Sampling:找一个比较容易的分布包住这个分布,然后根据产生的点决定是去是留。(主要用到了条件概率)
- 重要性采样:基于上述两种方法(不太好找反函数,接受率可能非常低),引入了一个新分布,将之前所求两个函数的相乘作为求期望的函数的一部分。
从上图中可以看出:如果我们直接对p进行采样,实际上这些样本对应的f(x)都很小,采样数量有限的情况下有可能无法获得f(z)值较大的样本,这样评估的样本期望偏差较大。如果能够找到一个q分布,使得它能在f(x)*p(x)较大的地方采集到样本,就能更好地逼近最终要求的期望,有重要性权重来控制比重,不会导致结果出现过大偏差。
重要性采样是蒙特卡罗方法中的一个重要策略,该方法不改变统计量,只是更改了概率分布,可以用来降低方差。它只是利用一种方法来区分被积函数不同点的重要性,帮助积分更加准确,并不是一种积分方法。借用参考文章中的一句话来帮助理解:Rejective Sampling 采样时通过接受拒绝的方式对通过q(z)得到的样本进行筛选使得最后得到的样本符合想要的分布,每个接受的样本没有高低贵贱之间的区别,一视同仁;而重要性采样的思想是所有得到的样本都接受,但全部接受样本点不能服从目标分布。为了矫正样本全部接受带来的偏差,给每个样本附一个重要性权重,相差大的权重小,相差小的权重大。即有针对性地采样计算,而不是完全随机采样,减少一些无效值的计算。
主要针对的情况是密度函数在各个地方的取值不同,变化快的地方采样多一点会让结果更加准确。这就要求我们在采样x时不是均匀采样,修改了这里的分布(帮助在原函数对积分贡献大的区域获得更多的采样机会,此时采样不是均匀分布的,小矩形的宽并不等长?所以要对其进行加权,权重就是重要性权重)
重要性采样也可以采出来点,而不是单单求均值。
在书上看到一段很好的总结,搬运一下:
离轨策略预测指的是在学习目标策略的价值函数时,使用的是另一个不同的行动策略所生成的数据。这种学习方法基于某种形式的重要度采样,即用在两种策略下观察到的动作的概率的比值对回报进行加权,从而把行动策略下的期望值转化为目标策略下的期望值。普通重要度采样将加权后的回报按照采样幕的总数直接平均,而加权重要度采样则进行过加权平均。普通重要度采样得到的是无偏估计,但具有更大甚至可能是无限的方差。加权重要度采样的方差总是有限的。
参考链接:
重要性采样(Importance Sampling) - 时雨的文章 - 知乎 https://zhuanlan.zhihu.com/p/41217212
https://www.jianshu.com/p/3d30070932a8
https://www.pudn.com/news/6245631a6cd7507199db5aa4.html 【该链接里还介绍了online 和 offline与 on policy和 off policy之间的区别】