RL COLLECTION / 01 / DEEP DIVE

MDP:
RL 不是从算法开始,而是从正确地描述世界开始

马尔可夫决策过程不是五个符号的缩写清单。它是一组关于信息、因果、时间和优化目标的建模承诺;建模错了,后续算法的“收敛”也没有意义。

TARGET

读完后,你能审计一个 RL 环境:状态是否足够、转移和奖励是否定义完整、终止语义是否会污染学习。

对象不是表面定义深层职责
S(state)不是随手拼的特征向量。它必须压缩历史中对未来决策仍有用的信息。
P(transition)不是环境内部代码细节。它定义行动怎样因果地改变下一状态与 reward 的分布。
R(reward)不是自然语言目标的同义词。它是被算法逐步优化的数值代理,直接决定最优行为。
γ / terminal不是训练超参数小细节。共同定义 return 的时间范围和任务是否有后续未来。

1 · THE MARKOV CLAIM

“当前状态足够”是一个可被反例推翻的条件独立假设。

完整历史 ht 包含过去所有状态、动作、reward。若给定 st 与 at 后,历史不再改变下一步分布,状态表示才满足 Markov 性:

P(st+1,rt+1 | ht,at) = P(st+1,rt+1 | st,at)这不是说过去“消失了”;而是过去有用的部分已被编码进 s。正因这条等式,V(s) 与 Q(s,a) 才无需为每段历史各存一个值。
若状态遗漏同一 s,a 会出现什么矛盾修复方式
门禁任务不含“是否有钥匙”相同位置、相同向门移动,可能开门也可能原地不动。把钥匙 bit 编入 state。
交易任务不含仓位与剩余风险预算相同价格动作的收益/约束不同。加入仓位、成本、时间和预算状态。
对话 agent 不含已调用工具结果相同文本动作会重复调用或违反已有约束。加入工具 state、记忆摘要,或承认 POMDP。

2 · A TRAJECTORY IS A DISTRIBUTION

策略不是只选一个动作;它塑造之后会看见的数据世界。

pπ(τ)=p0(s0)∏tπ(at|st)P(st+1,rt+1|st,at)一条轨迹的概率由初始状态、策略随机性和环境随机性共同相乘。改变 π,之后访问到的 states、得到的 rewards 也会改变;这就是 RL 的数据非独立同分布闭环。

训练目标 J(π)=Eτ~pπ[G(τ)] 只在这个完整分布下有意义。探索、off-policy、replay、online evaluation 都是围绕“数据来自哪条策略”展开,而不是额外工程花样。

3 · REWARD AND TERMINATION ARE THE SPECIFICATION

算法不会优化你的意图,只会优化你交给它的 return。

Gt=Σk=0T−t−1γkrt+k+1奖励函数、折扣 γ 和终止时间 T 共同定义了真实优化目标。改变任意一项,不只是“让训练更稳”,而是在改变什么算成功。
设计选择会诱导的行为审计问题
每步 −1、终点 +10偏好短路径,但也会权衡风险。是否存在通过提前终止逃避步成本的漏洞?
只奖励最终成功目标对齐直观,credit assignment 困难。随机探索能否在预算内看到成功样本?
加入 shaping reward学习信号更密,但可能学会钻代理漏洞。shaping 是否改变了原任务最优策略?
time limit 截断限制计算长度,不一定表示任务自然结束。该 transition 的 bootstrap 应为 0 吗,还是应保留未来价值?

4 · ENVIRONMENT CONTRACT

一个可学习环境至少要让算法拿到足够、语义一致的 transition。

next_state, reward, terminated, truncated, info = env.step(action)

# terminated: 任务在定义上结束,future return = 0
# truncated: 外部时间/资源上限,是否 bootstrap 取决于建模
# info: 可诊断信息;不能偷偷成为 agent 未见的“状态真相"

Info leakage 是常见隐藏错误:评估或训练逻辑从 info 读取 agent 实际看不到的未来/隐藏状态,模型表面成功但任务已被泄漏。相反,若 agent 只能看 observation 而 observation 非 Markov,就不应把它伪装为完整 state。

5 · WHEN AN MDP IS NOT ENOUGH

部分可观测不是失败;错误地假装状态充分才是失败。

在 POMDP 中,真实 state 存在但 agent 只看 observation o。常见路径是维护 belief(对隐藏 state 的后验分布),或用 RNN / Transformer memory 将历史压缩为内部状态。此时价值真正依赖的是 belief 或历史表示,而不只是当前观测帧。

建模验收标准

对任意两个历史,如果你的 state encoder 给出同一 s,却存在某个动作使下一状态/reward 分布显著不同,state 不充分。先修 state 或承认 POMDP,再讨论换 PPO、DQN 或更大模型。

SELF-CHECK

把 MDP 当作可证伪的建模假设。

01 · 为什么“上一动作”有时必须放进 state?

若系统存在动量、冷却、重复惩罚或工具调用副作用,上一动作会改变未来分布;不编码它就可能破坏 Markov 性。

02 · reward 设计正确,是否就保证学到想要的行为?

不保证。还要看状态可观测性、探索覆盖、函数表示、优化稳定性和评估是否与部署一致;reward 只是目标规格的一部分。

03 · truncated 为什么不总等于 terminated?

前者可能只是外部训练时间上限,环境的逻辑未来仍存在;一概置零会把本应有的后续价值当成不存在。