RL COLLECTION / 03 / DEEP DIVE

Monte Carlo:
完整经历怎样变成价值估计?

MC 不需要环境模型,也不用后继 value 猜未来。它只相信已经发生的整段 return,再以统计平均逼近策略的真实长期价值。

TARGET

学完后,你能分清“完整样本无 bootstrap”与“有限数据低方差”之间的真实取舍。

掌握原理实践含义
Return 作为样本固定策略下,Gt 是 Vπ(st) 的随机样本。必须等 episode 完成,不能在中间构造完整 target。
增量均值不保存历史 G,也能精确维护样本平均。知道 1/N 与固定 α 分别意味着统计估计和持续适应。
MC control评估当前策略,再使策略对 Q 更贪心,同时保证持续探索。解释为什么没有 exploration 就无法发现未试动作。

1 · THE ESTIMAND

MC 要估计的不是“某局拿了多少”,而是该状态下 return 的条件期望。

Vπ(s) = Eπ[Gt | st=s]
Gt = rt+1 + γrt+2 + ··· + γT−t−1rT固定策略 π 下,每次从 s 走到终局都会得到一个不同 G,因为环境和策略可能随机。MC 把这些完整 return 看成同一条件期望的样本。

这就是它的核心诚实性:它从不说“我猜后面会怎样”,而是等后面真的发生。因此 target 不包含 V(s′) 或 Q(s′,a′),没有 bootstrap bias;代价是样本必须终止,且完整回报可能波动很大。

2 · SAMPLE MEAN WITHOUT STORING SAMPLES

增量更新式不是魔法,它是样本均值的代数重写。

若状态 s 已有 n 个 return 样本,旧均值为 Vn(s),新样本为 Gn+1,则:

Vn+1(s) = Vn(s) + 1/(n+1) · [Gn+1 − Vn(s)]新均值 = 旧均值 + “新样本与旧均值的误差”乘以 1/(n+1)。因此只需保存 count 与当前 mean,不需存所有轨迹。
从 s 开始的完整 returncount N(s)更新后 V(s)解释
212第一个样本就是均值。
822+½(8−2)=5等于 (2+8)/2。
535+⅓(5−5)=5等于 (2+8+5)/3。

若把 1/N 换成固定 α,得到指数移动平均:更重视新样本,适合非平稳问题,却不再是所有历史样本的等权均值,也不直接享有经典大数定律的同一解释。

3 · FIRST-VISIT VS EVERY-VISIT

一条 episode 内状态重复出现时,到底数几次?

规则怎样取样为什么有它有限数据差异
First-visit MC一条 episode 中,s 第一次出现后的 G 才更新 s。每局对每个 state 只贡献一份样本,分析干净。样本较少、相关性低。
Every-visit MC每次访问 s 都用对应后缀 G 更新。不浪费重复访问的信息。一局可能贡献多个强相关样本。

两者在通常的无限访问条件下都能收敛到正确 value;不是谁“更正统”。应先明确你在估计哪种访问分布、是否允许同一轨迹的强相关重复计数。

4 · FROM EVALUATION TO CONTROL

MC control 需要解决两个鸡生蛋问题:如何改策略,如何保证仍有数据。

若有 Qπ(s,a),可对每个状态贪心改进 π(s)=argmaxaQ(s,a)。但若立刻纯贪心,未选动作就再也没有新 return,初期偶然错误会被锁死。因此常用 ε-soft 策略:

π(a|s) = 1−ε+ε/|A|(greedy 动作);ε/|A|(其他动作)它保证所有动作仍有正概率,从而有机会持续被采样。随着 ε 逐步减小且仍保持充分探索,可把“探索时的数据需求”和“最终贪心控制”结合。
initialize Q(s,a), returns_count(s,a)
repeat for each complete episode generated by epsilon-soft policy:
    compute every suffix return G backwards
    for each first-visited (s,a):
        Q(s,a) = sample_mean_of_observed_G(s,a)
        policy(s) = epsilon_greedy(Q(s,*))

注意这里评估和改进交织进行;历史数据来自不断变化的策略,所以严格分析需要保证探索与策略改进的安排满足覆盖条件。这也是 MC control 比“固定 π 的 MC evaluation”更微妙的地方。

5 · OFF-POLICY MC AND ITS PRICE

想用行为策略 μ 的旧轨迹评估目标策略 π,必须纠正分布差异。

若一条轨迹由 μ 生成,却要估 π 的 return,可以按两策略对该动作序列给出的概率比加权:

ρt:T−1 = ∏k=tT−1 π(ak|sk) / μ(ak|sk) 这个重要性采样比表示:同一条轨迹在目标策略下有多“像”,在行为策略下有多常见。要求只要 π 会选某动作,μ 也必须以正概率选它(coverage)。
方差爆炸不是小细节

长轨迹上许多概率比相乘,少数极端权重可能支配平均。普通(ordinary)重要性采样在满足条件时可无偏但高方差;加权(weighted)版本通常更稳定但引入有限样本偏差。后续 offline RL 的核心困难之一,就是分布外 action 让这种纠正失控。

6 · BOUNDARIES AND DIAGNOSIS

MC 的失败通常来自“等不到”或“平均不稳”。

现象机制检查可考虑的路线
长任务迟迟无更新完整 G 直到 terminal 才可知。episode 长度与终止比例。TD / n-step / eligibility trace。
曲线方差极大所有未来随机 reward 都进入一个 target。return 分布、异常轨迹、多个 seed。baseline、TD bootstrap、奖励尺度审计。
只学到早期偶然路径策略太快变 greedy,覆盖消失。动作访问计数、ε 日程。GLIE 式探索、显式探索奖励。
off-policy 估计爆炸重要性权重乘积高方差。ρ 的分布与有效样本量。加权 IS、截断、保守 offline 方法。

SELF-CHECK

确认你理解 MC 的信息边界。

01 · MC 为什么不需要 V(s′)?

因为它等完整 episode 后直接观察到 G;G 已含所有未来真实 reward,不需要用后继价值预测未知未来。

02 · 这是否意味着 MC 的 target 一定更好?

不是。它避免 bootstrap bias,却可能有很高方差且不能在线更新;有限样本下不一定优于 TD。

03 · 为什么 off-policy MC 要求 μ 覆盖 π?

若目标策略会走一条 μ 概率为 0 的路径,旧数据中永远没有这类样本,概率比也无从定义,无法凭空评估它。

NEXT

不等终局,怎样也能学习?