伯克利、OpenAI等提出基于模型的元策略优化强化学习
基于模型的强化学习方法数据效率高,前景可观。本文提出了一种基于模型的元策略强化学习方法,实践证明,该方法比以前基于模型的方法更能够应对模型缺陷,还能取得与无模型方法相近的性能。
引言
强化学习领域近期取得的很多成就都是通过无模型强化学习算法 [1,2,3] 实现的。无模型(MF)算法倾向于实现最佳性能,通常可应用且易于实现。
然而,这是以数据密集为代价实现的,当与诸如神经网络的大容量函数近似器结合时,情况会恶化。它们的高样本复杂性阻碍其应用于机器人控制任务,在这些任务上收集数据代价高昂。
相比之下,基于模型的(MB)强化学习方法可以通过明显更少的样本来学习。这类学习方法使用习得的环境动态模型,而此模型能够执行策略优化。学习动态模型能以样本高效的方式完成,因为它们是用标准的监督学习技术训练而成,允许使用非策略数据。
然而,精确的动态模型往往比良好的策略复杂得多。例如,将水倒入杯中可以通过相当简单的策略来实现,但是对该任务的潜在动态进行建模是非常复杂的。
因此,基于模型的方法只能在更有限的一系列问题上学习良好的策略,即使学习了良好的政策,它们的表现通常也会远低于无模型的方法 [4,5]。
基于模型的方法倾向于依靠准确(学习到的)的动态模型来解决任务。如果动态模型不够精确,则策略优化容易过度拟合模型的缺陷,导致次优行为甚至是灾难性故障。
该问题在文献中被称为模型偏差 [6]。以前的研究试图通过表征模型的不确定性和学习鲁棒的策略来减轻模型偏差 [6,7,8,9,10],通常使用集合来表示后验。本文也使用集合,但却截然不同。
本文提出基于模型的元策略优化(MB-MPO),这是以前基于模型的 RL 方法的正交版本:传统的基于模型的 RL 方法要求学习到的动态模型足够准确,以便学习在现实世界中也能取得成功的策略,但是本文提出的方法放弃了对这种准确性的依赖。它通过学习动态模型集合并将策略优化步骤构建为元学习问题来实现同样的目标。
在 RL 中,元学习旨在学习一种能够快速适应新任务或环境的策略 [11,12,13,14,15]。使用模型作为学习模拟器,MB-MPO 学习的策略可以通过一个梯度步快速地适应任何合适的动态模型。该优化目标引导元策略在集合中实现内部一致的动态预测,同时将模型间最佳行为的负担转移到适应步骤。
这样下来,学习到策略表现出较少的模型偏差,因此不必保守行事。尽管在如何收集轨迹样本和训练动态模型方面与先前的 MB 方法有很多相同之处,但是用于策略优化(和依赖)的学习到的动态模型从根本上是不同的。
在本文中,研究者展示了 1)基于模型的策略优化可以学习与无模型方法中渐近性能相匹配的策略,同时显著提高采样效率,2)MB-MPO 在较难的控制任务方面始终优于以前基于模型的方法,3)当模型存在很大的偏差时,仍然可以学习。
本文方法的低样本复杂性使其适用于真实世界的机器人。例如,它能够在两小时内基于真实数据, 找到高维且复杂的四维运动世界的最优策略。请注意,使用无模型方法学习此类策略所需的数据量要高出 10 倍- 100 倍,并且研究者所知,之前的基于模型的方法在此类任务中无法获得与无模型相近的性能。
论文:Model-Based Reinforcement Learning via Meta-Policy Optimization

论文地址:https://arxiv.org/abs/1809.05214
基于模型的强化学习方法数据效率高,前景可观。然而,由于学习动态模型的挑战在于完全匹配现实世界的动态,研究者们努力实现与无模型方法相同的渐近性能。他们提出了基于模型的元策略优化(MB-MPO),这种方法放弃了对精准可学习动态模型的强烈依赖。
使用可学习动态模型集合,MB-MPO 元学习学会了通过策略梯度步快速适应集合中任何模型的策略。这驱使元策略在模型集合中实现内部一致的动态预测,同时将模型间最佳行为的负担转移到适应步骤。
实验表明,MB-MPO 比以前基于模型的方法更能够应对模型缺陷。最后,我们证明了本文的方法能够取得与无模型方法相近的性能,同时需要的经验更少。
实验
我们实验评估的目的是测试以下问题:1)MBMPO 如何与最先进的无模型和基于模型的方法对比样本复杂性和渐近性能?2)模型的不确定性如何影响策略的可塑性?3)我们的方法对不完美模型有多鲁棒?
为了回答以上问题,我们在 Mujoco 模拟器中针对六个连续控制基准任务评估了该方法 [44]。附录 A.3 中给出了环境配置以及实验设置的详细描述。
在接下来的所有实验中,更新前策略用于报告使用该方法获得的平均奖励。报告的性能至少是三个随机种子的平均值。源代码和实验数据可在我们的补充网站上找到。

图 8:实验中使用的 Mujoco 环境。从左到右:游泳的人,猎豹,2D 行人,PR 2,跳虫,蚂蚁。

图 1:MB-MPO(「我们的」)的学习曲线和六种不同的 Mujoco 环境中四种最先进的无模型方法,基准为 200 时间步。MB-MPO 能够在降低两个数量级的样本上达到无模型方法的渐近性能。

