AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

评论

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

LLaMA快速上手指南

Baihai IDP

人工智能 自然语言处理 AI ChatGPT 白海科技

GreatSQL 8.0.25-17今日发布

GreatSQL

greatsql greatsql社区

火山引擎DataTester:一个A/B测试,将一款游戏的核心收益提升了8%

字节跳动数据平台

大数据 游戏 AB testing实战 企业号 3 月 PK 榜

如何科学管理技术团队的研发交付速率?

LigaAI

DevOps 研发效能 技术管理 效能度量 企业号 3 月 PK 榜

限时促销,火山引擎ByteHouse为企业带来一波数智升级福利!

字节跳动数据平台

数据仓库 云原生 促销 特惠 企业号 3 月 PK 榜

基于Redis、Netty、Websocket实现红包雨活动

做梦都在改BUG

知识蒸馏、轻量化模型架构、剪枝…几种深度学习模型压缩方法

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

全面图像编辑:ON1 Photo RAW 2023激活版

真大的脸盆

Mac 图像处理 Mac 软件 图像编辑 raw

这款 IDEA 插件太好用了,堪称日志管理神器!

程序知音

GrowingIO企业级产品能力:四大需求,充分满足

极客天地

LED显示屏闪烁原因及解决办法

Dylan

LED灯闪烁 LED显示屏 全彩LED显示屏

ios系统修复软件:Fix My iPhone 激活版

真大的脸盆

ios Mac 系统修复 Mac 软件

Amazon Global Accelerator 的新增功能 — 互联网协议版本 6(IPv6)支持

亚马逊云科技 (Amazon Web Services)

互联网 亚马逊云科技

【值得收藏】9种让你受益终身的数据分析思维

博文视点Broadview

别再硬面了!这份Java面试通关手册才是你急需的

做梦都在改BUG

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

详解AQS的7个同步组件

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 3 月 PK 榜

5个高并发导致数仓资源类报错分析

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

从零打造你的前端开发脚手架

南城FE

前端 js 前端工程化 脚手架

聚焦企业数据生命周期全链路 火山引擎数智平台VeDI发布《数据智能知识图谱》

字节跳动数据平台

大数据 字节跳动 云服务 数据产品 企业号 3 月 PK 榜

爆款歌曲的养成背后,是哪些因素在推动?

曲多多(嗨翻屋)版权音乐

娱乐 音乐 娱乐社交 热门 华语音乐

基于 Flink 流计算实现的股票交易实时资产应用

Apache Flink

大数据 flink 实时计算

架构实战营模块八作业

程序员小张

「架构实战营」

“一键飞桨”,轻松实现飞桨框架和套件的下载安装!

飞桨PaddlePaddle

框架 飞桨

对比分析数仓中行列存的特性

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

供电电源的电磁兼容设计方法?5大要点快速收藏

华秋PCB

电磁 电路 兼容 电源 供电电源

社交软件的月活利器:从UGC到互娱

曲多多(嗨翻屋)版权音乐

互联网 软件 社交 科技 社交媒体

Matlab常用图像处理命令108例(三)

timerring

图像处理

爱了!不愧是GitHub上标星115K的Java教程,全程干货,只讲重点

做梦都在改BUG

Java

巧用预测,多触点促业务可持续增长

HarmonyOS SDK

HMS Core

Databend query result cache 设计与实现

Databend

早有尔闻 | 海尔智家牵头IEEE智能家居语音国际标准

Openlab_cosmoplat

工业互联网 开源社区 智慧生活

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