价值函数与贝尔曼方程:RL 的核心递归
本文基于模型知识整理(生成时未联网核对),关键结论建议对照 Sutton & Barto 教材复核。
一句话定义
价值函数把"未来能挣多少"压缩成状态的函数($v^\pi(s)$)或"状态-动作"的函数($q^\pi(s,a)$),贝尔曼方程用"即时奖励 + 折后下一状态价值"递归定义它们——一行递归衍生出 RL 几乎所有算法:DP 靠它解、TD 靠它自举、Q-Learning 取 max、优势函数取差。
为什么重要
RL 的算法地图可以按"如何解贝尔曼方程"来读:模型已知→动态规划(kp-005);不知道模型→采样近似(MC 不自举、TD 自举,kp-007/008);对动作取 max(价值方法)还是对策略求梯度(策略方法)决定了 02、03 两大模块的分野。看懂本条,后面每个算法都只是"换一种方式解它"。
前置知识
kp-003(回报递归);条件期望。
核心概念
- 状态价值 $v^\pi(s) = \mathbb{E}[G_t \mid S_t = s]$:从 s 出发按 π 行动的期望回报。
- 动作价值 $q^\pi(s,a) = \mathbb{E}[G_t \mid S_t = s, A_t = a]$:在 s 先执行 a 再按 π。
- 最优价值:$v^*(s) = \max_\pi v^\pi(s)$,$q^*(s,a) = \max_\pi q^\pi(s,a)$——对应最优策略 $\pi^*(s) = \arg\max_a q^*(s,a)$。
- 优势函数 $A^\pi(s,a) = q^\pi(s,a) - v^\pi(s)$:动作比"平均水平"好多少(策略梯度的重要基线,kp-014)。
- 贝尔曼期望方程(给定 π)与贝尔曼最优方程(内嵌 max)。
原理与机制
贝尔曼方程的推导只需两行:把回报递归 $G_t = R_{t+1} + \gamma G_{t+1}$ 取条件期望:
$$v^\pi(s) = \sum_a \pi(a|s)\sum_{s',r} p(s',r|s,a)\left[r + \gamma v^\pi(s')\right]$$
$$q^*(s,a) = \sum_{s',r} p(s',r|s,a)\left[r + \gamma \max_{a'} q^*(s',a')\right]$$
期望方程说"价值 = 平均的(奖励+折后后继价值)";最优方程多一个 max——"最优价值 = 最好动作带来的价值"。最优方程非线性(max 引入),但压缩原理(contraction)保证其解存在且唯一,值迭代(kp-005)就是反复施加这个算子直到收敛。
自举(bootstrapping)的种子:方程右侧引用了 $v^\pi(s')$ 自身——"用估计更新估计"。DP 在已知模型下迭代施加;TD 在采样下用"r + γV(s')"作目标(kp-008)。自举带来样本效率,也带来偏差(目标本身是估计)——这是 kp-012 发散问题的源头。
q 与 v 的关系:$v^\pi(s) = \sum_a \pi(a|s) q^\pi(s,a)$;优势 $A = q - v$ 把"绝对好坏"平移成"相对好坏",方差更小、更适合做策略改进信号。
公式或模型
- 贝尔曼期望(q 形式):$q^\pi(s,a) = \mathbb{E}_{s',r}\left[r + \gamma \sum_{a'} \pi(a'|s') q^\pi(s',a')\right]$
- 贝尔曼最优(v 形式):$v^*(s) = \max_a \mathbb{E}_{s',r}\left[r + \gamma v^*(s')\right]$
- 压缩映射:算子 $\mathcal{T}v = \max_a \mathbb{E}[r + \gamma v(s')]$ 满足 $\|\mathcal{T}u - \mathcal{T}v\|_\infty \le \gamma\|u-v\|_\infty$ ⇒ 唯一不动点 $v^*$。
图示
(r + γ·v*(s')) 对每个后继
s,a ──► s₁: r₁+γv*(s₁) ┐
──► s₂: r₂+γv*(s₂) ├─取期望/max─► q*(s,a) 或 v*(s)
──► s₃: r₃+γv*(s₃) ┘
"未来价值已压缩进 v*(s') —— 一步向前即可"
实例或案例
- GridWorld 手算:v 逐轮迭代从全 0 收敛到"离出口越近值越高"——值迭代的可视化全过程。
- DQN 的损失就是贝尔曼最优方程的样本化:$(r + \gamma \max_{a'} \hat q(s',a') - \hat q(s,a))^2$(kp-010)。
- Dueling DQN 把网络显式拆成 v(s) 与优势 A(s,a) 两头(kp-011)——贝尔曼结构直接进网络架构。
常见误区
- 误区一:"v 和 q 是两个无关的量"。两者由 π 桥接互相换算;dueling 架构、优势估计(kp-014)都利用这一关系。
- 误区二:"贝尔曼方程是算法"。它是定义(价值的精确刻画);DP/TD/MC 是逼近它的不同数值方案(模型已知与否、自举与否、全期望还是采样)。
- 误区三:"最优方程的 max 意味着要穷举动作"。连续动作空间无法穷举,这正是 DDPG/SAC 用确定性/随机策略网络替代 max 的动机(kp-018/019)。
与其他知识点的关系
- kp-005:模型已知时解它(策略迭代/值迭代)。
- kp-007/008:模型未知时用采样逼近(不自举 vs 自举)。
- kp-012:自举 × 函数逼近 × 离线数据的发散三角。
- kp-014:优势函数的估计方法。
自测题
- 从回报递归出发两步写出贝尔曼期望方程。
答:$G_t = R_{t+1} + \gamma G_{t+1}$,条件期望展开:$v^\pi(s) = \mathbb{E}_\pi[R_{t+1} + \gamma v^\pi(S_{t+1}) \mid S_t{=}s]$,按转移核展开即得双重求和形式。
- 期望方程与最优方程差在哪?
答:期望方程对给定 π 取平均(分析某策略好坏);最优方程内嵌 max(刻画最优可达价值),是非线性的但由压缩性保证唯一解。
- 优势函数为什么对策略梯度有用?
答:$A = q - v$ 是相对基线的改进量,方差小、符号直接指示"该动作是否优于平均水平"(kp-013/014)。
延伸阅读
- Sutton & Barto 教材第 3、4 章(价值函数与贝尔曼方程的完整推导)。
- David Silver 课程 Lecture 2/3。
- Bertsekas《Dynamic Programming and Optimal Control》第 1 卷(压缩映射视角)。