P4-19.5 补充学习:第一次读强化学习中的公式名称¶
Section ID:
P4-19.5Version:v2026.07.23
一旦开始阅读 P4-19.1 里的价值型强化学习(value-based reinforcement learning),下面这些名字很快就会跟着出现。
- 贝尔曼方程(Bellman equation)
- 收敛(convergence)
- 函数近似(function approximation)
这一节不是按严格证明顺序把这些名字长篇展开,而是先把为什么价值型强化学习的分数表会递归地写出来、为什么要检查反复更新是否稳定、为什么在大问题里会从表转向函数连起来读。
本节范围¶
这一节回答下面这些问题。
- 为什么贝尔曼方程会被读成
当前奖励 + 下一状态的价值? - 说“看收敛”到底是在看什么,什么正在变得不再大幅摇晃?
- 为什么函数近似会代替 Q-table 出现?
- DQN 应该被读成价值型强化学习的哪一种扩展?
这一节集中通过 递归式价值阅读、重复更新的稳定化、从表走向函数 这三个把手来理解强化学习的扩展背景。
用补充学习:如何第一次阅读贝尔曼方程、收敛与函数近似留下的判断标准¶
- 能把贝尔曼方程解释成
连接当前奖励和未来价值的方程。 - 能把收敛解释成
反复更新之后,结果是否稳定在某个值附近这个问题。 - 能把函数近似解释成
当状态空间很大时,用模型而不是表来表达价值的方式。 - 能把 DQN 解释成
把价值型直觉搬到大状态空间里的代表扩展。
为什么需要这一节¶
Q-learning 和 SARSA 的直觉很好懂,但很快就会碰到两堵墙。
- 为什么这种更新公式可以成立?
- 如果状态太多,真的能把所有值都写进表里吗?
贝尔曼方程、收敛、函数近似,正是在这里出现的。
所以,这一节的核心,是第一次把Q-table 的直觉从哪里获得数学形式、又在哪里遇到计算极限、接着走向什么扩展连起来。
为什么会出现贝尔曼方程¶
价值型强化学习的核心想法很简单。
一个好的动作,不只是现在奖励大,还应该把我们带到一个之后也更好的状态。
如果把这个想法读成公式,下面这种结构就会自然出现。
- 现在得到的奖励(reward)
- 从下一状态(next state)继续延伸出来的未来价值(value)
所以,贝尔曼方程其实是把价值不只是当前一次收益,而是后续选择的好坏也一起算进去这句话压缩成了更短的表达。
入门阶段,可以先这样来读。
| 阅读问题 | 贝尔曼形式在说什么 |
|---|---|
| 为什么这个动作现在是好的? | 因为不仅当前奖励大,下一状态的价值也大 |
| 为什么价值会看起来是递归的? | 因为下一状态的价值也还是用同样的方式定义 |
| 为什么不能一次算完? | 因为未来价值又继续连到未来价值 |
所以,比起一上来盯住复杂符号,更重要的是先把贝尔曼方程抓成已经把未来也放进来的分数表。
说“看收敛”到底是在看什么¶
Q-learning 和 SARSA 不会一次就把值全部填完,而是随着经验累积一点点更新。所以会自然出现下面这个问题。
如果一直这样改下去,这些值会不会在某个时候稳定下来?
这个问题,就是收敛。
入门阶段,可以把收敛读成:
随着更新反复进行,这些值会不会不再剧烈摇晃,而是逐渐聚到某个比较稳定的值附近?
| 更像收敛良好的感觉 | 应该怀疑收敛的感觉 |
|---|---|
| 同一个状态-动作值在反复更新后,变化幅度越来越小 | 很久之后它仍然大幅起伏 |
| 经验越多,分数表越稳定 | 因为探索、学习率或表达问题,值一直在摇晃 |
| 策略比较变得越来越一致 | 哪个动作更好经常反复翻转 |
这一节不需要把完整的收敛证明一路看完,但为什么重复更新会继续连接到稳定性问题,而不只是经验感觉这一点,仍然值得先抓住。
为什么函数近似会出现¶
在一个小迷宫里,状态和动作数量都不多,所以 Q-table 可以直接写出来。但真实问题并不是这样。
- 把整个屏幕像素当成状态的游戏
- 拥有大量传感器值的机器人控制
- 组合数极多的推荐问题
在这些场景里,要把每个状态-动作对的值都直接写进表里,会马上变得困难。
于是函数近似就出现了。
与其在每个格子里直接写值,不如用一个接受输入并预测值的函数或模型来代替。
| Q-table | 函数近似 |
|---|---|
| 每个状态-动作格子里直接写值 | 给定状态时,由模型估计价值 |
| 在小问题里直觉清楚 | 更容易处理大状态空间 |
| 状态一多,表会很快膨胀 | 可以泛化,但学习稳定性会更难 |
所以,函数近似并不是放弃价值型强化学习,而是为了把那种直觉搬进更大问题里,而进行的一次表达变化。
DQN 应该怎样来读¶
DQN 是这条函数近似路径里的代表例子。
如果用一句很短的话来说:
它用神经网络(neural network)来近似 Q-value,而不是用表,从而能够处理更大的状态空间。
所以,DQN 不应该被读成一种全新的哲学,而更应该读成把价值型强化学习扩展到更大问题上的名字。
| Q-learning 中保留下来的东西 | DQN 中改变的东西 |
|---|---|
| 仍然在问哪个动作价值更大 | 把价值由表改成函数近似器来表达 |
| 下一状态的价值仍然会进入当前更新 | 用神经网络读取大状态输入 |
| 仍然使用价值型直觉 | 学习稳定化所需的额外装置变得更重要 |
所以,DQN 不是放弃价值型学习的名字,而是把价值型学习抬到更大状态空间里的名字。这条总体脉络,还可以在 P4-19.4 里重新放到大图里来读。
案例与示例¶
案例 1. 当一个小迷宫还能用表,但一到屏幕游戏表就崩掉时¶
在一个小迷宫问题里,当前位置和移动方向的组合并不多,所以 Q-table 往往足够。人最容易先采用的规则也很简单:格子不多,那就给每个状态写一个值,再去更新这张表。
这个规则在小型玩具问题里确实好用。比如在 5x5 网格里,就算给 当前格子 -> 上/下/左/右 都写上值并反复更新,整体图景也还看得过来。这个时候,贝尔曼式也能直接贴上去,读成当前奖励 + 下一格的价值。
但一旦问题变成把整个屏幕像素都当成状态的游戏,情况就变了。现在,给这个新场景再加一个格子这种规则会很快失效。看起来相似的场景会大量出现,画面只要稍微变化一点,实际上就可能要被当成新状态。于是,核心问题会从要不要再给表里加一格,转成是不是需要一个能在相似场景之间共同估计价值的规则。
flowchart TD
A["先读小型迷宫"]
B["把数值写进表格"]
C["表格比较仍然可行"]
D["扩展到屏幕游戏"]
E["状态数量暴增"]
F["继续加新格子会失效"]
G["把数值改为函数近似"]
A --> B --> C
C --> D --> E --> F --> G
| 问题场景 | 人最容易先采用的规则 | 很快出现的限制 | 这一节补上的解释 |
|---|---|---|---|
| 5x5 迷宫 | 给每个状态格子写一个值 | 表还足够小,能管理 | 适合先用表来学习贝尔曼式和重复更新 |
| 屏幕游戏初期 | 每出现一个新场景就再加一个格子 | 场景数量太大,表几乎无法管理 | 价值表达必须转向函数近似 |
| 相似场景不断变化的环境 | 几乎把每个相似场景都分开记录 | 无法泛化,学习会变慢也更不稳定 | 需要能读取共通模式的模型 |
所以,在这个案例里,函数近似并不是放弃价值型强化学习的额外装置。它是当表已经无法承载同样判断时,把那个判断搬进更大状态空间的一次表达变化。
这个案例最后要确认的结论是:在小迷宫里,把每个状态-动作值直接写进表里仍然可以稳定比较哪个动作更好;但像屏幕游戏那样状态数暴涨之后,继续多加格子就很难继续支撑同样的比较。此时真正要确认的,不是价值型直觉错了,而是该把这种直觉从表搬到函数里去了。
练习与示例¶
这个练习直接接着案例 1,重点是确认为什么同样的贝尔曼式阅读 当前奖励 + 下一价值,会因为状态空间大小不同,而分叉成继续用表和转向函数近似。
输入里要看的值是当前奖励 1.0、折扣率 0.9、下一状态价值 0.8,以及状态数。输出里要读的不是某一个计算结果,而是同样的当前价值解释在小状态空间里会走向 Q-table,在大状态空间里会走向函数近似这个判断。
因此,这个练习不是把贝尔曼方程、收敛、函数近似分开背,而是把它们连成一条流。贝尔曼式是阅读 当前奖励 + 下一价值 的递归结构;收敛是在问不断更新这个值时,变化幅度会不会缩小;函数近似则是在大状态空间里更换承载同一判断的表达方式。
| 场景 | 计算 | 当前价值阅读 | 状态数 | 更自然的表达 |
|---|---|---|---|---|
small_maze | 1.0 + 0.9 * 0.8 | 1.72 | 25 | Q-table |
screen_game | 1.0 + 0.9 * 0.8 | 1.72 | 1,000,000 | 函数近似(function approximator) |
这个例子里真正要读出来的是:
- 不管是小迷宫还是屏幕游戏,当前价值都还是通过同样的贝尔曼结构
当前奖励 + 下一价值来读。 - 也就是说,状态空间变大,并不会让价值型直觉本身消失。
- 真正变化的是
把这个值放在哪里,而当状态数增长时,同样的直觉就必须搬进函数近似里。
表格视角:状态数一变大,最先变得不舒服的是什么¶
这次保持奖励和折扣率不变,只增加状态数,看看什么时候表格式直觉会开始变得不舒服。因为这里是按状态数来区分表达方式的场景,所以比较表比代码更清楚。
| 状态数 | 当前价值阅读 | 最先变得不舒服的地方 | 表达方式 |
|---|---|---|---|
| 25 | 1.72 | 还能把状态-行动值写进表里 | Q-table |
| 2,500 | 1.72 | 表变大,管理变得困难 | 函数近似 |
| 250,000 | 1.72 | 难以直接保存所有值 | 函数近似 |
这里没有变的是当前奖励 + 未来价值这个解释;最先崩掉的是把它直接写进表里这种表达方式。所以真正要确认的重点不是贝尔曼式失效了,而是同样的判断现在必须搬到另一种表达里去。
直接判断一下¶
看看下面这些观察,先选哪个解释更安全。
| 观察 | 过快下的结论 | 更安全的解释 |
|---|---|---|
小迷宫和屏幕游戏的 bellman view 一样 | 大状态空间里不用贝尔曼方程了 | 当前价值的阅读方式没变,变的是价值表达方式 |
| 状态数从 25 变成 2500 时,表达方式改了 | 价值型强化学习失效了 | 表开始不舒服,于是出现了转向函数近似的需要 |
| 反复更新后,变化幅度变小了 | 公式已经结束,没什么可问了 | 这会继续连到“值是否正在稳定下来”的收敛问题 |
这张表的目的,不是背数学名词,而是把一条流抓住:为什么当前价值会连到未来、为什么会冒出稳定性问题、为什么表达形式会改变。
检查清单¶
- 你能否说明,贝尔曼方程是把当前奖励和未来价值一起读进去的递归价值表达?
- 你能否把收敛解释成“重复更新的结果是否会变得更稳定”这个问题?
- 你能否说明,函数近似是把 Q-table 的直觉搬到更大状态空间里的表达变化?
- 你能否把 DQN 解释成价值型强化学习中一条代表性的扩展脉络?
来源与参考资料¶
- Richard S. Sutton and Andrew G. Barto,
Reinforcement Learning: An Introduction, 2nd ed., The MIT Press, 2018. 用于确认 Bellman equation、价值型方法、convergence、function approximation 的流程。确认日期: 2026-07-19. https://mitpress.mit.edu/9780262039246/reinforcement-learning/ - Volodymyr Mnih et al.,
Human-level control through deep reinforcement learning, Nature, 2015. 用于确认把 DQN 连接到高维感官输入和 Q-value function approximation 的代表案例。确认日期: 2026-07-19. https://doi.org/10.1038/nature14236