G30:Toy POMDP 与一步 Transition Predictor
POMDP 在 MDP 上加入隐藏状态与观察生成过程,Agent 必须用历史形成 belief;一步 transition predictor 若只看当前观察,会在 observation aliasing 下把不同真实状态错误地平均。
内容类型:预习教材(不代表已完成)
日期:2027-03-23
阶段:P3 · AGI Foundations 90
总路线:Day 210 / 360
周次 / 节奏:W5 · 周二最小机制
状态:教材已备;学习未完成
主题:observation aliasing、belief update、memory state 与 learned dynamics
一句话定义
POMDP 在 MDP 上加入隐藏状态与观察生成过程,Agent 必须用历史形成 belief;一步 transition predictor 若只看当前观察,会在 observation aliasing 下把不同真实状态错误地平均。
学习目标
- 能解释 POMDP 的 state、observation、transition、observation model、reward 与 belief。
- 能构造两个隐藏状态共享同一观察、但最佳动作不同的 toy 环境。
- 能手推一次 Bayes belief update,并理解 history encoder 的必要性。
- 能实现或设计 observation-only 与 belief/memory-based 两种一步 predictor 对照。
核心知识
POMDP 可写为 (S,A,T,R,Ω,O,γ),其中隐藏状态 s 决定动力学,Agent 只看到 observation o∈Ω,由 O(o|s,a_prev) 生成。Belief b_t(s)=P(s_t=s|o_≤t,a_<t) 是对隐藏状态的后验分布;在已知模型下,belief 本身可作为 Markov state。
Observation aliasing 指多个真实状态映射到相同观察。例如走廊左右两端都是“灰色房间”,但到目标的正确动作相反。只用当前 o_t 的 reactive policy 无法区分;上一动作或历史地标可以更新 belief。把更长 context 直接喂给模型不自动保证利用了正确历史,需要对记忆进行消融。
一步 predictor 有不同目标:预测 next observation、next latent、reward 或 terminal。若 next observation 在两个隐藏状态下多模态,均方回归可能输出不存在的平均状态。分类分布或 latent belief 更合适,但仍依赖数据覆盖和模型假设。
机制与推导
已知转移和观察模型时,先预测再校正:
[ \bar b_{t+1}(s')=\sum_s T(s'|s,a_t)b_t(s) ]
[ b_{t+1}(s')=\eta,O(o_{t+1}|s',a_t)\bar b_{t+1}(s') ]
η 是归一化常数。动作先把 belief 经 transition 推向新状态,观察再重新加权可能状态。若观察无信息,posterior 接近预测 belief;若观察高度诊断,belief 会集中。
Toy corridor 可设隐藏位置 s∈{L,C,R},观察 o(L)=o(R)=gray,o(C)=marker。动作 left/right 大多确定,偶尔滑动。初始 belief 在 L/R 各 0.5。若先看到 marker 再向右,后续 gray 结合历史可推断更可能在 R;单看 gray 无法知道。
Observation-only predictor 学 p(o_{t+1}|o_t,a_t),会把别名状态混合;memory predictor 学 p(o_{t+1}|h_t,a_t),其中 h_t=f(h_{t-1},o_t,a_{t-1})。对照应在同数据和容量下进行,并包含 history shuffle:若打乱历史性能不变,模型可能没使用 memory。
最小练习或观察步骤
- 画三状态 corridor,明确隐藏 state、observation mapping、action、slip 与 reward。
- 设初始 belief
[0.5,0,0.5],选择一个动作和观察,手推预测与校正两步。 - 构造同为 gray 但最佳动作相反的两个历史,证明 reactive observation 不足。
- 定义 observation-only 与 one-step-memory predictor 的输入输出;可用计数表而非神经网络。
- 设计 history shuffle、oracle-state 和 no-memory 三个对照,写出各自回答的问题。
常见误区与边界
- 将 observation 直接命名为 state,隐藏部分可观测问题。
- 认为更长 context 必然形成正确 belief,不做历史消融。
- 用 MSE 预测多模态 observation,得到不存在的平均。
- 在训练/测试随机切分中重复相同轨迹,夸大 memory 泛化。
- Oracle-state baseline 被当作现实可获得输入。
- Toy belief update 成功就宣称 learned latent 是真实世界因果状态。
研究/系统场景连接
金融账户当前余额不是完整状态:未入账交易、标签延迟、客户意图和外部债务都不可见。历史交易与操作能形成 belief,但它仍是不确定推断,不能冒充真实状态。系统应保留不确定性与人工核验,而非用单点 latent 决定高风险动作。
Agent 工具返回也可能部分可观测:异步任务显示“处理中”,真实后端状态未知。若 Agent 忽略历史 request id,可能重复执行。Belief/state machine 与幂等键能帮助恢复。具身系统更明显:遮挡、传感器漂移和连续动力学会让 belief 成为核心。
自检问题
- POMDP 比 MDP 新增了哪两个核心对象?
- Belief update 为什么先 transition 后 observation correction?
- Observation aliasing 如何证明 reactive policy 信息不足?
- History shuffle 能检验什么?
- 为什么 latent belief 仍不等于真实因果 state?
专业课程对齐
- 参考 Stanford CS234 的 MDP/POMDP 与 planning 基础,把 belief 看作信息状态而非额外标签。
- 阅读 World Models,观察 recurrent memory model 怎样在部分观察下压缩历史。
- 阅读 DreamerV3,关注 latent dynamics 与 imagined trajectory,同时保留 toy POMDP 和大规模系统的范围差异。
深入学习提示
先用三状态、两个观察手算 belief,不要让神经网络代替概念。若继续,可实现 tabular Bayesian filter,再用 RNN state 比较;重点观察何时 history 真正提供区分信息。G31 以后会把一步 predictor扩展到短 horizon planning,本日先把 aliasing、belief 和独立对照打牢。
学后填写区
- 我的 POMDP 定义:
- 一次 belief update:
- 两条同观察异动作历史:
- 三个 memory 对照:
- 不能由 latent 推出的主张: