p08 2.3 贝尔曼方程_cdn
p08 2.3 贝尔曼方程
UP主: 吴恩达-深度学习
时长: 12:52
链接: https://www.bilibili.com/video/BV1fdgVzmEhU?p=8
笔记时间: 2026-06-04 16:10:40
强化学习教程笔记:贝尔曼方程(p08 2.3)
[LIST] 课程概览
本节课介绍了强化学习中的核心概念——贝尔曼方程(Bellman Equation),重点讲解了状态-动作值函数 $ Q(s,a) $ 的定义及其递推公式。通过一个一维网格世界(MDP)示例,演示了如何利用贝尔曼方程计算最优策略下的Q值,并理解其背后的数学逻辑与实际意义。
$ Q(s,a) $
[TOC] 目录大纲
- 贝尔曼方程引入
- 状态-动作值函数定义
- 贝尔曼方程公式推导
- 实例计算:Q(2,→) 与 Q(4,←)
- 终止状态的特殊情况
- 最佳回报的获取方式
[NOTE] 详细笔记
1. 贝尔曼方程引入
- 贝尔曼方程是强化学习中用于计算最优策略的关键工具。
- 它描述了当前状态和动作的价值是如何由即时奖励和未来期望回报共同决定的。
- 本节课将围绕状态-动作值函数 $ Q(s,a) $ 展开分析。
视频开头展示标题页:“State-action value function” 和 “Bellman Equation”,表明本节主题。
[00:00]
2. 状态-动作值函数定义
核心知识点:
- $ Q(s,a) $ 表示在状态 $ s $ 下执行动作 $ a $ 后所能获得的期望回报。
- 回报包括:
- 当前状态的即时奖励 $ R(s) $
- 之后所有时间步的折扣奖励总和
- 假设从该动作后开始采取最优行为。
重要术语:
- $ Q(s,a) $:状态-动作值函数(State-action value function),表示在状态 $ s $ 执行动作 $ a $ 后的长期回报。
- $ s $:当前状态(current state)
- $ a $:当前动作(current action)
- $ R(s) $:当前状态的即时奖励(reward of current state)
屏幕显示:
Q(s,a) = Return if you • start in state s. • take action a (once). • then behave optimally after that.
[00:29]
3. 贝尔曼方程公式推导
推导过程:
- 在状态 $ s $ 执行动作 $ a $,得到即时奖励 $ R(s) $
- 进入下一个状态 $ s’ $
- 在新状态 $ s’ $ 中选择最优动作 $ a’ $,使得后续回报最大
- 将未来回报乘以折扣因子$ \gamma $,体现时间偏好
因此,贝尔曼方程为:
Q(s,a)=R(s)+γmaxa′Q(s′,a′) Q(s,a) = R(s) + \gamma \max_{a'} Q(s', a')Q(s,a)=R(s)+γa′maxQ(s′,a′)
其中:
- $ s’ $:执行动作 $ a $ 后到达的新状态
- $ a’ $:在状态 $ s’ $ 中可能采取的动作
- $ \gamma $:折扣因子,通常 $ 0 < \gamma < 1 $
屏幕上新增内容:
s' : state you get to after taking action a a' : action that you take in state s'
[00:59]
公式逐步写出:
Q(s,a)=R(s)+γmaxa′Q(s′,a′) Q(s,a) = R(s) + \gamma \max_{a'} Q(s', a')Q(s,a)=R(s)+γa′maxQ(s′,a′)
[01:29]
4. 实例计算:Q(2,→) 与 Q(4,←)
示例环境设定:
- 一维网格,共6个状态:1 到 6
- 每个状态有对应的奖励值:
- $ R(1) = 100 $
- $ R(2) = 0 $
- $ R(6) = 40 $
- 其余为0或未标注(默认0)
- 动作:向左或向右移动
- 折扣因子 $ \gamma = 0.5 $
计算 $ Q(2, \rightarrow) $:
- $ s = 2 $, $ a = \rightarrow $ → $ s’ = 3 $
- $ R(2) = 0 $
- $ \max_{a’} Q(3, a’) $:状态3有两个动作(← 和 →),对应Q值分别为 25 和 6.25
- 所以最大值为 25
- 代入公式:
Q(2,→)=R(2)+γ⋅maxa′Q(3,a′)=0+0.5×25=12.5 Q(2, \rightarrow) = R(2) + \gamma \cdot \max_{a'} Q(3, a') = 0 + 0.5 \times 25 = 12.5Q(2,→)=R(2)+γ⋅a′maxQ(3,a′)=0+0.5×25=12.5
图中显示表格:
1 2 3 4 5 6 100 0 0 0 0 40 上方写有Q值:100, 50, 25, 6.25, 12.5, 10, 6.25, 20, 40, 40(部分重复,可能是上下两行)
[01:58
]
写出:
Q(2,→)=R(2)+0.5maxa′Q(3,a′)=0+0.5×25=12.5 Q(2, \rightarrow) = R(2) + 0.5 \max_{a'} Q(3, a') = 0 + 0.5 \times 25 = 12.5Q(2,→)=R(2)+0.5a′maxQ(3,a′)=0+0.5×25=12.5
[02:28]
计算 $ Q(4, \leftarrow) $:
- $ s = 4 $, $ a = \leftarrow $ → $ s’ = 3 $
- $ R(4) = 0 $
- $ \max_{a’} Q(3, a’) = 25 $
- 所以:
Q(4,←)=R(4)+0.5×25=0+12.5=12.5 Q(4, \leftarrow) = R(4) + 0.5 \times 25 = 0 + 12.5 = 12.5Q(4,←)=R(4)+0.5×25=0+12.5=12.5
屏幕显示:
Q(4,←)=R(4)+0.5maxa′Q(3,a′)=0+0.5×25=12.5 Q(4, \leftarrow) = R(4) + 0.5 \max_{a'} Q(3, a') = 0 + 0.5 \times 25 = 12.5Q(4,←)=R(4)+0.5a′maxQ(3,a′)=0+0.5×25=12.5
[02:58]
5. 终止状态的特殊情况
- 若当前状态 $ s $ 是终止状态,则没有后续状态 $ s’ $
- 此时贝尔曼方程简化为:
Q(s,a)=R(s) Q(s,a) = R(s)Q(s,a)=R(s)
因为无法继续行动,所以未来回报为0。
字幕说明:“如果你处于终止状态,那么贝尔曼方程简化为 q(SA) 等于 r(S),因为没有状态 S’,所以第二项会消失。”
[03:28
]
6. 最佳回报的获取方式
- 从任意状态 $ s $ 出发,能获得的最佳回报是:
maxaQ(s,a) \max_a Q(s,a)amaxQ(s,a)
- 对于下一状态 $ s’ $,最佳回报为:
maxa′Q(s′,a′) \max_{a'} Q(s', a')a′maxQ(s′,a′)
这正是贝尔曼方程中“未来最优回报”的来源。
屏幕文字:
The best possible return from state s is max_a Q(s,a)然后更新为:
The best possible return from state s' is max_{a'} Q(s',a')
[03:57
]
最终写出完整公式:
Q(s,a)=R(s)+γmaxa′Q(s′,a′) Q(s,a) = R(s) + \gamma \max_{a'} Q(s', a')Q(s,a)=R(s)+γa′maxQ(s′,a′)
[04:27
]
[TIP] 重点总结
| 编号 | 知识点 | 解释 |
|---|---|---|
| 1 | $ Q(s,a) $ 定义 | 表示在状态 $ s $ 执行动作 $ a $ 后的期望回报,假设之后行为最优。 |
| 2 | 贝尔曼方程 | $ Q(s,a) = R(s) + \gamma \max_{a’} Q(s’,a’) $,连接当前奖励与未来最优价值。 |
| 3 | 折扣因子 $ \gamma $ | 控制未来奖励的重要性,通常取 $ 0 < \gamma < 1 $。 |
| 4 | 状态转移 | 动作 $ a $ 导致从 $ s $ 转移到 $ s’ $,是计算 $ Q(s,a) $ 的基础。 |
| 5 | 最优动作选择 | $ \max_{a’} Q(s’,a’) $ 保证了后续决策是最优的。 |
| 6 | 终止状态处理 | 若 $ s $ 是终止状态,则 $ Q(s,a) = R(s) $,无后续状态。 |
| 7 | 数值示例 | 如 $ Q(2,\rightarrow) = 12.5 $,展示了公式的实际应用。 |
[Q] 思考题
- 如果折扣因子 $ \gamma = 1 $,会对贝尔曼方程的结果产生什么影响?是否会导致无限循环?
- 在状态3中,为什么 $ Q(3,\rightarrow) = 6.25 $ 而不是更大的值?这与哪个状态的Q值有关?
- 如果某个状态的奖励为负数,比如 $ R(3) = -10 $,那么 $ Q(3,\rightarrow) $ 会如何变化?
- 如何判断一个状态是否为终止状态?在贝尔曼方程中它有什么特殊性质?
- 你能写出 $ Q(1,\leftarrow) $ 的表达式吗?并解释为何它的值是100?
[PIN] 学习建议
✅复习建议:
- 重新手推一次 $ Q(2,\rightarrow) $ 和 $ Q(4,\leftarrow) $ 的计算过程,确保理解每一步。
- 尝试画出状态转移图,并标出每个状态的奖励和Q值。
- 复习之前章节中关于马尔可夫决策过程(MDP)的基本结构。
📚延伸阅读方向:
- 学习价值迭代(Value Iteration)算法,它是基于贝尔曼方程的求解方法。
- 探索Q-learning算法,它是用贝尔曼方程进行在线学习的经典方法。
- 阅读《Reinforcement Learning: An Introduction》第3章,深入理解贝尔曼方程的理论基础。
📌提示:掌握贝尔曼方程是理解后续强化学习算法(如DP、TD、DQN等)的前提,请务必熟练运用此公式进行数值计算和逻辑推理。
AI自检修正
以下为AI自动检查发现的潜在问题,请人工确认:
- [错误] 原文: $ R(s) $ → 应改为: $ R(s, a) $ 或者明确指出即时奖励是与状态和动作相关的,即R(s,a)R(s, a)R(s,a)。在强化学习中,即时奖励通常是依赖于采取的动作的,而不仅仅是状态。
- [错误] 原文: “回报包括:当前状态的即时奖励 $ R(s) $” → 应改为: “回报包括:执行动作后获得的即时奖励 $ R(s, a) $”。这更准确地反映了即时奖励是由特定状态下采取的动作决定的。
- [错误] 在计算 $ Q(2, \rightarrow) $ 和 $ Q(4, \leftarrow) $ 时,原文假设了某些Q值(如Q(3,→)=6.25Q(3, \rightarrow) = 6.25Q(3,→)=6.25),但没有给出这些值是如何得到的。如果这些值不是直接从视频中给定的,则需要说明它们是如何通过贝尔曼方程迭代计算得出的,或者明确指出这是基于某种初始设定或假设。
- [澄清建议] 对于终止状态的描述,“若当前状态 $ s $ 是终止状态,则没有后续状态 $ s’ $”,虽然正确,但可以进一步解释说,在这种情况下,任何动作都不会导致状态改变,因此未来回报为0。这有助于理解为什么在这种情况下贝尔曼方程简化为只考虑即时奖励。
除了上述提到的点外,笔记中的其他部分看起来与提供的信息相符,没有发现明显的数学公式推导、数值或术语定义上的错误。
