万事通,专精部分领域的多功能 Transformer 智能体

news2024/11/24 2:44:02

介绍

我们很高兴分享“万事通”(Jack of All Trades,简称 JAT) 项目,该项目旨在朝着通用智能体的方向发展。该项目最初是作为对 Gato (Reed 等,2022 年) 工作的公开复现启动的,Gato 提出训练一种能够执行视觉与语言以及决策任务的 Transformer。于是我们首先构建了 Gato 数据集的开放版本。随后,我们在此基础上训练了多模态 Transformer 模型,并针对处理顺序数据和连续值引入了若干改进。

  • Gatohttps://hf.co/papers/2205.06175

总体而言,该项目取得了以下成果:

  • 发布了大量在各种任务上表现优异的 专家 RL 智能体

  • 发布了 JAT 数据集,这是第一个用于通用智能体训练的数据集。它包含了由专家智能体收集的数十万条专家轨迹。

  • 发布了 JAT 模型,这是一种基于 Transformer 的智能体,能够玩电子游戏、控制机器人执行各种任务、理解并在简单的导航环境中执行命令等!

c3726b9bb704a22c5d2dc43413c52c3c.gif

数据集和专家策略

专家策略

传统的强化学习 (RL) 涉及在单一环境中训练策略。利用这些专家策略是构建多功能智能体的有效方法。我们选择了各种性质和难度不同的环境,包括 Atari、BabyAI、Meta-World 和 MuJoCo。在每个环境中,我们训练一个智能体,直到它达到最先进的性能水平。(对于 BabyAI,我们使用的是 BabyAI bot)。这些训练结果被称为专家智能体,并已在🤗 Hub 上发布。您可以在 JAT 数据集卡 中找到所有智能体的列表。

  • BabyAI bothttps://github.com/mila-iqia/babyai

  • JAT 数据集卡https://hf.co/datasets/jat-project/jat-dataset

JAT 数据集

我们发布了 JAT 数据集,这是第一个用于通用智能体训练的数据集。JAT 数据集包含由上述专家智能体收集的数十万条专家轨迹。要使用此数据集,只需像从🤗 Hub 加载任何其他数据集一样加载它:

  • JAT 数据集https://hf.co/datasets/jat-project/jat-dataset

>>> from datasets import load_dataset
>>> dataset = load_dataset("jat-project/jat-dataset", "metaworld-assembly")
>>> first_episode = dataset["train"][0]
>>> first_episode.keys()
dict_keys(['continuous_observations', 'continuous_actions', 'rewards'])
>>> len(first_episode["rewards"])
500
>>> first_episode["continuous_actions"][0]
[6.459120273590088, 2.2422609329223633, -5.914587020874023, -19.799840927124023]

除了强化学习 (RL) 数据,我们还包含了文本数据集,以为用户提供独特的界面。因此,您还会发现 Wikipedia、Oscar、OK-VQA 和 Conceptual-Captions 的子集。

  • Wikipediahttps://hf.co/datasets/wikipedia

  • Oscarhttps://hf.co/datasets/oscar

  • OK-VQAhttps://okvqa.allenai.org/

  • Conceptual-Captionshttps://hf.co/datasets/conceptual_captions

JAT 智能体架构

JAT 的架构基于 Transformer,使用了 EleutherAI 的 GPT-Neo 实现。JAT 的特别之处在于其嵌入机制,该机制专门用于内在地处理顺序决策任务。我们将观测嵌入与动作嵌入交错排列,并结合相应的奖励。

  • EleutherAI 的 GPT-Neo 实现https://hf.co/docs/transformers/model_doc/gpt_neo

outside_default.png  
JAT 网络的架构。在顺序决策任务中,一方面将观测和奖励编码,另一方面将动作编码并交错排列。模型使用因果掩码自回归地生成下一个嵌入,并根据预期的模态进行解码。

每个嵌入因此对应于一个观测 (与奖励相关联) 或一个动作。那么 JAT 是如何编码这些信息的呢?这取决于数据的类型。如果数据 (观测或动作) 是图像 (如在 Atari 中的情况),那么 JAT 使用 CNN。如果是连续向量,则 JAT 使用线性层。最后,如果是离散值,JAT 使用线性投影层。同样的原理也用于模型输出,具体取决于要预测的数据类型。预测是因果的,将观测值移位一个时间步长。通过这种方式,智能体必须根据所有先前的观测和动作来预测下一个动作。