图 5:该方法有无模型改动的比较。描述了在猎豹环境中使用三个不同的随机种子进行训练期间平均回报的变化,其中基准为 1000 个时间步长。
算法
在下文中,我们描述了该方法的整体算法(参见算法 1)。首先,我们使用不同的随机权重初始化模型和策略。然后,继续收集数据。在第一次迭代中,使用随机控制器收集来自现实世界的数据,并存储在缓冲器 D 中。
在随后的迭代中,利用适应的策略 {πθ01,...,πθ0K} 收集来自现实世界的轨迹,然后与来自先前迭代的轨迹聚合。根据 4.1 节中阐述的步骤,使用聚合的实际环境样本对模型进行训练。
该算法通过使用策略 πθ 从每个模型集合 {fφ1,...,fφK} 自动生成轨迹来进行。这些轨迹用于执行内部适应策略梯度步,产生适应的策略 {πθ01,...,πθ0K}。最后,研究者使用适应的策略 πθ0k 和模型 fφk 生成虚拟轨迹,并优化元目标的策略(如 4.2 节中所述)。重复这些步骤,直到达到预期的性能。该算法返回优化的更新前参数 θ。

伯克利、OpenAI等提出基于模型的元策略优化强化学习的更多相关文章
- 强化学习(十七) 基于模型的强化学习与Dyna算法框架
在前面我们讨论了基于价值的强化学习(Value Based RL)和基于策略的强化学习模型(Policy Based RL),本篇我们讨论最后一种强化学习流派,基于模型的强化学习(Model Base ...
- 强化学习之五:基于模型的强化学习(Model-based RL)
本文是对Arthur Juliani在Medium平台发布的强化学习系列教程的个人中文翻译,该翻译是基于个人分享知识的目的进行的,欢迎交流!(This article is my personal t ...
- 谷歌重磅开源强化学习框架Dopamine吊打OpenAI
谷歌重磅开源强化学习框架Dopamine吊打OpenAI 近日OpenAI在Dota 2上的表现,让强化学习又火了一把,但是 OpenAI 的强化学习训练环境 OpenAI Gym 却屡遭抱怨,比如不 ...
- Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)
http://lib.csdn.net/article/aimachinelearning/68113 原文地址:http://blog.csdn.net/jinzhuojun/article/det ...
- CUDA上深度学习模型量化的自动化优化
CUDA上深度学习模型量化的自动化优化 深度学习已成功应用于各种任务.在诸如自动驾驶汽车推理之类的实时场景中,模型的推理速度至关重要.网络量化是加速深度学习模型的有效方法.在量化模型中,数据和模型参数 ...
- 有关基于模型的设计(MBD)一些概念和理解(zz)
http://www.matlabsky.com/thread-38774-1-1.html 本文转载于MathWorks中国高级工程师董淑成的帖子内容.为了方便阅读,对原文进行了重新整理编辑. 之前 ...
- MetaQNN : 与Google同场竞技,MIT提出基于Q-Learning的神经网络搜索 | ICLR 2017
论文提出MetaQNN,基于Q-Learning的神经网络架构搜索,将优化视觉缩小到单层上,相对于Google Brain的NAS方法着眼与整个网络进行优化,虽然准确率差了2-3%,但搜索过程要简单地 ...
- CARS: 华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020
为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索方法(continuous evolution architecture searc ...
- AmoebaNet:经费在燃烧,谷歌提出基于aging evolution的神经网络搜索 | AAAI 2019
论文提出aging evolution,一个锦标赛选择的变种来优化进化算法,在NASNet搜索空间上,对比强化学习和随机搜索,该算法足够简洁,而且能够更快地搜索到更高质量的模型,论文搜索出的Amoeb ...
随机推荐
- 玩转TypeScript(1) --定义简单的类
相对于JavaScript来说,TypeScript增强了强制类型,同时添加了一系列的面向对象的特性,包含:静态类型(Static typing).类(Classes).接口(Interfaces). ...
- Python3下安装pip和MySQLdb
MySQLdb的安装更曲折了.还是按照正常方法安装,下载MySQL-python-1.2.5版本,解压后python setup.py install,发现怎么装都会报错“ConfigParser.N ...
- Linux服务器没有GUI的情况下使用matplotlib绘图
最近看到关于 python3 中用matplotlib 不进行交互画图,而是直接将图保存到硬盘,主要的一个设置就是 matplotlib.use('agg') 注明: 其实不设置 matplotl ...
- UnicodeDammit
UnicodeDammit 是BS内置库, 主要用来猜测文档编码. 编码自动检测 功能可以在Beautiful Soup以外使用,检测某段未知编码时,可以使用这个方法: from bs4 import ...
- 如何查看Window10系统隐藏文件夹
1 . 打开我的电脑(此电脑)等等诸如此类的称呼 2 . 点击左上角的查看选项 3 . 选中“隐藏的选项” 4 . 完成
- egret游戏入门之学习资源篇
最近因需要,入手H5游戏. 写游戏当然需要有引擎. H5游戏开发:游戏引擎入门推荐 如何选择 H5 游戏引擎 白鹭引擎和layabox哪个好用,哪个技术更成熟 ? LayaBox 与 Egret 选择 ...
- gRPC-Web is going GA
原文: https://www.cncf.io/blog/2018/10/24/grpc-web-is-going-ga On behalf of the Cloud Native Computing ...
- Oracle中的三种Join 方式
基本概念 Nested loop join: Outer table中的每一行与inner table中的相应记录join,类似一个嵌套的循环. Sort merge join: 将两个表排序,然后再 ...
- Python学习系列(一)(基础入门)
Python入门 本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维,不求高大上,只求懂点皮毛,作为知识储备,不至于落后太远.如果兴趣学习者,推荐一个基础视频 ...
- Django中更新多个对象数据与删除对象的方法
更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”.若使用save()方法,如: ? 1 2 3 >&g ...