写点什么

谷歌发布生态系统 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:494430

评论

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

CutLER:更好地训练无监督识别模型

Zilliz

走进RocketMQ(三)消息存储与消费

白裤

Java RocketMQ RocketMQ消息存储 RocketMQ消息消费

基于大规模边缘计算的千万级聊天室技术实践

环信

聊天室 大规模边缘计算 千万级

BNB Chain 2023年40佳DAPP评选,Zebec赫然在列

鳄鱼视界

从计费出账加速的设计谈周期性业务的优化思考

鲸品堂

运营商 业务流程优化 企业号 3 月 PK 榜

技术写作的“坎”

码猿外

程序员 写作

如何使用C LinkSDK(4.x)快速接入阿里云物联网平台?——实践类

阿里云AIoT

阿里云 物联网 IoT

假如面试官要你手写一个promise

helloworld1024fd

JavaScript 前端

极光笔记 | 极光PUSH服务助力企业提升抢单速度

极光JIGUANG

技术干货 移动推送 智能推送

深入React源码揭开渲染更新流程的面纱

goClient1992

React

BNB Chain 2023年40佳DAPP评选,Zebec赫然在列

威廉META

从源码角度看React-Hydrate原理

flyzz177

React

京东前端二面常考手写面试题(必备)

helloworld1024fd

JavaScript 前端

ChunJun 1.16 Release版本即将发布,bug 捉虫活动邀您参与!

袋鼠云数栈

滴滴前端一面常考手写面试题整理

helloworld1024fd

JavaScript 前端

顶层设计出台 浪潮云破局再生长丨与千行百业扬帆数字蓝海

云计算

TSBS 是什么?为什么时序数据库 TDengine 会选择它作为性能对比测试平台?

TDengine

性能测试 时序数据库 ​TDengine

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.2版已发布

JackJiang

网络编程 即时通讯 IM

手写一个react,看透react运行机制

goClient1992

React

从一次CPU打满到ReDos攻击和防范

京东科技开发者

正则表达式 Web 企业号 3 月 PK 榜 ReDoS

ChatGPT 爆火,社交应用如何 Get 新技能

融云 RongCloud

IM ChatGPT

轻量易部署!Coolbpf 发布不依赖 Clang 的脚本化编程特性 lwcb | 龙蜥技术

OpenAnolis小助手

开源 rust ebpf coolbpf lwcb

【明晚直播】KunlunBase 1.1 版本发布:完善MySQL 兼容性,OLAP性能提升

KunlunBase昆仑数据库

MySQL 数据库 PgSQL 线上直播

从零手写react-router

helloworld1024fd

JavaScript 前端

深度分析React源码中的合成事件

goClient1992

React

直播 | StarRocks 实战系列第三期--StarRocks 运维的那些事

StarRocks

数据库 开源 运维

云原生可观察性工具泛滥的思考

HummerCloud

云原生 可观察性

Switchquery:移动端秒级配置触达平台

京东科技开发者

App 配置原理 用户触达 企业号 3 月 PK 榜

LED广告宣传车与LED流动舞台车的区别

Dylan

广告 LED 户外LED显示屏

应用模型开发指南上新介绍

HarmonyOS开发者

HarmonyOS

从recat源码角度看setState流程

flyzz177

React

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