POMDP 与马尔可夫基础
用于理解 Agent、world model、强化学习与部分可观测决策问题。
一句话总览
马尔可夫性:完整当前状态已经包含预测未来所需的历史。 MDP:Agent 能看见完整状态,因此可依据当前状态选动作。 POMDP:Agent 看不见完整状态,只能用观察、动作和历史推断真实状态。1. 什么是马尔可夫性?
马尔可夫性最核心的说法是:
在知道当前完整状态的前提下,未来不再依赖更早的历史。
设StS_tSt表示时刻ttt的状态,马尔可夫性质写作:
P(St+1∣St,St−1,…,S0)=P(St+1∣St) P(S_{t+1}\mid S_t,S_{t-1},\ldots,S_0)=P(S_{t+1}\mid S_t)P(St+1∣St,St−1,…,S0)=P(St+1∣St)
它不是说历史不重要,而是说有用历史已经被压缩进StS_tSt。
例子:走格子
当前位置:第 5 格 动作:向右走一步若规则固定,下一位置只取决于当前位置和动作,不取决于五分钟前从哪里走来。因为“当前位置”已概括了影响下一步的信息。
2. 马尔可夫链、MDP 与 POMDP
| 模型 | 有状态 | 有动作 | Agent 是否看见完整状态 |
|---|---|---|---|
| 马尔可夫链 | 是 | 否 | 不涉及决策 Agent |
| MDP | 是 | 是 | 是 |
| POMDP | 是 | 是 | 否,只看见部分观察 |
2.1 马尔可夫链
马尔可夫链描述系统自行演化:
今天的天气 → 明天的天气例如,在一个简化模型中,明天天气只依赖今天天气,而不依赖更早天气。它有状态转移,但没有主动选择动作的 Agent。
2.2 MDP:加入动作与奖励
MDP(Markov Decision Process)是在马尔可夫链上加入决策:
M=(S,A,P,R,γ) \mathcal{M}=(\mathcal{S},\mathcal{A},P,R,\gamma)M=(S,A,P,R,γ)
| 记号 | 含义 |
|---|---|
| S\mathcal{S}S | 所有可能的世界状态 |
| A\mathcal{A}A | 所有可能的动作 |
| P(s′∣s,a)P(s'\mid s,a)P(s′∣s,a) | 在状态sss执行动作aaa后到达s′s's′的概率 |
| R(s,a)R(s,a)R(s,a) | 该动作的奖励 |
| γ\gammaγ | 折扣因子,衡量未来奖励的重要性 |
MDP 的转移假设是:
P(St+1∣St,At,历史)=P(St+1∣St,At)P(S_{t+1}\mid S_t,A_t,\text{历史})=P(S_{t+1}\mid S_t,A_t)P(St+1∣St,At,历史)=P(St+1∣St,At)
直观上:完整当前状态加当前动作,就足以决定下一状态的分布。
2.3 POMDP:Agent 看不全世界
POMDP(Partially Observable Markov Decision Process)比 MDP 多了观察:
P=(S,A,P,R,O,Z,γ) \mathcal{P}=(\mathcal{S},\mathcal{A},P,R,\mathcal{O},Z,\gamma)P=(S,A,P,R,O,Z,γ)
| 新增记号 | 含义 |
|---|---|
| O\mathcal{O}O | 观察空间,即 Agent 可能看到的信息 |
| Z(o∣s,a)Z(o\mid s,a)Z(o∣s,a) | 观察模型:真实状态为sss、执行动作后,Agent 看到ooo的概率 |
这里要区分:
真实状态 st:世界实际是什么样 观察 ot:Agent 当前能看见或读到什么真实环境仍可以满足马尔可夫性,但 Agent 看不到完整sts_tst,因此只靠当前观察oto_tot无法可靠预测未来。
3. 状态设计决定“是否马尔可夫”
马尔可夫性依赖状态是否包含关键变量。
例如只写:
机器人在厨房;抽屉关闭。对动作open drawer,结果不确定:
情形 A:抽屉中有钥匙 → 打开后看到钥匙。 情形 B:钥匙已被拿走 → 打开后抽屉为空。原因是状态遗漏了“钥匙在哪里”。因此它不是充分状态。
若扩充为:
机器人位置;抽屉开闭状态;钥匙位置;门锁状态;Agent 是否持钥匙。那么“完整状态 + 当前动作”就更接近足以预测未来,问题重新近似满足马尔可夫性。
状态信息足够完整 → 未来只依赖当前状态和动作 → 马尔可夫 状态遗漏关键变量 → 未来仍依赖遗漏的历史 → 对 Agent 而言不马尔可夫4. 一阶、二阶马尔可夫
通常所说的马尔可夫是“一阶”:
未来只依赖当前状态。P(St+1∣St,St−1,…)=P(St+1∣St) P(S_{t+1}\mid S_t,S_{t-1},\ldots)=P(S_{t+1}\mid S_t)P(St+1∣St,St−1,…)=P(St+1∣St)
二阶马尔可夫则要求当前和前一状态:
P(St+1∣St,St−1,…)=P(St+1∣St,St−1) P(S_{t+1}\mid S_t,S_{t-1},\ldots)=P(S_{t+1}\mid S_t,S_{t-1})P(St+1∣St,St−1,…)=P(St+1∣St,St−1)
在实际建模中,更常见的处理方式不是不断增加“几阶”,而是把必要历史加入状态。例如只记录位置不够时,把“位置 + 速度”作为状态;此时又可用一阶 MDP 表示。
5. belief state:对隐藏状态的概率判断
POMDP 中 Agent 看不见真实状态,需要维护 belief state:
bt(s)=P(st=s∣o1:t,a1:t−1) b_t(s)=P(s_t=s\mid o_{1:t},a_{1:t-1})bt(s)=P(st=s∣o1:t,a1:t−1)
含义是:在看到至今全部观察、并知道自己此前做过的动作后,当前真实状态是sss的概率。
例如:
70%:钥匙在抽屉中 20%:钥匙在其他位置 10%:钥匙已被拿走belief 更新可理解为两步:
预测:旧 belief + 当前动作 → 推测可能的新状态 校正:新观察到来 → 降低与观察不一致的状态概率形式上:
bt+1(s′)∝Z(ot+1∣s′,at)∑sP(s′∣s,at)bt(s) b_{t+1}(s') \propto Z(o_{t+1}\mid s',a_t) \sum_s P(s'\mid s,a_t)b_t(s)bt+1(s′)∝Z(ot+1∣s′,at)s∑P(s′∣s,at)bt(s)
不必死记公式。它表达的就是:
旧的世界猜测 + 刚做的动作 + 新收到的观察 → 更新后的世界猜测若 belief state 足够完整,那么它本身可被当作一个新的“状态”。于是 POMDP 可以转写为 belief-MDP:
当前 belief + 当前动作 → 下一个 belief6. POMDP 与本文的 LLM world model
在From Word to World中,Agent 接收的StS_tSt是文本观察,而不是完整的真实环境状态。
观察:房间里有一个关闭的抽屉。 隐藏信息:抽屉中有什么?钥匙是否已被拿走?门是否锁着?因此论文中的文本环境天然是 POMDP。
论文的 world model 学习:
(S0,A1,S1,…,At)→St+1 (S_0,A_1,S_1,\ldots,A_t)\rightarrow S_{t+1}(S0,A1,S1,…,At)→St+1
即根据历史观察、历史动作和当前动作,预测下一观察。它没有显式维护传统 POMDP 方法中的概率分布btb_tbt,而是把类似的状态估计隐式编码在:
长上下文中的历史 + 模型参数中的环境规律| 传统 POMDP 方法 | 论文中的 LLM world model |
|---|---|
| 显式维护 belief 概率分布 | 隐式编码在上下文与网络表征中 |
| 通常有明确状态变量 | 状态主要是自由文本 |
| belief 更新规则可写出 | 由模型生成行为近似更新 |
| 不确定性可较直接分析 | 不确定性更不透明、更难校准 |
这也解释了 rollout drift:若模型在早期错误判断隐藏状态,后续会把错误预测当作事实继续生成,使动作和状态逐步偏离真实环境。
7. 对 Agent 工程的启示
POMDP 视角下,很多 Agent 失败不一定是不会推理,而是对当前世界状态判断错了。
较实用的系统设计包括:
- 保留足够的行动历史和关键状态。
- 将重要事实写入外部 memory,而非只依赖上下文窗口。
- 在不确定性高时主动调用工具获取新观察。
- 对不可逆动作使用预执行验证和规则约束。
- 通过真实反馈定期校正内部状态,避免长 rollout 漂移。
可以概括为:
world model:用于内部推演、比较候选动作 真实观察:用于校正隐藏状态与限制模拟漂移最简复习
马尔可夫性:当前完整状态已携带有用历史。 MDP:Agent 看得到完整状态。 POMDP:Agent 看不全状态,只能利用历史推断。 belief state:Agent 对隐藏真实状态的概率判断。 LLM world model:以自然语言历史和模型表征,隐式近似状态估计与状态转移。