Berkeley提出「随机搜索」训练线性策略,提高RL的性能(附代码)!

2018 年 3 月 24 日 全球人工智能

高薪招聘兼职AI讲师和AI助教!

一般来说,无模型强化学习中存在着这样一个基本观点,即基于随机搜索的方法在策略的参数空间中所表现出来的样本复杂性要比那些探索行为空间的方法差得多。为了纠正这一观点,我们引入了一种随机搜索方法,用以对连续控制问题的静态、线性策略进行训练,并在基准MuJoCo运动任务中与最先进的样本效率相匹配。与此同时,我们的方法还为线性二次调节器的一个具有挑战性的实例找到了一个近似最优的控制器,当动力学还不为人熟知的时候,线性二次调节器是控制理论中的经典问题。从计算上看,我们随机搜索算法的效率要比这些基准测试中最快的、最具竞争力的无模型方法至少高15倍。我们利用这种计算效率对我们的方法在数百个随机种子以及每个基准任务中各种超参数配置上的性能表现进行评估。我们的仿真强调突出了这些基准测试任务中性能的高度可变性,表明常用的样本效率估计并不能对强化学习算法的性能进行充分地评估。


首先,我们先来了解一下线性化原理的反面知识。我们已经看到,随机搜索在简单的线性问题上很有效,而且比策略梯度等一些强化学习方法效果更好。那么,当我们遇到更困难的问题时,随机搜索会崩溃吗?答案是否定的。


让我们把随机搜索应用到与强化学习社区密切相关的问题上。据悉,深度强化学习社区已经花费了大量的时间和精力在一套由OpenAI维护并以MuJoCo模拟器为基础的基准上,。在此,最优控制问题是让一个足式机器人的模拟在一个方向上尽可能远和快地走。有些任务非常简单,但有些任务相当困难,比如具有22个自由度的复杂人形模型。足式机器人的动力学特性由哈密顿方程(Hamiltonian Equations)明确规定,但从这些模型中对移动进行规划是具有挑战性的,因为模型是分段线性的,使得我们目前尚不清楚该如何最好地设计目标函数。只要机器人的一部分接触到固体物体时,模型就会发生变化,因此引入了一种以前没有作用于机器人的正向力(normal force)。因此,对于强化学习范式来说,让机器人无需处理复杂的非凸非线性模型就能工作,似乎是一个坚实而有趣的挑战。


最近,Salimans和他在Open AI的合作者指出,随机搜索在这些基准中表现的很好。特别是,它们可以通过使用具有一些算法改进的随机搜索(他们将这种随机搜索称为“进化策略”,但我坚持使用我的命名约定)来适应神经网络控制器。在另一篇著作中,Rajeswaran等人表明,自然策略梯度可以学习线性策略从而完成这些基准。也就是说,他们表示静态线性状态反馈,就像我们在线性二次调节器中所使用的那种,也足以控制这些复杂的机器人模拟器。这自然留下了一个开放的问题:简单的随机搜索能为这些MuJoCo任务找到线性控制器吗?


我的学生Aurelia Guy和Horia Mania对这个问题进行了测试,编写了一个相当简单的随机搜索版本。令人惊讶(或者不令人惊讶)的是,这个简单的算法学习了关于Swimmer-v1、Hopper-v1、HalfCheetah-v1、Walker2d-v1和Ant-v1任务的线性策略,达到了以前在文献中所提出的奖励阈值。

但是随机搜索并不是完美的。Aurelia和Horia无法让人形模型做任何有趣的事情。在尝试了许多参数设置之后,他们决定试着去增强随机搜索以使其训练得更快。Horia注意到,许多强化学习论文都使用了各种状态的统计数据,并在把它们传递到对状态到动作的映射进行定义的神经网络之前,对这些状态进行了白化处理。所以他开始在网上对这些状态进行估算,并在把它们传递给线性控制器之前将它们进行白化处理。有了这个简单的技巧,Aurelia和Horia现在在人形机器人上获得了最高水准的性能。事实上,他们可以获得超过11000的奖励,这比我所看到过的一切记录都要高。它实际上几乎是Salimans等人所使用的用来确定基准的“成功阈值”的两倍。 

有这么简单的事情是很好的,因为这个代码比OpenAI进化策略报告中报告的快了15倍。我们可以用较少的计算获得更高的回报。在一个具有18个核心的标准EC2实例上,我们可以在一个小时内训练一个高性能的人形模型。


