OpenAI 通过参数噪声实现更好的探索
OpenAI 已经证明,在强化学习 (RL) 算法的参数中添加自适应噪声通常可以提高性能并加速学习过程。与传统的动作空间噪声相比,这种技术提供了一种更一致的探索形式,使其成为各种 RL 问题的多功能补充。
参数噪声 vs. 动作空间噪声
参数噪声直接将随机性注入智能体的神经网络策略参数中,确保智能体的决策仍然完全依赖于其当前的感官输入。这与传统的 RL 探索方式在以下方面有所不同:
- 动作空间噪声: 传统的 RL 会改变动作在不同时刻之间的发生概率,导致不可预测的探索,且这种探索与智能体的特定参数无关。
- 参数空间噪声: 通过改变参数本身,智能体的探索在不同时间步长内保持一致,从而产生更优雅的行为和更高的分数。
这种方法是进化策略(在 rollout 期间操纵策略参数而不影响动作)与 TRPO、DQN 和 DDPG 等深度 RL 方法(通常在动作空间添加噪声)之间的一种折中方案。
连续控制中的性能提升
参数噪声允许智能体比传统方法更迅速地掌握任务。在 HalfCheetah Gym 环境中,使用参数噪声训练的策略在 20 个 episode 后达到了约 3,000 分,而使用传统动作噪声的策略仅达到约 1,500 分。
技术实现与挑战
OpenAI 在将参数噪声应用于深度神经网络时确定了三个主要挑战,并为每个挑战实施了特定的技术解决方案:
1. 层敏感性
不同网络层对扰动的敏感度不同。OpenAI 利用 layer normalization 来确保扰动层的输出在成为下一层的输入之前,仍保持在相似的分布中。
2. 权重敏感性与可预测性
策略权重的敏感度在训练期间可能会发生变化,从而使动作预测变得困难。OpenAI 引入了一种 adaptive scheme 来通过测量其对动作空间的影响来调整参数空间扰动的规模。
3. 噪声规模选择
在参数空间中选择正确的噪声规模并不直观。自适应方案通过将选择噪声规模的问题转移到 action space,从而解决了这个问题,这对于研究人员来说更具可解释性。
算法兼容性与基准测试
OpenAI 已将参数噪声的使用扩展到 on-policy 和 off-policy 算法。包含此技术的基准代码已针对以下算法发布:
- DQN
- Double DQN
- Dueling DQN
- Dueling Double DQN
- DDPG
这些实现的基准测试包括 DDQN 在 Atari 游戏子集上的性能,以及三种 DDPG 变体在 Mujoco 模拟器中各种连续控制任务中的表现。
DQN 实现中的开发见解
在早期开发过程中,OpenAI 最初在 DQN 中添加了一个单独的策略头 (policy head) 以防止极端的扰动导致算法重复执行相同的动作。然而,随后的实验表明,这个单独的头是不必要的。通过改进噪声的重新缩放方式,团队以更简单、更低成本的实现达到了类似的结果。OpenAI 指出,这强调了强化学习中一个常见问题,即算法可能会“静默且微妙地失败”,从而可能导致开发者为本可以更简单解决的 bug 而设计复杂的解决方案。