先记住一句话

Monte Carlo 等整条轨迹结束后用真实 return 监督;Temporal Difference 用当前 reward 加自己的下一步预测 bootstrap。前者方差大、偏差小,后者学习快但会传播估计误差。

定义 V/Q/A写 Bellman 分解选择 MC/TD target算 TD error更新 estimate检查 off-policy
NowV(sₜ)
compare
Targetrₜ+γV(sₜ₊₁)
Errorδₜ
UpdateV←V+αδ
Bootstrap 把下一状态的预测当成 target 的一部分,因此能逐步传播 reward,也会逐步传播估计偏差。

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-stepn 个真实 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。