TARGET
读完后,你能审计一个 RL 环境:状态是否足够、转移和奖励是否定义完整、终止语义是否会污染学习。
| 对象 | 不是表面定义 | 深层职责 |
|---|---|---|
| S(state) | 不是随手拼的特征向量。 | 它必须压缩历史中对未来决策仍有用的信息。 |
| P(transition) | 不是环境内部代码细节。 | 它定义行动怎样因果地改变下一状态与 reward 的分布。 |
| R(reward) | 不是自然语言目标的同义词。 | 它是被算法逐步优化的数值代理,直接决定最优行为。 |
| γ / terminal | 不是训练超参数小细节。 | 共同定义 return 的时间范围和任务是否有后续未来。 |
1 · THE MARKOV CLAIM
“当前状态足够”是一个可被反例推翻的条件独立假设。
完整历史 ht 包含过去所有状态、动作、reward。若给定 st 与 at 后,历史不再改变下一步分布,状态表示才满足 Markov 性:
| 若状态遗漏 | 同一 s,a 会出现什么矛盾 | 修复方式 |
|---|---|---|
| 门禁任务不含“是否有钥匙” | 相同位置、相同向门移动,可能开门也可能原地不动。 | 把钥匙 bit 编入 state。 |
| 交易任务不含仓位与剩余风险预算 | 相同价格动作的收益/约束不同。 | 加入仓位、成本、时间和预算状态。 |
| 对话 agent 不含已调用工具结果 | 相同文本动作会重复调用或违反已有约束。 | 加入工具 state、记忆摘要,或承认 POMDP。 |
2 · A TRAJECTORY IS A DISTRIBUTION
策略不是只选一个动作;它塑造之后会看见的数据世界。
训练目标 J(π)=Eτ~pπ[G(τ)] 只在这个完整分布下有意义。探索、off-policy、replay、online evaluation 都是围绕“数据来自哪条策略”展开,而不是额外工程花样。
3 · REWARD AND TERMINATION ARE THE SPECIFICATION
算法不会优化你的意图,只会优化你交给它的 return。
| 设计选择 | 会诱导的行为 | 审计问题 |
|---|---|---|
| 每步 −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?
前者可能只是外部训练时间上限,环境的逻辑未来仍存在;一概置零会把本应有的后续价值当成不存在。