跳转到正文

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.510A(几乎只看眼前)
0.910A(短期偏好)
0.9910B(远视偏好)

越接近 1,智能体越"远视",越看重长期收益。下一节会详细讨论它的数学作用。

三个任务对比

把老虎机、CartPole 和 LLM 对齐三个任务放在一起比较,看看五元组各自长什么样:

要素老虎机CartPoleLLM 对齐
{初始}(单状态)(连续)已生成的 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 表示,但强化学习问题还没有完整。动作集合没有说明每一步怎样选择,奖励函数也只给出单步奖励,没有说明怎样评价整条轨迹。下一节加入策略、轨迹、回报和价值,把这些部分连接起来。

下一节进入策略、价值与回报

参考文献


  1. Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. ↩︎

现代强化学习实战课程