Xiaohei's Blog
headpicBlur image

前言#

需要说明的是,这个系列的博客是由我的幕布笔记转化而来,如果你更喜欢图文并茂的阅读,你可以去我的幕布空间进行阅读,受限于篇幅的原因,第十二章幕布笔记在这。如果你发现有哪些地方由逻辑错误,可以通过评论告知我,十分感谢!

开始#

MDP 这章很容易被写成“符号堆砌”,但我更喜欢把它当成一种工程语言:当你抱怨“奖励太延迟、我不知道该怪哪一步动作”时,MDP 给了你一套把问题拆清楚的坐标系。

读完这一章,你应该能回答三个实用问题:

我更希望你带着三个很“落地”的问题往下读:马尔可夫性到底是什么,它为什么是很多算法正确性的前提;贝尔曼方程在工程里到底在干嘛,为什么大家都执着于反复迭代它;以及“预测”和“控制”的边界应该怎么划分——也就是策略迭代和价值迭代分别在什么场景下更趁手。

马尔可夫性质:把“历史”压缩到当前状态#

文档对马尔可夫性质的描述很经典:给定当前状态和所有过去状态,未来只依赖当前状态。

换成更工程的说法:

只要你的 state 设计得够好,你就不需要记住全部历史。

如果环境提供的 observation 不满足马尔可夫性(部分可观测),你就需要在算法外做补救:堆叠帧、RNN、或者构造 belief。

从 Markov Chain 到 MRP:先学“在给定策略下评估”#

马尔可夫链(Markov Chain)#

只有状态转移,没有奖励和动作。

马尔可夫奖励过程(MRP)#

在马尔可夫链上加了奖励函数,核心产物是状态价值:

V(s)=E[Gtst=s]V(s) = \mathbb{E}[G_t | s_t=s]

其中回报 GtG_t 是折扣奖励累积:

Gt=rt+1+γrt+2+γ2rt+3+G_t = r_{t+1} + \gamma r_{t+2} + \gamma^2 r_{t+3} + \cdots

折扣因子 γ\gamma 在实战里几乎就是“长远程度”的旋钮。

贝尔曼方程:把“未来”写成“递归”#

文档里提到贝尔曼方程定义了当前与未来的关系。它的意义在于:

  • 你不用真的跑到无穷远去算 GtG_t
  • 你可以用“下一步的价值”来更新“当前价值”。

在 MRP 下的形式可以理解为:

V(s)=E[rt+1+γV(st+1)st=s]V(s) = \mathbb{E}[r_{t+1} + \gamma V(s_{t+1}) | s_t=s]

这句式子就是后面动态规划、TD 学习、甚至深度 RL 的祖宗。

三种估值路线:DP / Monte Carlo / TD#

文档把三类方法并列得很好,我再补一点“你写代码时会怎么选”:

  • 动态规划(DP):需要环境完全已知(P,RP, R),能遍历所有状态。优点是稳定、可证明;缺点是现实中很少满足。
  • 蒙特卡洛(MC):不需要模型,用完整 episode 的回报做估计。优点是无偏;缺点是方差大、必须等回合结束。
  • 时序差分(TD):介于两者之间,一边采样一边自举(bootstrapping)。优点是在线更新;缺点是有偏但通常更高效。

从 MRP 到 MDP:加入动作,问题从“评估”变成“决策”#

MDP 相比 MRP 多了动作:未来不仅依赖当前状态,也依赖智能体在当前状态采取的动作。

MDP 的核心对象是:

  • policy π(as)\pi(a|s)
  • value function Vπ(s)V^\pi(s)Qπ(s,a)Q^\pi(s,a)

预测(Prediction)与控制(Control)#

文档这段是考试高频,但对工程也很关键:

  • 预测:给定 MDP + 给定策略 π\pi,求 VπV^\pi
  • 控制:给定 MDP(但策略未知),求最优策略 π\pi^* 与最优价值 VV^*

简单说:

  • 预测 = 你让我评估这个策略靠谱不靠谱;
  • 控制 = 我自己想办法找一个最靠谱的策略。

动态规划解控制:策略迭代 vs 价值迭代#

策略迭代(Policy Iteration)#

两步循环:

  1. 策略评估:固定 π\pi,求 VπV^\pi
  2. 策略改进:用 VπV^\pi 推导更好的策略(对 QQ 做贪心)。

价值迭代(Value Iteration)#

直接对贝尔曼最优方程迭代,得到 VV^*,再提取 π\pi^*

本章小结:MDP 是一张地图#

我一直觉得 MDP 像“地图”:它告诉你 RL 里有哪些变量、哪些依赖关系是算法成立的前提。

后面你会看到:

  • 表格型方法(Sarsa/Q-learning)是在 MDP 上给出“可在线迭代”的控制算法;
  • 策略梯度/PPO 是绕开显式 QQ 的另一条路;
  • DQN、Actor-Critic 则把这些对象用神经网络做近似。

下一章我们就从最朴素的地方开始:如果状态空间不大,直接用表格去学,会发生什么?

RL 学习笔记(2):MDP、MRP 与贝尔曼方程
https://xiaohei94.github.io/blog/rl-learning-2
Author 红鼻子小黑
Published at May 3, 2025
Comment seems to stuck. Try to refresh?✨