探索:ε-greedy 之外还有什么
高维连续空间里纯 ε-greedy 不够;entropy bonus、OU 噪声和 count-based 各适不同场景,探索不足表现为早收敛到次优。

1. Learning curve 早早平台
MountainCar 这类稀疏奖励任务,策略几乎不探索,永远到不了目标区域。训练曲线早早平台化,eval 策略行为单一(同一轨迹重复)。entropy 日志快速降到接近 0。换 seed 结果差异大,说明陷在局部。探索不足和 reward 太 sparse 症状相似——要先确认 random 能否偶尔拿到正 reward,再决定是改 exploration 还是改任务。Random 都拿不到正 reward 时,加 entropy 只是在零附近噪更久。
2. 离散:ε-greedy
以概率 ε 随机动作,否则 argmax Q。ε 从 1.0 线性衰减到 0.01 是 DQN 常见 schedule,decay 按 环境步数(frames) 而非 gradient step 计数。Atari 上 frame-based ε decay 和 gradient step 不是一回事:buffer 里每条 transition 对应多帧 skip,schedule 搞反会让 agent 过早 greedy,learning curve 早早平台。SB3:DQN 配合 exploration_fraction 和 exploration_final_eps 控制 decay。前 10 万步看 action 分布是否仍有多样性。
3. 连续:噪声与熵
连续控制里 ε-greedy 不适用。DDPG/TD3 在动作上加 Ornstein-Uhlenbeck 噪声;SAC 用最大熵目标,自动鼓励策略随机性。PPO 靠 entropy bonus 和较大的初始 entropy coefficient(约 0.01)维持探索。SAC 的 α 可学习,平衡回报与熵;PPO 的 ent_coef 后期可衰减以促进 exploitation。Sparse 任务若 500k step 仍无正 return,我会把 ε 调回 1.0 或 SAC 的 target_entropy 调高再跑 200k,确认不是 exploration 过早枯竭。
4. Intrinsic motivation 的边界
RND、count-based 在稀疏奖励下有时有效,但超参多、稳定性不如 HER 或 shaping 直观。Tabular count-based 在 Atari 上能 work;高维连续 obs 用 RND 预测误差当 intrinsic reward,训练不稳定时先降 intrinsic 系数。Parameter noise 和 action noise 不要同时大调;我通常固定一种 exploration 机制为主。Training 末期 short phase 关 exploration 跑 eval 可看 exploit 上限,但别用这份 eval 选 production checkpoint。
5. 案例:ε decay 过早
某 Atari 任务,ε schedule 按 gradient step 而非环境步计数,agent 过早 greedy,learning curve 早早平台。改按 total_timesteps(环境步)算后,探索足够,return 才开始爬。Atari 上 frame skip 使 buffer 里每条 transition 对应多帧,schedule 按环境步算是惯例。Intrinsic reward 与 extrinsic 量纲要对齐,否则 intrinsic 主导或完全看不见。
6. 与 sparse 任务和 SAC
稀疏任务优先改任务(HER、curriculum)再堆探索技巧。SAC 看 alpha 和 entropy 是否健康;DQN 看 ε 曲线是否 decay 过快。探索不足的信号:训练曲线早早平台化;entropy 快速降到接近 0;换 seed 结果差异大。Parameter noise 在 policy 权重上加噪声,适合某些 continuous control,但调参比 action noise 更玄学。
Count-based 与 RND 的边界:Tabular count-based 在 Atari 上能 work;高维连续 obs 用 RND 预测误差当 intrinsic reward,训练不稳定时先降 intrinsic 系数。探索不足的信号:训练曲线早早平台化;entropy 快速降到接近 0;换 seed 结果差异大。Atari 上 frame-based ε decay 和 gradient step 不是一回事;buffer 里每条 transition 对应多帧 skip,schedule 按 total_timesteps 算是惯例。
7. 稀疏任务里先改任务再堆探索
稀疏奖励下回报长期平台,要先确认随机策略能否偶尔拿到正回报——不能则改任务而非改探索。内在动机(随机网络蒸馏等)与外在奖励量纲要对齐,否则内在主导或完全看不见。Atari 上探索率衰减按环境步算是惯例,与梯度步不是一回事,搞反会过早贪心。训练末期短阶段关探索看利用上限,但别用这份评估选生产检查点。参数噪声与动作噪声不要同时大调;通常固定一种探索机制为主。软 actor-critic 的自动温度在分布偏移大时会飙,对数 alpha 曲线是金丝雀。
8. 验收
- 前 10 万步 action 分布仍有多样性。
- SAC 看 alpha 和 entropy 是否健康;DQN 看 ε 曲线是否 decay 过快。
- Sparse 任务优先改任务再堆探索技巧。
- Random 能否偶尔拿到正 reward——不能则改任务。
- Atari schedule 按 total_timesteps(环境步)算。
探索是手段不是目的。Random 都拿不到正 reward 时,加 entropy 只是在零附近噪更久——先改任务设计。
相关
也可以看看
johan's blog