业界 | OpenAI 新研究:通过自适应参数噪声提升强化学习性能

百家 作者:机器之心 2017-07-28 07:27:45

选自OpenAI

机器之心编译

参与:黄小天、路雪、李泽南


OpenAI 的研究人员发现,改善强化学习算法参数中的自适应噪声性能可以提升性能。这种探索方式易于实现,同时很少降低系统表现,因此值得一试。



  • 代码地址:https://github.com/openai/baselines

<iframe class="video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" data-ratio="1" data-w="272" data-src="http://v.qq.com/iframe/player.html?vid=d0530bue8jh&width=370&height=277.5&auto=0" width="370" height="277.5" data-vh="277.5" data-vw="370" style="display: none; width: 370px !important; height: 277.5px !important;"></iframe>


<iframe class="video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" data-ratio="1" data-w="272" data-src="http://v.qq.com/iframe/player.html?vid=z0530fpf3nm&width=370&height=277.5&auto=0" width="370" height="277.5" data-vh="277.5" data-vw="370" style="display: none; width: 370px !important; height: 277.5px !important;"></iframe>


参数噪声可以帮助算法更有效地探索周围的环境,思考所有可能的动作。在经过 216 次 DDPG 无噪声的训练迭代之后,模型将会变得效率低下,而加入参数噪声的训练方法将会让模型的的效果大大提升。


参数噪声可以让我们更快地教会人工智能代理执行任务。在 HalfCheetahGym 环境中(如上图)训练 20 次之后,加入噪声的模型可以达到 3000 分左右的水平,而与之对比的普通模型只能保持在 1500 分左右。


参数噪声将自适应噪声加入神经网络策略的参数中,而非其运动空间里。传统强化学习(RL)使用运动空间噪声来改变人工智能代理从一个时刻到另一个时刻所采取的每个动作之间相关联的可能性。而参数空间噪声将随机性直接注入到代理的参数中,改变它做出的决策的类型,使得它们总是完全依赖于代理当前感知的内容。这项技术在进化策略中处于中间位置(你可以操纵策略的参数,但这不影响策略在每次提出时探索环境所采取的行动)和深度强化学习方法,如 TRPO、DQN 和 DDPG(其中你不需要修改参数,但它们也在策略空间中加入了噪声)。



动作空间噪声(左),参数空间噪声(右)


参数噪声帮助算法更高效地探索环境,进而获得更高的分数和更优雅的行为。我们认为其原因在于将噪声缓慢地加到策略参数上可以使智能体在不同时间步上的探索更加一致,而向动作空间添加噪声会使探索更加无法预测,其与智能体的参数无关。


之前,人们尝试过将参数噪声加到策略梯度上。我们扩展了这种做法,研究证明该技术可以在基于深度神经网络的策略上发挥作用,还能够应用到在策略算法和离策略算法中。



参数空间噪声可帮助在越野摩托车挑战(Enduro)游戏中获得更高分数。两次训练之后,训练过程中添加了参数噪声的 DDQN 学会了加速和转弯,而使用动作空间噪声的模型动作多样性较少。


我们在实施该研究时,遇到了以下三个问题:


  • 网络的不同层对扰动的敏感性不同。

  • 策略权重的敏感性在训练过程中可能发生变化,使我们很难预测策略的下一步行动。

  • 如何添加适量的噪声是一个难点,因为我们很难直观地理解参数噪声如何在训练过程中对策略产生影响。


我们使用层归一化来解决第一个问题,确保受扰动层的输出(也是下一层的输入)仍然在相似分布范围内。我们引入自适应机制来调整参数空间扰动的大小,解决第二和第三个问题。该调整通过评估扰动对动作空间的影响以及动作空间噪声水平是否大于目标水平来实施。这个技巧使我们将问题转移到如何选择适量噪声增加到动作空间,这比将噪声增加到参数空间更容易理解。


基线和基准


我们还发行了基线代码,可以将该技术与 DQN、Double DQN、Dueling DQN、Dueling Double DQN 和 DDPG 相整合。




在 Mujoco 模拟器中的多个连续控制任务中,我们已经在 Atari 游戏语料库以及 DDPG 的三种变体的一个子集上列出了具有和不具有参数噪声的 DDQN 的性能基准。


开发


首次开展这项研究之时,我们发现应用于 DQN 的 Q 函数的扰动有时是如此极端,以至于算法重复执行相同的动作。为了解决这一问题,我们添加了一个单独的头(head),明显地表征 DDPG 中的策略(在常规 DQN 中,该策略仅由 Q 函数隐含地表征),使该设置更类似于我们的其他实验。但是,在准备这个版本的代码时,我们使用不带有单独策略头的参数空间噪声做了一个实验。我们发现,相比于带有单独策略头的版本,它不仅奏效,而且更容易实现。进一步的实验证实了单独策略头确实不是必须的,因为我们早期的实验改变了重新调整噪声的方式,算法可能会有所改善。这使得实现更简单容易,算法训练的成本更低,同时依然可以取得相似的结果。人工智能算法,特别是强化学习中的 AI 算法,可能会无声无息地失败(https://blog.openai.com/openai-baselines-dqn/),导致未发现的错误误导了工程学解决方案,记住这一点很重要。


论文:Parameter Space Noise for Exploration


论文链接:https://arxiv.org/abs/1706.01905


摘要:深度强化学习方法通常在动作空间中借助噪声注入(noise injection)进行探索性行为。一个替代方案是直接向智能体的参数中添加噪声,这可带来更连续性的探索和更丰富的行为集。进化策略等方法使用了参数扰动,但是摈弃了所有的时间结构,并需要更多的样本。通过结合参数噪声和传统强化学习方法,我们取得了双赢的结果。通过对高维离散动作环境和连续控制任务中的 DQN、DDPG 和 TRPO 进行实验对比,我们证明了离线与在线策略(off- and on-policy )方法皆可从加入参数噪声的方法中获益。我们的结果表明带有参数噪声的强化学习将比分别带有动作空间参数和进化策略的传统强化学习效率更高。


原文链接:https://blog.openai.com/better-exploration-with-parameter-noise/



本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:editor@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接