十一:强化学习:蒙特卡洛方法、Sarsa 与多步 Sarsa自测题答案¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483917&idx=1&sn=aaaa6e9b344553bf3db74f326e5b933c&chksm=f01eb174c7693862146b1c9ccd10152dee1f06f1645a023881d8b434e909da35d7f622eab26a#rd
参考资料¶
-
CSDN:蒙特卡洛方法:https://blog.csdn.net/qq_64671439/article/details/135345465
-
CSDN:Robbins-Monro 算法和随机梯度下降:https://blog.csdn.net/qq_64671439/article/details/135375515
-
CSDN:从 Sarsa 讲到 Q-learning:https://blog.csdn.net/qq_64671439/article/details/136529678
-
动手学强化学习:时序差分算法:http://hrl.boyuai.com/chapter/1/%E6%97%B6%E5%BA%8F%E5%B7%AE%E5%88%86%E7%AE%97%E6%B3%95/
-
Sutton and Barto, Reinforcement Learning: An Introduction, Chapter 5-7: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/
评分标准¶
-
合格:能写出 MC、TD(0)、Sarsa、n-step Sarsa、Q-learning 的核心 target 和更新公式。
-
良好:能解释 first-visit/every-visit、Robbins-Monro、epsilon-greedy、on-policy/off-policy、bias-variance。
-
优秀:能结合 Cliff Walking、长 episode、LLM Agent 场景说明方法选型、超参数影响和工程排错。
一、从 DP 到 Model-free¶
1. 为什么动态规划方法通常需要完整环境模型?¶
动态规划要计算 Bellman 期望或最优 backup,需要遍历可能的下一状态并按 P(s'|s,a) 加权,还要知道奖励 R。如果没有完整模型,就无法直接计算这些期望。
2. Model-free 强化学习与基于模型的动态规划有什么核心区别?¶
Model-free 方法不显式使用或学习完整的 P 和 R,而是从实际采样的经验中学习价值或策略。动态规划基于已知模型做期望更新,model-free 基于样本做随机更新。
3. 采样式学习中,一条 transition 通常包含哪些元素?¶
通常包含:
有些算法还会包含下一个动作A_{t+1},例如 Sarsa。
4. 一条 episode 通常包含哪些元素?¶
一条 episode 是从初始状态到终止状态的完整轨迹:
也可以写成一串 transitions。5. 为什么从采样数据估计价值可以看成估计期望?¶
价值函数本质是条件期望,例如:
采样得到多个G_t 后,用样本平均或随机逼近估计这个期望。
6. 在没有 P(s'|s,a) 的情况下,为什么学习 Q(s,a) 对控制问题特别重要?¶
如果只有 V(s),要比较动作还需要知道动作导致的转移和奖励。Q(s,a) 直接评估状态动作对,有了 Q 就能通过 argmax_a Q(s,a) 改进策略,不需要显式模型。
7. Monte Carlo、TD、Sarsa 都属于 model-free 吗?分别使用什么样的采样目标?¶
通常都属于 model-free。MC 使用完整回报 G_t 作为 target;TD 使用 R + gamma V(S') 这类 bootstrap target;Sarsa 使用 R + gamma Q(S',A') 作为动作价值的 TD target。
8. 采样式强化学习相比 DP 的优势和代价分别是什么?¶
优势是不需要完整模型,可用于真实环境和大规模问题。代价是样本效率、估计方差、探索、训练稳定性和收敛诊断更困难。
二、蒙特卡洛预测¶
9. Monte Carlo 方法的核心思想是什么?¶
MC 方法通过采样完整 episode,用实际观察到的回报来估计价值函数。它用样本平均近似期望回报。
10. 为什么 MC 方法通常适合 episodic task?¶
标准 MC 需要等 episode 结束后才能得到完整回报 G_t。如果任务没有自然终止,完整回报难以获得或方差很高,需要截断、折扣或改用 TD。
11. 请写出状态价值 V^pi(s) 的 MC 估计思路。¶
对所有访问状态 s 的时刻,计算之后的回报 G_t,然后取平均:
12. 请写出动作价值 Q^pi(s,a) 的 MC 更新形式。¶
其中G_t 是从执行 A_t 后开始累计的完整折扣回报。
13. 什么是 first-visit MC?¶
First-visit MC 在每条 episode 中,对某个状态或状态动作对只使用第一次访问后的 return 进行更新。
14. 什么是 every-visit MC?¶
Every-visit MC 在每条 episode 中,对某个状态或状态动作对的每次访问都计算 return 并更新。
15. first-visit MC 和 every-visit MC 的区别和联系是什么?¶
区别是每条 episode 中同一状态重复出现时,first-visit 只用第一次,every-visit 每次都用。联系是采样足够且条件合适时,两者都可以收敛到真实价值。
16. MC prediction 为什么不需要知道状态转移概率?¶
因为 MC 直接使用实际采样出的轨迹和回报,不需要枚举所有可能下一状态,也不需要按转移概率求期望。
17. MC 方法为什么必须等到 episode 结束才能做标准完整回报更新?¶
完整回报 G_t 包含从 t 到 episode 结束的所有未来奖励。未结束时这些未来奖励还没有观测到,所以标准 MC 更新要等终止。
18. MC target 的方差为什么可能较高?¶
G_t 包含许多未来随机奖励、随机转移和随机动作。episode 越长,累积随机性越多,回报方差越高。
三、增量更新与 Robbins-Monro¶
19. 请写出样本均值的增量更新公式。¶
这是把第n 个样本纳入均值的在线更新形式。
20. 为什么增量更新比保存所有历史 return 更实用?¶
它只需要保存当前估计和计数,不需要存储全部历史样本,内存更低,也适合在线学习。
21. 使用固定学习率 alpha 和使用 1/n 学习率有什么区别?¶
1/n 会逐渐减小,新样本影响越来越小,适合平稳分布下收敛到样本均值。固定 alpha 会持续赋予新样本权重,适合非平稳环境,但估计会持续波动。
22. Robbins-Monro 随机逼近的基本更新形式是什么?¶
常见形式:
或更一般地沿随机估计方向更新参数。23. Robbins-Monro 收敛条件 sum alpha_t = infinity 表示什么直觉?¶
表示总学习量不能太小,算法必须持续吸收新信息。如果学习率衰减太快,可能还没接近目标就停止有效学习。
24. Robbins-Monro 收敛条件 sum alpha_t^2 < infinity 表示什么直觉?¶
表示学习率要足够快地变小,使随机噪声的累计影响有限,避免估计长期剧烈波动。
25. 为什么随机梯度下降可以看成随机逼近的一种形式?¶
SGD 用小批量样本梯度近似真实期望梯度,然后按学习率更新参数。它也是用随机样本估计期望方向并迭代逼近最优解。
26. 在深度 RL 中,为什么实际学习率设置不一定严格满足 Robbins-Monro 理论条件?¶
深度 RL 使用非线性函数近似、非平稳数据、经验回放、目标网络和优化器调度,理论条件很难完全满足。实际更关注稳定训练、验证表现和工程经验。
四、蒙特卡洛控制与探索¶
27. Monte Carlo control 的目标是什么?¶
目标是在不知道环境模型的情况下,通过采样 episode 学习动作价值 Q,并不断改进策略,最终得到高回报策略。
28. 为什么控制问题中通常学习 Q(s,a) 而不是只学习 V(s)?¶
没有模型时,单靠 V(s) 不知道每个动作会带来什么后果。Q(s,a) 直接给出动作比较依据,可以直接用 argmax_a Q(s,a) 改进策略。
29. MC control 如何体现 GPI 思想?¶
它先用 MC return 评估当前策略的 Q 值,再让策略对 Q 更贪心,然后继续采样和更新。这正是 policy evaluation 与 policy improvement 的循环。
30. 什么是 exploring starts?它解决什么问题?¶
Exploring starts 要求 episode 的初始状态动作对有非零概率覆盖所有可能组合。它用于保证每个状态动作对都能被访问,避免 Q 值永远没有数据。
31. 什么是 epsilon-greedy 策略?¶
以 1-epsilon 的概率选择当前 Q 值最高的动作,以 epsilon 的概率随机选择动作。它在利用和探索之间折中。
32. 什么是 epsilon-soft policy?¶
epsilon-soft policy 要求每个动作都有至少某个正概率被选择,常见形式是 epsilon-greedy。它保证探索不会完全消失。
33. 为什么完全贪心策略可能导致探索不足?¶
早期 Q 值估计可能不准。完全贪心会一直选择当前看起来最好的动作,其他动作得不到尝试,可能错过真正更优策略。
34. On-policy MC control 和 off-policy MC control 有什么区别?¶
On-policy 用当前正在改进的策略采样并学习它自身。Off-policy 用行为策略采样数据,但学习另一个目标策略,通常需要分布校正。
35. Off-policy MC 为什么需要重要性采样?¶
因为样本来自行为策略 b,而目标是估计目标策略 pi 下的期望。重要性采样用概率比修正分布差异:
36. 重要性采样在长 episode 中为什么可能高方差?¶
长 episode 的重要性权重是多个概率比的乘积,可能指数级变大或变小,导致估计极不稳定。
五、TD 学习¶
37. Temporal Difference 方法的核心思想是什么?¶
TD 用采样到的一步奖励加下一状态价值估计来更新当前价值。它不需要模型,也不需要等 episode 结束。
38. 请写出 TD(0) 状态价值更新公式。¶
39. 什么是 TD target?¶
TD target 是当前更新追踪的目标。TD(0) 中:
40. 什么是 TD error?¶
TD error 是 target 和当前估计的差:
它表示当前估计需要修正的方向和大小。41. TD 方法为什么可以在线更新?¶
TD 只需要当前 transition 和下一状态价值估计,不需要完整 episode 的未来奖励。因此每走一步就可以更新。
42. TD 方法为什么说结合了 MC 和 DP 的思想?¶
它像 MC 一样从实际采样经验中学习,不需要模型;又像 DP 一样使用已有价值估计作为 target 的一部分,也就是 bootstrap。
43. MC target 和 TD target 分别是什么?¶
MC target 是完整回报:
TD(0) target 是: 动作价值 Sarsa 的 TD target 是:44. MC 和 TD 在 bias-variance 上有什么区别?¶
MC target 使用真实完整回报,不使用 bootstrap,通常 bias 低但方差高。TD target 使用当前价值估计,有 bootstrap bias,但方差较低,学习更及时。
45. 什么是 bootstrapping?TD 中哪里体现了 bootstrapping?¶
Bootstrapping 是用当前估计值构造更新目标。TD 中的 gamma V(S_{t+1}) 或 gamma Q(S',A') 就是用估计值估计未来回报。
46. 如果下一状态是终止状态,TD target 应该如何处理?¶
终止状态没有未来价值,target 应为:
不能继续加gamma V(S_{t+1}) 或 gamma Q(S_{t+1},A_{t+1})。
六、Sarsa 与多步 Sarsa¶
47. Sarsa 名字中的五个元素分别是什么?¶
分别是:
即当前状态、当前动作、奖励、下一状态、下一动作。48. 请写出 Sarsa 的 Q 值更新公式。¶
49. 为什么 Sarsa 是 on-policy 算法?¶
因为它更新时使用的 A_{t+1} 是当前行为策略实际选择的动作。它评估并改进的就是包含探索行为的当前策略。
50. Sarsa 的典型训练流程是什么?¶
初始化 Q;每个 episode 开始选初始动作;执行动作得到 R,S';用当前策略在 S' 选择 A';用 Sarsa 公式更新 Q(S,A);然后令 S<-S'、A<-A',直到终止。
51. Sarsa 中 A_{t+1} 是如何得到的?¶
A_{t+1} 由当前行为策略在下一状态 S_{t+1} 下采样得到,常见是 epsilon-greedy 策略。
52. epsilon-greedy 对 Sarsa 学到的策略有什么影响?¶
Sarsa 学到的是 epsilon-greedy 行为策略的价值,而不是纯贪心策略的价值。它会考虑探索动作带来的风险。
53. 如果 Sarsa 训练时 epsilon 一直很大,会有什么结果?¶
探索比例高,策略会持续随机,学习到的 Q 值反映高噪声行为策略,最终执行表现可能不够贪心,收敛策略也可能较保守。
54. 多步 Sarsa 的 n-step return 公式是什么?¶
G_{t:t+n}
= R_{t+1} + gamma R_{t+2} + ... + gamma^{n-1} R_{t+n}
+ gamma^n Q(S_{t+n}, A_{t+n})
t+n 前结束,则只累加到终止奖励,不再 bootstrap。
55. n-step Sarsa 中 n=1 和 n 到 episode 结束分别对应什么极端?¶
n=1 对应一步 Sarsa,也就是 TD(0) control。n 到 episode 结束时接近 Monte Carlo,用完整回报更新。
56. 多步 Sarsa 相比一步 Sarsa 的优势和风险是什么?¶
优势是能更快传播多步奖励,减少 bootstrap bias。风险是方差更高,索引和缓存更复杂,n 太大时接近 MC,长 episode 下更新延迟增加。
57. 实现 n-step Sarsa 时为什么容易出现 reward 索引错误?¶
因为执行 A_t 后得到的是 R_{t+1},而 n-step return 从 R_{t+1} 开始累加。代码数组若从 0 开始存储,状态、动作、奖励的下标很容易错一位。
58. 多步 Sarsa 如何处理 episode 结束时不足 n 步的情况?¶
如果在 t+n 前到达终止时刻 T,就只累加到 T 的奖励,不再加 gamma^n Q(S_{t+n},A_{t+n})。因为终止后没有未来价值。
七、Sarsa、Q-learning 与工程排错¶
59. Q-learning 的更新 target 是什么?¶
终止状态下 target 只等于R_{t+1}。
60. Sarsa 和 Q-learning 的 target 有什么核心区别?¶
Sarsa 使用实际下一个动作:
Q-learning 使用下一状态最大动作: 前者 on-policy,后者 off-policy。61. 为什么 Q-learning 通常被称为 off-policy?¶
因为它可以用带探索的行为策略采样数据,但更新目标总是假设下一步采取贪心动作。学习的目标策略和产生数据的行为策略不同。
62. 在 Cliff Walking 中,Sarsa 和 Q-learning 学到的行为可能有什么差异?¶
Sarsa 考虑 epsilon 探索可能导致掉悬崖,因此倾向更安全、离悬崖远的路径。Q-learning 学贪心最优路径,可能贴近悬崖,因为 target 不考虑探索动作风险。
63. alpha、gamma、epsilon 分别控制什么?¶
alpha 控制学习率,决定新样本影响大小。gamma 控制未来奖励权重。epsilon 控制随机探索比例。
64. 如果 Q 值震荡严重,可能有哪些原因?¶
学习率过大,奖励尺度过大,epsilon 太高,环境随机性强,bootstrap target 不稳定,终止状态处理错误,或函数近似导致发散。
65. 如果训练很久仍然学不到有效策略,应该排查哪些问题?¶
排查奖励是否正确、动作是否执行正确、状态编号和 Q 表维度是否匹配、epsilon 是否过小导致探索不足、alpha 是否太小、gamma 是否不合适、done 是否处理正确、episode 是否真的终止、更新公式 target 是否写错。
66. MC、TD、Sarsa、Q-learning 分别更适合什么场景?¶
MC 适合 episodic、能获得完整回报且模型未知的任务。TD 适合需要在线更新或长 episode 的预测任务。Sarsa 适合 on-policy 控制和需要考虑探索风险的任务。Q-learning 适合学习贪心最优策略、可用探索数据进行 off-policy 学习的任务。
八、LLM、RLHF 与 Agent 场景¶
67. 如何把一次完整对话看作 MC 方法中的 episode?¶
一次对话从用户请求开始,到问题解决、拒答、转人工或用户结束为止。整段对话是 episode,最终用户满意度、任务成功率或人工评分可以形成回报,用于更新对话策略。
68. 为什么长任务 Agent 中纯 MC 反馈可能学习效率低?¶
长任务要等完整流程结束才知道回报,学习信号延迟很长。最终成功或失败很难归因到中间某一步,回报方差高,样本效率低。
69. TD/critic 思想如何帮助长 horizon 的 LLM Agent 学习?¶
TD/critic 可以估计中间状态的未来成功概率或长期价值,让模型在任务未结束时就得到更新信号。这样能更快传播奖励,缓解长 horizon 的信用分配问题。
70. 请设计一个工具调用 Agent 的 Sarsa 式学习抽象,包括状态、动作、奖励、Q 值更新和探索策略。¶
一种设计:
S:
用户目标、对话历史、已调用工具、工具返回结果、任务阶段、剩余预算
A:
回复用户、追问、检索、调用某个工具、总结、升级人工、结束任务
R:
任务成功 +10
工具调用有效 +1
无效调用 -1
超预算 -3
错误答案或安全违规 -10
policy:
epsilon-greedy over Q(S,A)
update:
Q(S,A) <- Q(S,A) + alpha [R + gamma Q(S',A') - Q(S,A)]
A' 必须是 Agent 在下一状态按当前 epsilon-greedy 策略实际选择的动作。优秀答案还应说明终止状态不 bootstrap,并指出状态需要包含工具结果和预算,否则不满足马尔可夫性。
预览时标签不可点
<div class="