先记住一句话
Monte Carlo 等整条轨迹结束后用真实 return 监督;Temporal Difference 用当前 reward 加自己的下一步预测 bootstrap。前者方差大、偏差小,后者学习快但会传播估计误差。
1. V、Q 与 Advantage
Vπ(s)=Eπ[G_t|s_t=s] Qπ(s,a)=Eπ[G_t|s_t=s,a_t=a]Aπ(s,a)=Qπ(s,a)−Vπ(s)V 问“来到这个状态后平均能拿多少回报”;Q 还固定第一步 action;A 问该 action 相对当前 policy 的平均动作好多少。策略梯度真正需要的是相对好坏,因此 advantage 比绝对 return 更适合做更新权重。
2. Bellman expectation equation
Vπ(s)=E_{a~π,s'~P}[r(s,a,s')+γVπ(s')]它不是额外假设,而是 discounted return 定义的递归展开。若知道完整 transition/reward model,可用 dynamic programming 反复做 policy evaluation 和 improvement;model-free RL 则用采样近似期望。
3. Bellman optimality equation
Q*(s,a)=E[r+γ max_{a'} Q*(s',a')]最优 Q 假设下一步开始总选价值最大的 action。Q-learning 用它作为 target;一旦学到准确的 Q*,离散动作策略就是 argmax_a Q*(s,a)。
4. 三种 target
| 方法 | target | 特性 |
|---|---|---|
| Monte Carlo | 完整 G_t | 不 bootstrap;要等未来发生,方差较高 |
| TD(0) | r_t+γV(s_{t+1}) | 一步即可更新;有 bootstrap bias |
| n-step | n 个真实 reward + γⁿV(s_{t+n}) | 在 MC 与一步 TD 之间折中 |
δ_t = r_t + γV(s_{t+1}) − V(s_t)δ_t 是 TD error:现实的一步结果加未来预测,与旧预测的差。critic 最小化它构成的 target error,actor-critic 也可把它当作低成本 advantage 估计。
5. On-policy SARSA 与 Off-policy Q-learning
SARSA
target 是 r+γQ(s',a'),其中 a' 真由当前行为策略采样。它评价包含探索噪声的实际策略。
Q-learning
target 是 r+γ max Q(s',·),即使行为在 ε-greedy 探索,也学习 greedy target policy。
6. Off-policy 到底意味着什么
behavior policy μ 生成数据,target policy π 是想评价/改进的策略。二者不同时,需要 Bellman off-policy 结构、importance sampling 或其他校正。能读 replay buffer 不代表任意旧数据都无偏有效;数据 coverage 不足时 Q 会在未见 action 上外推。
7. Bias—variance 与 λ
TD(λ)/GAE 把不同长度的 n-step target 指数加权。λ→0 更接近一步 bootstrap、方差低偏差高;λ→1 更接近 Monte Carlo、偏差低方差高。这个偏差还来自不完美的 value function,而不是 λ 单独制造。
8. Deadly triad
下面三者同时出现时,value learning 可能发散:
- function approximation(神经网络共享参数);
- bootstrapping(target 含自己的预测);
- off-policy learning(数据分布与目标策略不同)。
DQN 的 target network/replay、TD3/SAC 的双 critic 与 target network、offline RL 的 conservative value 都是在不同角度管理这类不稳定性,不是装饰性 trick。
9. 四个 value 与 TD 手算
例 1:V、Q 与 advantage
某 state 下 Q(left)=5、Q(right)=1,policy 各选 0.5,则 V=0.5×5+0.5×1=3。所以 A(left)=5−3=2,A(right)=1−3=−2。
例 2:TD(0) update
V(s)=2、r=1、γ=0.9、V(s′)=4,则 target=1+0.9×4=4.6,δ=4.6−2=2.6。α=0.1 后 V(s)←2+0.1×2.6=2.26。
例 3:两步 target
r₀=1、r₁=2、γ=0.9、V(s₂)=5:G⁽²⁾=1+0.9×2+0.9²×5=6.85。它比一步 target 多用一个真实 reward,少依赖一次 bootstrap。
例 4:λ-return 混合
若一步 target=4、两步 target=7,只做简化的 λ=0.25 混合,则 (1−λ)×4+λ×7=4.75;λ 增大向长 return 靠近,通常 bias 降、variance 升。
Bellman target 含一个网络输出,并不意味着它是 ground truth。若下一状态 value 高估,误差会通过 bootstrap 向前传播;target network 只让目标变化更慢,不保证目标正确。
自测
1. 为什么 advantage 加同一个 state-dependent baseline 不改变期望 policy gradient?
在同一 state 下,E_{a~π}[∇logπ(a|s)b(s)]=b(s)∇Σ_aπ(a|s)=0;却能减少方差。
2. Q-learning 为什么是 off-policy?
它的数据 action 可由探索 behavior policy 产生,但 target 用下一状态的 greedy action。
3. target network 为什么有帮助?
固定一段时间的 bootstrap target,避免预测和目标在每个梯度步同时快速追逐。
一手资料
Sutton & Barto 第 3–7 章定义 value、Bellman、MC、TD、SARSA 与 Q-learning。