大模型时代的具身智能系列专题(十一)

UMass Amherst 淦创团队

淦创是马萨诸塞大学阿默斯特分校的一名教员,也是麻省理工学院- ibm沃森人工智能实验室的研究经理。在麻省理工学院博士后期间,和Antonio Torralba教授、Daniela Rus教授和Josh Tenenbaum教授一起工作。在此之前,在清华大学以最高荣誉完成了博士学位,导师是姚期志教授。研究涉及计算机视觉、人工智能、认知科学和机器人技术的交叉领域。研究的首要目标是建立一个类似人类的自主代理,能够在物理世界中感知、推理和行动。作品获得了微软奖学金,百度奖学金,CNN, BBC,《纽约时报》,《连线》,《福布斯》和《麻省理工科技评论》的媒体报道。

主题相关作品

  • MultiPLY
  • ThreeDWorld
  • DiffuseBot

近期工作MultiPLY提出了一种多感官具身大模型,并给出数据收集过程,一作Yining Hong是加州大学洛杉矶分校计算机科学专业的博士生,导师是MIT-IBM Watson AI Lab的淦创教授,以及UCLA的Song-Chun Zhu教授和Ying Nian Wu教授。

MultiPLY

提出了一个多感官具身大语言模型MultiPLY,该模型可以将视觉、听觉、触觉和热信息等多感官交互数据整合到大语言模型中,从而建立单词、动作和感知之间的相关性。为此收集了Multisensory Universe,一个包含500k数据的大规模多感官交互数据集,通过部署一个llm驱动的具身代理来参与3D环境。为了在这些生成的数据上使用预训练的LLM执行指令调优,我们首先将3D场景编码为抽象的以对象为中心的表示,然后引入表示具身代理在环境中采取某些动作的动作tokens,以及表示代理在每个时间步的多感官状态观察的状态tokens。在推理时,MultiPLY可以生成动作tokens,指示智能体在环境中采取动作,并获得下一个多感官状态观察。然后通过状态tokens将观察结果追加回LLM,以生成后续文本或操作令牌。
fig1

数据收集过程

提出了一个大规模多感官数据集Multisensory-Universe,包含50万条由AI智能体在3D虚拟环境中交互时收集的数据。这些数据涵盖了多种任务类型,包括多感官描述(multisensory captioning)、问答(question answering)、对话(dialogue)、操作(manipulation)、任务分解(task decomposition)等等。

向3D场景中添加互动对象

具体来说,团队基于Habitat-Matterport 3D(HM3D)语义数据集对场景进行了构建。
HM3D数据集包含了216个三维空间及其内部的3,100个房间,但由于传感器数据不足和种类单一的问题,这些对象无法在Habitatsim环境中进行互动。为此,研究人员在场景中引入了新的对象,这样智能体就可以利用Habitatsim与它们进行交互了。

主要来源:

  • ObjectFolder,包含了1000个对象模型,这些对象的撞击声效被储存在隐式神经场中,并且还标注了对象的材质;
  • Objaverse,是一个涵盖了丰富类别的800,000个三维对象的集合。

具体来说,研究人员让ChatGPT从ObjectFolder和Objaverse中选择1到10个新对象,并为这些新加入的对象生成合适的边界框。期间,ChatGPT需要确定对象的材质类别(比如,陶瓷、塑料、钢铁)和特性(比如,可变形性、弹性、硬度),以及温度标签(比如,物体是热的、冷的,还是和室温一样)。

除了HM3D中现有的对象及其边界框外,研究人员给ChatGPT的提示还包括一些偏好,和少样本示例:

  • 挑选一些外观相似的对象。比如,选两个外形相似的瓶子,其中一个是塑料的,另一个是金属的。这样,就需要通过不同的传感器收集信息来消除歧义。
  • 挑选那些与环境匹配、并可以组合使用完成任务的对象。例如,在厨房环境中,可以选择食材和烹饪工具。
    fig2

