探索与利用平衡的常见策略
探索-利用的权衡是强化学习的核心挑战。请解释ε-greedy、UCB、Boltzmann探索(Softmax)、噪声注入、参数噪声和经验回放中的探索机制。
回答
我是大山
探索(Exploration)发现新知识,利用(Exploitation)利用已有知识最大化收益。平衡两者是RL的核心挑战。
1. ε-greedy:
- 以概率ε选择随机动作(探索),以概率1-ε选择Q值最大的动作(利用)。
- 最简单的策略,ε通常从1.0逐渐衰减到0.01-0.1。
- 线性/指数衰减调度。
- 局限:对所有状态使用相同ε,探索效率低。
2. UCB(Upper Confidence Bound):
- 选择不确定度最高的动作:a = argmax_a [Q(s,a) + c·√(ln(n)/n_a)]
- n:总访问次数,n_a:动作a的访问次数。
- c·√(ln(n)/n_a)是置信上界:未充分探索的动作有更大的不确定性。
- 自动平衡探索与利用:不确定性高的动作被优先选择。
3. Boltzmann/Softmax探索:
- 根据Q值按比例随机选择动作:P(a) = exp(Q(s,a)/τ) / Σ_a' exp(Q(s,a')/τ)
- τ(温度):
- 高τ→均匀探索(随机)。
- 低τ→贪心选择(确定性)。
- 通过退火τ实现从探索到利用的过渡。
4. 噪声注入(Noise Injection):
- 在策略网络输出上添加噪声:a = μ_θ(s) + N(0, σ²)(DDPG)。
- 使用OU过程产生时序相关的噪声。
- 噪声方差可学习(如SAC的策略重参数化)。
5. 参数噪声(Parameter Space Noise):
- 在策略网络的参数上添加噪声(而非动作):θ_noisy = θ + N(0, σ²·I)。
- 效果:产生更一致的探索行为(而非单个动作的抖动)。
- 通常配合ε-greedy使用。
6. 经验回放中的探索(Prioritized Replay):
- 优先采样TD误差大的经验(即模型最'意外'的经验)。
- 隐含地鼓励模型在尚未掌握的区域更多学习。
- 属于'利用过去的探索经验'。
7. 计数式探索(Count-based Exploration):
- 为状态/动作对维护访问计数,频率越低,奖励加成越高。
- 在Atari游戏中效果良好(如Pseudo-counts)。
8. 内在动机(Intrinsic Motivation):
- 奖励=外部奖励+内在好奇奖励(如预测误差或信息增益)。
- 让智能体主动探索'不知道'的区域(Curiosity-driven Exploration)。
实际建议:
- 连续控制:SAC/SQL的熵最大化理论上提供了最优探索。
- 离散控制:ε-greedy简单有效。
- 稀疏奖励环境:结合内在动机或计数探索。