探索策略
探索与利用的权衡
强化学习的核心挑战之一是探索-利用困境(Exploration-Exploitation Dilemma):
- 利用(Exploitation):根据当前知识选择最优动作,最大化短期回报
- 探索(Exploration):尝试新的动作以获取更多信息,可能改善长期回报
过早收敛到次优策略(exploitation过多)或浪费大量时间在无用动作上(exploration过多)都会导致性能下降。
经典探索方法
ε-Greedy
最简单的探索策略:
变体:
- ε衰减:\(\varepsilon_t = \max(\varepsilon_{\min}, \varepsilon_0 \cdot \alpha^t)\),随训练进行逐渐减少探索
- 自适应ε:根据学习进度动态调整
优点:简单易实现,有理论保证(在tabular情况下)
缺点:探索是无方向的,不利用任何关于不确定性的信息
Boltzmann / Softmax 探索
根据Q值的相对大小进行概率性选择:
其中 \(\tau\) 是温度参数:
- \(\tau \to 0\):趋向贪心策略(纯利用)
- \(\tau \to \infty\):趋向均匀随机策略(纯探索)
优势:相比ε-greedy,能根据动作价值差异分配探索概率
UCB(Upper Confidence Bound)
基于"乐观面对不确定性"原则:
其中 \(N(s_t, a)\) 是状态-动作对的访问次数,\(c\) 是探索系数。
核心思想:访问次数少的动作具有更高的不确定性上界,应优先探索。
理论保证:UCB1在多臂老虎机问题中具有对数遗憾界。
基于计数的探索
经典计数方法
在tabular设置中,可以直接维护状态(或状态-动作)的访问计数 \(N(s)\),定义内在奖励:
鼓励智能体访问不常去的状态。
伪计数(Pseudo-Count)
在高维状态空间中,无法直接计数。Bellemare et al. (2016) 提出使用密度模型估计伪计数:
其中 \(\rho(s)\) 和 \(\rho'(s)\) 分别是更新前后的密度模型对 \(s\) 的估计。
哈希计数
使用SimHash等方法将高维状态映射到离散编码,再进行计数:
其中 \(A\) 是随机投影矩阵,\(f(s)\) 是状态特征。
基于好奇心的探索
ICM(Intrinsic Curiosity Module)
Pathak et al. (2017) 提出的好奇心驱动探索,包含两个模型:
逆向模型(Inverse Model):从相邻状态预测动作
学习与动作相关的状态特征,过滤环境中不可控的变化。
前向模型(Forward Model):预测下一状态的特征
内在奖励:前向模型的预测误差
预测越困难的转移,奖励越高——鼓励智能体去探索"令人惊讶"的状态。
RND(Random Network Distillation)
Burda et al. (2019) 提出了一种更简洁的好奇心方法:
- 固定随机网络 \(f: \mathcal{S} \to \mathbb{R}^k\)(目标网络,参数随机初始化且不更新)
- 可训练网络 \(\hat{f}: \mathcal{S} \to \mathbb{R}^k\)(预测网络,训练去模仿目标网络)
内在奖励:
关键洞察:
- 对于经常访问的状态,预测网络能很好地拟合目标网络,预测误差小
- 对于新颖状态,预测误差大,产生高内在奖励
- 避免了ICM的"噪声电视"问题(对随机但不可控的状态变化不再敏感)
NovelD
Zhang et al. (2021) 在RND基础上改进:
其中 \(e_t\) 是当前状态的RND误差,\(\bar{e}\) 是周围状态的平均RND误差。
核心改进:使用相对新颖度而非绝对新颖度,更好地区分真正新颖的状态。
Go-Explore
Ecoffet et al. (2021) 针对难探索环境(如Montezuma's Revenge)提出的两阶段方法:
阶段1:探索
- 维护一个状态档案(archive),记录已发现的有趣状态
- 从档案中选择一个状态,通过确定性策略"回到"该状态
- 从该状态出发随机探索
- 发现新状态时加入档案
阶段2:鲁棒化
使用模仿学习或RL将阶段1发现的轨迹转化为鲁棒策略。
关键创新:
- "先回去再探索"解决了深度探索(hard exploration)问题
- 解耦了探索和策略学习
探索方法分类
graph TD
A[探索方法] --> B[无向探索]
A --> C[有向探索]
B --> B1[ε-Greedy]
B --> B2[Boltzmann]
B --> B3[噪声网络<br/>NoisyNet]
C --> D[基于不确定性]
C --> E[基于计数]
C --> F[基于预测]
D --> D1[UCB]
D --> D2[Thompson Sampling]
D --> D3[Bootstrapped DQN]
E --> E1[经典计数]
E --> E2[伪计数]
E --> E3[哈希计数]
F --> F1[ICM]
F --> F2[RND]
F --> F3[NovelD]
A --> G[系统化探索]
G --> G1[Go-Explore]
G --> G2[First-Return<br/>Then-Explore]
style A fill:#f9f,stroke:#333
style C fill:#bbf,stroke:#333
style F fill:#bfb,stroke:#333
探索中的挑战
稀疏奖励问题
当外在奖励非常稀疏时,纯随机探索几乎不可能发现奖励信号。内在奖励方法通过提供密集的探索信号来缓解这一问题。
噪声电视问题(Noisy TV Problem)
基于预测误差的方法可能被环境中的随机性"吸引"——如果环境中存在不可预测但不可控的变化(如电视上的随机噪声),智能体会持续对其感到"好奇"。
解决方案:
- ICM的逆向模型过滤不可控变化
- RND对确定性目标的预测避免了这一问题
- 使用集成模型区分认知不确定性和偶然不确定性
深度探索(Hard Exploration)
某些环境需要执行一长串特定动作才能到达有意义的状态(如Montezuma's Revenge需要找到钥匙→开门→进入新房间)。
解决方案:
- Go-Explore的两阶段方法
- 分层强化学习的子目标分解
- 课程学习逐步增加难度
实践建议
| 场景 | 推荐方法 |
|---|---|
| 简单环境,快速原型 | ε-greedy(衰减) |
| 连续动作空间 | 参数空间噪声(NoisyNet) |
| 稀疏奖励 | RND / ICM |
| 极难探索 | Go-Explore |
| 需要理论保证 | UCB / Thompson Sampling |
| 高维观测 | RND(避免噪声电视问题) |
参考文献
- Pathak et al., "Curiosity-driven Exploration by Self-Supervised Prediction" (ICML 2017)
- Burda et al., "Exploration by Random Network Distillation" (ICLR 2019)
- Ecoffet et al., "First Return, Then Explore" (Nature 2021)
- Bellemare et al., "Unifying Count-Based Exploration and Intrinsic Motivation" (NeurIPS 2016)
- Zhang et al., "NovelD: A Simple yet Effective Exploration Criterion" (NeurIPS 2021)