趋近智
同策略蒙特卡洛方法评估或改进用于生成数据(即情节)的同一策略。例如,同策略控制(如同策略首次访问蒙特卡洛控制)通常使用当前策略的ϵ-贪婪版本来收集经验,然后利用这些经验来改进同一策略。
但是,如果我们想学习与生成数据所用策略不同的策略呢?请看以下情况:
这就是离策略学习的用武之地。在离策略方法中,用于生成数据的策略,称为行为策略(通常用b表示),不同于被评估和改进的策略,后者称为目标策略(通常用π表示)。行为策略b必须进行充分的尝试;具体来说,π在任何状态下可能采取的每个动作,在b下都必须有非零的概率被采取。这被称为覆盖性假设。正式地,如果π(a∣s)>0,那么b(a∣s)>0。
离策略学习的根本困难在于,数据(访问过的状态、采取的动作、获得的奖励)来自受行为策略b支配的交互,但我们希望估计目标策略π的价值函数(Vπ或Qπ)。在时间t之后观察到的回报Gt取决于从时间t起由b采取的动作。如果我们像在同策略方法中那样简单地平均这些回报,我们估计的将是Vb或Qb,而不是Vπ或Qπ。
我们如何纠正这种不匹配?我们需要一种方法来加权在b下观察到的回报,使它们能够代表在π下会发生的情况。
解决这个问题的方法是重要性采样,这是一种通用的统计方法,用于使用从一个分布生成的样本来估计另一个分布的属性。在我们的强化学习背景下,我们希望使用行为策略b生成的回报来估计目标策略π下的预期回报。
其核心是根据轨迹在目标策略下发生的相对概率与在行为策略下发生的相对概率之比,来加权每个回报Gt。这个比率被称为重要性采样比。对于情节中时间t之后发生的状态和动作序列St,At,St+1,At+1,...,ST,重要性采样比ρt:T−1为:
ρt:T−1=∏k=tT−1b(Ak∣Sk)p(Sk+1∣Sk,Ak)∏k=tT−1π(Ak∣Sk)p(Sk+1∣Sk,Ak)请注意,环境动力学p(Sk+1∣Sk,Ak)会抵消,因为我们使用的是无模型方法(我们不知道p)。这大大简化了该比率:
ρt:T−1=k=t∏T−1b(Ak∣Sk)π(Ak∣Sk)这个比率ρt:T−1衡量了观察到的动作序列At,...,AT−1在目标策略π下比在行为策略b下发生的可能性高(或低)多少。
为了使用b生成的情节来估计Vπ(s),我们可以收集每个情节中在时间t首次访问状态s之后的回报Gt。然后,我们用相应的重要性采样比ρt:T−1加权每个回报,并对这些加权回报求平均。这给我们得到了普通重要性采样估计量:
Vπ(s)≈∣T(s)∣∑t∈T(s)ρt:T(t)−1Gt这里,T(s)是所有情节中首次访问状态s的时间步t的集合,而T(t)是包含时间步t的情节的终止时间。
另外,我们可以使用加权重要性采样,这种方法通常具有较低的方差:
Vπ(s)≈∑t∈T(s)ρt:T(t)−1∑t∈T(s)ρt:T(t)−1Gt加权重要性采样提供了一个有偏估计,但由于其较低的方差,在实践中通常更受欢迎,尤其是在重要性采样比率可能变得非常大或非常小的情况下。对于动作价值函数Qπ(s,a),也可以构建类似的估计量。
智能体通过遵循行为策略
b来生成经验(动作、状态、奖励)。重要性采样使得智能体能够利用这些经验来学习价值函数或对应于目标策略π的最优策略。
将其扩展到控制(寻找最优策略)涉及使用重要性采样来估计Qπ(s,a)。目标策略π通常被选择为对当前Q(s,a)估计值采取贪婪行动。然而,行为策略b必须保持试验性(例如,ϵ-软或随机),以确保对可能确定的目标策略提供足够的覆盖。
一种常见设置包含:
然后,我们利用由b生成的情节中的回报Gt,并用重要性采样比ρt:T−1=∏k=tT−1b(Ak∣Sk)π(Ak∣Sk)加权,来更新Qπ(s,a)的估计值。由于π通常是贪婪/确定的,如果Ak是贪婪动作,π(Ak∣Sk)将是1,否则为0。如果目标策略π是确定的,分子中的乘积仅当所有动作Ak(从k=t到T−1)都是根据π的贪婪选择时才变为1。如果b下采取的任何动作根据π是非贪婪的,重要性采样比将变为0,并且该回报对Qπ的估计没有贡献。
尽管功能强大,但重要性采样也带来了自身的挑战。主要问题是方差。如果目标策略和行为策略差异很大,重要性采样比ρt:T−1可能变得非常大或非常小。少数比率可能主导平均值,导致价值估计的高方差和收敛缓慢。这对于长情节尤其成问题,因为该比率是许多步骤的乘积。加权重要性采样在一定程度上帮助缓解了这一点,但方差在离策略蒙特卡洛方法中仍是一个值得重视的问题。
在接下来的章节中,我们将看到时序差分学习方法如何为离策略学习提供替代方案,这些方案通常比蒙特卡洛方法具有更低的方差。然而,理解离策略学习和使用蒙特卡洛方法的重要性采样原理,能打下扎实的基础。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造