写点什么

谷歌发布生态系统 RLDS,可在强化学习中生成、共享和使用数据集

  • 2021-12-20
  • 本文字数:2643 字

    阅读完需:约 9 分钟

谷歌发布生态系统RLDS,可在强化学习中生成、共享和使用数据集

大多数强化学习序列决策算法都需要智能体与环境的大量交互生成训练数据,以获得最佳性能。这种方法效率很低,尤其是在很难做到这种交互的情况下,比如用真实的机器人来收集数据,或者和人类专家进行交互。要缓解这个问题,可以重用外部的知识源,比如 RL Unplugged Atari 数据集,其中包括玩 Atari 游戏的合成智能体的数据。


但是,由于这些数据集非常少,而且序列决策生成数据的任务和方式多种多样(例如,专家数据或噪声演示,人类或合成交互,等等),因此,整个社区要用一组很少的、具有代表性的数据集进行工作,就不太现实,甚至不可取。另外,有些数据集被发行成仅适合特定算法的形式,因此研究者不能重用这些数据集。比如,某些数据集并没有包含与环境的交互序列,但却提供了一组让我们无法重构其时间关系的随机交互,其他数据集则会以稍有差异的方式发行,从而导致细微的误差,非常难以识别。

 

基于此,我们提出了强化学习数据集(Reinforcement Learning Datasets,RLDS),并发布了一套用于记录、重放、操作、注释和共享数据的工具,用于序列决策制定,其中包括离线强化学习学徒学习(Apprenticeship learning)或模仿学习(imitation learning)。RLDS 可以方便地共享数据集,而不会损失任何信息(比如,保持交互的序列,而非随机化),而且独立于底层原始格式,从而允许用户在更广泛的任务上对新的算法进行快速测试。


另外,RLDS 提供了收集由合成智能体(EnvLogger)或人类(RLDS Creator)生成的数据的工具,以及对收集到的数据进行检查与处理的工具。最后,通过与 TensorFlow Dataset(TFDS)集成,有助于加强与研究界共享强化学习数据集。

 


通过 RLDS,用户可以将智能体与环境的交互以无损、标准的格式进行记录。他们可以利用并转换这些数据,供不同的强化学习或序列决策算法使用,或者进行数据分析。

数据集结构

 

强化学习、离线强化学习或模仿学习中的算法,都有可能会使用格式完全不同的数据,并且,当数据集的格式不清楚时,很容易导致由于对底层数据的误解引起的 bug。


RLDS 通过定义数据集的每个字段的内容和意义,使数据格式显式化,并为其提供了重新对齐和转换的工具,以适应任何算法实现所需的格式。为了定义数据格式,RLDS 利用了强化学习数据集固有的标准结构,也就是智能体和环境之间的交互(步骤)的序列(情节),其中,智能体可以是基于规则的/自动化控制器、正式规划者、人类、动物,或上述的组合。


这些步骤中的每一个都包含当前的观察、应用于当前观察的行动、作为应用行动的结果而获得的奖励以及与奖励一起获得的折扣。步骤还包括额外的信息,以表明该步骤是该情节的第一个还是最后一个,或者该观察是否对应于一个终端状态。每个步骤和情节还可以包含自定义的元数据,可用于存储与环境相关或与模型相关的数据。

生成数据

 

研究人员通过记录任何类型的智能体与环境的交互来产生数据集。为了保持其有用性,原始数据最好以无损格式存储,记录所有生成的信息,并保留数据项之间的时间关系(例如,步骤和事件的序列),而不会对将来如何利用数据集作出任何假定。为了这个目的,我们发行了 EnvLogger,这是一个软件库,以开放文档格式记录智能体与环境的交互。

 

EnvLogger 是一种环境包装器,可以将智能体与环境的交互记录下来,并将它们存储在一个较长的时间内。虽然 EnvLogger 无缝地集成在 RLDS 生态系统中,但是我们将其设计为可作为一个独立的库使用,以提高模块化程度。

 

与大多数机器学习环境一样,为强化学习收集人类数据是一个既费时又费力的过程。解决这个问题的常见方法是使用众包,它要求用户能够轻松地访问可能难以扩展到大量参与者的环境。在 RLDS 生态系统中,我们发行了一个基于 Web 的工具,名为 RLDS Creator,该工具可以通过浏览器为任何人类可控制的环境提供一个通用接口。用户可以与环境进行交互,例如,在网上玩 Atari 游戏,交互会被记录和存储,以便以后可以通过 RLDS 加载回来,用于分析或训练智能体。

共享数据

 

数据集的制作往往很烦琐,与更广泛的研究社区共享,不仅可以重现之前的实验,还可以加快研究速度,因为它更容易在一系列场景中运行和验证新算法。为此,RLDS 与 TensorFlow Datasets(TFDS)集成,后者是一个现有的机器学习社区内共享数据集的库。一旦数据集成为 TFDS 的一部分,它就会被索引到全球 TFDS 目录中,这样,所有研究人员都可以通过使用 tfds.load(name_of_dataset) 来访问,并且可以将数据以 TensorFlow 或 Numpy 格式加载。

 

TFDS 独立于原始数据集的底层格式,所以,任何具有 RLDS 兼容格式的现有数据集都可以用于 RLDS,即使它最初不是用 EnvLogger 或 RLDS Creator 生成的。另外,使用 TFDS,用户对自己的数据拥有所有权和完全控制权,并且所有的数据集都包含了一个引用给数据集作者。

使用数据

 

