点击下方卡片,关注「集智书童」公众号
导读
大语言模型和开放词汇物体感知方法的出现,为家用服务机器人提供了更大的灵活性。通过为机器人提供任务描述和适当的环境信息,可以解决家用任务的多样性,而无需对每个任务进行单独实施。在本工作中,作者提出了LIAM——一个端到端模型,该模型基于语言、图像、动作和地图输入预测动作脚本。语言和图像输入使用CLIP Backbone 网络进行编码,为此作者设计了两个预训练任务以微调其权重并预对齐潜在空间。作者在ALFRED数据集上评估了LIAM,这是一个用于家用任务的模拟器生成的基准数据集。作者的结果表明,预对齐来自不同模态的嵌入空间的重要性以及融入语义地图的有效性。
1 引言
随着深度学习研究的快速演变,尤其是在自然语言领域,作者见证了大量基于Transformer的模型的出现,这些模型能够生成高质量的文本和合成图像[1],[2]。它们在开放式机器人应用方面具有巨大潜力,如家庭服务任务,但由于机器人涉及额外的模态,如图像和动作,因此不能直接应用。
2021年,OpenAI发布了基础模型CLIP,该模型采用对比学习范式将文本和图像连接起来[3]。通过对比相似和不同对的表示来学习文本和视觉输入。CLIP特征适用于开放词汇零样本图像分类。
许多机器人应用很快开始利用基于CLIP的模型来完成不同的开放词汇任务[4]。如OpenVLA[5]这样的视觉-语言-动作模型根据视觉输入预测下一个动作。基于语言指令和视觉输入预测整个动作转录序列模型的研究仍处于早期阶段。训练一个能够理解所有相关模态并具有强大泛化能力的模型具有挑战性,并且需要大量的数据。
在本工作中,作者引入了端到端模型LIAM,该模型接收来自语言、图像、动作和地图等模态的输入,并预测动作序列。作者设计了两种类似于CLIP的自监督训练范式,用于在预训练阶段预先对两个或更多不同的嵌入空间进行对齐,从而增强模型理解和处理多模态输入的能力。除了文本和视觉输入外,作者还直接利用语义地图作为额外的模态,其中地图模态被设计为模型的知识库。作者使用ALFRED挑战赛[6]评估LIAM,该挑战赛是一个基准任务,要求机器人能够在模拟环境中理解并执行复杂的自然语言指令。用于重现结果的代码和预训练模型已公开发布:https://github.com/AIS-Bonn/LIAM。
2 相关工作
开放词汇方法在计算机视觉领域受到了广泛关注。在过去十年中,大多数视觉下游任务都是通过具有固定类别数量的数据集进行训练的。CLIP模型,凭借其对比学习范式,为开放词汇视觉任务的推理提供了一种有希望的解决方案。通过使用独立的编码器对文本和图像进行嵌入后,CLIP通过最大化对应图像和文本对表示的相似度得分进行训练[3]。
大量工作基于CLIP模型针对不同的下游任务,例如目标检测[7]、[8]、语义分割[9]、[10]、动作预测[11]、[12]。这些方法设计了适应其特定视觉下游任务的相似方法。例如,GroupViT首先通过在ViT架构中引入可学习的组 Token 来实现基于组的语义分割([10])。在推理时间,每个组被分配与文本输入具有最高相似度分数的语义标签。
为了解决视觉-语言导航(VLN)和视觉-语言操作(VLM)任务,主要有两种方法。I. 端到端模型训练一个能够同时接受所有模态输入并预测当前动作的模型[6],[13]。例如,情景Transformer(E.T.)是一个端到端基于注意力的Transformer模型,包含三个模态特定编码器和一个是多模态融合编码器[13]。I1. 模块化方法提出了一系列学习模块,用于应对理解环境和任务挑战[14],[15]。FILM提出了一种语言处理模块,它使用预定义模板将任务描述转换为动作脚本。语义映射模块将自中心RGB图像处理成二维语义图。此外,语义搜索策略预测物体可能的位置分布。确定性策略被设计用来根据预测的动作脚本和预测的语义图来预测动作决策。
大多数用于VLM任务的端到端模型主要使用语言和图像作为输入。在本文中,作者同样遵循FILM方法生成语义图,并将其作为额外的模态输入。
3 主要方法
作者现在介绍LIAM模型,包括预训练阶段和动作生成。模型概述如图1所示。模型架构借鉴自Episodic Transformer[13],但将图像和文本编码器替换为CLIP编码器,并采用语义地图[15]。为了管理高昂的计算成本,作者在端到端模型训练期间冻结了CLIP Backbone 网络的权重和偏置,确保了高效的资源利用。
所有实验均使用ALFRED(从现实环境和指令中学习行动)[6]进行,这是一个用于学习映射任务的最新模拟器生成的基准,从视觉(以自我为中心的RGB图像)和自然语言输入到家用服务机器人的动作脚本。ALFRED的挑战提供了以下标注:模拟房间的初始状态、语言指令和专家演示轨迹。语言指令以全局指令的形式提供,例如,“拿起闹钟并打开灯。<<目标>>”以及一系列用于子目标指令的句子。标注由一系列离散动作组成,当涉及与物体的交互时,还包括物体的 Mask 。
3.1 对比对齐预训练
CLIP最初使用从互联网收集的数据进行训练,导致在零样本推理中存在偏差以及在不同数据集上的性能差异[3]。鉴于ALFRED数据集是由模拟器生成的,它与现实世界略有偏差。因此,进行一个预训练阶段以对齐图像和动作的潜在空间变得至关重要。
作者首先通过对比学习对CLIP图像编码器和动作嵌入进行了预对齐。该模型的学习目标是匹配正确的动作嵌入和图像嵌入对。与CLIP不同,CLIP中每张图像对应一个标签,而在作者的情况下,连续两张图像对应一个标签,表示一个动作。图2展示了某个迷你批次的一个真实示例。与原始CLIP形成N
N亲和矩阵(N表示批次大小)不同,LIAM统计每个迷你批次中出现的独特动作数量,并将所有发生的动作作为矩阵的列。每一行表示两个连续帧的表示。矩阵中的(i, j)项如果第i帧的表示对应于动作类别j,则其值为1。
在LIAM中,作者使用了
,一个一维卷积层以及全局平均池化,来计算两个连续图像的融合表示。作者使用一个嵌入层将所有14个类别(12个类别+2个特殊 Token )嵌入到768维的密集向量中。在获得两个帧的归一化表示
和动作类别
后,作者计算了两个向量的余弦相似度分数
,并按照CLIP的方法微调了CLIP主干网络。对于
,相似度矩阵
定义为:
作者用字母T、A和I分别表示文本、动作和图像。I2A表示“图像到动作”,所有后续提到的缩写(X2X)都遵循这种模式。函数
表示上述描述的连续两个图像在时间步
和
的融合函数。
是温度,一个可学习的参数,用于缩放相似度分数。遵循CLIP,作者将温度初始化为0.07,并在训练阶段使用100作为温度值的上限,以防止缩放因子过大[11],并使用0.01作为下限阈值,以防止除以零的错误。
遵循ActionCLIP [11]的方法,作者使用KL散度损失来微调CLIP主干网络。对比对齐预训练的总损失是图像到动作和动作到图像损失的均值:
表示真实相似度矩阵。
3.2 三重对比预训练
作者的对比学习预先对视觉和动作嵌入的潜在空间进行对齐。然而,因此忽略了语言嵌入空间与其他潜在空间的对齐。为了解决这个问题,作者引入了三重对比预训练阶段。这种方法不仅对齐了视觉和动作嵌入空间,还使语言嵌入空间与它们对齐。这种相互训练确保损失可以反向传播到所有编码器。除了图2之外,图3展示了CLIP文本编码器和图像编码器对齐的真相示例。训练目标很简单:语言指令及其对应的帧序列应该彼此相似。作者首先使用CLIP图像编码器计算每个单独帧(N帧)的表示,然后以两种方式进一步处理这个表示序列。
考虑到图像序列表示的计算资源,作者选择了无参数方法来计算所有帧的CLIP嵌入的平均值以获得序列表示。对于列表中连续的两个帧,作者使用1D卷积层来获取两个帧的表示,方法与第3.1节中描述的相同。因此,视觉嵌入空间同时与文本和动作嵌入空间对齐。如下所示,作者定义了交叉熵损失
Text-Image,用于学习遵循原始CLIP的双向配对视觉和文本序列。为了对齐动作和图像,作者继续使用第3.1节中讨论的KL散度损失
:
S为相似度矩阵。
三重对比对齐的总损失定义为:
总
损
失
函
数
为
:
作者引入了
作为衡量两种损失的超参数。这个超参数为作者提供了更多的灵活性。作者在总损失中分配了(
)。
3.3 行动生成
作者使用独立的CLIP编码器嵌入文本和视觉输入,这些编码器现在已预先对齐。地图嵌入使用可训练的投影层(全连接层 + GELU)。作者首先对每个表示应用位置编码和模态类型编码。可学习的模态类型编码首先由VILT [16]提出,它为Transformer模型带来了额外信息,并明确了不同的模态类型;它还避免了需要显式分隔 Token 如“[SEP]”的需求。在所有表示拼接后,作者将其进一步输入到多模态融合层(两层Transformer编码器)以学习一个通用表示。多模态Transformer是一个综合模型,旨在将所有不同的模态集成到一个全局表示中,在作者的案例中是语言、视觉帧、动作序列和语义图。作者使用因果注意力机制,遵循E.T. [13]。注意力 Mask 遵循以下规则:语言 Token 应关注语言本身。视觉帧可以关注所有语言 Token ,但它们只能关注当前时间步t之前的所有帧、动作和语义图。相同的规则也应用于动作 Token 和语义图。还应用了正弦位置编码。
最终,作者使用了一个全连接层来根据视觉表示的所有 Token 预测输出序列,这些 Token 的动作映射数量相同,以便作者可以使用真实动作序列来训练模型。
3.4 LIAM 流程
在本节中,作者通过数学定义作者的输入和输出,以更深入地解释LIAM。给定以下输入: Token 化语言指令
, Token 化语言指令
,动作序列
,语义图序列
,其中语言 Token 的长度为m,所有其他模态的长度为n。对于图像序列
,仅涉及n - 1个动作。作者将"
在将模态类型编码和位置编码应用于每个特征表示后,作者将它们连接成Ftotal。多模态Transformer编码器包含
层,每层包含多头注意力(MA)、层归一化(LN)和残差连接。然后,作者提取总表示中的视觉部分(从索引
到
),用于动作序列预测。通过将这个切片矩阵与训练好的线性层D相乘,得到最终的动作序列。
端到端模型使用生成动作序列与真实动作序列之间的交叉熵损失进行训练。对于预测的动作序列
和真实动作序列
,交叉熵损失定义为:
其中,c代表14个类别中的动作类别(12个类别+《pad》)。然而,《pad》 Token 在计算损失值时会被屏蔽。
遵循E.T. [13]的方法,作者在训练中也使用了辅助损失。首先,作者预测每个帧的目标类别("无目标"也是一个类别)。预测的目标类别是一个与动作长度相同的列表。类似于动作,对于预测的目标序列
和真实标签
,交叉熵损失定义为:
其中,c代表85个类别中的目标类别(84个目标类别 + 无目标)。
作者也预测目标进度,以初始想法帮助模型更好地理解当前试验的当前进度。目标进度的真实值
通过以下方式计算:
其中,n 是当前试验中真实动作的长度。对于预测的目标进度
,作者使用均方误差(MSE)损失,其定义为:
总损失定义为:
其中,
是用于权衡辅助损失的超参数。在作者的实验中,作者将所有权重设置为 0.1。
4 实验
作者现在展示预训练阶段的结果,并报告定量和定性结果。
4.1 预训练阶段
作者选择了三种不同的CLIP主干网络:MobileCLIP-S0(参数量5470万),使用Resnet-50主干网络的OpenCLIP(参数量11410万),以及使用视觉Transformer主干网络的OpenCLIP(参数量15270万)。
4.2 定量结果
在作者的实验中,作者使用了OpenCLIP与ViT B-32作为作者的主干网络,作者发现这在作者的实验中是最合适的。从表2中,首先,作者观察到对CLIP主干网络的微调在提高准确率和F1分数方面带来了益处。尽管准确率的提升并不显著,例如在已见数据中为73.00%、76.97%、77.52%,在未见数据中分别为71.87%、79.56%、76.89%,而当执行三元对比预对齐时,F1分数的改善相对较大,在已见数据中为8%,在未见数据中约为15%。其次,语义图提高了零样本主干网络和三元对齐主干网络的表现,显示出将地图作为额外模态来增强模型的空间理解潜力,而不仅仅是提供以自视角RGB图像为主。通过图像到动作对齐进行微调的主干网络具有可接受的准确率分数,但F1分数相对较低;这表明模型仍然受到数据不平衡问题的困扰。
4.3 定性结果
图4展示了作者的 Agent 人在“在卧室捡起篮球并打开桌子上的台灯”任务中的决策。 Agent 能够理解大部分子目标指令,并正确地在床脚找到并捡起篮球。此外, Agent 人向左旋转两次并前往桌子处。然而,由于模型错误地预测了台灯的位置(应该在桌子的另一侧),这个任务最终失败了。
5 结论
本文介绍了LIAM,一个融合自然语言输入、以自我为中心的RGB图像输入、动作历史和累积语义地图的多模态模型。由于所有模态特定的编码器都在各自的潜在空间中编码输入,作者设计了两个预训练任务以预对齐嵌入空间。这个预训练目标旨在最大化连续两帧图像的动作表示和全局表示的一致性。然而,预训练任务并未考虑文本编码 Backbone 的对齐问题。作者引入了三重对比对齐来解决这一问题。期望最大化图像序列表示与文本序列表示之间的一致性,以及两帧表示与动作表示之间的一致性。
LIAM在采用OpenAI发布的CLIP模型以及不使用地图作为额外模态的情况下,优于 Baseline 模型。作者展示了预先对来自不同模态的嵌入空间进行对齐的重要性。此外,将语义地图作为模态添加到端到端模型中也带来了益处。
未来工作具有巨大的潜力来进一步提升LIAM。一个可能的途径是将分割模型整合到作者的训练阶段和语义地图生成阶段。此外,编码地图空间信息的方法也是需要进一步研究的领域。作者特别着迷于将地图视为视觉-语言模型的知识库模式的潜力。
参考
[1]. LIAM: Multimodal Transformer for Language Instructions, Images, Actions and Semantic Maps
扫码加入👉「集智书童」交流群
(备注:方向+学校/公司+昵称)