十:强化学习:Bellman Equation 与策略迭代算法自测题答案¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483894&idx=1&sn=b9df829a737d6f0379b058be2231656f&chksm=f01eb28fc7693b99735ba9ab994b19b66aa2e96fd83e42f915cd4ac64b454d44e193642f2c40#rd
参考资料¶
-
CSDN:贝尔曼公式理论详解:https://blog.csdn.net/qq_64671439/article/details/135305331
-
CSDN:贝尔曼最优公式详解:https://blog.csdn.net/qq_64671439/article/details/135317754
-
CSDN:策略迭代算法:https://blog.csdn.net/qq_64671439/article/details/135329688
-
动手学强化学习:动态规划算法:http://hrl.boyuai.com/chapter/1/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%AE%97%E6%B3%95/
-
Sutton and Barto, Reinforcement Learning: An Introduction, Chapter 3-4:http://incompleteideas.net/book/RLbook2020.pdf
-
OpenAI Spinning Up: Key Concepts in RL:https://spinningup.openai.com/en/latest/spinningup/rl_intro.html
-
Hugging Face Deep RL Course:https://huggingface.co/learn/deep-rl-course/
评分标准¶
-
合格:能写出 Bellman 期望方程和最优方程,能描述策略评估、策略改进、策略迭代、价值迭代。
-
良好:能解释矩阵形式、Bellman operator、不动点、DP 前提、终止状态处理和复杂度。
-
优秀:能从 Frozen Lake/Cliff Walking、GPI、近似评估、LLM/RLHF 场景迁移角度完整回答。
一、Bellman 方程基础¶
1. Bellman equation 的核心思想是什么?¶
Bellman 方程的核心是把长期价值递归拆成“当前即时奖励 + 折扣后的下一状态价值”。它利用 MDP 的马尔可夫性,把从当前到未来的回报问题转化为当前一步和子问题。 评分点:必须说出递归、即时奖励、下一状态价值、长期回报。
2. 为什么 MDP 的马尔可夫性可以推出 Bellman 递推结构?¶
马尔可夫性说明给定当前状态和动作后,未来分布不再依赖更早历史。因此从下一状态开始的未来回报可以用同一个价值函数表示,得到:
对条件期望展开后就是 Bellman 方程。3. 即时奖励和下一状态价值在 Bellman 方程中分别扮演什么角色?¶
即时奖励表示当前动作的直接反馈,下一状态价值表示动作导致的新状态中未来还能获得的期望收益。二者相加后构成当前状态或动作的长期价值。
4. Bellman 方程和回报 G_t 的定义有什么关系?¶
回报定义为:
它可以递归写成: Bellman 方程就是对这个递归形式取条件期望。5. Bellman equation 在强化学习中主要解决哪几类问题?¶
主要解决三类问题:策略评估,计算给定策略的价值;策略改进,根据价值选择更好的动作;最优控制,求最优价值函数和最优策略。
6. 什么是 Bellman backup?¶
Bellman backup 是用 Bellman 方程右侧的目标值更新当前价值估计。例如:
或最优形式:7. 为什么 Bellman 方程可以把长期规划问题转化为局部递推问题?¶
因为当前决策的影响可以分解为当前一步和下一个状态的价值,而下一个状态的价值又按同样结构定义。递归结构允许算法通过局部更新逐步传播远期奖励。
8. Bellman 方程中的期望通常来自哪些随机性?¶
来自策略动作选择的随机性、环境状态转移的随机性、奖励分布的随机性,以及有时初始状态分布的随机性。
二、贝尔曼期望方程¶
9. 请写出状态价值函数 V^pi(s) 的定义。¶
它表示从状态s 出发,之后按照策略 pi 行动时的期望折扣回报。
10. 请写出动作价值函数 Q^pi(s,a) 的定义。¶
它表示在状态s 先执行动作 a,之后按照策略 pi 行动时的期望回报。
11. 请写出状态价值的贝尔曼期望方程。¶
离散状态动作时使用求和,连续空间中换成积分。12. 请写出动作价值的贝尔曼期望方程。¶
当前动作已指定,所以第一步不再对a 按策略求期望。
13. V^pi(s) 和 Q^pi(s,a) 之间如何互相转换?¶
由 Q 得到 V:
由 V 得到 Q:14. 固定策略 pi 后,MDP 为什么可以看成 Markov Reward Process?¶
MDP 中动作由智能体选择。固定策略后,每个状态下动作分布已确定,可以把动作边缘化,得到只在状态之间转移并产生奖励的过程,因此变成 MRP。
15. 请写出策略诱导的转移矩阵 P_pi。¶
它表示在策略pi 下,从状态 s 到状态 s' 的总体概率。
16. 请写出策略诱导的奖励向量 R_pi。¶
如果奖励依赖s',可写成:
17. 请写出贝尔曼期望方程的矩阵形式。¶
移项:18. 直接矩阵求逆求 V^pi 有什么优点和缺点?¶
优点是小规模问题中可以一次求精确解。缺点是矩阵求逆复杂度高、数值稳定性有限、内存开销大,不适合大状态空间。
19. 在贝尔曼期望方程中,如果策略是确定性的,公式会如何简化?¶
如果 pi(s)=a_s,则不需要对动作求和:
20. 如果环境转移是确定性的,公式会如何简化?¶
如果 s' = f(s,a),则对下一状态求和消失:
三、贝尔曼最优方程¶
21. V(s) 和 Q(s,a) 分别表示什么?¶
V*(s) 是从状态 s 出发所有策略中能达到的最大期望回报。Q*(s,a) 是在状态 s 先执行动作 a 后,之后采用最优策略能达到的最大期望回报。
22. 请写出状态价值的贝尔曼最优方程。¶
23. 请写出动作价值的贝尔曼最优方程。¶
24. 贝尔曼期望方程和贝尔曼最优方程的核心区别是什么?¶
期望方程评估固定策略,对动作按 pi(a|s) 求期望。最优方程求最优价值,对动作取最大值。前者是 evaluation,后者是 control。
25. 为什么最优方程里会出现 max 操作?¶
因为最优策略在每个状态下应选择使长期回报最大的动作,所以动作选择不再按给定策略平均,而是选择最优动作。
26. 如何从 V* 导出最优策略?¶
对每个状态选择使 Bellman 右侧最大的动作:
27. 如何从 Q* 导出最优策略?¶
直接对 Q 值贪心:
如果需要随机最优策略,可以在所有并列最优动作上分配概率。28. 为什么说最优价值函数是不依赖具体策略的,但可以导出最优策略?¶
V* 和 Q* 已经对所有策略取最大,因此表示可达到的最优价值,不绑定某个非最优策略。最优动作可以通过对 V* 或 Q* 贪心得到,因此价值函数可以导出策略。
29. 如果多个动作拥有相同最优 Q 值,最优策略是否唯一?¶
不唯一。任何只在这些并列最优动作上选择的策略都是最优策略。确定性策略可任选一个,随机策略可在它们之间分配概率。
30. Bellman optimality equation 为什么通常是非线性的?¶
因为方程中有 max 操作。贝尔曼期望方程在固定策略下对 V 是线性的,而最优方程由于动作最大化通常是非线性方程。
四、Bellman Operator 与动态规划¶
31. 什么是 Bellman expectation operator T_pi?¶
它是一个把价值函数映射到新价值函数的算子:
V^pi 是它的不动点。
32. 什么是 Bellman optimality operator T_*?¶
它对应最优 Bellman backup,V* 是它的不动点。
33. 什么是不动点?V^pi = T_pi V^pi 表示什么?¶
不动点是经过算子变换后仍不变的点。V^pi = T_pi V^pi 表示真实策略价值函数已经满足 Bellman 递推,再做一次 Bellman backup 不会改变它。
34. 当 gamma < 1 时,Bellman operator 的压缩映射直觉是什么?¶
两组价值估计的差异经过 Bellman backup 后,最多被缩小 gamma 倍。未来价值被折扣,因此反复更新会逐步收敛到唯一不动点。
35. 动态规划算法用于强化学习时需要哪些前提?¶
需要已知环境模型,包括状态空间、动作空间、状态转移概率和奖励函数;还要能遍历状态动作,并且问题规模足够小以便存储和更新价值表。
36. 为什么现实问题中通常拿不到完整的 P 和 R?¶
真实环境复杂、随机且可能非平稳,转移概率无法精确枚举。用户行为、市场反馈、工具系统状态等也很难提前建模,只能通过采样交互获得经验。
37. 表格型 DP 一轮更新的计算复杂度与哪些量有关?¶
与状态数、动作数、每个动作可能到达的下一状态数有关,常写成:
若转移矩阵稠密,可能接近O(|S|^2 |A|)。
38. 同步 Bellman update 和异步 Bellman update 有什么区别?¶
同步更新使用旧价值表计算所有新值,再统一替换。异步更新更新一个状态后立刻使用新值继续更新其他状态。异步可能更快传播信息,但结果依赖更新顺序。
39. DP 方法和后续 Monte Carlo、TD 方法的根本区别是什么?¶
DP 使用已知模型和期望更新;Monte Carlo 和 TD 通常不需要完整模型,而是从采样经验中学习。MC 用完整回报,TD 用 bootstrap target。
40. 为什么 DP 在高维 LLM/Agent 场景中不能直接使用?¶
LLM/Agent 的状态是长上下文、工具结果和外部环境,动作空间可达词表或工具参数级别,无法枚举完整 S、A、P、R。只能用函数近似、采样和经验数据。
五、策略评估与策略改进¶
41. 什么是 policy evaluation?¶
Policy evaluation 是在给定策略 pi 的情况下,估计该策略的价值函数 V^pi 或 Q^pi。它回答“这个策略有多好”。
42. 请写出 iterative policy evaluation 的更新公式。¶
它是反复应用T_pi 的过程。
43. iterative policy evaluation 的停止条件通常如何设置?¶
常用最大变化量:
当Delta < theta 时停止。theta 是精度阈值。
44. 终止状态在策略评估中应该如何处理?¶
终止状态后没有未来回报,通常设置其价值为 0,或在 transition 中当 done=True 时使用:
reward + gamma * V(next_state)。
45. 什么是 policy improvement?¶
Policy improvement 是根据当前价值函数构造更好的策略。通常对每个状态选择能使一步 lookahead Q 值最大的动作。
46. 请写出基于 V^pi 的贪心策略改进公式。¶
括号内就是相对当前策略价值函数的一步动作价值估计。47. 策略改进定理的直觉是什么?¶
如果在每个状态下,新策略选择的动作不比旧策略按平均动作得到的价值差,那么从任意状态出发的长期表现也不会差。局部不劣通过 Bellman 递推扩展到长期不劣。
48. 为什么如果改进后的策略与原策略相同,通常说明已经达到最优?¶
如果策略已经对自身价值函数贪心,则它满足 Bellman 最优方程。此时没有状态能通过换动作获得更高价值,因此该策略是最优策略。
49. 随机策略和确定性策略在策略改进时有什么区别?¶
确定性改进通常选择单个 argmax 动作。随机策略可以变成 epsilon-greedy 或在多个高价值动作上分配概率。若需要保持探索,不能完全贪心到确定性。
50. 策略评估不精确时,策略改进还能不能进行?会带来什么问题?¶
可以,这就是 modified policy iteration 的思想。但价值估计误差可能导致错误贪心动作,使策略震荡或收敛变慢。需要合适评估轮数和停止阈值。
六、策略迭代、价值迭代与 GPI¶
51. 策略迭代的两个核心步骤是什么?¶
Policy evaluation 和 policy improvement。前者计算当前策略价值,后者基于价值函数贪心更新策略。
52. 请写出策略迭代算法的基本流程。¶
initialize pi
repeat:
evaluate V^pi
stable = true
for each state s:
old = pi(s)
pi(s) = argmax_a [R(s,a) + gamma sum_s' P(s'|s,a)V^pi(s')]
if pi(s) != old:
stable = false
until stable
53. 为什么有限 MDP 中策略迭代通常可以收敛到最优策略?¶
有限 MDP 的确定性策略数量有限。每次策略改进都不会变差,若发生变化则通常严格改进。不能无限改进有限个策略,因此最终稳定在最优策略。
54. 完整策略评估的成本为什么可能很高?¶
每轮策略迭代都要把 V^pi 评估到足够精确,可能需要多次遍历所有状态动作,或者进行大矩阵求解。状态空间越大,成本越高。
55. 什么是 modified policy iteration?¶
它不把策略评估做到底,而是只做有限轮评估就进行策略改进。它在完整策略迭代和价值迭代之间折中。
56. 价值迭代的更新公式是什么?¶
它直接应用 Bellman optimality backup。57. 价值迭代和策略迭代的主要区别是什么?¶
策略迭代显式维护策略,交替完整或近似评估与改进。价值迭代主要维护价值函数,把 max 放进每次更新中,收敛后再导出策略。
58. 价值迭代收敛后如何得到策略?¶
对收敛后的价值函数做一步贪心:
59. 什么是 Generalized Policy Iteration?¶
GPI 是策略评估和策略改进相互作用的通用框架。价值函数不断追踪当前策略,策略不断对当前价值函数变得更贪心。
60. 为什么说很多 RL 算法都可以看成 GPI 的变体?¶
因为很多算法都包含“估计某种价值”和“让策略偏向高价值动作”两个过程。区别只是用模型期望、完整采样回报、TD 目标还是函数近似来评估。
七、示例、实现与排错¶
61. 请用 Frozen Lake 说明 S、A、P、R、gamma 如何定义。¶
S 是网格位置,A 是上、下、左、右,P 是执行动作后因滑动到达不同格子的概率,R 是到达目标、掉入洞或普通移动的奖励,gamma 控制短路径和长期成功率之间的权衡。
62. Frozen Lake 中随机滑动会如何影响最优策略?¶
随机滑动使最短路径未必最优。靠近洞的短路径风险高,期望回报可能低。最优策略会综合到达目标概率、路径长度和掉洞风险。
63. 请用 Cliff Walking 说明奖励设计如何影响策略。¶
Cliff Walking 中掉入悬崖会得到大负奖励并回到起点。若策略考虑探索风险,可能选择远离悬崖的保守路径;若只看最优确定路径,可能贴近悬崖走最短路径。奖励大小会直接改变风险偏好。
64. 在代码中常见的 P[s][a] = [(prob, next_state, reward, done), ...] 表示什么?¶
它表示在状态 s 执行动作 a 后,可能发生的所有转移结果。每个元素包含转移概率、下一状态、即时奖励和是否终止。
65. 为什么处理 done=True 时不能继续加 gamma * V(next_state)?¶
因为 episode 已经结束,终止后没有后续奖励。如果继续加下一状态价值,会把不存在的未来回报计入目标,导致价值被系统性高估或低估。
66. 如果价值迭代一直不收敛,可能有哪些原因?¶
可能是 gamma >= 1 且任务不是有限回合,奖励无界,终止状态处理错误,更新公式写错,阈值过严,浮点误差,或环境转移概率没有归一化。
67. 如果策略迭代得到的策略很奇怪,应该从哪些地方排查?¶
排查奖励符号、转移概率、动作编号、终止状态、折扣因子、策略改进时的 argmax、是否使用旧价值表、状态可视化和环境边界处理。网格环境尤其容易把上下左右坐标写反。
68. Bellman 方程与 Actor-Critic 中 critic 的关系是什么?¶
Critic 学习价值函数,用来评估 actor 的动作或状态。它的目标通常来自 Bellman 递推或 TD target,因此 Bellman 方程是 critic 学习信号的理论基础。
69. 在 LLM/RLHF 中,为什么很少直接用表格 DP,但仍需要理解 Bellman 方程?¶
LLM 状态和动作空间巨大,环境模型未知,无法枚举 DP。但价值模型、critic、长期任务成功率、多轮 Agent 决策都依赖“当前动作影响未来价值”的 Bellman 思想。
70. 请完整比较 policy iteration、value iteration、Monte Carlo control 和 TD control 的模型依赖、更新目标和适用场景。¶
Policy iteration 需要完整模型,交替评估策略和贪心改进,适合小规模已知 MDP。Value iteration 也需要模型,直接做最优 Bellman backup,适合小规模最优控制。
Monte Carlo control 不需要模型,使用 episode 完整回报更新,适合可采样且有终止回合的任务,但方差较高。TD control 不需要完整模型,使用 r + gamma V(s') 或 r + gamma Q(s',a') 这类 bootstrap 目标,能在线更新,通常样本效率更好。
优秀答案应指出:PI/VI 是 DP,MC/TD 是采样学习;PI/VI 用期望 backup,MC 用完整 return,TD 用 bootstrap target;后续 Sarsa 和 Q-learning 都属于 TD control。
预览时标签不可点
<div class="