研究人员可以使用这些数据集对各种机器学习算法进行分析、可视化或训练,就像上面提到的那样,这些算法可能会以不同的格式使用数据,而不是以不同的格式存储数据。例如,一些算法,如 R2D2R2D3,使用完整的情节;而另一些算法,如 Behavioral Cloning(行为克隆)或 ValueDice,则使用成批的随机步骤。为了实现这一点,RLDS 提供了一个强化学习场景的转换库。由于强化学习数据集的嵌套结构,所以这些转换都经过了优化,包括了自动批处理,从而加速了其中一些操作。使用这些优化的转换,RLDS 用户有充分的灵活性,可以轻松实现一些高级功能,而且开发的管道可以在 RLDS 数据集上重复使用。转换的示例包含了对选定的步骤字段(或子字段)的全数据集的统计,或关于情节边界的灵活批处理。你可以在这个教程中探索现有的转换,并在这个 Colab 中看到更复杂的真实示例。

可用数据集

 

目前,TFDS 中有以下数据集(与 RLDS 兼容):

 

 

我们的团队致力于在不久的将来迅速扩大这个清单,并且欢迎外界为 RLDS 和 TFDS 贡献新的数据集。

结语


RLDS 生态系统不仅可以提高强化学习与序列决策问题研究的可重现性,还可以方便地进行数据的共享和重用。我们期望 RLDS 所提供的特性能够推动一种趋势,即发行结构化的强化学习数据集,包含所有的信息,并涵盖更广泛的智能体和任务。

 

作者介绍:


Sabela Ramos,Google AI 软件工程师。

Léonard Hussenot,谷歌研究室,大脑团队学生研究员。


原文链接:


https://ai.googleblog.com/2021/12/rlds-ecosystem-to-generate-share-and.html

2021-12-20 10:494496

评论

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

交易系统之数据库弱依赖解决方案

京东科技开发者

数据库 高并发 灾备 db 企业号 3 月 PK 榜

业务架构那点事(2)如何通过高层访谈获取企业战略信息?

涛哥 数字产品和业务架构

业务架构 访谈

如何在 macOS 中互换 Control 和 Command 键

理理

mac教程 Control键 Command 键

Mac教程:如何开启任何来源选项

理理

Mac 苹果电脑 任何来源

解决 Parallels Desktop 虚拟机不能连网的问题

理理

Parallels Desktop 虚拟机 PD虚拟机不能联网 PD常见问题

CleanMyMac4.20专业的mac清理软件

茶色酒

CleanMyMac4.20

订阅标识符与订阅选项--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 订阅 企业号 3 月 PK 榜

3D摄影棚布光工具Set A Light 3D Studio

Rose

Mac软件 Set A Light 3D Studio 3D摄影棚布光工具

可插拔组件设计机制—SPI

京东科技开发者

spi Java】 JavaSPI 企业号 3 月 PK 榜

React数字滚动组件 numbers-scroll

观纵科技

JavaScript 前端监控 React

AntDB数据库助力中国移动华南中心计费项目

亚信AntDB数据库

AntDB 国产数据库 aisware antdb AntDB数据库 企业号 3 月 PK 榜

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

程序员小毕

Java 程序员 面试 后端 架构师

K8S部署应用详解

tiandizhiguai

VPN客户端Shimo mac版使用教程:如何创建新的 VPN 帐户?

Rose

vpn mac系统 Shimo下载 Shimo教程

Acrobat Pro DC 2023发布,有哪些新的改进?

Rose

adobe pdf编辑器 Acrobat Pro DC 2023

直播教学!20 分钟开发可视化「智能门铃」丨RTE 开发实战课 • 第一期

声网

最佳实践 直播 RTC 声网

金三突击面试,收获6个Offer,原来面试还能这么简单!

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

OPPO、京东云 loT 项目数据架构改造,数据处理痛点这样破解

TDengine

tdengine 数据架构 时序数据库 用户案例 loT

面面俱到!四面阿里拿offer后,才发现师哥给的面试笔记有多强大

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

喜讯|百度入选“移动互联网APP产品安全漏洞治理”优秀案例

百度安全

从稀疏表征出发、召回方向的前沿探索

百度Geek说

召回 预训练模型 稀疏矩阵 企业号 3 月 PK 榜

Last Week in Milvus

Zilliz

Milvus Zilliz 向量数据库

ElasticSearch必知必会-Reindex重建索引

京东科技开发者

elasticsearch 索引 ES 集群 企业号 3 月 PK 榜

设备使用HTTPS协议接入IoT物联网平台——设备接入类

阿里云AIoT

真的有那么丝滑吗?面试阿里(Java岗)从投简历到面试再到入职

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

亿级用户中心的设计与实践

做梦都在改BUG

Java 服务架构 亿级流量 用户中心

使用Assembly打包和部署Spring Boot工程

做梦都在改BUG

Java spring Spring Boot assembly 框架

使用抓包工具Wireshark分析IoT设备网络行为——设备管理运维类

阿里云AIoT

网络协议 物联网 网络性能优化

企业不想走弯路,不如试试低代码开发

引迈信息

低代码 低代码开发 JNPF

SpringBoot项目就连创建目录都让人抓狂

做梦都在改BUG

Java Spring Boot 框架

通过Flutter实现一个能在多端运行的扫雷游戏

编程的平行世界

flutter 前端 游戏 移动端 扫雷

谷歌发布生态系统RLDS,可在强化学习中生成、共享和使用数据集_文化 & 方法_Sabela Ramos_InfoQ精选文章