2.2 MDP 与马尔可夫性
本节导读
核心内容
- 掌握 MDP 五元组如何描述状态、动作、转移、奖励和折扣。
- 理解动作为什么会把智能体带到新的状态,使单步选择变成序列决策。
- 理解马尔可夫性为什么要求当前状态包含预测下一步所需的信息。
上一节通过多臂老虎机建立了最小的强化学习交互:智能体选择动作,环境返回奖励,智能体再根据奖励更新对动作的判断。老虎机剥离了状态变化——不管上一轮选了什么,下一轮面对的局面都一样。这个简化让我们先看清了探索与利用。
但真实任务不是这样。CartPole 里你推一下车,杆子角度会变;游戏里你走一步,地图位置会变;大模型生成一个词,后面的上下文也会变。你不能只回答”哪个动作更好”,还得回答”在当前这个局面下,哪个动作更好”——而且回答完之后局面又变了,你得在新局面下重新决策。问题从”哪个按钮平均更好”升级成了”局面不断变化中的连续决策”。
要描述这类问题,需要一套更完整的数学框架——马尔可夫决策过程(Markov Decision Process, MDP)。它不是抽象包装,而是把”动作会改变下一步局面”这件事写成了精确的数学语言: 说清现在看到了什么, 说清能做什么, 说清做完以后世界怎么变, 说清得多少分, 说清未来分数还值多少。
本节在这个最小循环中加入状态变化。MDP 五元组说明智能体当前处在什么状态、能够做什么,以及动作之后环境怎样变化并给出奖励;马尔可夫性进一步说明什么样的信息才足以构成状态。
具体来说,本节回答三个问题:当前局面怎样表示、动作之后环境怎样变化、为什么只看当前状态就足以描述下一步。环境规则建立以后,下一节再加入策略、轨迹、回报和价值。
核心概念
MDP 是强化学习的标准建模语言。几乎所有 RL 算法——从 Q-learning 到 PPO,再到大模型的 RLHF——都建立在 MDP 框架之上。老虎机是 MDP 的退化特例(只有一个状态、无转移),而 CartPole、Atari、LLM 生成则是完整的 MDP。
核心公式
马尔可夫决策过程 (Markov Decision Process):
- :状态空间(State Space),所有可能局面的集合。
- :动作空间(Action Space),所有可能采取的操作的集合。
- :状态转移概率(Transition Probability),描述环境的物理规律。
- :奖励函数(Reward Function),描述环境对动作的打分规则。
- :折扣因子(Discount Factor),决定智能体有多”短视”或”远视”。
马尔可夫性 (Markov Property):
- :当前状态,必须包含预测下一步所需的信息。
- :当前执行的动作。
- :动作之后到达的下一状态。
- 等式表示:当前状态完整时,更早的历史不会为下一状态提供额外信息。
MDP 五元组
一个 MDP 由五个要素定义,写作 。这五个要素环环相扣,构成一个完整的决策循环:你在某个局面()下做了一个选择(),世界因此变了(),你得到了反馈(),然后进入下一个局面,继续循环——而 决定了你有多在乎"以后还能拿多少分"。
拿到任何一个 RL 问题,问自己五个问题就够了:
- 站在哪()—— 智能体当前感知到什么?环境用什么信息描述"现在的局面"?
- 干什么()—— 智能体能做什么操作?是有限个按钮(离散),还是连续的控制量(如力矩、角度)?
- 会怎样()—— 做完动作后,世界会变成什么样?这个变化是确定性的还是有随机性?
- 得几分()—— 做完这一步,环境给你什么反馈?是每步都有,还是只有终点才给?
- 未来打几折()—— 眼前利益和长远收益如何权衡?未来的 1 分现在值多少?
这五个要素不是随便拼凑的——它们恰好覆盖了序列决策的所有环节。缺了 ,你不知道当前局面;缺了 ,你无计可施;缺了 ,你无法预判动作后果;缺了 ,你不知道什么算"好";缺了 ,你无法权衡短期与长期。五元组就是一个"世界模型"的最小完备描述。
| 符号 | 英文 | 名称 | 直觉 | 老虎机 | CartPole |
|---|---|---|---|---|---|
| State | 状态集合 | "站在哪" | {初始}(单状态) | (4 维连续值) | |
| Action | 动作集合 | "干什么" | {选 A, 选 B} | {左推, 右推} | |
| Transition Probability | 转移概率 | "会怎样" | 始终回到同一状态 | 由物理引擎决定 | |
| Reward | 奖励函数 | "得几分" | 中奖 +1,没中 -1 | 存活 +1 | |
| Discount Factor | 折扣因子 | "未来打几折" | 不涉及(单步游戏) | 通常 0.99 |
状态
状态是环境在某一时刻的完整描述。老虎机只有一个状态——每一轮面对的情况都一样。CartPole 的状态是一个 4 维向量:
分别代表小车的位置、速度、杆子的角度和角速度。
MDP 最核心的假设是马尔可夫性:只要看清当前状态,不需要知道之前是怎么走到这个局面的,就能做出最优决策。就像下象棋,只需看当前的棋盘,不需要知道前面十步是怎么走的。
这意味着状态必须"完整"——如果 CartPole 只给你"杆子角度"但不给"角速度",你就无法判断杆子是在加速倒还是在减速。就像只看了一眼车速表,却不知道车是在加速还是刹车。状态必须包含做决策所需的所有信息。
动作
老虎机有两个离散动作 {选 A, 选 B},CartPole 也是两个离散动作 {左推, 右推},机器人行走则可能是连续的关节力矩向量 。
动作空间的类型直接决定算法选择:
| 动作空间 | 特点 | 适用算法 |
|---|---|---|
| 离散(如 {左, 右}) | 可枚举所有选择,挑最好的 | Q-learning / DQN |
| 连续(如关节力矩) | 无法枚举 | 策略梯度(PPO 等) |
转移概率
老虎机中,不管你选哪台,状态都不变。CartPole 中, 由牛顿力学决定。假设当前杆子角度 (微倾),动作为"右推":
一个关键区分: 是否已知。知道 就能用动态规划直接算最优策略;不知道 就只能通过交互来"摸索"。大多数真实 RL 问题中 是未知的——围棋有 个状态,LLM 有天文数字的 token 序列组合。"不知道 P"恰恰是 RL 区别于传统最优化的核心特征。
奖励函数
奖励是 RL 中唯一的学习信号——没有奖励,智能体无从学起。不同任务的奖励信号差异很大:
| 任务 | 奖励信号 | 特点 |
|---|---|---|
| 老虎机 | 中奖 +1,没中 -1 | 即时、密集 |
| CartPole | 存活 +1/步 | 即时、密集 |
| 围棋 | 终局 +1(赢)/ -1(负) | 延迟、稀疏 |
Richard Sutton 提出了奖励假设(Reward Hypothesis):所有目标都可以被描述为"最大化期望累积奖励信号"(Sutton & Barto, 2018)[1]。不管你想要智能体做什么——赢棋、开车、聊天——只要编码成奖励函数,RL 理论上就能学到。
但设计好奖励函数是 RL 工程中最困难的环节之一。"奖励黑客"问题:智能体可能找到奖励函数的漏洞,用意想不到的方式拿高分,实际表现却完全偏离初衷。大模型对齐中"什么样的回答值得高分"本身就是一个研究课题——这正是 RLHF 和 DPO 要解决的核心问题。
折扣因子
控制智能体对"延迟满足"的重视程度。先用一个例子建立直觉:两个策略,策略 A 第 1 步就拿 10 分,之后什么都不拿;策略 B 前 9 步拿 0 分,第 10 步拿 20 分。谁更好?
| 策略 A 的 | 策略 B 的 | 更优策略 | |
|---|---|---|---|
| 0.5 | 10 | A(几乎只看眼前) | |
| 0.9 | 10 | A(短期偏好) | |
| 0.99 | 10 | B(远视偏好) |
越接近 1,智能体越"远视",越看重长期收益。下一节会详细讨论它的数学作用。
三个任务对比
把老虎机、CartPole 和 LLM 对齐三个任务放在一起比较,看看五元组各自长什么样:
| 要素 | 老虎机 | CartPole | LLM 对齐 |
|---|---|---|---|
| {初始}(单状态) | (连续) | 已生成的 token 序列 | |
| {选 A, 选 B} | {左, 右} | 词表中的下一个 token | |
| 始终回到同一状态 | 物理引擎 | 将选中 token 接到序列后 | |
| +1/步 | 人类偏好/奖励模型打分 | ||
| —(单步) | 0.99 | 通常不使用(整句评估) |
逐行看:
:老虎机只有一个状态——你在哪一轮面对的情况都一样。CartPole 的状态是 4 维连续向量。LLM 的状态是"到目前为止生成的所有 token"——每多生成一个 token,状态就变了。
:老虎机选 A 还是 B。CartPole 左推还是右推。LLM 的动作是"下一个 token 是什么"——从几万个候选 token 中选一个。
:老虎机不因动作进入新局面,每轮仍回到同一个状态;出奖率属于奖励分布。CartPole 的状态转移由物理引擎决定。语言模型生成中,选定下一个 token 后,环境把它接到已有序列末尾,得到新的上下文状态。模型输出哪个 token 的概率属于策略 ,不能与环境转移 混在一起。
:老虎机即时给 。CartPole 每步 +1。LLM 对齐中的奖励更复杂——通常不是一个固定的函数,而是另一个"奖励模型"网络对生成的整段回答打分(RLHF),或者直接用人类偏好数据来训练(DPO)。
:老虎机不涉及(单步游戏)。CartPole 通常用 0.99。LLM 对齐中通常不用折扣因子——因为奖励是对整段回答打的,不是每步都有,所以 退化为单步奖励。
三个任务表面差异巨大,但底层都是同一套数学语言。
折扣回报
MDP 五元组已经描述了单步环境规则。以 CartPole 为例,智能体在状态 执行动作 ,环境给出一步奖励并转移到 。不断重复这一步,才会形成一次完整的任务过程。
这里出现了一个五元组本身没有回答的问题:奖励函数 只给出每一步的奖励,一次任务却会得到很多个奖励。怎样把它们合成一个长期结果,需要引入折扣回报 。这个量属于下一节“策略、价值与回报”的主线,本节先保留它与折扣因子 的联系。
为什么要折扣
当任务可能持续很久时,折扣因子解决一个直接问题。假设 CartPole 每存活一步都得到 ,并且过程没有终点,直接相加会得到:
折扣因子让远期奖励的权重逐步减小。当 且 时,累积结果存在有限上界:
| 上界 | 含义 | |
|---|---|---|
| 0.9 | 主要关心未来 ~10 步 | |
| 0.99 | 关心未来 ~100 步 | |
| 0.999 | 几乎等权看待未来 ~1000 步 |
这说明 不只是五元组中的一个符号。它决定远期奖励保留多少权重,也使无限时域任务的长期结果能够保持有限。下一节会沿一条具体轨迹正式定义 ,并代入数字计算。
递归结构
还可以写成递归形式:
这条式子暂时只需要读成:从当前时刻开始的长期结果,可以拆成当前奖励和下一时刻的长期结果。第 2.3 节会先说明 怎样从一条实际轨迹得到;第 3.1 节再把这个递归关系推进到状态价值和贝尔曼期望方程。
策略
MDP 五元组还留下另一个缺口:动作集合 只说明智能体可以做什么,没有说明它在某个状态下实际选择什么。把状态变成动作的决策规则称为策略 。
策略有确定性和随机性两种形式:
确定性策略——对同一个状态永远输出同一个动作:
这个式子表示:输入状态 ,策略直接输出一个动作 。
随机性策略——输出动作的概率分布:
这个式子表示:已知状态 时,策略给出各个动作的选择概率。
例如,CartPole 的状态是四维向量,动作只有左推和右推。策略接收当前四个状态数字,再决定下一步怎样推。策略与 MDP 环境连续交互,才会产生一条包含多个状态、动作和奖励的轨迹。
为什么常用随机策略
| 形式 | 确定性策略 | 随机性策略 |
|---|---|---|
| 输出 | 一个动作 | 所有动作的概率分布 |
| 相同状态 | 总是输出同一动作 | 可以按概率采样出不同动作 |
| 后续算法 | 常见于价值型方法 | 常见于策略梯度方法 |
这一节只需要看到 MDP 为什么还需要策略,符号的逐项解释、具体概率和 CartPole 数字例子留到下一节。届时,状态、动作、策略和奖励会被连成一条完整轨迹。
本节总结
本节在上一节的最小交互中加入了状态变化,并建立了描述环境的语言:
1. MDP 五元组 描述游戏规则。 拿到任何 RL 问题,问五个问题就够了:站在哪()、干什么()、会怎样()、得几分()、未来打几折()。老虎机、CartPole、LLM 对齐三个任务表面差异巨大,但底层都是同一套数学语言。
2. 马尔可夫性说明状态需要包含什么。 当前状态足够完整时,给定当前动作,预测下一状态不需要再次查看更早的历史。CartPole 如果遗漏角速度,就无法满足这个要求。
现在,环境已经能够用 MDP 表示,但强化学习问题还没有完整。动作集合没有说明每一步怎样选择,奖励函数也只给出单步奖励,没有说明怎样评价整条轨迹。下一节加入策略、轨迹、回报和价值,把这些部分连接起来。
下一节进入策略、价值与回报。
参考文献
Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. ↩︎