十三:强化学习:策略梯度、REINFORCE 与 Actor-Critic自测题答案¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483989&idx=1&sn=b68b10d1756515627d25bce33554fe91&chksm=f01eb12cc769383a1c0324cfa4aa1e3a67c53528318221b06afd128711bff9fa43020b46ded2#rd
参考资料¶
-
CSDN:策略梯度和 REINFORCE 算法:https://blog.csdn.net/qq_64671439/article/details/137026601
-
CSDN:多种 Actor-Critic 讲解:https://blog.csdn.net/qq_64671439/article/details/137611583
-
动手学强化学习:策略梯度算法:http://hrl.boyuai.com/chapter/2/%E7%AD%96%E7%95%A5%E6%A2%AF%E5%BA%A6%E7%AE%97%E6%B3%95/
-
动手学强化学习:Actor-Critic 算法:http://hrl.boyuai.com/chapter/2/actor-critic%E7%AE%97%E6%B3%95/
-
动手学强化学习:TRPO 算法:http://hrl.boyuai.com/chapter/2/trpo%E7%AE%97%E6%B3%95/
-
Williams, REINFORCE algorithm:https://link.springer.com/article/10.1007/BF00992696
-
Sutton and Barto, Reinforcement Learning: An Introduction, Chapter 13:http://incompleteideas.net/book/RLbook2020.pdf
-
Trust Region Policy Optimization:https://arxiv.org/abs/1502.05477
-
High-Dimensional Continuous Control Using Generalized Advantage Estimation:https://arxiv.org/abs/1506.02438
评分标准¶
-
合格:能写出策略目标、log-derivative trick、REINFORCE loss、baseline/advantage 的作用。
-
良好:能解释 policy gradient theorem、Actor-Critic、GAE、entropy 和 TRPO。
-
优秀:能把策略梯度迁移到 LLM/RLHF,能指出高方差、on-policy、KL 限制和实现细节风险。
一、策略方法基础¶
1. 策略梯度方法和基于值函数的方法有什么核心区别?¶
值函数方法先学习 V 或 Q,再通过贪心或采样选择动作。策略梯度直接参数化并优化策略 pi_theta(a|s),用梯度让高回报动作概率增加。
2. 为什么策略方法适合连续动作空间?¶
连续动作空间无法枚举所有动作做 argmax_a Q(s,a)。策略方法可以直接输出高斯分布参数或动作值,避免在连续空间中显式最大化 Q。
3. 什么是随机策略 pi_theta(a|s)?¶
它是在状态 s 下选择动作 a 的概率分布,由参数 theta 控制。智能体从这个分布中采样动作。
4. 离散动作策略通常如何参数化?¶
通常用神经网络输出 logits,再经过 softmax 得到动作概率:
5. 连续动作策略通常如何参数化?¶
常用高斯策略:
网络输出均值和方差或 log standard deviation。6. 为什么 LLM 生成可以看作一个随机策略?¶
给定上下文,LLM 输出词表上每个 token 的概率分布。采样下一个 token 就是在状态下选择动作,因此是随机策略。
7. 策略方法相比 Q-learning/DQN 的优势是什么?¶
能直接表示随机策略,适合连续动作和高维概率分布,不需要对动作做显式 argmax,与 LLM token 分布天然匹配。
8. 策略方法的主要缺点是什么?¶
梯度估计方差高、样本效率低、on-policy 数据成本高、对奖励尺度和学习率敏感,更新过大时策略可能崩坏。
二、策略目标与轨迹概率¶
9. 策略优化目标 J(theta) 通常如何定义?¶
常见定义是期望回报:
目标是最大化该值。10. 一条轨迹 tau 的概率如何分解?¶
其中只有策略项直接依赖theta。
11. 为什么环境转移概率在策略梯度中不需要求导?¶
环境转移 P(s'|s,a) 通常不由策略参数控制,对 theta 的梯度为 0。策略梯度只需要对 pi_theta(a|s) 求导。
12. 什么是状态访问分布 d^pi?¶
它表示在策略 pi 下各状态被访问的概率或折扣访问频率。策略改变会改变该分布。
13. 策略梯度为什么通常做梯度上升?¶
因为目标是最大化期望回报 J(theta),所以参数沿 grad J 方向更新。实现中若使用 loss,则最小化 -J。
14. 在深度学习框架中,为什么常把策略梯度目标写成 loss 的负号?¶
优化器默认最小化 loss。将目标取负,例如:
最小化 loss 等价于最大化策略目标。15. 策略分布变化为什么会导致训练数据分布变化?¶
策略决定动作,动作影响后续状态和轨迹。策略一变,访问到的状态、动作和奖励分布也会改变。
16. 为什么策略梯度通常是 on-policy 的?¶
标准策略梯度要求数据来自当前策略 pi_theta,否则梯度估计对应的是旧策略分布。off-policy 需要重要性采样或其他修正。
三、Log-derivative Trick 与策略梯度定理¶
17. 请写出 log-derivative trick。¶
18. log-derivative trick 如何用于对期望求梯度?¶
它把对分布的梯度转化为对 log probability 的梯度。19. 请写出基于轨迹回报的 REINFORCE 梯度形式。¶
更常用 reward-to-go:20. 请写出 policy gradient theorem 的常见形式。¶
也常用 advantage 替代 Q。21. grad log pi(a|s) 的直觉含义是什么?¶
它表示如何改变参数才能增加当前动作在当前状态下的概率。
22. Q^pi(s,a) 在策略梯度中扮演什么角色?¶
它是权重或信用分配信号。高 Q 动作的 log probability 应增加,低 Q 动作应降低。
23. 为什么高回报动作的概率会被增加?¶
梯度项是 grad log pi(a|s) * return/advantage。当权重为正时,梯度上升会提高该动作概率。
24. 策略梯度是否需要对 argmax 求导?这和 DQN 有什么不同?¶
不需要。策略梯度直接对采样动作的 log probability 求导。DQN 通过 argmax 选动作,但 Q-learning 的更新本身不是对 argmax 策略端到端求导。
四、REINFORCE¶
25. REINFORCE 是什么类型的算法?¶
REINFORCE 是 Monte Carlo policy gradient 算法。它用完整采样回报估计策略梯度。
26. 请写出 REINFORCE 的更新方向。¶
27. 请写出 REINFORCE 常见 loss 形式。¶
加入 baseline 后:28. REINFORCE 为什么通常要等 episode 结束?¶
因为它使用 Monte Carlo return,需要知道从当前时刻到 episode 结束的完整未来奖励。
29. 什么是 reward-to-go?¶
从时刻 t 之后开始的回报:
30. reward-to-go 相比整条轨迹回报有什么好处?¶
它避免让动作对发生在自己之前的奖励负责,减少无关噪声,降低梯度方差。
31. REINFORCE 的主要方差来源是什么?¶
轨迹采样随机性、环境转移随机性、长 horizon 累计奖励、稀疏奖励和策略采样都会带来高方差。
32. REINFORCE 在长 horizon 任务中为什么难训练?¶
奖励延迟长、信用分配困难、回报方差大,需要大量 episode 才能得到可靠梯度估计。
五、Baseline 与 Advantage¶
33. 为什么要在策略梯度中引入 baseline?¶
baseline 用来降低梯度估计方差,让更新关注动作相对当前状态平均水平的好坏。
34. baseline 为什么不能依赖当前动作?¶
如果 baseline 依赖动作,会改变不同动作的相对梯度权重,从而引入偏差。只依赖状态的 baseline 不改变梯度期望。
35. 为什么减去不依赖动作的 baseline 不改变梯度期望?¶
因为:
36. 最常用的 baseline 是什么?¶
状态价值函数:
37. 什么是 advantage function?¶
它表示动作比当前状态平均动作好多少。38. A(s,a)>0 和 A(s,a)<0 分别对策略更新意味着什么?¶
A>0 增加该动作概率,A<0 降低该动作概率。
39. 为什么 advantage 比原始 return 更适合更新策略?¶
它去掉状态本身好坏的公共偏移,只保留动作相对好坏,方差更低,更新方向更清晰。
40. Advantage normalization 有什么作用?¶
把 advantage 标准化到较稳定尺度,降低 reward scale 对更新幅度的影响,使训练更稳定。
六、Actor-Critic 与 GAE¶
41. Actor-Critic 中 Actor 和 Critic 分别是什么?¶
Actor 是策略网络,负责选择动作。Critic 是价值网络,负责估计 V、Q 或 advantage,为 actor 提供学习信号。
42. Critic 通常学习什么函数?¶
常见是状态价值 V_w(s),也可以学习动作价值 Q_w(s,a)。
43. Actor 如何使用 Critic 的输出更新策略?¶
Actor 用 critic 估计的 advantage 作为权重:
44. 请写出 TD error 作为 advantage 估计的公式。¶
这个 TD error 可以作为一步 advantage 估计。45. Actor-Critic 相比 REINFORCE 的优势是什么?¶
可以在线或短轨迹更新,不必等完整 episode;用 critic bootstrap 降低方差;样本效率通常更高。
46. Actor-Critic 的潜在风险是什么?¶
critic 估计有偏会误导 actor;actor 和 critic 同时学习可能不稳定;value loss 和 policy loss 的权重需要调节。
47. A2C 和 A3C 的区别是什么?¶
A2C 是同步 Advantage Actor-Critic。A3C 是异步多 worker 更新。A3C 通过异步并行减少样本相关性,A2C 更易实现和复现。
48. Actor-Critic 的常见 loss 由哪几部分组成?¶
通常包括 policy loss、value loss 和 entropy bonus:
49. 什么是 GAE?¶
GAE 是 Generalized Advantage Estimation,用多步 TD error 的指数加权和估计 advantage:
50. GAE 中 lambda 控制什么?¶
控制 bias-variance 权衡。lambda 越大,越接近 Monte Carlo,bias 低方差高;越小,越接近一步 TD,方差低但 bias 高。
51. lambda=0 和 lambda=1 分别接近什么?¶
lambda=0 接近一步 TD advantage。lambda=1 接近 Monte Carlo advantage。
52. 为什么 PPO 中常用 GAE?¶
PPO 需要稳定、低方差且不过度有偏的 advantage 估计。GAE 提供了可调的折中。
七、探索、TRPO 与实现细节¶
53. 熵正则在策略梯度中有什么作用?¶
鼓励策略保持随机性,防止过早塌缩到单一动作,提高探索。
54. 熵系数过大或过小分别会怎样?¶
过大使策略长期过于随机,难以利用高价值动作。过小可能导致探索不足和早熟收敛。
55. 策略梯度中为什么要限制单次策略更新幅度?¶
策略更新过大会让数据分布剧烈变化,旧样本失效,性能可能突然崩坏。限制更新能提高稳定性。
56. TRPO 的核心约束是什么?¶
最大化 surrogate objective,同时约束新旧策略 KL:
57. TRPO 为什么被称为信赖域方法?¶
因为它只允许策略在 KL 定义的可信区域内变化,避免单次更新离旧策略太远。
58. TRPO 的主要工程缺点是什么?¶
实现复杂,涉及二阶近似、Fisher-vector product、共轭梯度和 line search,调试成本较高。
59. 为什么 PPO 可以看作对 TRPO 思想的简化?¶
PPO 用 ratio clipping 或 KL penalty 限制策略变化,不需要复杂二阶优化,以更简单方式近似 trust region。
60. 采样动作时保存 log probability 有什么用?¶
后续计算 policy loss、importance ratio 和 PPO ratio 时需要旧策略下该动作的 log probability。
61. 为什么 actor loss 中 advantage 通常要 detach?¶
避免 actor loss 的梯度反向更新 critic 或 advantage 估计网络。critic 应由 value loss 更新。
62. 连续动作策略中 log probability 计算容易出什么错?¶
常见错误包括方差参数未约束为正、动作维度求和错误、tanh squash 后漏掉 log-prob 修正、采样动作和 log prob 不匹配。
63. 策略梯度训练中 reward scale 会产生什么影响?¶
reward scale 直接影响 advantage 尺度,从而影响策略更新步长。过大可能更新爆炸,过小学习慢。
64. 如果策略 entropy 很快降到接近 0,说明什么问题?¶
说明策略过快变得确定,探索不足,可能陷入局部最优。可增大 entropy bonus、降低学习率或调整 reward scale。
八、LLM/RLHF 场景¶
65. 在 LLM 中,state、action、policy 可以分别对应什么?¶
state 是当前 prompt、历史 token 和上下文;action 是下一个 token 或高层回复动作;policy 是 LLM 给出的 token 概率分布。
66. LLM 序列生成中一条 trajectory 如何定义?¶
从 prompt 开始,逐 token 生成直到 EOS 或最大长度,整个 token 序列加最终奖励构成 trajectory。
67. 为什么 RLHF 可以看成策略梯度问题?¶
RLHF 用奖励模型或人类偏好给生成结果打分,再更新语言模型策略,使高奖励输出概率上升。核心仍是 grad log pi * advantage/reward。
68. 在 LLM 策略梯度中,token-level log probability 为什么重要?¶
每个生成 token 的 log probability 决定该 token 动作的策略梯度。PPO/RLHF 还需要新旧 log prob 计算 ratio 和 KL。
69. KL 约束在后续 PPO/RLHF 中为什么重要?¶
限制新策略偏离 SFT/reference model 过远,防止语言质量崩坏、奖励模型过优化和安全行为丢失。
70. 请完整比较 REINFORCE、Actor-Critic、TRPO、PPO 的核心目标、优缺点和稳定化手段。¶
REINFORCE 用完整回报做 Monte Carlo 策略梯度,简单但方差高。Actor-Critic 用 critic 估计价值或 advantage,降低方差、可在线更新,但 critic 偏差会影响 actor。TRPO 用 KL trust region 限制策略更新,稳定但实现复杂。PPO 用 clipping/KL penalty 近似 TRPO,工程简单、稳定性好,是后续 RLHF 的重要基础。
预览时标签不可点
<div class="