📈 策略网络架构

4状态输入
观察
64隐藏层
ReLU
2Softmax
动作概率

当前动作概率分布

← 左推50%
→ 右推50%

🎮 REINFORCE 训练演示

观察策略随训练的演变:动作概率如何根据累计奖励调整

0
回合数
0
回合奖励
0.0
平均奖励
1.00
策略熵

⚖️ 有/无 Baseline 对比

Baseline(通常是值函数)可以减少方差,加速收敛。观察两种策略的学习曲线差异。

无 Baseline

∇J = G·∇log π(a|s)

方差较高,收敛较慢

有 Baseline

∇J = (G-b(s))·∇log π(a|s)

方差降低,加速收敛

💡 策略梯度定理

∇θ J(πθ) = E[∇θ log πθ(a|s) · Qπ(s, a)]

J(πθ):策略的目标函数(通常是累计奖励期望)
πθ(a|s):参数化为θ的策略,给定状态s下选择动作a的概率
Qπ(s, a):状态-动作值函数,可以是实际累计奖励G或优势函数A

REINFORCE 算法流程

  1. 使用当前策略 πθ 收集一个轨迹 τ = (s0, a0, r0, s1, a1, r1, ...)
  2. 计算每个时间步的累计奖励 Gt = r_t + γr_{t+1} + ...
  3. 对轨迹中每个 (s, a, G) 计算策略梯度
  4. 更新策略参数:θ ← θ + α · ∇θ log πθ(a|s) · G