转载

OpenAI研究 更好地探索参数噪声

将自适应噪声添加到强化学习算法的参数中通常可以提高性能。这种探索方法实施起来很简单,而且很少会降低性能,因此值得尝试解决任何问题。

动作空间噪声

参数空间噪声
参数噪声有助于算法更有效地探索可用于解决环境问题的行动范围。在训练 216 集后,没有参数噪声的DDPG会经常出现低效的跑步行为,而使用参数噪声训练的策略通常会出现高分奔跑。

参数噪声让我们比其他方法更快地教授代理任务。在HalfCheetah Gym 环境中学习 20 集后  (如上所示),该策略获得了大约 3,000 分,而使用传统动作噪声训练的策略仅获得了大约 1,500 分。

参数噪声将自适应噪声添加到神经网络策略的参数,而不是其动作空间。传统的 RL 使用动作空间噪声来改变与代理可能从一个时刻到下一个时刻采取的每个动作相关联的可能性。参数空间噪声将随机性直接注入代理的参数,改变其做出的决策类型,使它们始终完全取决于代理当前的感知。该技术是 进化策略 (您可以在其中操纵策略的参数,但不影响策略在每次推出期间探索环境时所采取的行动)和深度强化学习方法(如 TRPO、  DQN)之间的中间地带, 和 DDPG(您不接触参数,但会向策略的操作空间添加噪声)。

动作空间噪声(左)与参数空间噪声(右)相比

参数噪声有助于算法更有效地探索其环境,从而获得更高的分数和更优雅的行为。我们认为这是因为以有意的方式向策略参数添加噪声会使代理的探索在不同的时间步长之间保持一致,而向动作空间添加噪声会导致更多不可预测的探索,这与代理参数的任何独特之处都不相关.

人们 以前曾 尝试将参数噪声应用于策略梯度。我们通过展示该技术适用于基于深度神经网络的策略来扩展这一点,并且它可以应用于策略算法和非策略算法。

动作空间噪声
参数空间噪声
参数空间噪声导致 Enduro 得分更高。经过两集训练后,用参数噪声训练的 DDQN 学会了加速和转弯,而用动作空间噪声训练的 DDQN 表现出更少的多样性。

在进行这项研究时,我们遇到了三个问题:

  • 网络的不同层对扰动具有不同的敏感性。
  • 随着训练的进行,政策权重的敏感性可能会随着时间的推移而变化,这让我们很难预测政策将采取的行动。
  • 选择正确的噪声尺度很困难,因为很难直观地理解参数噪声在训练过程中如何影响策略。

我们使用 层归一化 来处理第一个问题,它确保扰动层的输出(将成为下一个层的输入)仍然在相似的分布内。

我们通过引入自适应方案来调整参数空间扰动的大小来解决第二个和第三个问题。此调整通过测量扰动对动作空间的影响以及动作空间噪声水平是大于还是小于定义的目标来进行。这个技巧使我们能够将选择噪声尺度的问题推入动作空间,这比参数空间更具可解释性。

基线和基准

我们还发布了 包含此技术的基线代码 ,适用于 DQN、Double DQN、Dueling DQN、Dueling Double DQN 和 DDPG。

详细论文