获取新物体的传感器数据

  • 触觉:对于触觉数据的收集,研究人员采用了DiffTactile技术,它基于MLSMPM方法来模拟刚体、弹性和弹塑性的物体。把物体的三维模型放入DiffTactile系统中,然后用一个装有定位标记的抓手在事先设定好的位置触碰这些物体。触觉传感器记录下标记点的起始和结束位置,从而反映气泡被压缩的程度。

  • 环境声音:为了帮助导航或推理,每个物体都可以发出环境声音,或者作为线索,让AI智能体了解周围环境中正在发生的事情。引导ChatGPT根据AudioSet中的声音样本与新添加物体的语义标签进行匹配。根据AudioSet提供的声音描述,ChatGPT需要从候选物体列表中挑选出那些可能发出这种声音的物体。

  • 撞击声音:撞击声音是指敲击或撞击物体时所听到的声音,这对于识别物体的材料类型非常关键。通过在ObjectFolder中查询物体的隐式声音场,再给定敲击位置和施加的力,就可以获撞击声音了。

  • 温度:针对每个物体的温度标签,需要让ChatGPT给出它们各自合适的温度。

智能体采集场景构建数据

研究人员通过大语言模型驱动的智能体,来收集场景构建中的所需数据。

首先,给ChatGPT设置任务,并让它给出任务建议。接着,将一个能够在3D环境中与物体进行互动的智能体放入其中,执行任务并收集交互数据。

  • 生成任务建议:在给出需要执行的动作清单后,ChatGPT便会生成特定的任务,并产生一系列代表动作的词语,以及基于物体实际反馈标签推导出的语言推理结果。由于ChatGPT能够访问所有的材料和温度标签,因此它能在「触摸」动作之后生成类似「感觉很冷」的句子。

  • 互动数据的收集:智能体首先会随机地探索环境,并收集初始的RGBD环境数据。在确定了动作之后,智能体就会去与环境中的物体进行互动,并获取感官反馈。例如,当动作是「触摸物体」时,智能体会反馈该物体的触觉和温度信息。

MultiPLY架构

以目标为中心的场景表征

LLM首先将智能体探索的3D环境特征作为输入,以便对场景有初步理解。研究人员按照3D-LLM研究路线,利用2D特征来构建3D场景特征。这样视觉特征就可以无缝地输入到预训练的视觉语言模型中,且无需适应。然而,3D-LLM的点云编码让LLM很难一次处理数千个点。
当人类探索3D环境时,会将场景抽象表示,并粗略地形成对象及其位置的理解,无需记住所有细节。同样,本方法使用以目标为中心的抽象表示来表示3D场景。通过概念图和CLIP编码器来编码图像中的物体,然后通过多视角关联,将2D图像编码融合到3D空间中。

研究人员还将位置嵌入添加到物体的视觉特征中,最终得到 O × 1024 O \times 1024 O×1024的特征,作为抽象的以目标为中心的场景表示,其中 O O O表示目标数量。
如果3D环境中的物体带有环境声音,研究人员会使用CLAP音频编码器对声音进行编码,并得到1024维的特征。以目标为中心的场景表示和环境声音表示作为LLM的初始输入,由 、 和 、</AMBIENT SOUND> 等token括起来。

fig3

动作token

研究人员设计了一组动作token来表示智能体与环境的交互:

  • <SELECT> token选择要与之交互的object。通过语言特征(即<SELECT> token的LLM的最后隐藏状态)和环境中object的CLIP视觉特征之间的attention来选择object。它会选择有最大注意力分数的object。
  • <NAVIGATE> token要求智能体导航到选定的object。
  • <OBSERVE> token要求智能体仔细检查所选object并获取object详细信息(以object详细点云的形式)。
  • <TOUCH> token允许智能体触摸所选的物体,获取触觉和温度信息。
  • <HIT> token允许智能体击中所选物体,得到撞击声音。
  • <PICK-UP>和<PUT-DOWN> token让智能体能够拾取或放下选定的object。
  • <LOOK-AROUND> token让智能体转头并获取附近的物体。

状态token

研究人员还设计了另一种token,将交互结果反馈给LLM:

  • <OBJECT>:当AI智能体<OBSERVE>到一个物体时,它会记录物体的点信息。得到从2D CLIP特征聚合而来的3D特征后,再加入位置信息来进行增强。随后创建了一个由N个点组成的点云,每个点都有1024维的特征数据,其中N是点的总数。
  • <IMPACT SOUND>:当AI智能体<HIT>一个物体时,它会记录产生的撞击声。利用CLAP音频编码器处理这些声音,即可得到一个1024维的撞击声音数据。然后使用一个声音映射器(即一个线性层)将声音数据转换成LLM可以处理的格式。
  • <TACTILE>:当一个物体被AI智能体<TOUCH>时,它会记录下触觉信息。先将触觉感应转化为热图,并使用CLIP来处理。通过对这些热图区块进行平均值处理,就得到了一个1024维的温度特征数据。然后使用一个触觉映射器(即一个线性层)来将这些数据转换成大语言模型的特征格式。
  • <TEMPERATURE> :在记录温度时,会先将温度数据转化为热图,并使用CLIP来处理。通过对热图区块进行平均值处理,就获得了一个1024维的温度特征数据。然后再使用一个温度映射器(即一个处理层)来将这些数据转换成大语言模型的特征格式。
    fig11

