跳转到内容

蒙特卡洛方法

不需要模型,用采样回报的平均估计 VV 与 QQ。本章讨论首次访问与每次访问、on-policy 与 off-policy(重要性采样)的蒙特卡洛控制,以及方差问题。

蒙特卡洛(MC)方法对"期望回报"做最直接的估计:采样完整回合,用经验平均代替期望。智能体按当前策略跑完整个回合,把每个状态上观察到的实际回报 GtG_t 累加平均:

V(s)←average{ Gt(i):st(i)=s }.V(s) \leftarrow \text{average}\big\{\, G_t^{(i)} : s_t^{(i)} = s \,\big\}.

由大数定律,这个平均收敛到 Vπ(s)V^\pi(s)。它不需要模型(不知道 PP 与 RR 也能估计),也不自举(不用别的状态的估计值来更新,目标 GtG_t 是真实采样值)——这两点是它与 DP 和 TD 的本质区别。

一个回合可能多次经过同一状态。首次访问(first-visit)MC 只用每个回合中第一次到达该状态时的回报;每次访问(every-visit)MC 用每一次经过。两者都收敛到 VπV^\pi,首次访问的估计更"干净"(各样本独立),每次访问样本更多。实践中差异不大。

控制版本交替"用 MC 评估当前策略"与"对估计的价值贪心改进"。直接贪心会丧失探索性,标准做法是用 ϵ\epsilon-soft 策略(ϵ\epsilon-greedy 即其特例),或用 GLIE(greedy in the limit with infinite exploration)序列保证探索逐渐退火、最终收敛到确定性最优策略。

想用行为策略 μ\mu(产生数据)的样本评估目标策略 π\pi(要学的策略),需要修正两个分布的差异。轨迹的重要性权重是逐时间步似然比之积:

ρt:T=∏k=tT−1π(ak∣sk)μ(ak∣sk).\rho_{t:T} = \prod_{k=t}^{T-1} \frac{\pi(a_k \mid s_k)}{\mu(a_k \mid s_k)}.

这个乘积有两个恶名昭著的问题:

  • 方差可能无界:当 π\pi 允许 μ\mu 几乎不会选的动作时,权重可以任意大;权重随轨迹长度指数增长。
  • 两个策略差得越远,方差爆炸得越快,实践中只能处理 μ\mu 与 π\pi 很接近的情形。

加权重要性采样(weighted IS)用 ∑ρG/∑ρ\sum \rho G / \sum \rho 代替 average(ρG)\text{average}(\rho G):引入一点偏差,换取方差有界,实践中几乎总是更好的选择。

MC 的优缺点都来自"用完整回合的真实回报":

  • 无偏:目标 GtG_t 是真实回报的样本,不依赖任何估计——这是它对 TD 的理论优势;
  • 高方差:回报沿整条轨迹累积了所有随机性(环境 + 策略),方差随回合长度增长;
  • 必须等回合结束:每一步都要等到回合终止才能更新,对长回合或持续任务(无终止)不适用。

时序差分(→ 下一章)正是针对后两点改进的:用自举的目标 r+γV(s′)r + \gamma V(s') 换取低方差与在线更新,代价是引入偏差。MC 在实践中更多以"策略梯度里的回报"形式存在(REINFORCE 用完整回报,→ 策略梯度定理与 REINFORCE),而非独立的控制算法。

  • 无偏但高方差,需要回合结束
  • 重要性采样的方差可能无界
  • 加权重要性采样以偏差换方差