← 上级:RL-04.实现框架与实践
RL 对超参敏感,但可按 「先跑通默认 → 单变量扫描 → 对照 baseline」 系统推进。本文汇总各算法族常用范围与调参顺序。
一、超参分类
| 类别 | 代表 | 影响 |
|---|---|---|
| 折扣 | $\gamma$ | 长期 vs 短期 |
| 探索 | $\varepsilon$、熵系数 | 覆盖 vs 收敛 |
| 优化 | lr、batch、epoch | 稳定性与速度 |
| 结构 | hidden、层数 | 表达力 |
| 算法特有 | clip、target_update、GAE $\lambda$ | 算法行为 |
二、表格型(Q-Learning / SARSA)
| 超参 | 起步 | 调参方向 |
|---|---|---|
| $\alpha$ | 0.1 ~ 0.5 | 震荡↓减小 |
| $\gamma$ | 0.95 ~ 0.99 | 长期任务↑ |
| $\varepsilon$ | 1.0 → 0.01 | 衰减太慢则平台低 |
| episodes | 至收敛 | 看回报曲线 plateau |
三、DQN
| 超参 | CartPole | Atari |
|---|---|---|
| lr | 1e-3 ~ 2.5e-4 | 2.5e-4 RMSprop |
| $\gamma$ | 0.99 | 0.99 |
| buffer | 5e4 ~ 1e6 | 1e6 |
| batch | 32 ~ 128 | 32 |
| target_update | 500 ~ 10000 | 10000 |
| $\varepsilon$ | 1→0.05 | 1→0.1(1M 步) |
顺序:① 跑通默认 ② 调 lr(±3x)③ target_update ④ Double DQN。
四、PPO
| 超参 | 典型 | 说明 |
|---|---|---|
| rollout_len | 2048 | 可与 n_steps * n_envs 等价 |
| epochs | 4 ~ 10 | 过大易过拟合 batch |
| batch | 64 ~ 256 | 整除 rollout |
| clip $\epsilon$ | 0.2 | 0.1~0.3 |
| GAE $\lambda$ | 0.95 | 0.9~0.98 |
| lr | 3e-4 | 连续任务可 1e-4 |
| ent_coef | 0.0 ~ 0.01 | 探索不足则↑ |
| vf_coef | 0.5 | value loss 权重 |
顺序:① 默认 SB3 ② 调 lr ③ clip ④ rollout 长度。
五、SAC / TD3(连续)
| 超参 | 典型 |
|---|---|
| lr (actor/critic) | 3e-4 |
| $\gamma$ | 0.99 |
| tau (soft update) | 0.005 |
| replay | 1e6 |
| batch | 256 |
| SAC $\alpha$ | auto 或 0.2 |
六、通用技巧
| 问题 | 处理 |
|---|---|
| 奖励尺度大 | 缩放 reward 或 NormalizeReward |
| 观测未归一化 | Wrapper 或手动 $(x-\mu)/\sigma$ |
| 训练不稳定 | 降 lr、梯度裁剪、Double Q |
| 样本效率 | 更大 buffer、SAC、n-step |
七、实验对照原则
- 固定 seed 至少 3 个,报 mean ± std。
- 一次只改一个超参或一个技巧。
- 与 SB3 baseline 同环境、同步数对比。
- 记录 config yaml + git commit + 曲线截图。
八、config.yaml 示例
1 | algo: dqn |
九、小结
- 先 默认超参跑通,再单变量扫描。
- DQN 盯 lr / target / $\varepsilon$;PPO 盯 lr / clip / rollout。
- RL-04 实现子篇完结 → 继续 RL-05 数据结构子篇