训练与推理

模型架构
在此,研究人员使用了LLaVA作为多模态大模型骨干。由于研究中的视觉特征已使用ConceptGraphs与LLaVA对齐到相同的嵌入空间,因此可以直接使用LLaVA的视觉到语言projector,而无需对视觉语言数据进行预训练。
对于其他传感器模式,研究人员利用轻量级适配器,它是单线层projector,将传感器特征映射到LLaVA的文本token嵌入空间中。

模态对齐
如上所述,触觉、声音和温度表示与语言特征不一致。
在第一阶段,研究人员训练传感器到语言适配器以进行多感官特征对齐。对于音频语言对齐,使用了AudioSet和AudioCaps。对于撞击声、触觉和热数据,研究团队使用ChatGPT生成一个句子标题,描述材料以及每种传感器模态和语言之间的一致性。然后冻结图像编码器和LLM的权重,以加快收敛速度并保持语言推理能力。

使用Multisensory Universe数据集指令微调
在第二阶段,研究人员使用Multisensory Universe数据集对LLaVA进行调优。其中训练损失由两部分组成,第一个是LLM损失,与原始LLaVA模型相同。然后又添加了一项损失,迫使模型选择正确的object来关注。
具体来说,研究人员计算SELECT token的LLM最后一个隐藏状态,与每个抽象对象特征之间的注意力。该特征通过Sigmoid层,并通过二元交叉熵(BCE)损失进行优化。在这一阶段的训练中,解冻整个模型。研究人员在128个V100 GPU上使用FSDP进行了高效训练。

推理
在推理时,MultiPLY首先将任务提示和抽象场景表示作为输入,并生成后续token。一旦生成了动作token,就会指示智能体采取Habitat-sim中的动作并与环境交互。智能体的观察结果通过状态token作为输入反馈给LLM。LLM进一步根据当前状态输入生成下一个token。

实验

微调模型在多感官数据集上进行训练之后,又在模拟环境中对其进行了测试。在这些测试中,AI智能体能够根据MultiPLY生成的动作Token与模拟环境进行互动。接着,LLM将等待智能体完成动作,并通过状态Token接收智能体的观察结果,以此来生成下一个Token。具体来说,研究人员设计了4种实验场景:object检索、工具使用、多感官标注和任务分解,并为每个场景提供了详细的任务说明、基准测试和分析。

object检索

在object检索的实验中,研究人员得出了几个有趣的结论。
首先,能够处理多种感官信息的模型,远远优于只能处理单一信息类型的模型。CLIP和CLAP,以及那些依赖初始视觉特征的模型,在物品检索任务中的表现很差。这更加凸显了结合多种感官信息的模型,相较于仅依赖2D图像模型的重要性。这主要是因为,单一视角的图片有时候无法提供充分的信息来识别物体,尤其是当视角不一致或者物体被遮挡时。其次,LLM在性能上超越了基于相似度检索的模型。这可能是因为后者将多感官的信息简单地融合在一起,而没有区分各种感官信息。
总体而言,MultiPLY在很多方面都显著优于基准模型。可能是因为其它模型将所有信息都与视觉信息绑定,而忽视了一个视觉特征可能与来自其他感官的多个特征相关联的事实。而MultiPLY通过单独与不同感官数据进行交互和推理,可以将不同感官特征相互联系。
tab1

工具使用

在工具使用测试中,那些基于绑定(binding-based)的方法在工具使用这一任务上表现极差。原因可能在于这些方法将物体的多种感官信息,作为不可分割的整体进行处理,导致它们无法从整体中区分出单独的感官特征,比如物质材料。因此,就更别提去推断这些特性是如何成为工具使用的依据,以及如何在多种感官信息融合后分析和理解物体的实际功能了。
tab2

多感官标注

