写点什么

谷歌发布强化学习算法 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:163983
用户头像
陈思 InfoQ编辑

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

关注

评论

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

Apache DolphinScheduler新特性与Roadmap路线

代立冬

大数据 数据中台 工作流调度 海豚调度 数据湖调度

如何使用 Apache CXF 快速实现一个 WebService

Rayjun

Java WebService CXF

2万字长文带你细细盘点五种负载均衡策略。

why技术

Java 负载均衡 源码分析 面试 dubbo

MySQL 可重复读,差点就我背上了一个 P0 事故!

楼下小黑哥

Java MySQL

Flutter开发环境配置

玉龙BB

flutter android vscode

眼中有码,心中无码

小眼睛聊技术

学习 深度思考 程序员 最佳实践 算法

深入计算机底层,从几本靠谱的书开始

HackMSF

计算机工作原理

5G时代下应用的安全防御研究

Nick

5G 5G网络安全 5G安全

像孩子一样认识新事物 —— 读《终身幼儿园》

YoungZY

学习 读书笔记 读书

ARTS打卡计划_第一周

叫不醒装睡的人

ARTS 打卡计划

ARTS-01

NIMO

ARTS 打卡计划 ARTS活动

如何做好Code Review?

架构精进之路

Code Review

爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【2】-抓包分析

hadesxiong

Python 爬虫 保险 Scrapy

ARTS 打卡 WEEK2

编程之心

ARTS 打卡计划

clang-format 使用与集成介绍

Geek_101627

后疫情时代,区块链的发展迎来曙光!

CECBC

CECBC 区块链技术

Mysql索引不会怎么办?6000字长文教会你

Super~琪琪

MySQL 数据库 sql 索引

ARTS week 3

刘昱

重学 Java 设计模式:实战单例模式

小傅哥

设计模式 编程思维 重构 优化代码

区块链技术大显身手,仅用20分钟就打完一场官司!

CECBC

CECBC 区块链技术 数字版权 存证

Java日志门面系统

泛泛之辈

Java 日志 slf4j

ARTS打卡第一周

GKNick

体验一次简洁的代码

你当像鸟飞往你的山

ARTS-1

你当像鸟飞往你的山

ARTS 打卡计划

那些会阻碍程序员成长的细节[2]

MavenTalker

程序员 程序人生

[ARTS打卡] week 01

Mau

ARTS 打卡计划

如何设置线程池参数?美团给出了一个让面试官虎躯一震的回答。

why技术

Java 源码分析 面试 线程池

DDD 中的那些模式 — 使用 Specification 管理业务规则

Joshua

设计模式 领域驱动设计 DDD 架构模式

我的编程之路 -6(新时代)

顿晓

android 编程之路 时代

关爱孩子的心理建设

Neco.W

人生 感悟 教育

数据产品经理实战-数据门户搭建(上)

第519区

数据中台 开发数据

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