写点什么

谷歌发布强化学习算法 SimPLe,学习效率提升两倍

  • 2019-03-26
  • 本文字数:1322 字

    阅读完需:约 4 分钟

谷歌发布强化学习算法SimPLe,学习效率提升两倍

深度强化学习(Deep reinforcement learning)利用奖励来推动软件政策朝着目标发展。该技术已被用于模拟社会规范的影响,创造出特别擅长玩游戏的人工智能,并为机器人编写程序,使其能够从恶劣的溢出中恢复过来。尽管强化学习功能多样,它也有一个明显的缺点:效率低下。训练策略需要在模拟的或真实的环境中进行大量的交互——远远超过普通人学习任务的需要。


为了在视频游戏领域有所弥补,谷歌的研究人员最近提出了一种新的算法——模拟策略学习,简称 SimPLe,该算法通过游戏模型学习用于选择动作的质量策略。谷歌在一篇新发表的预印本论文(“Atari 基于模型的强化学习”)和随开源代码一起发布的文档中对此进行了描述。


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


开源代码:https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/rl/README.md


根据谷歌官方的介绍:


在高层次上,SimPLe 背后的想法是在学习游戏行为的 world 模型和在模拟游戏环境中使用该模型优化策略(使用无模型强化学习)之间进行交替。该算法的基本原理已经很好地建立起来,并应用于许多最近的基于模型的强化学习方法中。



SimPLe 的主循环。1)代理开始与真实环境交互;2)收集的观测结果用于更新当前的 world 模型;3)代理通过在 world 模型内学习来更新策略。


如果成功地训练这样一个模型(如视频预测),一个本质上学会了模拟器的游戏环境,可以用来生成轨迹训练游戏代理的好策略,即选择一个操作序列,这样可以使代理的长期回报最大化。


在每次迭代中,在 world 模型被训练之后,就可以使用这个学习的模拟器来生成滚动(即动作、观察和结果的样本序列),这些滚动被用来使用近似策略优化(PPO)算法来改进游戏策略。滚动的采样从实际的数据集帧开始。由于预测错误通常会随着时间的推移而增加,使长期预测变得非常困难,SimPLe 只使用中等长度的滚动。幸运的是,PPO 算法也可以从其内部价值函数中学习动作和奖励之间的长期效果,因此有限长度的滚动对于像《highway》这样奖励稀疏的游戏来说也是足够的。


从效率方面来说,衡量成功的一个标准是证明该模型是高效的。为此,谷歌的研发人员在与环境进行了 10 万次交互之后评估了策略的输出,将 SimPLe 与两种最先进的无模型 RL 方法 Rainbow 和 PPO 进行了比较。在大多数情况下,SimPLe 的样本效率比其他方法高出两倍以上。



相应的无模型算法(左 - Rainbow;右 - PPO)所需的交互次数与 SimPLe 训练方法获得的得分相匹配。红线表示 SimPLe 使用的交互次数。


然而,SimPLe 并不总是完美的。最常见的故障是:world 模型不能准确地捕获或预测体积很小但相关度很高的对象。比如某些训练中,由于游戏中子弹的体积太小以至于几乎很难被模型捕捉到。


谷歌的研究人员认为:“基于模型的强化学习方法的主要前景是在交互成本高、速度慢或需要人工标记的环境中,例如许多机器人任务中。在这样的环境下,学习的模拟器可以更好地理解代理的环境,并可以为更多的任务强化学习提供新的,更好的和更快的方法。虽然 SimPLe 还没有达到标准无模型 RL 方法的性能,但它的效率要高得多,我们期望未来的工作能够进一步提高基于模型的性能。”


原文链接:


https://ai.googleblog.com/2019/03/simulated-policy-learning-in-video.html


2019-03-26 15:163801
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 279.9 次阅读, 收获喜欢 1301 次。

关注

评论

发布
暂无评论
发现更多内容

18张图揭秘高性能Linux服务器内存池技术是如何实现的

Java 程序员 后端

2020年Java面试题汇总手册(持续更新版)

Java 程序员 后端

区块链之符号理论:抽象化和身份管理的必要条件

CECBC

RocketMQ 5.0 POP 消费模式探秘

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列 pOP

2020年Java程序员请先把这几项硬技能熟悉掌握,再想着跳槽拿高薪

Java 程序员 后端

2020面试阿里字节跳动90%被问到的JVM面试题附答案

Java 程序员 后端

2021-07-25 Java基础

Java 程序员 后端

2-2 SPU和SKU详解及MyBatisPlus自动生成

Java 程序员 后端

2021-06-05# Java基础(dayFourteen):锁的两种方式

Java 程序员 后端

2020年7月份GitHub上最热门的Java开源项目排行

Java 程序员 后端

2020年“有史以来”全网最全1309道BAT大厂java面试题(附答案分享)

Java 程序员 后端

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

Java 程序员 后端

2021字节总监最新发布:JVM +GC优质手册!面试专属

Java 程序员 后端

从欧拉捐赠中,读懂数字基建与数字中国

脑极体

2020最新阿里巴巴必问的200个面试题以及答案,助你斩获阿里offer

Java 程序员 后端

linux之git高级命令

入门小站

Linux

【SpringCloud技术专题】「Resilience4j入门指南」轻量级熔断框架的入门指南

洛神灬殇

熔断器 11月日更 Resilience4j

18级大数据专家,漫谈大数据平台安全风险与建设,值得学(下篇)

Java 程序员 后端

19年末从外包辞职,10000小时后,进字节跳动拿offer

Java 程序员 后端

20 数据存储服务器集群的伸缩性设计

Java 程序员 后端

2019金九银十前端面经总结

Java 程序员 后端

2020年最新蚂蚁金服 Java 高级岗2000+面试通关秘籍,就这水平

Java 程序员 后端

Go语言,内存的分配原理

微客鸟窝

Go 语言 11月日更

【MySQL技术专题】「索引技术系列」体验前所未有的技术探险,看穿索引的本质和技术体系(上篇)

洛神灬殇

MySQL 索引原理 11月日更

在WE大会看见出行未来:告别拥堵,15分钟飞到办公室

脑极体

在线多空行只保留一个工具

入门小站

工具

2020年最新Java面试必备知识点整理,我是这样靠它拿下阿里Offer的

Java 程序员 后端

15个顶级Java多线程面试题及答案

Java 程序员 后端

18道kafka高频面试题(附答案)

Java 程序员 后端

1万字长文高速你千万级并发架构下如何提高数据库存储性能

Java 程序员 后端

布局电力行业,百度智能云与中国电科院签署战略合作协议

百度大脑

人工智能 百度

谷歌发布强化学习算法SimPLe,学习效率提升两倍_AI&大模型_Łukasz Kaiser_InfoQ精选文章