从下表可以明显看出,整体而言,基于3D的大模型的性能,超越了基于2D VLM。LLaVA和3D-LLM采用了全面的数据表示作为输入,这导致它们无法与那些可以灵活切换不同数据表示、进行互动的模型相匹敌。MultiPLY的表现比Pointbind-LLM更加出色,这很可能是因为PointBind把不同感官模态的数据表示绑定在一起,这样做难以区分和解析各个感官信息。
tab3

任务分解

在任务分解上,那些缺乏交互功能的模型表现极差,这很可能是由于VLM极易出现错误的幻觉。例如,即使场景中并无面包,模型也可能错误地生成「找到一块面包」的指令。MultiPLY在性能上大幅领先于基线模型,是因为MultiPLY综合考虑了多种感官信息,而其他模型仅仅依赖视觉信息。另一个原因可能在于,基线模型仅以整个场景作为输入,无法精确地关注到场景中的具体细节。
tab4

定性实验

下图直观展现了MultiPLY在具体环境中与物体互动并获取多种感官信息的强大能力。
fig4

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

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

相关文章

Ai绘画工具Stable Diffusion,手把手教你训练你的专属Lora模型,神级教程建议收藏!

哈喽&#xff0c;大家好&#xff0c;我是设计师阿威。 今天给大家带来的是Stable Diffusion训练Lora的教程&#xff0c;希望对大家有帮助。 一、硬件要求 我们知道Stable Diffusion WebUI对显卡要求比较高&#xff0c;同样Lora训练对显卡要求更高&#xff0c;所以要想训练一…

【Endnote】如何在word界面加载Endnote

如何在word界面加载Endnote 方法1&#xff1a;方法2&#xff1a;从word入手方法3&#xff1a;从CWYW入手参考 已下载EndNote,但Word中没有显示EndNote&#xff0c;应如何加载显示呢&#xff1f; 方法1&#xff1a; 使用EndNote的Configure EndNote.exe 。 具体步骤为&#x…

通过异步请求上传文件到七牛云

一、准备工作 创建账号、创建空间这种大家自己研究就行(有手就行) 只需要根据步骤查找对应文档 从服务端获取七牛云上传的token,生成token参考官方文档 在七牛云文档查找上传的存储区域 在七牛云控制台找到空间管理的cdn加速域名 二、后台token获取 基于准备工作1中&…

将 KNX 接入 Home Assistant 之三 功能配置

万事俱备只欠东风&#xff0c;不管是ETS还是HA都需要配置才能使用。还是期待以后发展到可以开箱即用。 KNXD的配置 在 《将 KNX 接入 Home Assistant 之二 准备软件》&#xff0c;我们已经装好了KNXD的插件&#xff0c;现在就需要进行配置了 配置的界面 注意图中加框的选择&…

UI 自动化测试(Selenuim + Java )

关于 UI 自动化测试工具 selenuim Java 的环境搭建推荐看SeleniumJava 环境搭建 什么是自动化测试&#xff1f; 自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或者系统&#xff0c;预设条件包括正常和异常&#xff0c;最后评估运行结果。将人为驱动的测…

分享两种论文降重最有效的方法(论文降重网站)

论文降重最有效的方法可以分为手动方法和使用降重网站两种方法。以下是详细的分析和归纳&#xff1a; 手动方法 删减冗余内容&#xff1a;对于论文中的某些内容&#xff0c;特别是信息冗余或不必要的描述&#xff0c;可以通过删减和简化来减少篇幅。确保每一段落和每一个例子都…

[FreeRTOS 基础知识] 栈

文章目录 栈的概念使用C语言实现 栈通过代码反汇编解析 栈 栈的概念 所谓的栈就是一块空间的内存&#xff0c;CPU的SP寄存器指向它&#xff0c;它可以用于函数调用&#xff0c;局部变量&#xff0c;多任务系统里保存现场。 使用C语言实现 栈 volatile int num0;int fun_b(vol…

i.MX8MP平台开发分享(RDC资源分配控制器篇)

1.spec RDC 配置信息被发送到结构端口、内存垫片、信号控制器和外设&#xff0c;以根据域分配控制访问。 结构使用与每个端口相关的域标识符&#xff0c;将此信息与总线事务一起包含在内。当从属加密垫圈遇到总线事务时&#xff0c;它会将事务域 ID 与 RDC 提供的允许域列表进…

串口通讯、RS485、232、SPI、I2C