此外,我们认为让我们的智能体执行 NLP 和 CV 任务会很有趣。为此,我们还让编码器可以选择将文本和图像数据作为输入。对于文本数据,我们使用 GPT-2 的标记化策略,对于图像,我们使用 ViT 类型的编码器。

  • ViThttps://hf.co/docs/transformers/model_doc/vit

考虑到数据的模态可能因环境而异,JAT 如何计算损失呢?它分别计算每种模态的损失。对于图像和连续值,它使用 MSE 损失。对于离散值,它使用交叉熵损失。最终损失是序列中每个元素损失的平均值。等等,这是否意味着我们对预测动作和观测赋予了相等的权重?实际上并不是这样,但我们将在 下文 中详细讨论。

  • 下文https://chatgpt.com/g/g-5bNPpaVZy-translate-gpt/c/1b2d0139-5625-418c-9bbe-1fb201b4084d#the-surprising-benefits-of-predicting-observations

实验与结果

我们在所有 157 个训练任务上评估 JAT。我们收集了 10 个回合的数据并记录总奖励。为了便于阅读,我们按领域汇总结果。

outside_default.png  
每个 RL 领域的汇总专家标准化得分及其 95%置信区间 (CI),作为学习步数的函数。

如果要用一个数字来总结这些结果,那就是 65.8%,这是在 4 个领域中相对于 JAT 专家的平均表现。这表明 JAT 能够在各种任务中模仿专家的表现。让我们更详细地看看:

  • 对于 Atari 57,智能体达到了专家得分的 14.1%,相当于人类表现的 37.6%。在 21 个游戏中超过了人类表现。

  • 对于 BabyAI,智能体达到了专家得分的 99.0%,仅在 1 个任务上未能超过专家得分的 50%。

  • 对于 Meta-World,智能体达到了专家得分的 65.5%。

  • 对于 MuJoCo,智能体达到了专家得分的 84.8%。

outside_default.png  
JAT 智能体在 Atari 57 基准测试中的人类标准化得分。

最令人印象深刻的是,JAT 在所有领域中使用 单一网络 实现了这一性能。为了衡量这一性能,让我们来看看 JAT 在一些任务中的渲染效果:

57335957de8aed18b3569b60909c6458.gif  

想试试吗?你可以的!JAT 模型 已在 🤗 Hub 上提供!

  • JAT 模型https://hf.co/jat-project/jat

我们的模型显示了初步的文本任务处理能力,详情请参阅 论文。

  • 论文链接https://hf.co/papers/2402.09844

预测观测值的惊人好处

在训练 RL 智能体时,主要目标是最大化未来奖励。但是,如果我们还要求智能体预测它将来会观测到的内容,这个额外的任务会帮助还是妨碍学习过程呢?

对于这个问题有两种对立的观点。一方面,学习预测观测值可以提供对环境更深入的理解,从而导致更好更快的学习。另一方面,这可能会使智能体偏离其主要目标,导致在观测和动作预测方面的表现平平。

为了解决这一争论,我们进行了一个实验,使用了一个结合观测损失和动作损失的损失函数,并用一个加权参数 来平衡这两个目标。

outside_default.png  
对于所选任务的观测预测学习影响研究的汇总度量及 95%置信区间 (CI)。结果覆盖所选的 值范围,并基于每个任务 100 次评估。选择最佳的 值可以显著提高智能体的性能。

结果非常显著。当 值过高 (0.5) 时,预测观测的额外目标似乎阻碍了学习过程。但是,当 值较低时,对学习的影响可以忽略不计,智能体的表现与不将预测观测作为目标时相似。

然而,我们发现 左右是一个最佳点,此时学习预测观测实际上提高了智能体的学习效率。我们的研究表明,只要平衡得当,将预测观测添加到学习过程中是有益的。这一发现对这类智能体的设计有重要意义,强调了辅助目标在提高学习效率方面的潜在价值。

所以,下次训练 RL 智能体时,可以考虑让它预测将来会观测到的内容。这可能会带来更好的表现和更快的学习速度!

结论

