5
策略优化
策略梯度方法
理解直接策略优化,掌握REINFORCE算法和方差缩减技术
📈 策略网络架构
4状态输入
观察
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 算法流程
- 使用当前策略 πθ 收集一个轨迹 τ = (s0, a0, r0, s1, a1, r1, ...)
- 计算每个时间步的累计奖励 Gt = r_t + γr_{t+1} + ...
- 对轨迹中每个 (s, a, G) 计算策略梯度
- 更新策略参数:θ ← θ + α · ∇θ log πθ(a|s) · G