NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-12-20 10:493995

评论

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

【教程】移动应用安全加固技术解析

已解决org.springframework.beans.factory.support.BeanDefinitionValidationException Bean验证异常的正确解决方法,亲测有效!

小明Java问道之路

[自研开源] MyData 基于 Web API 的数据集成平台 v0.7.0

LIEN

开源 数据集成 业务融合 API对接 数据对接

金三银四,聊一聊软件测试简历书写/面试的必备技能

测吧(北京)科技有限公司

测试

文心一言 VS 讯飞星火 VS chatgpt (208)-- 算法导论15.4 5题

福大大架构师每日一题

福大大架构师每日一题

HashData的湖仓一体思考:Iceberg、Hudi特性讲解与支持方案

酷克数据HashData

什么是云游戏?云游戏平台可以运行3A游戏吗?

Ogcloud

游戏 云游戏 3A游戏 3A云游戏

Python 服务实现可观测性最佳实践

观测云

Python 可观测性

淘宝商品详情数据接口用于ERP选品

tbapi

淘宝商品详情数据接口 淘宝API接口 淘宝商品数据采集 淘宝数据ERP

BSC链DAPP质押合约代币系统开发

l8l259l3365

结构化思维助力Prompt创作:专业化技术讲解和实践案例

快乐非自愿限量之名

技巧 项目开发 结构化 技巧分享

选择适合舞台的LED租赁显示屏指南

Dylan

融资租赁 婚礼策划PPT LED显示屏 led显示屏厂家 舞台表演

CheckBook Pro for mac(优秀的个人理财管理软件) v2.7.28注册版

iMac小白

低代码与AIGC技术:重塑软件开发的新篇章

EquatorCoco

低代码 AIGC 低代码人工智能

低代码与数字经济:推动软件开发创新的新引擎

不在线第一只蜗牛

软件开发 低代码 数字经济

【前端早早聊直播回顾】Harmony 的跨端方案

Geek_2305a8

打通易快报与金蝶K3Wise,实现采购流程高效协同!

聚道云软件连接器

案例分享

谈谈鸿蒙 Harmony 的跨端技术方案

Onegun

鸿蒙 HarmonyOS

VMware Fusion Pro 13 for Mac VM虚拟机 v13.5.1中文激活版

iMac小白

为什么要用云手机进行国外社媒监控?

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

赢在起跑线:商品企划系统为鞋服品牌带来的竞争优势解析

第七在线

一次性搞定多任务!Python自动化复用浏览器技巧大揭秘

测吧(北京)科技有限公司

测试

真香定律!我用这种模式重构了第三方登录

EquatorCoco

Python 重构 第三方登录 项目开发

境外社交数据采集遇到的问题及云手机解决方案

Ogcloud

数据采集 云手机 海外云手机 云手机海外版 国外云手机

你所不知道的端口耗尽(三)

快乐非自愿限量之名

Python 后端 端口 开发语言

BSC链DAPP质押合约代币系统开发|详情需求|指南方案

西安链酷科技

DAPP系统开发

解密Spring中的Bean实例化:推断构造方法(上)

不在线第一只蜗牛

Java spring 源码 bean

iPaas数据传输的方式

RestCloud

API ETL ipaas 数据传输方式

淘宝详情数据API接口,API接口汇总

Anzexi58

API 文档

阿里巴巴淘口令API推动电商行业社交化营销创新

技术冰糖葫芦

API 接口

Pygame游戏开发:一次编写,多平台运行

技术冰糖葫芦

API 接口

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