Markov Decision Process (MDP)
- 又称: MDP
- 类别: Learning & autonomy › RL & simulation
- 标签: reinforcement-learning, decision-making, dynamic-programming, probability, robot-learning
序贯决策的标准数学模型:由状态、动作、转移概率、奖励和折扣因子构成,下一状态只取决于当前状态和动作。
定义
马尔可夫决策过程(Markov decision process,MDP)描述这样一个智能体:它反复观测状态、选择动作、获得奖励并转移到新的状态。它通常写成一个元组 (S, A, P, R, γ),常常还带有一个初始状态分布 ρ₀:状态空间、动作空间、转移概率 P(s′ | s, a)、奖励函数 R(s, a),以及一个介于 0 和 1 之间、用来权衡未来奖励与即时奖励的折扣因子 γ。其决定性假设是马尔可夫性:下一状态的分布只取决于当前状态和动作,而与到达这里的历史无关。Richard Bellman 在 1950 年代关于动态规划的工作奠定了这一框架。
MDP 中的目标是一个策略,即从状态到动作(或到动作上的分布)的映射,使期望折扣奖励总和最大化。价值函数 V(s) 和动作价值函数 Q(s, a) 给出在某一策略下,从某个状态、或从某个状态和动作出发的期望回报。它们满足贝尔曼方程,该方程把一个状态的价值表示为即时奖励加上后续状态的折扣价值。当 P 和 R 已知且状态空间较小时,价值迭代和策略迭代可以精确求解 MDP。当它们未知,或者空间很大且连续时,强化学习从采样得到的经验中估计价值和策略。
MDP 是几乎所有强化学习以及很大一部分不确定性下规划的形式化基础。许多变体放宽了其中某一条假设:部分可观测 MDP(POMDP)去掉了智能体能看到真实状态的假设;约束 MDP 加入了代价上限;半 MDP(semi-MDP)允许持续时间可变的动作;而马尔可夫博弈等多智能体扩展则对多个决策者建模。决定状态中包含什么是一项工程决策:如果遗漏了速度、接触状态或其他智能体的意图等重要信息,那么从智能体的角度看,这个过程就不再是马尔可夫的。
为何重要
每一篇强化学习论文,以及机器人学中的大多数决策方法,都把问题表述为一个 MDP 或其变体。了解元组的各个组成部分,以及每种方法依赖哪条假设,才能读懂这些论文、为真实机器人设计状态和奖励,并识别出一个问题何时实际上是部分可观测的。
主要应用
- 为操作和腿足运动构建强化学习问题
- 用价值迭代和策略迭代进行不确定性下的规划
- 奖励设计和逆强化学习,它们推断或塑造 R
- 基于模型的强化学习,它学习转移函数 P
- 通过马尔可夫博弈和潜在意图变量对与其他智能体的交互建模
实际应用
一个团队训练机械臂把一个方块推到目标位置,他们把这项任务表述为一个 MDP。状态包含关节角度和速度、方块位姿以及目标位置;动作是每个控制步中末端执行器位置的变化量;奖励是方块到目标距离的负值,成功时另加奖励;γ 设得接近 1,因为任务跨越许多步。早期测试中,方块运动时策略表现得很不稳定,因为状态包含方块位姿却不包含它的速度。加入方块速度,或者把最近几次观测堆叠起来,就能足够近似地恢复马尔可夫性,使 SAC 或 PPO 等标准算法能够可靠地学习。
常见误解
- MDP 要求状态和动作是离散的 — 连续的状态空间和动作空间在机器人学中很常见,此时求和被积分取代,表格方法被函数逼近取代
- 马尔可夫性是关于世界的事实 — 它是所选状态的性质;遗漏速度或隐藏变量,可能使一个物理系统从智能体的角度看变成非马尔可夫的
- 折扣因子只反映急躁程度 — 它还在无限时域问题中约束回报的上界,并影响学习的方差和稳定性,因此常常像超参数一样被调节
- 求解 MDP 需要一个 P 的模型 — 强化学习方法无需写出 P,就能从采样的状态转移中找到好的策略
谁需要了解
- 强化学习从业者和研究人员
- 设计状态、动作和奖励的机器人学习工程师
- 规划与决策研究人员
- 刚开始接触机器人学习的机器人专业学生
相关技术
- 贝尔曼方程(Bellman Equation)
- 价值迭代(Value Iteration)
- 策略迭代(Policy Iteration)
- Q-Learning
- Gymnasium
- 动态规划(Dynamic Programming)
相关术语
- Reinforcement Learning
- Partially Observable Markov Decision Process (POMDP)
- Hamilton-Jacobi-Bellman Equation (HJB)
- Inverse Reinforcement Learning
- Offline Reinforcement Learning
- Proximal Policy Optimization
相关项目
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- MuJoCo: DeepMind physics engine for robotics and ML research
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
视频
- Markov Decision Processes - Computerphile: Computerphile