用于解决应用强化学习挑战的模拟套件
Posted 雨夜的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于解决应用强化学习挑战的模拟套件相关的知识,希望对你有一定的参考价值。
强化学习(RL) 已被证明可有效解决从围棋、 星际争霸和Minecraft到机器人运动和芯片设计等众多复杂问题. 在每种情况下,都可以使用模拟器,或者可以快速且廉价地访问真实环境。然而,将 RL 部署到现实世界的产品和系统中仍然存在相当大的挑战。例如,在机器人和自动驾驶等物理控制系统中,强化学习控制器经过训练以解决抓取物体或在高速公路上驾驶等任务。这些控制器容易受到传感器噪声、系统延迟或正常磨损等影响,这些影响会降低控制器输入的质量,导致错误的决策和潜在的灾难性故障。
在“真实世界强化学习的挑战”中,我们确定并讨论了阻碍当前 RL 算法在应用系统中应用的九种不同挑战。然后,我们通过一项实证调查来跟进这项工作,其中我们在最先进的 RL 算法上模拟了这些挑战的版本,并对每个版本的影响进行了基准测试。我们在真实世界强化学习 (RWRL) 任务套件中开源了这些模拟挑战,以帮助引起对这些重要问题的关注,并加速解决这些问题的研究。
RWRL 套件RWRL 套件是一组受应用强化学习挑战启发的模拟任务,其目标是为研究人员和从业人员实现快速算法迭代,而不必在真实系统上运行缓慢、昂贵的实验。虽然从在模拟中训练的 RL 算法过渡到现实世界的应用程序将面临额外的挑战,但该套件旨在弥补一些更基本的算法差距。目前,RWRL 支持DeepMind Control Suite域的一个子集,但目标是扩展套件以支持更加多样化的域集。
易于使用且灵活我们设计该套件时考虑了两个主要目标。(1) 它应该易于使用——用户应该能够在下载套件后的几分钟内开始运行实验,只需更改几行代码即可。(2) 它应该是灵活的——用户应该能够毫不费力地将挑战的任何组合结合到环境中。
延迟动作示例为了说明 RWRL 套件的易用性,假设研究人员或从业者想要实现动作延迟(即,将动作发送到环境的时间延迟)。要使用 RWRL 套件,只需导入rwrl模块。接下来,使用参数加载环境(例如,cartpole)delay_spec。此可选参数被指定为配置应用于操作、观察或奖励的延迟以及相应元素延迟的时间步数(例如,20 个时间步长)的字典。加载环境后,操作的效果会自动延迟,而不会对实验进行任何其他更改。这使得在 RWRL 套件支持的一系列不同环境中测试具有动作延迟的 RL 算法变得容易。
用户可以通过简单地向加载函数添加额外参数来组合不同的挑战或从一组预定义的基准挑战中进行选择,所有这些都在开源 RWRL 套件代码库中指定。
支持的挑战RWRL 套件提供的功能支持与九个不同挑战中的八个相关的实验,这些挑战使得在应用系统上应用当前的 RL 算法变得困难:样本效率;系统延迟;高维状态和动作空间;约束;部分可观察性、随机性和非平稳性;多个目标;实时推理;并从离线日志进行训练。RWRL 排除了可解释性挑战,该挑战是抽象且难以定义的。受支持的实验并非详尽无遗,可为研究人员和从业人员提供分析其代理在每个挑战维度方面的能力的能力。支持的挑战示例包括:
系统延迟
大多数真实系统在感知、驱动或奖励反馈方面都有延迟,所有这些都可以配置并应用于 RWRL 套件中的任何任务。下图显示了D4PG代理作为动作(左)、观察(中)和奖励(右)越来越延迟。
从图中可以看出,研究人员或从业人员可以快速了解哪种类型的延迟会影响其代理的性能。这些延迟也可以组合在一起以观察它们的组合效果。
** 约束*
几乎所有应用系统都将某种形式的约束嵌入到整体目标中,这在大多数 RL 环境中并不常见。RWRL 套件为每个任务实施了一系列具有不同难度的约束,以促进受约束 RL 的研究。下面的视频显示了违反复杂局部角速度约束的示例。
非平稳性
用户可以通过扰动环境参数来引入非平稳性。这些扰动与最近在监督深度学习研究中流行的像素级对抗性扰动形成对比。例如,在人类步行者领域,可以在整个训练过程中修改头部的大小和地面的摩擦力,以模拟不断变化的条件。RWRL 套件中提供了各种调度程序(有关更多详细信息,请参阅我们的代码库),以及多个默认参数扰动,这些扰动经过仔细定义以阻碍最先进学习算法的学习能力。
从离线日志数据训练
在大多数应用系统中,运行实验既缓慢又昂贵。通常有来自先前实验的可用数据日志,可用于训练策略。然而,由于数据有限、方差低或质量差,通常很难在生产中超越以前的模型。为了解决这个问题,我们生成了组合 RWRL 基准挑战的离线数据集,我们将其作为更广泛的离线数据集发布的一部分提供。可以在此笔记本中找到更多信息。
结论大多数系统很少只表现出一个单一的挑战,我们很高兴看到算法如何处理存在多个挑战且难度不断增加(“简单”、“中等”和“困难”)的环境。我们强烈鼓励研究界尝试解决这些挑战,因为我们相信解决这些挑战将促进 RL 在产品和现实世界系统中的更广泛应用。
虽然最初的 RWRL 套件功能和实验集为缩小 RL 当前状态与应用系统挑战之间的差距提供了一个起点,但仍有很多工作要做。支持的实验并不详尽,我们欢迎来自更广泛社区的新想法,以更好地评估我们的 RL 代理的能力。我们对这个套件的主要目标是强调和鼓励对限制 RL 算法在应用产品和系统中的有效性的核心问题的研究,并加速实现未来 RL 应用程序的进展。
Horizon:Facebook的应用强化学习平台(PyTorch/Caffe2)
【导读】近期,Facebook开源了强化学习平台Horizon,Horizon是用Python构建的,使用PyTorch进行建模和训练,使用Caffe2进行模型服务。
Horizon是一个端到端平台,旨在解决行业应用的RL问题。强化学习在其数据集很大(数百万到数十亿),反馈环路很慢(相对于模拟器)时,必须小心地进行实验,因为它们不在模拟器中运行。 与其他通常用于快速原型设计和实验的RL平台不同,Horizon的设计以生产用例为首要考虑因素。 该平台包含用于训练流行的深度RL算法的工作流程,包括数据预处理,特征转换,分布式训练,反事实策略评估和优化服务。
支持的算法:
Discrete-Action DQN
Parametric-Action DQ
Double DQN, Dueling DQN, Dueling Double DQN
DDPG
[Soft Actor-Critic]
(https://arxiv.org/abs/1801.01290) (SAC)
https://github.com/facebookresearch/Horizon
https://research.fb.com/publications/horizon-facebooks-open-source-applied-reinforcement-learning-platform/
-END-
专 · 知
人工智能领域26个主题知识资料全集获取与加入专知人工智能服务群: 欢迎微信扫一扫加入专知人工智能知识星球群,获取专业知识教程视频资料和与专家交流咨询!
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请加专知小助手微信(扫一扫如下二维码添加),加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~
点击“阅读原文”,使用专知
以上是关于用于解决应用强化学习挑战的模拟套件的主要内容,如果未能解决你的问题,请参考以下文章