参数噪声带来的更好探索
Overview
向强化学习算法的参数添加自适应噪声经常能提升性能,实现简单,且极少降低性能,因此值得在任何问题上尝试。
How Parameter Noise Works
参数噪声将随机性直接注入到智能体神经网络策略的参数中,改变其决策类型,同时保持其完全依赖于当前观察,这与传统的动作空间噪声不同,后者会不可预测地改变动作的可能性。 这种方法介于进化策略(在 rollout 过程中操纵策略参数但不影响动作)和深度强化学习方法(如 TRPO、DQN 和 DDPG,它们向动作空间添加噪声但保持参数不变)之间。
Empirical Results
在 HalfCheetah Gym 环境中进行 20 次回合的学习后,使用参数噪声训练的策略得分约为 3,000,而使用传统动作噪声训练的策略仅达到约 1,500。 参数噪声有助于智能体更有效地探索环境,从而获得更高的分数和更优雅的行为,因为探索在时间步上变得一致。
Addressing Challenges
研究过程中出现了三个问题:不同的网络层对扰动具有不同的敏感性,策略权重的敏感性随时间变化,以及选择合适的噪声尺度很困难。 层归一化被用来使各层的敏感性保持一致,确保被扰动的层保持在相似的分布内。 自适应方案通过测量其对动作空间的影响并与目标进行比较来调整扰动大小,将噪声尺度问题转移到更易解释的动作空间。
Baselines and Benchmarks
已发布包含参数噪声的基线代码,适用于 DQN、Double DQN、Dueling DQN、Dueling Double DQN 和 DDPG。 基准测试在 Atari 游戏的一个子集上比较了带有和不带参数噪声的 DDQN,并在 Mujoco 连续控制任务的一系列上比较了 DDPG 的三种变体。
Development Insights
早期在 DQN 的 Q 函数上加噪声的实验有时会导致智能体重复执行相同的动作;添加一个独立的策略头(如 DDPG 中所做的)可以缓解这一问题。 后续实验表明,在噪声重新缩放改进之后,独立的策略头变得不再必要,从而得到一个更简单、成本更低且性能相当的实现。 这凸显了强化学习算法可能会静默失败,促使工程师为未检测到的错误构建解决方案。
Authors
Matthias Plappert, Rein Houthooft, Prafulla Dhariwal, Szymon Sidor, Pieter Abbeel, Marcin Andrychowicz, Richard Chen, Xi Chen, Tasmin Asfour