起因#
继续跟着 MIT 6.S191 Lecture 5 学强化学习。上一篇理解了 Return、State Value Function \(V^\pi(s)\) 和 Action Value Function \(Q^\pi(s,a)\)。
接下来要学的是 Bellman Equation。
我之前隐约知道它能把 \(V^\pi(s)\) 写成递归形式——当前状态的长期价值,等于下一步的期望 Reward 加上折扣后下一状态的期望长期价值。但刚准备细看推导时,发现它有一个前提条件:
Markov Property(马尔可夫性质)。
当时的反应是:这个条件在说什么?为什么 Bellman Equation 需要它?
这篇文章不是 Bellman Equation 的推导笔记。我在理解 Markov Property 的过程中,意外地触发了两条跨越不同领域的知识联想。一条联到了十多年前打算法竞赛时熟悉的 DP 无后效性,另一条从 HMM 联到了前段时间学的 VAE。
这篇把这两条联想的来龙去脉记录下来。
Markov Property 到底是什么意思#
先从一个简单的场景想。
一个角色在地图上移动,依次经过了 A、B、C 三个位置,现在站在 C。下一步向右走到 D 的概率是多少?
如果这个环境满足 Markov Property,那么下一步的转移概率只取决于"当前站在 C"和"选择向右走",跟之前是从 A 还是从 B 到达 C 的没有关系。
用数学写出来:
$$ P(S_{t+1} \mid S_t, A_t, S_{t-1}, A_{t-1}, \ldots) = P(S_{t+1} \mid S_t, A_t) $$这里 \(S_t\) 是当前状态,\(A_t\) 是当前动作,左边的条件包含了完整的历史,右边只保留了当前状态和动作。等号成立,就是 Markov Property。
拆一下这个公式里每个符号的含义:
- \(S_t\):当前时刻的状态
- \(A_t\):当前时刻选择的动作
- \(S_{t+1}\):下一时刻的状态
- \(S_{t-1}, A_{t-1}, \ldots\):此前的完整历史
Markov Property 说的是:给定当前状态和动作,未来的状态分布不再依赖更早的历史。
我最开始对这句话有一个误解,以为它是说"未来完全不受过去的影响"。想了一下发现不对——过去的经历当然可以影响未来,但它的影响已经被编码进了当前的状态。只要当前状态足够充分,过去的历史就不再提供额外信息。
这里"足够充分"是关键。看一个反例:
假设地图上有一扇锁着的门,必须持有钥匙才能打开。两个玩家都站在门前(位置相同),但一个之前经过钥匙房间拿了钥匙,另一个没有。
如果状态只记录当前位置,那相同的位置对应完全不同的后续可能——一个能开门,一个不能。Markov Property 不成立。
解决办法是把状态定义得更充分:
$$ S_t = (\text{position}, \text{has\_key}) $$加上"是否持有钥匙"之后,两个玩家的状态就不一样了。在这个扩展后的状态定义下,Markov Property 重新成立。
总结一下 Markov Property 的几个要点:
- 它是一个关于条件概率的性质,不是说转移是确定性的——即使满足 Markov Property,下一状态仍然可以是随机的。
- 它是否成立,取决于状态定义是否充分。同一个问题,换一种状态表示,可能满足也可能不满足。
- 它不是说"历史不重要",而是说"历史中与预测未来有关的信息,已经被当前状态捕获了"。
等等,这不就是 DP 的无后效性吗#
理解 Markov Property 之后,我脑子里冒出来一个想法:
这跟算法竞赛里的"无后效性"不是一回事吗?
打了很多年比赛,DP(动态规划)是我最熟悉的算法之一。老师教 DP 时反复强调的一个前提就是"无后效性":一个子问题的最优解确定之后,不会被此前如何到达这个子问题的路径所影响。
最典型的例子:在一个网格上,从左上角走到右下角,求最大路径和。状态定义为 dp[x][y]——从位置 \((x, y)\) 到终点的最优剩余收益。
当我计算 dp[3][4] 时,不需要知道之前是从 (2,4) 向右走过来的,还是从 (3,3) 向下走过来的。只要知道当前在 \((3, 4)\),后续的最优路径就确定了。
但如果增加一个额外条件:路上有一个只能使用一次的特殊能力(比如穿墙),那 dp[x][y] 就不够了——相同位置的两个玩家,一个用过能力,一个没用过,后续可选的路径完全不同。
解决方法是扩展状态:dp[x][y][used]。
到这里就发现了:算法竞赛里通过增加状态维度消除后效性,和概率模型里把状态定义得更充分以满足 Markov Property,思路是一样的。 两者都在回答同一个问题——当前状态是否包含了决定未来所需的全部信息。
不过还是有区别:
- DP 无后效性通常在确定性环境中讨论,关注的是子问题能否独立求解、状态转移方程能否写出来。
- Markov Property 是概率论中的条件独立性质,描述的是状态转移概率分布与历史的关系。
- Markov Property 不保证状态图无环。MDP 的状态可以循环(比如一个来回踱步的 Agent),这种情况下不能像 DAG 上的 DP 那样简单地一遍递推求解。
但在"状态充分性"这个核心思想上,两者确实高度相通。
Markov 这个词为什么这么熟悉#
第一条联想到这里就结束了。接着出现了第二条。
学 Markov Property 的时候,我觉得"Markov"这个词特别耳熟。回想了一下,想起来了——大概 2017 年接触推荐系统时,听过一个模型叫 Hidden Markov Model(HMM,隐马尔可夫模型)。当时对它的了解仅限于名字,没有深入学过。
既然现在理解了 Markov Property,不如顺便搞清楚 Markov Chain 和 HMM 到底是什么。
先看 Markov Chain(马尔可夫链)。相比 MDP,Markov Chain 更简单——没有 Agent 的动作选择,状态按概率自行转移:
$$ P(S_{t+1} \mid S_t, S_{t-1}, \ldots) = P(S_{t+1} \mid S_t) $$用一个推荐系统的教学例子。假设用户的兴趣状态可以用三个粗粒度类别表示:科技、体育、娱乐。用户当前主要对科技感兴趣,明天的兴趣转移概率如下(数字是教学假设):
- 80% 继续对科技感兴趣
- 15% 转向体育
- 5% 转向娱乐
每个状态都有类似的转移概率分布,所有出边概率之和等于 1。
这就是 Markov Chain——一组状态加上状态之间的转移概率,且转移只依赖当前状态。
注意这里一个容易滑过去的点:即使知道当前状态是"科技",也不能确定下一个状态一定是什么。 我们得到的是一个概率分布,不是一个确定的答案。
到此为止,Markov Chain 的结构很清晰。但有一个问题:
推荐系统真的能直接观测到用户当前的兴趣状态吗?
显然不能。系统能看到的是用户的行为——点了什么文章、看了什么视频、收藏了什么内容。用户真正的兴趣是隐藏的。
这就引出了 HMM。
Hidden Markov Model——状态看不见怎么办#
HMM 在 Markov Chain 的基础上做了一个重要区分:状态本身不可直接观测。
继续用推荐系统的例子。用户的真实兴趣状态——是主要喜欢科技、体育还是娱乐——系统无法直接读取,这是 Hidden State(隐藏状态),记作 \(Z_t\)。
系统能观测到的是用户的行为——点击 AI 新闻、看篮球视频、刷综艺——这是 Observation(观测),记作 \(O_t\)。
HMM 有两个核心假设。
第一个:Hidden State 之间满足 Markov Property。
$$ P(Z_{t+1} \mid Z_t, Z_{t-1}, \ldots) = P(Z_{t+1} \mid Z_t) $$用户明天的兴趣只取决于今天的兴趣,不取决于上周的兴趣变化历史。
第二个:当前 Observation 只依赖当前 Hidden State。
给定用户今天的兴趣状态 \(Z_t\),今天的点击行为 \(O_t\) 不再依赖其他时刻的状态或观测。
这两个假设对应 HMM 中的两组概率:
- Transition Probability(状态转移概率):Hidden State 之间的转移,和 Markov Chain 一样。
- Emission Probability(发射概率):每个 Hidden State 产生特定 Observation 的概率。
Emission Probability 有一个容易忽略的含义:观测到某个行为,不能直接断定用户的 Hidden State。一个喜欢科技的用户也可能偶尔点击篮球视频。观测到"点击体育内容",不等于用户的兴趣状态一定是体育。这种不确定性正是 HMM 需要处理的。
还有一个值得注意的事实:Hidden State 满足 Markov Property,但 Observation 序列通常不满足一阶 Markov Property。 因为每个观测背后都有一个隐藏状态在驱动,今天的观测和昨天的观测之间的关系,实际上是通过隐藏状态间的转移间接建立的。直接看 Observation 序列,前后的依赖关系比一阶 Markov 复杂得多。
HMM 还有一系列算法来解决具体问题——比如 Viterbi 算法推断最可能的隐藏状态序列,Baum-Welch 算法从观测数据学习模型参数——但这些不是我这次联想的重点。
HMM 的 Hidden State 和 VAE 的 Latent Variable#
学到 HMM 的 Hidden State 时,我脑子里又冒出了一个联想。
前段时间学 VAE 的时候,也遇到过一种"看不见的变量"——Latent Variable(潜变量)。
那篇文章里,VAE 假设观测数据 \(x\)(比如一张图片)是由某个潜变量 \(z\) 生成的。\(z\) 不能从数据中直接读出来,但模型假设它存在,并通过它来解释数据的生成过程。VAE 的核心改变是让 Encoder 输出一个概率分布 \(q_\phi(z \mid x)\),而不是一个确定性的点。
于是我的问题是:HMM 的 Hidden State 和 VAE 的 Latent Variable,是同一类东西吗?
是的。
两者都属于 Latent Variable Modeling(潜在变量建模)的思想。核心是一样的:引入一个不能从观测数据中直接读出的随机变量,通过它来解释观测数据的生成过程。
但它们的具体建模结构很不一样。
| HMM | 标准 VAE | |
|---|---|---|
| 潜变量类型 | 通常是离散状态 | 通常是连续向量 |
| 时间结构 | 潜变量随时间变化,形成 Markov Chain | 通常不假设时间序列结构 |
| 潜变量之间的关系 | Markov Transition | 无特定的潜变量间转移 |
| 先验 | 初始状态分布 + 转移矩阵 | 常选 \(p(z) = \mathcal{N}(0, I)\) |
| 从潜变量到观测 | Emission Probability | Decoder \(p_\theta(x \mid z)\) |
| 推断方式 | Forward-Backward 等精确/近似算法 | Encoder \(q_\phi(z \mid x)\) 做近似推断 |
几个容易混淆的点:
- Latent Variable 不等于高斯分布。标准 VAE 选择高斯先验是一种建模选择,不是 Latent Variable 的定义。HMM 的 Hidden State 就不是高斯的。
- “Hidden"和"Latent"不代表完全无法推断。HMM 有成套的算法从 Observation 序列推断 Hidden State,VAE 有 Encoder 做近似后验推断。
- 共享潜变量思想,不代表模型结构相同。 HMM 有时间维度和 Markov 转移,VAE 没有这些约束。不能简单地说 VAE 是"没有时间维度的 HMM”。
这两条联想到这里就完整了。第一条从 Markov Property 联想到 DP 的无后效性,第二条从 Markov 这个术语联想到 HMM,再从 HMM 的 Hidden State 联想到 VAE 的 Latent Variable。两条联想各自独立,不需要合并成一个统一理论。
回到 Bellman Equation#
两条联想走完,回到最初的问题:为什么 Bellman Equation 需要 Markov Property?
先补一个之前跳过的概念。RL 里的环境通常被建模为 MDP(Markov Decision Process)。相比 Markov Chain,MDP 多了 Agent 的 Action 和 Environment 返回的 Reward——但状态转移仍然满足 Markov Property。
Bellman Expectation Equation 长这样:
$$ V^\pi(s) = \mathbb{E}_\pi\bigl[R_{t+1} + \gamma \, V^\pi(S_{t+1}) \mid S_t = s\bigr] $$用人话说:状态 \(s\) 在策略 \(\pi\) 下的长期价值,等于下一步期望拿到的 Reward,加上折扣后下一状态的期望长期价值。
这个递归结构跟 DP 的状态转移很像。
但要注意一个数学细节。Return 的递归分解:
$$ G_t = R_{t+1} + \gamma \, G_{t+1} $$这是代数恒等式——只要 Return 的定义是折扣累加,这个分解就成立,不需要任何额外假设。
真正需要 Markov Property 的地方在于:我们想把 \(\mathbb{E}[G_t \mid S_t = s]\) 写成一个只依赖 \(s\) 的函数 \(V^\pi(s)\)。这要求给定当前状态 \(s\),未来的状态转移和 Reward 不再依赖更早的历史。如果状态表示不够充分——比如上面钥匙的例子——那么同一个 \(s\) 对应的期望 Return 并不唯一,\(V^\pi(s)\) 就无法良好定义。
Markov Property 保证了:当前状态足以决定未来的统计行为,所以长期价值可以压缩为只依赖当前状态的函数,递归计算才成立。
这也是第三章讲的 DP 无后效性在概率框架下的对应——状态充分性使递归分解成为可能。
Bellman Equation 的具体推导和后续的求解方法(Value Iteration、Policy Gradient 等),留给后面单独写。
写在最后#
把这次学习中的两条联想整理一下。
第一条:Markov Property → DP 无后效性。 理解 Markov Property 时发现,它和算法竞赛中的无后效性在数学思想上高度相通——都在说"给定充分的当前状态,未来不需要额外的历史信息"。区别在于一个是概率论的条件独立性质,一个是确定性优化的子问题独立性。
第二条:Markov → HMM → Hidden State → VAE Latent Variable。 从"Markov"这个术语联想到 2017 年听过的 HMM。重新理解 HMM 时,发现它的 Hidden State 和前段时间学 VAE 时遇到的 Latent Variable 属于同一类建模思想——引入不可直接观测的随机变量来解释观测数据。
这两条联想的性质不同。第一条是数学概念之间的相似性。第二条先是术语触发的记忆,再是不同模型共享的建模思想。它们不需要被统一成同一个理论框架。
算法竞赛时熟悉的无后效性,2017 年接触推荐系统时听说过的 HMM,最近学生成模型时遇到的 VAE——这些分散在不同时期、不同领域的概念,在这次学 Markov Property 时自然地重新联系了起来。