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 而设计复杂的解决方案。

Sources