串行通信与并行通信的比较 1.同步和异步 同步串口通信&#xff08;Synchronous Serial Communication&#xff09; 异步串口通信&#xff08;Asynchronous Serial Communication&#xff09; 比较 2.全双工&#xff0c;半双工&#xff0c;单工 全双工&#xff08;Full Du…

Midjourney绘画参数设置详解

在数字艺术和设计领域&#xff0c;Midjourney是一款强大的绘画工具&#xff0c;它允许艺术家和设计师以数字方式创作出精美的图像。为了充分发挥Midjourney的潜力&#xff0c;正确设置其绘画参数至关重要。本文将深入探讨Midjourney的绘画参数设置&#xff0c;帮助用户更好地掌…

第十五届蓝桥杯物联网试题(国赛)

好&#xff0c;很好&#xff0c;国赛直接来个阅读理解&#xff0c;我猛做4个小时40分钟&#xff0c;cpu都干冒烟了&#xff0c;也算是勉强做完吧&#xff0c;做的很仓促&#xff0c;没多检查就交了&#xff0c;方波不会&#xff0c;A板有个指示灯没做&#xff0c;其他应该都还凑…

使用EMQX搭建MQTT服务

简介&#xff1a;EMQX 是一款开源的大规模分布式 MQTT 消息服务器&#xff0c;功能丰富&#xff0c;专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条&#xff0c;单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息&#xff0c;同时保证毫秒…

内存动态管理

内存动态管理 1 .为什么要有动态内存分配 我们已经掌握的内存开辟⽅式有&#xff1a; int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的⽅式有两个特点&#xff1a; • 空间开辟⼤⼩是固定的。 • 数组在…

SQL Developer 小贴士:备份和恢复连接信息

问题与概念 有时候SQL Developer需要重装&#xff0c;能备份和恢复连接信息就比较重要。 SQL Developer提供连接的导出和导入功能。 导出连接 第一步&#xff1a;选择连接。 第2步&#xff1a;指定输出文件&#xff0c;例如sqldconns.json 第3步&#xff1a;因为连接中可…

netty LengthFieldBasedFrameDecoder 根据动态长度分包粘包

如下数据格式 在方法&#xff1a; // Integer.MAX_VALUE, // maxFrameLength: 最大允许的帧长度// 4, // lengthFieldOffset: 长度字段在帧中的偏移量&#xff0c;这里是在帧头之后// 4, // lengthFieldLength: 长度字段的长度&#xff0c;4字节表示32位整数// 0, // …

CentOS7配置国内清华源并安装docker-ce以及配置docker加速

说明 由于国内访问国外的网站包括docker网站&#xff0c;由于种种的原因经常打不开&#xff0c;或无法访问&#xff0c;所以替换成国内的软件源和国内镜像就是非常必要的了&#xff0c;这里整理了我安装配置的基本的步骤。 国内的软件源有很多&#xff0c;这里选择清华源作为…

2024下半年Meme币趋势分析

随着加密货币市场的不断演变&#xff0c;Meme币在过去几年中引起了广泛关注。虽然这些数字资产最初因其搞笑和讽刺的性质而受到欢迎&#xff0c;但它们在市场上的表现和投资潜力也逐渐被重视。2024年下半年&#xff0c;Meme币市场将迎来新的趋势和挑战。本篇文章将探讨Meme币的…

Leecode---技巧---颜色分类、下一个排列、寻找重复数

思路&#xff1a; 遍历一遍记录0,1,2的个数&#xff0c;然后再遍历一次&#xff0c;按照0,1,2的个数修改nums即可。 class Solution { public:void sortColors(vector<int>& nums){int n0 0, n1 0, n2 0;for(int x: nums){if(x0) n0;else if(x1) n1;else n2;}for…

大容量异步电机直接转矩(DTC)控制matlab仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; DTC简介 直接转矩控制的基本思想就是利用逆变器所产生的空间电压矢量来控制定子磁链的旋转速度&#xff0c;通过控制定子磁链的走停来改变定子磁链的平均旋转速度的大小&#xff0c;从而改变磁通角的大小进而…

若依前后端分离项目(一)环境搭建

一、代码下载 RuoYi-Vue: &#x1f389; 基于SpringBoot&#xff0c;Spring Security&#xff0c;JWT&#xff0c;Vue & Element 的前后端分离权限管理系统&#xff0c;同时提供了 Vue3 的版本 其中ruoyi-ui为前端项目 二、数据库 1、MySQL 创建数据库ry-vue并导入数据…