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,以生成后续文本或操作令牌。
数据收集过程
提出了一个大规模多感官数据集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的提示还包括一些偏好,和少样本示例:
- 挑选一些外观相似的对象。比如,选两个外形相似的瓶子,其中一个是塑料的,另一个是金属的。这样,就需要通过不同的传感器收集信息来消除歧义。
- 挑选那些与环境匹配、并可以组合使用完成任务的对象。例如,在厨房环境中,可以选择食材和烹饪工具。
获取新物体的传感器数据
-
触觉:对于触觉数据的收集,研究人员采用了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括起来。
动作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维的温度特征数据。然后再使用一个温度映射器(即一个处理层)来将这些数据转换成大语言模型的特征格式。
训练与推理
模型架构
在此,研究人员使用了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通过单独与不同感官数据进行交互和推理,可以将不同感官特征相互联系。
工具使用
在工具使用测试中,那些基于绑定(binding-based)的方法在工具使用这一任务上表现极差。原因可能在于这些方法将物体的多种感官信息,作为不可分割的整体进行处理,导致它们无法从整体中区分出单独的感官特征,比如物质材料。因此,就更别提去推断这些特性是如何成为工具使用的依据,以及如何在多种感官信息融合后分析和理解物体的实际功能了。
多感官标注
从下表可以明显看出,整体而言,基于3D的大模型的性能,超越了基于2D VLM。LLaVA和3D-LLM采用了全面的数据表示作为输入,这导致它们无法与那些可以灵活切换不同数据表示、进行互动的模型相匹敌。MultiPLY的表现比Pointbind-LLM更加出色,这很可能是因为PointBind把不同感官模态的数据表示绑定在一起,这样做难以区分和解析各个感官信息。
任务分解
在任务分解上,那些缺乏交互功能的模型表现极差,这很可能是由于VLM极易出现错误的幻觉。例如,即使场景中并无面包,模型也可能错误地生成「找到一块面包」的指令。MultiPLY在性能上大幅领先于基线模型,是因为MultiPLY综合考虑了多种感官信息,而其他模型仅仅依赖视觉信息。另一个原因可能在于,基线模型仅以整个场景作为输入,无法精确地关注到场景中的具体细节。
定性实验
下图直观展现了MultiPLY在具体环境中与物体互动并获取多种感官信息的强大能力。