第4课 Bellman方程
目录
- 第4课:Bellman 方程
- 0. 一句话理解
- 1. 为什么需要 Bellman 方程
- 2. 回报的递推形式
- 3. Bellman expectation equation(状态价值版)
- 4. Bellman expectation equation(动作价值版)
- 5. Bellman optimality equation(状态价值版)
- 6. Bellman optimality equation(Q 版)
- 7. expectation 与 optimality 的区别
- 8. bootstrapping(自举)
- 9. Bellman 方程为什么伟大
- 10. 与 Q-learning 的关系
- 11. 一个简单例子
- 12. 易混淆点
- 13. 我的理解(可补充)
- 14. 复习问题
- 15. 前后关联
第4课:Bellman 方程
0. 一句话理解
Bellman 方程把“长期价值”拆成“当前一步奖励 + 后续价值”。
1. 为什么需要 Bellman 方程
上一课定义了: - 回报 $G_t$ - 状态价值 $V^\pi(s)$ - 动作价值 $Q^\pi(s,a)$
但这些定义都涉及未来很长一串奖励。
Bellman 方程提供了一个核心突破:
长期价值可以递推地表示出来。
它是 RL 几乎所有经典算法的理论源头。
2. 回报的递推形式
由回报定义:
$$ G_t=r_t+\gamma r_{t+1}+\gamma^2 r_{t+2}+\cdots $$
可得:
$$ G_t=r_t+\gamma G_{t+1} $$
这条式子是 Bellman 思想的最底层来源。
它说明:
从现在开始的总收益 = 当前奖励 + 折扣后的未来总收益
3. Bellman expectation equation(状态价值版)
对于固定策略 $\pi$:
$$ V^\pi(s)=\mathbb{E}\pi \left[r_t+\gamma V^\pi(s)\mid s_t=s\right] $$
含义:
在策略 $\pi$ 下,状态 $s$ 的价值
= 当前一步的期望奖励 + 折扣后的下一状态价值的期望
如果把动作和环境随机性展开,在离散情形可写为:
$$ V^\pi(s)=\sum_a \pi(a\mid s)\sum_{s',r}p(s',r\mid s,a)\bigl[r+\gamma V^\pi(s')\bigr] $$
4. Bellman expectation equation(动作价值版)
对于固定策略 $\pi$:
$$ Q^\pi(s,a)=\mathbb{E}\pi \left[r_t+\gamma Q^\pi(s)\mid s_t=s,a_t=a\right] $$},a_{t+1
更常见的展开写法:
$$ Q^\pi(s,a)=\sum_{s',r}p(s',r\mid s,a)\left[r+\gamma \sum_{a'}\pi(a'\mid s')Q^\pi(s',a')\right] $$
其含义是:
先在状态 $s$ 做动作 $a$,接着在下一状态按策略继续行动,其长期价值满足递推关系。
5. Bellman optimality equation(状态价值版)
最优状态价值满足:
$$ V^(s)=\max_a \sum_{s',r}p(s',r\mid s,a)\bigl[r+\gamma V^(s')\bigr] $$
解释:
一个状态的最优价值,等于所有可能动作中
“当前奖励 + 后续最优价值” 最大的那个。
6. Bellman optimality equation(Q 版)
最优动作价值满足:
$$ Q^(s,a)=\sum_{s',r}p(s',r\mid s,a)\bigl[r+\gamma \max_{a'}Q^(s',a')\bigr] $$
也常写成期望形式:
$$ Q^(s,a)=\mathbb{E}\left[r_t+\gamma \max_{a'}Q^(s_{t+1},a')\mid s_t=s,a_t=a\right] $$
这条式子尤其重要,因为它几乎就是: - Q-learning - DQN
这一路方法的理论核心。
7. expectation 与 optimality 的区别
expectation
针对固定策略 $\pi$,后续动作按策略概率取平均。
optimality
不固定策略,而是假设后续每一步都取最优动作,因此出现 $\max$。
Important
expectation 是“评估某个策略”; optimality 是“刻画最优策略”。8. bootstrapping(自举)
Bellman 方程的算法意义之一是:
更新当前价值时,可以借助对下一状态价值的估计。
例如:
$$ V(s)\leftarrow r+\gamma V(s') $$
这叫 bootstrapping。
它意味着: - 不必等整条轨迹结束 - 可以边交互边更新估计
这个思想对后续 TD、SARSA、Q-learning 都很关键。
9. Bellman 方程为什么伟大
因为它把“长远问题”变成“局部递推问题”。
因此我们可以:
- 用迭代法逼近价值函数
- 设计基于采样的更新规则
- 构造策略评估与最优控制算法
这直接通向: - 06-第5课 动态规划 策略评估 策略迭代 价值迭代
10. 与 Q-learning 的关系
最优 Bellman 方程告诉我们:
$$ Q^(s,a)=\mathbb{E}[r+\gamma \max_{a'}Q^(s',a')] $$
Q-learning 的想法就是:
用样本不断逼近这个关系。
其表格更新形式为:
$$ Q(s,a)\leftarrow Q(s,a)+\alpha\bigl[r+\gamma \max_{a'}Q(s',a')-Q(s,a)\bigr] $$
括号中的差值:
$$ r+\gamma \max_{a'}Q(s',a')-Q(s,a) $$
称为 TD error。
11. 一个简单例子
假设状态 $s$ 下有两个动作:
- 动作 A:立即奖励 2,进入 $s_1$
- 动作 B:立即奖励 0,进入 $s_2$
若: - $V(s_1)=5$ - $V(s_2)=10$ - $\gamma=0.9$
则: $$ Q(s,A)=2+0.9\times 5=6.5 $$
$$ Q(s,B)=0+0.9\times 10=9 $$
所以虽然 B 当前奖励更低,但长期更优。
12. 易混淆点
Bellman 方程本身不是近似
对定义良好的价值函数来说,Bellman 方程是严格成立的。
近似发生在后续算法求解时。
$s_{t+1}$ 与 $s'$ 的角色不同
详见:07-强化学习公式与符号说明#3. s_{t+1} 与 s' 的区别
13. 我的理解(可补充)
Bellman 方程像一条“总账拆分规则”:
- 今天拿多少
- 明天开始还值多少
只要这条拆分规则成立,RL 就能设计递推算法。
14. 复习问题
- 为什么 $G_t=r_t+\gamma G_{t+1}$?
- Bellman expectation equation 表达了什么?
- Bellman optimality equation 和 expectation 有什么不同?
- 什么是 bootstrapping?
- Q-learning 与 Bellman 最优方程的关系是什么?