在这项工作中,我们介绍了 JAT,一个能够掌握各种顺序决策任务并在 NLP 和 CV 任务中表现出初步能力的多用途 Transformer 智能体。对于所有这些任务,JAT 都使用单一网络。我们的贡献包括发布专家级 RL 智能体、JAT 数据集和 JAT 模型。我们希望这项工作能够激发未来在通用智能体领域的研究,并有助于开发更多功能和更强大的 AI 系统。

下一步是什么?研究请求

我们相信,JAT 项目为通用智能体领域的研究开辟了新的方向,而我们只是刚刚开始。以下是一些未来工作的想法:

  • 改进数据: 尽管具有开创性,JAT 数据集仍处于初期阶段。专家轨迹仅来自每个环境中的一个专家智能体,这可能会导致一些偏差。尽管我们尽力达到了最先进的性能,但有些环境仍然具有挑战性。我们相信,收集更多的数据和训练更多的专家智能体将会 大有帮助

  • 使用离线 RL: JAT 智能体是使用基本的行为克隆训练的。这意味着两件事: (1) 我们无法利用次优轨迹,(2) JAT 智能体不能超过专家的表现。我们选择这种方法是为了简单,但我们相信使用离线 RL 可以 大大提高 智能体的性能,同时实现起来也不会太复杂。

  • 释放更聪明的多任务采样策略的全部潜力: 目前,JAT 智能体从所有任务中均匀采样数据,但这种方法可能会限制其表现。通过动态调整采样率以集中于最具挑战性的任务,我们可以加速智能体的学习过程并释放 显著的性能提升

相关链接

  • 📄 论文

  • 💻 源码

  • 🗂️ JAT 数据集

  • 🤖 JAT 模型

引文