现在,随着在线状态的更新,随机搜索不仅超越了人形机器人的最高性能表现水准,而且还在Swimmer-v1、Hopper-v1、HalfCheetah-v1上有所突破。但它在Walker2d-v1和Ant-v1上的性能表现还没有那么好。但我们可以对这种混合再加一个技巧。我们可以去掉那些没有得到好的奖励的采样方向。这增加了一个超参数(要保留这部分的方向),但是有了这一个额外的微调,随机搜索实际上可以匹配或超过OpenAIGym中所有MuJoCo基线的最高水准表现。注意,我并没有限制与策略梯度的比较。就我从我们的文献检索中所知,这些策略要比任何将无模型强化学习应用到这个问题所取得的结果都要好,无论是演员批评家方法(Actor Critic Method)、价值函数估计方法(Value Function Estimation Method),还是更深奥的东西。看起来,对于这些MuJoCo问题来说,纯粹的随机搜索要比深度强化学习和神经网络能够更好地将其解决。


有一些很小微调的随机搜索在这些MuJoCo任务上做得比其他所有方法都要好,而且速度要快得多。我们有一篇展现这些结果和更多信息的完整论文(文末有链接),以及相关代码(文末有链接),感兴趣的可以点击查看。


强化学习能够从随机搜索中学习什么?这里囊括了若干个要点:


·基准非常难:我认为从所有这一切能够得到的唯一合理的结论就是这些MuJoCo演示很容易。这并没有什么不妥。但是,针对这些基准测试中的性能表现,去决定NIPS、ICML或ICLR论文似乎不再值得。这确实给一个非常重要的问题:对于强化学习来说,什么是一个良好的基准?显然,我们需要的不仅仅是山地车。我认为,具有未知动态的线性二次调节器是一个合理的任务,因为它很容易指定新实例,并且容易理解可实现性能所存在的局限性。但社区应该花更多的时间来了解如何建立不容易应用的基线和基准。


·永远不要过分相信你的模拟器:这些基准之所以很容易的部分原因是MuJoCo不是一个完美的模拟器。MuJoCo非常快,对于概念的验证也非常有用。但为了保证能够快速,它必须在接触体周围进行一些平滑处理(请记住,接触体的不连续性使腿部运动变得困难)。因此,仅因为你可以让其中一个模拟器行走,但这并不意味着你可以让一个真正的机器人行走。的确,这里有四种步态,达到了神奇的6000步临界值。这些看起来都不太现实:






即使是表现最好的模型(奖励为11,600),它的步态看起来也是非常的愚蠢,可能在现实中无法运作:


·力求算法简单:将超参数和算法小部件添加到简单算法中,可以在足够小的一组基准测试中提高其性能表现。我不知道如果放弃表现最好的方向或状态正则化是否会对新的随机搜索问题起作用,但它对于这些MuJoCo基准来说是很有用的。通过添加更多的可调参数,甚至可以获得更高的奖励。


·在使用之前进行深入探索:请注意,由于我们的随机搜索方法很快,我们可以在许多随机种子上对它的表现进行评估。这些无模型方法在这些基准上都表现出惊人的高度差异。例如,就人形机器人任务而言,即使提供了我们自认为是好的参数的模型,该模型的训练也几乎是慢了四分之一的时间。对于那些随机的种子,它会发现相当奇特的步态。将一个人的注意力限制在随机搜索的3个随机种子上通常是非常具有误导性的,因为你可能会将你的性能表现调整为随机数生成器的特性。


·存在变化



这种行为也出现在线性二次调节器中。我们可以对我们的算法调整一些随机种子,然后将会在新的随机种子上看到完全不同的行为。Henderson等人用深度强化学习方法观察了这种现象,但我认为如此高的变异性将成为所有无模型方法的一个症状。仅通过模拟的话,就会有太多的边界情况需要考虑,而有时则会考虑不全。正如我所说的:“通过抛弃模型和知识,我们不确定是否可以从少数情况和随机种子中进行足够充分的学习从而进行泛化” 。


原文:http://www.argmin.net/2018/03/20/mujocoloco/

论文:arxiv.org/abs/1803.07055

代码:github.com/modestyachts/A

-马上学习AI挑战百万年薪-

点击“阅读原文”,查看详情

登录查看更多
1

相关内容

《强化学习》简介小册,24页pdf
专知会员服务
272+阅读 · 2020年4月19日
强化学习——蒙特卡洛方法介绍
论智
12+阅读 · 2018年6月3日
干货|浅谈强化学习的方法及学习路线
机器学习算法与Python学习
16+阅读 · 2018年3月28日
Generalization and Regularization in DQN
Arxiv
6+阅读 · 2019年1月30日
Hierarchical Deep Multiagent Reinforcement Learning
Arxiv
8+阅读 · 2018年9月25日
Multi-task Deep Reinforcement Learning with PopArt
Arxiv
4+阅读 · 2018年9月12日
A Multi-Objective Deep Reinforcement Learning Framework
Arxiv
5+阅读 · 2018年6月12日
Arxiv
4+阅读 · 2018年5月4日
VIP会员
Top
微信扫码咨询专知VIP会员