5.1.1 马尔可夫决策过程(MDP)的五元组
在强化学习中,我们需要一个统一的数学框架来描述“智能体与环境反复交互、在不确定条件下做序贯决策”的问题,这个框架就是马尔可夫决策过程(Markov Decision Process, MDP)。经典定义中,一个离散时间的 MDP 通常用一个五元组表示:
\[ \mathcal{M} = \langle \mathcal{S}, \mathcal{A}, P, R, \gamma \rangle \]
其中分别对应状态空间、动作空间、转移概率、奖励函数和折扣因子。(维基百科)
在机器人领域中,可以把 MDP 理解为:给定机器人当前“所处情境”(状态),它可以选择某个控制指令(动作),环境根据物理规律和噪声发生变化(转移),机器人会得到一个任务反馈信号(奖励),并持续重复这个过程,目标是让长期奖励最大化。很多移动机器人路径规划、操作抓取等问题都可以用 MDP 或其扩展建模。(MDPI)
【图片占位:图 5-1】 内容:经典“智能体–环境交互”示意图。左边是 Agent(机器人),右边是 Environment(环境),中间箭头标注:状态 \((s_t)\)、动作 \((a_t)\)、奖励 \((r_{t+1})\)、下一个状态 \((s_{t+1})\)。
5.1.1.1 状态(State)
状态 \(s \in \mathcal{S}\) 用来描述环境在某一时刻的“信息摘要”,包含做决策所需的关键信息。
- 对机械臂抓取任务: 状态可以包括各关节角度与角速度、末端位姿、目标物体的 6D 位姿、夹爪开合状态等。
- 对移动机器人导航: 状态可以是机器人在地图中的位姿 \(x, y, \theta\),以及局部局势信息(附近障碍物、目标位置等)。(MDPI)
从数学上,MDP 要求状态满足马尔可夫性(Markov property):
\[ \Pr(s_{t+1} \mid s_0,a_0,\dots,s_t,a_t) = \Pr(s_{t+1} \mid s_t,a_t) \]
也就是说,当前状态已经包含了对未来决策有用的全部历史信息,过去发生了什么只需要通过当前的状态来“折叠表示”。(维基百科)
在机器人具身智能中,原始传感器数据(例如 RGB 图像、深度图、力矩传感器读数)往往不是严格的“马尔可夫状态”,而更接近“观测(observation)”。工程上常见的做法包括:
- 通过滤波器或估计器(如卡尔曼滤波、SLAM)综合历史观测,构造接近马尔可夫的内部状态;
- 或直接让神经网络(如 RNN、Transformer)在时间维度上“记住”历史,从而在表示空间上逼近马尔可夫性。
【图片占位:图 5-2】 内容:机器人导航示意图:地图上若干位置格子,每个格子标注为一个状态 \(\displaystyle s\),机器人当前位置用小车图标表示。
5.1.1.2 动作(Action)
动作 \(a \in \mathcal{A}\) 表示智能体可以施加在环境上的控制信号或高层指令。
在机器人中,动作空间的设计与控制层级密切相关:
- 低层连续控制
- 关节力矩 \(\tau\)、关节速度 \(\dot{q}\) 或末端速度 \(\dot{x}\) 等连续值;
- 适合直接基于物理动力学的强化学习算法(如 DDPG、SAC 等在后文介绍)。
- 中层运动命令
- 例如“末端向前移动 1 cm”“夹爪闭合 5°”“底盘向左转 10°”;
- 通常是离散化的 delta pose / delta velocity 命令,与第 6 章的动作表示呼应。
- 高层动作原语(Skill / Primitive)
- 例如“抓取桌面上的红色杯子”“打开抽屉”,内部再由一系列底层控制组成;
- 在具身智能和 VLA 模型中,高层动作常与自然语言指令或技能库对应。
理论上,MDP 允许动作空间是离散的、连续的,甚至是混合的;但不同类型的动作会直接影响后续可用的强化学习算法。
5.1.1.3 转移概率(Transition)
转移概率 \(\displaystyle P\) 刻画在环境动力学下,执行某个动作后状态如何变化:
\[ P(s’ \mid s, a) = \Pr(s_{t+1} = s’ \mid s_t = s, a_t = a) \]
这是 MDP 中的“环境模型”。对于给定的 \(\displaystyle s\) 和 \(\displaystyle a\),它告诉我们可能到达哪些 \(s’\),以及各自的概率。(维基百科)
在机器人场景中:
-
理论上可以通过动力学方程(第 6 章)精确给出状态转移:
\[ M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) = \tau \]
这类模型往往是近似确定性 的。
-
现实中存在大量非理想因素:摩擦、接触不确定性、传感噪声、人类干预等,使转移过程具有随机性。(MDPI)
在经典动态规划求解 MDP 时,通常假设 \(\displaystyle P\) 是已知 的(“有模型”情形);而在大多数强化学习应用中,我们并不知道显式的 \(\displaystyle P\),只能通过与环境交互采样经验来“间接利用”转移结构——后文的 Q-Learning、Actor–Critic 等都属于这种“无模型”方法。
【图片占位:图 5-3】 内容:从状态 \(\displaystyle s\) 出发经动作 \(\displaystyle a\) 指向多个可能的 \(s’\),箭头上标注对应概率 \(P(s’|s,a)\) 和奖励 \(R(s,a,s’)\)。
5.1.1.4 奖励函数(Reward)
奖励函数 \(\displaystyle R\) 定义为在状态–动作–下一状态三元组上的即时反馈:
\[ R(s,a,s’) = \mathbb{E}[r_{t+1} \mid s_t = s, a_t = a, s_{t+1} = s’] \]
有时也简写为 \(R(s)\) 或 \(R(s,a)\),取决于具体建模习惯。(维基百科)
奖励的作用是编码任务目标:
- 任务成功 / 失败
- 如抓取任务中,成功抓起目标物体给 +1,失败给 0 或负值;
- 导航任务中,到达目标格子给高奖励,碰撞障碍物给负奖励。
- 过程成本
- 每一步运动消耗一点负奖励(-0.01),促使策略尽可能快速完成任务;
- 转弯次数过多、路径过长都可用额外负奖励约束。
奖励设计是机器人强化学习中非常关键的工程问题。奖励过于稀疏(只有成功才给奖励)时,智能体很难通过随机探索“发现”有用信号;通常需要合理的奖励塑形(reward shaping),例如为“接近目标”“抓取姿态更对齐”等中间阶段提供一些中间奖励,以提高学习效率。
5.1.1.5 折扣因子(Discount factor)
折扣因子 \(\gamma \in (0,1]\) 用于平衡“当前奖励”和“未来奖励”的相对重要性。给定未来奖励序列 \({r_{t+1}, r_{t+2}, \dots}\),从时间步 \(t\) 起的** 折扣回报**定义为:
\[ G_t = \sum_{k=0}^{\infty} \gamma^{k} r_{t+k+1} \]
当 \(\gamma < 1\) 时,这个无穷级数在期望意义下是有界的,适合描述无限时域任务;当任务是有限长的一个 episode 时,往往也可以取 \(\gamma \approx 1\) 或者直接令 \(\gamma = 1\)。(维基百科)
直观理解:
- \(\gamma\) 越接近 0:
- 智能体越“短视”,只关心眼前的即时回报;
- 对机器人来说,更像是贪图眼前便利,例如只在当前局部寻找最短路径而忽略远处的大障碍。
- \(\gamma\) 越接近 1:
- 智能体越“远视”,会为长远利益做规划;
- 例如家务机器人为长期整理房间布局付出短期代价,以换取未来更高效率。
折扣因子不仅有行为学上的意义,更是很多理论结果(如贝尔曼方程收敛性)的关键条件。
5.1.2 回报、折扣因子与价值函数概念
在有了 MDP 的五元组之后,我们还需要一个量化“好状态、好动作”的核心工具,这就是价值函数(value function) 。价值函数并不是额外增加一个元素,而是基于 MDP 与策略 \(\pi\) 定义的一族函数,它将“长期回报”的概念形式化。
5.1.2.1 回报(Return)
前面已经给出折扣回报的定义:
\[ G_t = \sum_{k=0}^{\infty} \gamma^{k} r_{t+k+1} \]
注意两点:
- 回报是随机量: 奖励 \(r_{t+1}, r_{t+2}, \dots\) 由随机的转移和可能的随机策略决定,因此 \((G_t)\) 也是随机变量。
- 我们关心的是期望回报: 对机器人策略的评估通常是“长期平均表现”,而不是某一次执行的偶然好坏。(ralasun.github.io)
在具身智能场景中,可以把回报理解成:当你在某个状态开始执行当前策略,让机器人长期运行下去,它平均 能在任务上做得多好。
5.1.2.2 状态价值函数 \(V(s)\)
给定一个策略 \(\pi\),状态价值函数 定义为:
\[ V^{\pi}(s) = \mathbb{E}_\pi \big[ G_t \mid s_t = s \big] \]
即“从状态 \(\displaystyle s\) 出发,之后按照策略 \(\pi\) 行事,所能获得的期望回报”。
经典结果表明,\(V^{\pi}(s)\) 满足贝尔曼期望方程(Bellman expectation equation):
\[ V^{\pi}(s) = \sum_{a} \pi(a \mid s) \sum_{s’} P(s’ \mid s,a) \Big[ R(s,a,s’) + \gamma V^{\pi}(s’) \Big] \]
这只是对“回报定义”的递推展开:从当前状态的价值等于当前一步期望奖励加上下一状态价值的折扣期望。(숨니의 무작정 따라하기)
在机器人导航中,可以将 \(V^{\pi}(s)\) 想象为地图上每个格子的“热度”:值高的状态意味着从那里出发,按照当前策略,最终到达目标的概率高、成本低。
【图片占位:图 5-4】 内容:2D 网格地图,每个格子用颜色表示 \(V^{\pi}(s)\) 的大小(越接近目标值越高),展示价值函数的空间分布。
5.1.2.3 动作价值函数 \(Q(s,a)\)
与只关心“当前状态”不同,动作价值函数(state–action value function)还区分了当前动作:
\[ Q^{\pi}(s,a) = \mathbb{E}_\pi \big[ G_t \mid s_t = s, a_t = a \big] \]
表示“在状态 \(\displaystyle s\) 下先执行 动作 \(\displaystyle a\),然后再一直遵循策略 \(\pi\),所能得到的期望回报”。
它的贝尔曼期望方程为:
\[ Q^{\pi}(s,a) = \sum_{s’} P(s’ \mid s,a) \Big[ R(s,a,s’) + \gamma \sum_{a’} \pi(a’ \mid s’) Q^{\pi}(s’,a’) \Big] \]
(参考)
两个价值函数的关系可以写成:
\[ V^{\pi}(s) = \sum_{a} \pi(a \mid s) Q^{\pi}(s,a) \]
因此可以把 \(Q^{\pi}\) 看作是“比 \(V^{\pi}\) 细一层”的对象。
在很多强化学习算法(如 Q-Learning、DQN)中,策略不再单独存储,而是通过 \(\displaystyle Q\) 函数的贪婪选择 隐式给出:
\[ \pi(s) = \arg\max_{a} Q(s,a) \]
这使得我们可以只专注于估计 \(\displaystyle Q\) 函数,而不必单独存储整张策略表。
5.1.2.4 最优价值函数
对于给定的 MDP,存在一族可能的策略集合 \(\Pi\)。在所有策略中,我们关心的是最优策略 \(\pi^*\),以及对应的最优价值函数:
\[ V^*(s) = \max_{\pi \in \Pi} V^{\pi}(s), \qquad Q^*(s,a) = \max_{\pi \in \Pi} Q^{\pi}(s,a) \]
它们满足贝尔曼最优性方程(Bellman optimality equation):
\[ V^*(s) = \max_{a} \sum_{s’} P(s’ \mid s,a) \Big[ R(s,a,s’) + \gamma V^*(s’) \Big] \]
\[ Q^*(s,a) = \sum_{s’} P(s’ \mid s,a) \Big[ R(s,a,s’) + \gamma \max_{a’} Q^*(s’,a’) \Big] \]
(参考)
一旦我们“知道”了 \(Q^{*}\),最优策略可以简单地由逐状态贪婪 给出:
\[ \pi^*(s) = \arg\max_{a} Q^*(s,a) \]
这就是很多强化学习算法背后的思想:通过样本或模型逼近 \(Q^{*}\),然后对其取贪婪即可控制机器人。后续章节的值函数法(DQN 等)与策略梯度法都可以视作在不同条件下对这些最优函数的近似求解。
5.1.3 策略、价值迭代的直觉
到目前为止,我们只是定义了策略、价值和最优性的概念。本小节进一步给出如何利用已知模型求解最优策略 的直觉:当环境转移 \(\displaystyle P\) 与奖励 \(\displaystyle R\) 已知时,可以通过动态规划(Dynamic Programming) 类方法求解 MDP,其中最经典的就是策略迭代(Policy Iteration) 和价值迭代(Value Iteration) 。(ralasun.github.io)
需要强调的是,在真实机器人系统中,我们往往不知道精确的 \(\displaystyle P\) 和 \(\displaystyle R\),只能通过仿真或真实交互采样近似,这就引出了后续的强化学习算法。但理解这两种理想化的“规划”方法,有助于把 RL 看成是“在有限数据下逼近 DP 解”的过程。
5.1.3.1 策略(Policy)
在 MDP 中,策略 \(\pi\) 给出了智能体在每个状态下选择动作的规则:
-
确定性策略:
\[ \pi(s) = a \quad \text{或记作} \quad \pi(a \mid s) = 1 \]
-
随机策略:
\[ \pi(a \mid s) = \Pr(a_t = a \mid s_t = s) \]
价值函数总是“附着在某个策略上”的:在前面我们写 \(V^{\pi}(s)\)、\(Q^{\pi}(s,a)\),强调给定策略后才谈得上“好坏评估”。
在机器人具身智能中,策略可以有多种实现形式:
- 手写规则(if–else 控制器、有限状态机);
- 传统控制/规划算法(如 DWA 导航、RRT* 路径规划)可以看作特殊形式的策略;
- 神经网络策略(后续章节重点),输入状态特征,输出动作或动作分布。
强化学习的目标,就是在策略空间中找到一个尽可能接近 \(\pi^*\) 的策略。
5.1.3.2 策略迭代(Policy Iteration)的直觉
策略迭代可视作“先思考,再行动”的流程:给定完整环境模型,通过不停地** 评估当前策略并 改进策略**来逐步逼近最优策略。经典教科书指出,当状态空间有限、折扣因子 \(0<\gamma<1\) 时,策略迭代会在有限轮次内收敛到最优策略。(维基百科)
整体循环可以概括为两步:
- 策略评估(Policy Evaluation)
-
固定现有策略 \(\pi_k\),求解对应的 \(V^{\pi_k}\)(或 \(Q^{\pi_k}\));
-
在有模型的情况下,可以通过迭代应用贝尔曼期望方程来收敛到真实值:
\[ V_{k+1}(s) \leftarrow \sum_{a} \pi_k(a \mid s) \sum_{s’} P(s’ \mid s,a) \big[ R(s,a,s’) + \gamma V_k(s’) \big] \]
-
直观上是“在整张状态空间上模拟当前策略长期表现”。
-
- 策略改进(Policy Improvement)
-
有了 \(V^{\pi_k}\) 或 \(Q^{\pi_k}\) 的估计后,在每个状态上选择“更优”的动作:
\[ \pi_{k+1}(s) = \arg\max_{a} Q^{\pi_k}(s,a) \]
-
这一步是局部的“贪婪改进”:在当前对未来的评估下,换一个更好的动作。
-
策略迭代不断在“评估–改进”之间往复,策略性能单调提升,直到某一轮改进后策略不再变化,得到的就是最优策略 。
把它放在机器人场景来看,可以理解为:
- 首先固定一个控制器,让机器人在所有可能状态下“试想一下”或在仿真中验证其效果(评估);
- 然后根据评估结果,在每个状态上对控制器做一点点优化(改进);
- 重复这个过程,最终得到在整个状态空间上表现最好的控制策略。
5.1.3.3 价值迭代(Value Iteration)的直觉
策略迭代的“评估”步骤代价较高(要精确地求整个 \(V^{\pi}\)),在状态空间较大时不够高效。价值迭代 可以看作一种融合了“评估”和“改进”的更紧凑做法:
其核心迭代为贝尔曼最优性更新:
\[ V_{k+1}(s) \leftarrow \max_{a} \sum_{s’} P(s’ \mid s,a) \big[ R(s,a,s’) + \gamma V_k(s’) \big] \]
每一步更新就是一次“局部规划”:假设我们已经有了对未来价值 \(V_k(s’)\) 的估计,那么在当前状态 \(\displaystyle s\) 上,只需向前“看一步”,考虑所有动作的即时奖励加上折扣后的未来价值,取其中最大的作为新的估计。(숨니의 무작정 따라하기)
这可以理解为:
- 策略迭代:先完整评估当前策略,再一次性改进策略;
- 价值迭代:在每一次局部更新时就已经做了“潜在的策略改进”,因此无需显式存储每轮策略。
当价值迭代收敛到 \(V^{*}\) 时,我们可以再通过
\[ \pi^*(s) = \arg\max_{a} \sum_{s’} P(s’ \mid s,a) \big[ R(s,a,s’) + \gamma V^*(s’) \big] \]
一次性导出最优策略。
在机器人导航这类经典问题中,价值迭代与网格地图规划关系非常紧密:
- 把每个栅格当作一个状态;
- 动作为“向上/下/左/右移动”;
- 奖励设为每走一步 -1,到终点给 0;
- 使用价值迭代可以得到每个格子的最优价值,再通过“朝价值更高的邻居移动”导出最短路径策略,这与很多动态规划式路径规划算法本质相同。(MDPI)
【图片占位:图 5-5】 内容:左图为网格地图;右图为价值迭代过程中数次迭代的 \(V_k(s)\) 伪彩图(颜色逐步向最终最优价值分布收敛),箭头从低价值区指向高价值区,说明贪婪策略方向。
本小节通过 MDP 五元组、回报与价值函数、以及策略迭代/价值迭代的直觉,给出了强化学习的“数学语言”。后续 5.2 节将在此基础上介绍 Q-Learning、策略梯度、Actor–Critic 等具体算法,并进一步讨论如何在机器人具身智能场景中,从“理论上的 MDP 求解”过渡到“基于真实交互和数据驱动的策略学习”。