@article{gallouedec2024jack,
    title = {{Jack of All Trades, Master of Some, a Multi-Purpose Transformer Agent}},
    author = {Gallouédec, Quentin and Beeching, Edward and Romac, Clément and Dellandréa, Emmanuel},
    journal = {arXiv preprint arXiv:2402.09844},
    year = {2024},
    url = {https://arxiv.org/abs/2402.09844}
}

英文原文: https://hf.co/blog/jat

原文作者: Quentin Gallouédec, Edward Beeching, Clément ROMAC, Thomas Wolf

译者: xiaodouzi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员学CFA——经济学

经济学 需求和供给分析消费者需求分析需求的相关概念需求需求定律需求函数需求曲线消费者剩余 需求弹性需求的自身价格弹性需求的交叉价格弹性需求的收入弹性 替代效应与收入效应替代效应收入效应替代效应和收入效应的综合作用 需求定律的例外 生产商供给分析供给分析的基本概念…

UniGen:用于生成自动驾驶场景的初始智体状态和轨迹的统一建模

24年5月谷歌WayMo论文“UniGen: Unified Modeling of Initial Agent States and Trajectories for Generating Autonomous Driving Scenarios”。 本文介绍 UniGen,一种生成交通场景的新方法,用于通过仿真评估和改进自动驾驶软件。 其方法在一个统一的模…

RabbitMq出现Not management user问题解决

在RabbitMq登录的时候突然弹出如下图: 提示“当前用户不是管理员用户”进入mq控制命令台下: windows版本在mq安装路径下的sbin下进入cmd弹出框; Linux版本没有测试; 输入以下命令: rabbitmqctl list_users 查询当…

python:__new__和__init__

python:__new__和__init__ 1 前言 在Python中,每个对象都有两个特殊的方法:__new__和__init__。这两个方法在对象的创建和初始化过程中起着重要的作用,但它们的功能和用法有所不同。 1.1 功能上的区别 __new__方法是Python中的…

【管理咨询宝藏101】普华永道并购尽调内部培训

【管理咨询宝藏101】普华永道并购尽调内部培训 【格式】PDF版本 【关键词】普华永道、兼并收购、尽职调查 【核心观点】 - 尽职调查的目的,发现潜在的致命缺陷,判断是否继续交易进程;发现潜在的问题,制定交易前后相应的应对措施。…

换个暴露又发一区(IF=10.1)!双样本孟德尔随机化+脂质组学发了高分

孟德尔随机化的热度一直很高,不少想发文的对此肯定又爱又恨。今天我们看的这篇文章就仅用了双样本孟德尔随机化的方法,看似显而易见的关系,竟然结合了脂质组学,立马升华,发表一区(IF10.1)&#…

ARIMA预测模型介绍

ARIMA(Autoregressive Integrated Moving Average)模型是一种常用的时间序列分析方法,能够对非平稳时间序列进行建模和预测。本文将详细介绍ARIMA模型的建模步骤,包括数据预处理、模型识别、参数估计和模型检验等环节,…

`unordered_map` 和 `unordered_set`

unordered —— 无序的,从表面上来看,与 map 和 set 不同之处就在于,unordered_map 和 unordered_set 无法保证插入数据是有序的; 尽管如此,由于这两种容器内部封装了“哈希桶”,可以实现快速查找数据 ——…

白话机器学习5:卷积神经网络(CNN)原理

1.神经元 激活函数f(z)的种类: 2.卷积方法种类 https://mp.weixin.qq.com/s/FXzTbMG64jr93Re31Db2EA 标准卷积(Standard Convolution): 特点:每个卷积核在输入数据的整个深度上滑动,计算输出特征图的一个元素。应用场…

STM32有什么高速接口吗?

STM32 有一些高速接口,比如 USART、SPI、I2C 等,这些接口可以用于与外部设备进行高速数据传输。我这里有一套stm32入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习stm32,不妨点个关注,给个评论…

JavaSE——集合框架一(2/7)-Collection集合的遍历方式-迭代器、增强for循环、Lambda、案例

目录 Collection的遍历方式 迭代器 增强for循环(foreach) Lambda表达式遍历集合 案例 需求与分析 代码部分 运行结果 Collection的遍历方式 迭代器 选代器是用来遍历集合的专用方式(数组没有选代器),在Java中…

【爬虫之scrapy框架——尚硅谷(学习笔记one)--基本步骤和原理+爬取当当网(基本步骤)】

爬虫之scrapy框架——基本原理和步骤爬取当当网(基本步骤) 下载scrapy框架创建项目(项目文件夹不能使用数字开头,不能包含汉字)创建爬虫文件(1)第一步:先进入到spiders文件中&#x…

LabVIEW开发RS422通信

LabVIEW开发RS422通信 项目围绕LabVIEW软件开发的程序在RS422通信技术检测方面的应用进行展开,通过软件编程将上位计算机虚拟化为检测设备,控制其通信端口与被测产品进行RS422通信,以此检验产品的性能优劣。该虚拟检测仪器在实际测试中表现出…

C++17新特性 结构化绑定

一、Python中的相似功能 熟悉python的应该对下面的代码很熟悉 def return_multiple_values():return 11, 7x, y return_multiple_values()函数返回一个元组,元组自动分配给了x和y。 二、C11中的元组 c11中就存在类似python元组的概念了: std::tupl…

【简单介绍下Milvus】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

CV每日论文--2024.5.10

1、Attention-Driven Training-Free Efficiency Enhancement of Diffusion Models 中文标题:扩散模型的注意力驱动的训练免费效率增强 简介:扩散模型在生成高质量和多样化图像方面取得了出色的表现,但其卓越性能是以昂贵的架构设计为代价的,特别是广泛使…

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO 在之前的工作中有接触过LOAM,最近在工作中又接触到Faster LIO相关的工作,于是想着对Fast LIO / Fast LIO2 / Faster LIO这一系列工作进行一个简单的总结,以加深自己对激光SLAM算法的理解…

网络网络层之(5)IPv6协议

网络网络层之(5)IPv6协议 Author: Once Day Date: 2024年5月12日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day…

未授权访问:Docker未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、通过crontab反弹宿主机shell 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验,一共有好多篇,内容主要是参考先知社区的一位大佬的关于未授权访问的好文章,还有其他大佬总结好…

【机器学习】机器学习与人工智能融合新篇章:自适应智能代理在多元化复杂环境中的创新应用与演进趋势

🔒文章目录: 💥1.引言 🚋1.1 机器学习与人工智能的发展背景 🚌1.2 自适应智能代理的概念与重要性 🚐1.3 研究目的与意义 ☔2.自适应智能代理的关键技术 🛣️2.1 环境感知与信息处理技术 …