跳转至

第 4 章 马尔可夫决策过程与价值

监督学习给的是"输入到答案"的映射,序贯决策给的是"动作到后果"的反馈。要把后果变成可优化的量,需要一套形式:状态、动作、转移、回报,以及在这套形式上定义的价值。强化学习的全部算法,解的都是同一组方程。

1. 五元组与交互环

一个马尔可夫决策过程(Markov decision process, MDP)记作

\[ \mathcal M=(\mathcal S,\mathcal A,P,r,\gamma) \]

\(\mathcal S\) 是状态空间,\(\mathcal A\) 是动作空间,\(P(s'\mid s,a)\) 是转移概率,\(r(s,a)\) 是即时回报,\(\gamma\in[0,1)\) 是折扣因子。交互按固定节奏推进:在 \(s_t\) 选 \(a_t\),环境给出 \(r_t\) 并转移到 \(s_{t+1}\),如此往复。

"马尔可夫"是一条结构性假设:给定当前状态与动作,未来与更早的历史无关。它让价值可以只写成当前状态的函数;一旦状态不足以概括历史,假设就不成立,需要改为部分可观测。

flowchart LR
    s["状态 s_t"] --> pi["策略 π(a|s)"]
    pi --> a["动作 a_t"]
    a --> env["环境<br/>P(s'|s,a) 与 r(s,a)"]
    env -->|"r_t, s_{t+1}"| s

折扣因子有两个作用。数学上,它让无穷回报级数在 \(|r|\) 有界时收敛;工程上,它把有效视野压到约 \(1/(1-\gamma)\) 步——\(\gamma=0.99\) 约看 100 步,\(\gamma=0.9\) 只看 10 步。视野越短,策略越短视;越长,价值估计的方差越大。

部分可观测(partially observable)的设定把观测从状态里拆出来:\(o_t\sim O(o\mid s_t)\),策略只能依赖历史 \(h_t=(o_0,a_0,\dots,o_t)\)。工程上的近似有三条——帧堆叠、循环网络、把滤波器的状态当观测(control-note 第 9 章「里程计与观测器」)。三者的取舍与延迟有关,已在第 3 章「数据、表示与分布偏移」讨论。

2. 回报与价值函数

从 \(t\) 开始的折扣回报是

\[ G_t=\sum_{k=0}^{\infty}\gamma^k r_{t+k} \]

价值函数把这个随机量取期望。状态价值与动作价值分别是

\[ V^\pi(s)=\mathbb E_\pi\left[G_t\mid s_t=s\right],\qquad Q^\pi(s,a)=\mathbb E_\pi\left[G_t\mid s_t=s,a_t=a\right] \]

两者相差一层策略:\(V^\pi(s)=\sum_a\pi(a\mid s)Q^\pi(s,a)\)。优势函数 \(A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s)\) 度量"这个动作比按策略平均选好多少",它是第 6 章策略梯度的核心量。

价值的用途是把"长期"折成一个可比较的标量。没有它,两个动作的优劣要看完整段回合才知道;有了它,每一步都能就地比较。代价是价值本身要估计,而估计价值又依赖策略——这个循环正是所有强化学习算法的结构。

3. 最优性与策略改进

最优策略 \(\pi^*\) 最大化所有状态的价值。对应的 Bellman 最优方程把"最优"写成一步递归:

\[ V^*(s)=\max_{a\in\mathcal A}\left[r(s,a)+\gamma\sum_{s'}P(s'\mid s,a)V^*(s')\right] \]

它成立的两个前提值得记住。第一,存在确定性的最优策略:给定 \(Q^*\),逐状态取 \(\arg\max_a Q^*(s,a)\) 即可,不需要随机化。第二,右端定义了一个算子 \(T\),它在无穷范数下是 \(\gamma\)-压缩的:

\[ \lVert TV-TV'\rVert_\infty\le\gamma\lVert V-V'\rVert_\infty \]

压缩映射给出唯一不动点与几何收敛:每迭代一次,误差至少乘上 \(\gamma\)。这条不等式是第 5 章值迭代的收敛依据,也是"折扣让问题可解"的准确含义。

策略改进定理给的是另一件事:若某策略在状态 \(s\) 上按 \(Q^\pi(s,\cdot)\) 改成贪心动作,且对所有状态都不变差,则新策略的整体价值不下降。由此可以反复"评估—改进",每次至少不变差,有限状态与有限动作下必然停在最优。

4. 奖励、折扣与终止条件

奖励是任务定义的唯一入口。同一个行为可以写成奖励,也可以写成代价(负奖励),两者只在符号上有差别;真正影响学习的是密度与尺度。

  • 稀疏奖励只在终点给信号(成功 1、失败 0)。它不引入人为偏好,但探索成本全部压在随机搜索上。
  • 稠密奖励每步给信号(接近目标的距离、速度跟踪误差)。学习更快,但每一项都在表达设计者的偏好,偏好写错就会改变最优行为。
  • 尺度决定价值量级。回报放大 10 倍,价值网络的拟合目标也放大 10 倍,梯度与学习率的匹配随之改变;跨任务复用超参时必须先对齐尺度。

折扣与终止要分开处理。到达终止状态时,之后没有回报,价值定义为 0,目标里不加自举项;因时间上限被截断时,环境并没有结束,价值估计应把下一步的价值加回来。把截断当终止,会让临近时限的状态被系统性低估——这类偏差在长回合任务里最明显。

坑:把时间上限当终止

回合因步数上限被截断时,done=True 只表示"这一段采样结束",不表示"状态无价值"。目标计算要以截断标志区分:真终止不加 \(\gamma V(s')\),截断则要加。

奖励被钻空子(reward hacking)是同一个问题的另一面:策略优化的是奖励,不是设计者心里的任务。机器人上常见的形态是"用抖动换取位置精度""绕过必须接触的步骤直接压过去"。识别方式是看行为而不是看回报曲线——回报上升而任务成功率不升,几乎总是奖励写漏了约束。

5. 从表格到函数逼近

状态与动作都离散且维度很低时,价值可以存成表格:\(|\mathcal S|\times|\mathcal A|\) 个数,逐个更新。机器人任务几乎不满足这个条件——关节角连续、图像观测高维。

离散化是一条看似直接的路,代价是指数增长:每维分 \(n\) 档,\(d\) 维状态就有 \(n^d\) 个格子;六轴机械臂每轴 100 档就是 \(10^{12}\) 个状态。表格法因此只在教学、离散高层决策(选技能、选目标)与调试环境里保留。

连续控制有两条主路线,分别对应后面两章:

  • 先学价值再取动作:学 \(Q_\theta(s,a)\),执行时对 \(a\) 求 \(\arg\max\)。离散动作可直接枚举,连续动作则需要一个近似求解器(第 5 章「值函数方法与深度 Q 网络」)。
  • 直接参数化策略:学 \(\pi_\theta(a\mid s)\),对目标 \(J(\theta)\) 求梯度。它天然处理连续动作与随机策略,代价是梯度方差大(第 6 章「策略梯度与演员-评论家」)。

两条路线可以合成一条:演员给动作、评论家给价值,用价值的误差当策略的指导信号(第 6 章),或者用价值引导一个最大熵的随机策略(第 7 章「离策略与最大熵方法」)。

6. 一个两状态算例

两个状态、确定性转移的最小 MDP:在 \(s_0\) 选 go 进入 \(s_1\)(回报 0),在 \(s_1\) 选 stay 留在原地(回报 1),\(\gamma=0.9\)。最优价值满足

\[ V(s_1)=1+0.9\,V(s_1)\;\Rightarrow\;V(s_1)=10,\qquad V(s_0)=0.9\,V(s_1)=9 \]

值迭代从零初值反复套用 Bellman 最优算子即可得到这两个数:

gamma = 0.9
V = {"s0": 0.0, "s1": 0.0}

def step(s):                      # 返回 (即时回报, 下一状态) 的候选动作
    if s == "s0":
        return [(0.0, "s1")]      # go
    return [(1.0, "s1")]          # stay

for _ in range(200):              # 压缩映射保证几何收敛,200 次足够
    new = {s: max(r + gamma * V[s2] for r, s2 in step(s)) for s in V}
    V = new

二百次迭代后 \(V(s_0)\) 与 \(V(s_1)\) 分别收敛到 9 与 10。算例的意义在于展示价值是方程的解而不是采样统计量:它由转移与回报唯一确定,与探索过程无关。

7. 要点

  • MDP 由 \((\mathcal S,\mathcal A,P,r,\gamma)\) 定义;马尔可夫假设让价值只依赖当前状态,部分可观测时要补历史。
  • 折扣既保证级数收敛,也决定有效视野约 \(1/(1-\gamma)\) 步。
  • 价值把长期回报折成当前可比较的标量;\(A=Q-V\) 是策略梯度的核心量。
  • Bellman 最优算子以 \(\gamma\) 压缩,给出唯一不动点与几何收敛;确定性最优策略存在。
  • 奖励的密度与尺度直接改变学习难度与最优行为;终止与截断必须分开处理。
  • 连续状态动作下表格不可行,两条主路线是先学价值再取动作、直接参数化策略。
  • 价值是 Bellman 方程的解,由转移与回报唯一确定,不依赖采样过程。

参考文献与延伸阅读

  • Sutton, R. S., & Barto, A. G. Reinforcement Learning: An Introduction (2nd ed.). MIT Press, 2018. 书籍主页
  • Puterman, M. L. Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, 1994. DOI
  • Bellman, R. A Markovian Decision Process. Journal of Mathematics and Mechanics, 1957. DOI
  • Hausknecht, M., & Stone, P. Deep Recurrent Q-Learning for Partially Observable MDPs. AAAI Fall Symposium, 2015. arXiv