Markov Decision Process (MDP)
马尔可夫决策过程 (MDP) 通过状态、动作、转移概率和奖励来建模序列决策问题,而强化学习 (RL) 正是为解决这类问题而设计的。
马尔可夫决策过程(MDP)是序贯决策问题的数学模型:智能体观察一个状态,选择一项行动,获得奖励,然后进入下一个状态;下一个状态既取决于它的选择,也受随机因素影响。形式上,MDP 由状态集合、动作集合、转移概率 P(s′ | s, a)、奖励函数 R(s, a) 以及通常介于 0 和 1 之间的折扣因子 γ 组成。求解 MDP,就是找到一种策略——即在每个状态下选择动作的规则——使未来奖励的折扣总和的期望最大化。MDP 源于 20 世纪 50 年代的运筹学;Richard Bellman 的动态规划为求解 MDP 提供了方法。MDP 也是强化学习(RL)的标准问题定义。
马尔可夫性质#
其定义性假设是马尔可夫性质:下一个状态和奖励只取决于当前状态和动作,而不取决于到达当前状态的路径。因此,状态完整概括了智能体需要了解的所有相关信息。对于运动物体,单帧摄像头画面不满足这一假设,因为画面能显示位置,却不能显示速度。因此,DeepMind 用于玩 Atari 游戏的 DQN 会将最近四帧叠在一起输入网络,让网络能够看到运动。
如果智能体无法观察完整状态,例如机器人的传感器存在噪声或被遮挡,那么这个问题就是部分可观测 MDP(POMDP)。此时,智能体不是直接根据状态行动,而是依据对状态的信念行动,并通过滤波器或循环网络来维护这种信念。
MDP 的组成部分#
- 状态:智能体可能处于的情形,例如机器人的关节角度,以及机器人试图抓取的物体的位置。
- 动作:每种状态下可做出的选择。动作空间可以是离散的(左转、右转),也可以是连续的(以角度表示的转向角)。
- 转移概率:采取某个动作后进入每种下一个状态的概率,用来描述车轮打滑、其他驾驶员行为以及各种随机因素。
- 奖励:一次状态转移带来的即时数值反馈。设计者选择的奖励定义了任务,而设计不当的奖励会引发奖励欺骗。
- 折扣因子:未来奖励相对于即时奖励的权重。当 γ = 0.9 时,十步之后的奖励价值相当于同等即时奖励的 0.9¹⁰ ≈ 0.35 倍。
每个时间步都会重复相同的交互,直到回合结束:
求解 MDP#
在某种策略下,状态价值是从该状态出发所获回报的期望;最优价值满足贝尔曼方程:每个状态的价值等于最佳动作的即时奖励,加上它可能到达的状态的折扣价值期望。当转移概率和奖励已知时,可以直接通过动态规划求解该方程。价值迭代(Bellman,1957)会反复应用该方程,直到价值不再变化;策略迭代(Howard,1960)则交替评估策略并改进策略。
这个 NumPy 示例在 Sutton 和 Barto 的教材《强化学习导论》中的回收机器人问题上运行价值迭代。机器人必须根据电量高低,在寻找罐子、等待和充电之间做出选择:
import numpy as np
# 回收机器人 MDP:状态 0 = 电量高,1 = 电量低;动作 0 = 搜寻,1 = 等待,2 = 充电
gamma = 0.9 # 折扣因子
P = np.zeros((2, 3, 2)) # P[s, a, s'] = 在状态 s 采取动作 a 后到达 s' 的概率
P[0, 0] = [0.7, 0.3] # 电量高时搜寻可能会让电量降至低电量
P[1, 0] = [0.4, 0.6] # 电量低时搜寻可能会耗尽电量(机器人会获救并充电)
P[:, 1] = np.eye(2) # 等待会使电量保持不变
P[:, 2] = [1.0, 0.0] # 充电总会恢复高电量
R = np.array([[2.0, 1.0, 0.0], [0.0, 1.0, 0.0]]) # 期望 R[s, a];低电量时搜寻:0.6 * 2 + 0.4 * -3 = 0
# 价值迭代:反复应用贝尔曼最优更新,直到价值不再变化
V = np.zeros(2)
for _ in range(500):
Q = R + gamma * P @ V # 每个状态下每个动作的价值
V = Q.max(axis=1)
actions = ["search", "wait", "recharge"]
print("Optimal values:", V.round(2))
print("Optimal policy:", {s: actions[a] for s, a in zip(["high", "low"], Q.argmax(axis=1))})运行结果显示,电量高时的价值为 15.75,电量低时为 14.17;策略是在电量高时搜寻,在电量低时充电:因为搜寻时有 40% 的概率受到 −3 的救援惩罚,所以低电量时搜寻不如充电划算。
转移概率未知时,强化学习会通过经验估计相同的价值。Q-learning根据采样的状态转移更新动作价值,策略梯度方法直接调整策略,而当状态空间过大、无法逐一列举时,深度强化学习会使用神经网络。蒙特卡洛树搜索等规划算法会通过模拟从当前状态可到达的未来状态,在线求解大型 MDP。
MDP 与相关模型的比较#
- 马尔可夫链:由随机状态构成的序列,没有动作或奖励。MDP 在此基础上加入了选择和目标。
- 隐马尔可夫模型(HMM):状态只能通过带噪声的信号观察到的马尔可夫链。POMDP 与 MDP 的关系也是如此。
- 多臂老虎机:只有一个状态的 MDP,每项动作的回报都独立于过去。
- 强化学习:一系列通过交互来学习如何在 MDP 中采取有效行动的方法,无需预先获知 MDP 的转移概率。
应用场景#
- 机器人技术与控制:抓取、行走和导航都可以建模为 MDP,其策略通常在仿真中训练。在基于摄像头的控制中,Ultralytics YOLO26 等检测器可以提供状态,将每一帧转换为一份简短的目标类别和边界框坐标列表,相比原始像素,这能大幅缩小策略的输入规模。
- 语言模型训练:RLHF 和 RLVR 将文本生成视为一个 MDP:状态是提示词加上迄今生成的词元,动作是下一个词元,奖励则在回答完成后给出。
- 运筹学:库存补货、设备维护和动态定价都是经典的 MDP;Ronald Howard 在优化 Sears 商品目录的邮寄活动时开发了策略迭代方法。










