写点什么

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

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

关注

评论

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

明道云帮助外贸行业实现数字化管理

明道云

ShardingSphere JDBC 分库实现多数据库源

Java 数据库 分库分表 Apache ShardingSphere

关于jiami货币--《香帅中国财富报告》摘录(6/100)

hackstoic

投资

ReactNative进阶(二十八):ES6 Symbol 用法

No Silver Bullet

React Native symbol 1月月更

Linux之cal命令

入门小站

(1-18/18)推播式营销vs.集客式营销

mtfelix

300天创作 2022Y300P

Go len() 函数是如何计算长度的?

宇宙之一粟

Go Go 语言 1月月更

测试工程师的职场发展二三谈

老张

自动化测试 解决方案 职场发展

微信业务架构图 & 学生管理系统架构设计

阿卷

架构实战营

C/C++开发方向如何选择?坚持C++还有意义吗?

赖猫

c++ Linux 服务器

使用 React 和 Next.js 构建博客

devpoint

React nextjs 1月月更

构建多架构镜像的最佳实践

xcbeyond

Docker arm docker image xcbeyond 1月月更

用Java实现线段树

CRMEB

冬奥探秘:那些隐匿在冬奥中的“绿科技”

脑极体

在线XML转CSV工具

入门小站

工具

22 Prometheus之Docker监控简述

穿过生命散发芬芳

Prometheus 1月月更

ReactNative进阶(三十):Component、PureComponent 解析

No Silver Bullet

​React Native 1月月更 Component

音视频开发学习:HLS 协议详解

赖猫

c++ 音视频 ffmpeg HLS 音视频开发

PDF 文件如何转成 markdown 格式

汪子熙

markdown PDF pdf.js 1月日更 1月月更

(1-19/19)市场和销售分别该怎么干

mtfelix

300天创作 2022Y300P

微信业务架构分析 & 学生管理系统架构选型

AragornYang

架构训练营 架构实战营

【网络安全】详细记录一道简单面试题的思路和方法

H

网络安全

JavaScript 基本数据类型转换

编程三昧

JavaScript 前端 1月月更

《腾讯云原生在线技术工坊》实践体会

穿过生命散发芬芳

腾讯云 云原生 1月月更 实践体会

kali权限提升之本地提权

喀拉峻

网络安全 信息安全 提权

大白话讲解JDK源码系列:从头到尾再讲一遍ThreadLocal

慕枫技术笔记

后端 1月月更

vue 作者在2022-2-7起宣布 vue3 正式作为默认版本

你?

第七周作业

lv

低代码实现探索(二十九)混合式低代码

零道云-混合式低代码平台

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」系统服务底层原理以及高性能存储设计分析

码界西柚

RocketMQ 阿里巴巴‘ Alibaba技术 Apache RocketMQ 1月日更

电商秒杀系统架构设计

AHUI

「架构实战营」

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