作者指出“多模态推理系统依靠预先训练的目标检测器从图像中提取感兴趣的区域。然而,这个关键模块通常用作黑匣子,独立于下游任务并在对象和属性的固定词汇上进行训练。这使得此类系统 很难捕获以自由形式文本表达的视觉概念的长尾。”
在多模态推理系统中,“下游任务”通常是指根据图像和文本的信息来进行推理和回答问题的任务。“以自由形式文本表达的视觉概念的长尾”,是指有很多不常见的视觉概念,它们可以用各种不同的方式来用文本描述,但是它们的出现频率很低,而且很难用固定的词汇来表示。例如,如果用户输入的文本是“一只穿着西装的猴子在打电话”,它包含了猴子、西装和电话这三个对象,以及穿着和打电话这两个动作。这个视觉概念的长尾是指,这种组合在图像中很少出现,而且很难用一个固定的标签来表示,比如“猴子-西装-电话”。这样,如果一个多模态推理系统使用了一个预先训练的目标检测器,它可能无法识别出这个视觉概念,因为它可能不在目标检测器的词汇表中。这就导致了多模态推理系统的性能下降,因为它无法根据图像和文本的信息来进行推理和回答问题,所以可能无法完成下游任务。
对上文通俗的理解就是,多模态推理系统中的对象检测通常用作黑盒来检测图像中概念的固定词汇,然后进行多模态对齐。这种“管道”方法 限制了与其他模式作为上下文的协同训练,并限制下游模型只能访问检测到的对象,而不能访问整个图像,这样的多模态推理系统 无法识别以自由格式文本表达的概念的新颖组合。
作者还提到了最近的考虑了文本条件对象检测问题的一些工作,但是作者认为这些检测器 不是端到端可微分 的,因此 无法与下游任务协同训练。
"端到端可微分"是指整个系统的每个组成部分都是可微分的,这意味着对于系统的输出,可以计算相对于输入的梯度(导数)。这对于使用梯度下降等优化算法来训练模型非常重要,因为这样可以在整个系统中进行端到端的反向传播,从而更新模型参数以最小化损失函数。
调制检测方法是一种用于多模态理解的技术,它可以根据文本查询来检测图像中的对象或区域。调制检测方法的基本思想是,将文本查询作为一个调制信号,对图像进行变换,从而增强与查询相关的区域,抑制与查询无关的区域。然后,使用一个检测器来输出与查询对应的框或掩码。
DETR 是一种单模态的目标检测方法,它只需要输入图像,而不需要文本查询。DETR 使用 Transformer 来建模图像中的全局依赖关系,而不是使用文本来调制图像。DETR 的目标是 **输出图像中所有的目标,**而不是 根据文本来输出特定的目标。
论文的第一个贡献是,它提出了一种端到端的文本调制检测系统,叫做 MDETR。这个系统是基于最新的 DETR 检测框架的,它可以根据自然语言查询来检测图像中的对象,而不需要预训练的对象检测器或固定的词汇表。这样,MDETR 就可以直接从文本中学习视觉概念,而不受限于中间表示或标注信息。这是一种 创新 的方法,因为它可以实现 真正的端到端多模态推理,而不需要任何模态间的对齐或转换。
图1:查询“粉红大象”的 MDETR 输出。颜色不是分割掩模,而是像素的真实颜色。该模型在训练中从未见过粉色或蓝色大象。
论文的第二个贡献是,它证明了调制检测方法可以无缝地应用于解决短语基础和指代表达理解等任务。这些任务都是要求模型能够根据文本来理解和定位图像中的对象或区域。MDETR 在这些任务上使用了两种数据集,一种是合成的,叫做 CLEVR-Ref+ ,一种是真实的,叫做 RefCOCOg 。MDETR 在这两个数据集上都取得了新的最先进的性能,说明了它的泛化能力和鲁棒性。
论文的第三个贡献是,它表明了良好的调制检测性能自然会转化为下游任务性能,例如在视觉问答、引用表达分割和少样本长尾目标检测方面实现有竞争力的性能。这些任务都是要求模型能够根据文本和图像的交互来回答问题、分割区域或检测对象。MDETR 在这些任务上使用了三种数据集,分别是 VQA 2.0 ,PhraseCut 和 LVIS 。MDETR 在这些数据集上都表现出了优秀的性能,说明了它的多任务学习能力和适应性。
图 2 描述了 MDETR 的架构。MDETR 使用了一个基于 Transformer 的架构,它由一个交叉编码器和一个解码器组成。交叉编码器使用 Transformer 的编码器-编码器结构,将文本和图像两种模态进行融合,从而共同推理文本和图像。解码器使用 Transformer 的编码器-解码器结构,将交叉编码器的输出作为输入,输出图像中的对象或区域的边界框和与文本中的单词或短语对应的位置分布。
图 2:MDETR 使用卷积主干来提取视觉特征,并使用 RoBERTa 等语言模型来提取文本特征。两种模式的特征都被投影到共享的嵌入空间,连接并馈送到变换器编码器-解码器,该变换器编码器-解码器预测对象的边界框及其在文本中的定位。
对图像的处理,通过卷积神经网络(卷积主干)进行编码,并将其展平,即将图像特征转换为一个平面向量。为了保留空间信息,将图像中的二维位置嵌入(即位置编码)加入到展平后的向量中,以便模型能够更好地理解图像中不同位置的信息。
对应图 2 中的 CNN。卷积神经网络在计算机视觉任务中被广泛用于提取图像的特征。这些特征可以在图像中的不同层次上捕捉到边缘、纹理等信息。在目标检测等任务中,这些特征经过卷积操作,然后通过一个或多个全连接层,最终被展平为一个一维向量。
对文本的处理,使用预训练的 Transformer 语言模型对文本进行编码,生成与输入图像大小相同的隐藏向量序列。
对应图 2 中的 RoBERTa。RoBERTa 是一个预训练的 Transformer 模型,专注于自然语言处理任务。它采用了与 BERT(Bidirectional Encoder Representations from Transformers)相似的架构,但通过修改训练方式和超参数来改进性能。在论文中,RoBERTa 用于对文本进行编码,生成隐藏向量序列。
对图像和文本特征进行模态相关的线性投影,将它们映射到共享的嵌入空间,以便模型可以在这个共享的嵌入空间中理解图像和文本之间的关系。
线性投影操作与图 2 中的 Linear 操作对应。Linear 操作通常用于进行线性变换,通过矩阵乘法和偏置项的加法,将输入数据映射到输出数据。线性投影操作的目的是将图像和文本特征映射到一个共享的嵌入空间,以便模型可以在这个共享的嵌入空间中理解图像和文本之间的关系。这有助于在后续的处理中实现对图像和文本的联合编码和理解。
在图 2 中,矩形框(box)表示图像和文本特征在共享的嵌入空间中的融合或交互。
将处理后的图像和文本特征向量在序列维度上连接成一个单一的序列,为后续处理提供输入。
可以与图 2 中的 Concatenation(Concat)操作对应。Concatenation 操作通常用于将两个或多个向量在某个维度上连接在一起,形成一个更大的向量或序列。这种连接操作有助于模型同时考虑图像和文本信息,并将它们融合在一个共享的表示空间中,从而实现对图像和文本的联合理解。
将生成的序列输入到一个称为交叉编码器的联合变压器编码器中,用于联合编码图像和文本信息。解码器的输出用于预测图像中实际对象的边界框。这是模型最终的目标,即从联合编码的图像和文本信息中提取并预测目标对象的位置信息。
MDETR 需要将模型预测的对象和真实的对象进行匹配,与 DETR 一样,使用二部图匹配来找到预测和地面实况目标之间的最佳匹配。二部图匹配是一种用来找到两个集合之间的最佳匹配的方法,它的目标是使得匹配的总成本最小。预测与目标框之间的 L1 和 GIoU 损失,就像在 DETR 中一样。
预测与目标框之间的 L1 损失,它是一种用来 衡量两个边界框之间的差异 的函数,它的值越小,表示两个边界框越接近。
预测与目标框之间的 GIoU 损失,它是一种用来 衡量两个边界框之间的重叠程度 的函数,它的值越大,表示两个边界框越重叠。
对于调制检测,与标准检测设置不同,作者 不关心为每个检测到的对象预测一个分类类别,而是预测原始文本中指代每个匹配对象的标记范围。软标记考虑到了标记位置的分布,而不是简单地对每个对象的分类结果进行硬标记(例如,对每个对象分配一个确定的类别),这意味着模型的任务是在文本中确定对象的位置范围。软标记分类损失如图 6 所示,这是一种非参数对齐损失。
图 6:软标记分类损失的图示。对于每个对象,模型预测输入序列中标记位置的分布。分布的权重应该均匀地分布在引用预测框的所有标记上。
模型被训练以预测相应于对象的所有标记位置的均匀分布。例如,如果文本是“一只猫在沙发上睡觉”,那么模型应该预测出两个引用预测框,一个是猫,一个是沙发。对于猫这个对象,模型应该预测出一个分布,它的权重在“一只”和“猫”这两个标记上是相等的,而在其他标记上是零。对于沙发这个对象,模型应该预测出一个分布,它的权重在“沙发”和“上”这两个标记上是相等的,而在其他标记上是零。任何未与目标匹配的查询都被训练以预测“无对象”标签 ∅ ∅ ∅。
对比对齐损失是一种参数化损失函数,强化了对齐的对象查询和标记之间的相似性。这额外的对比对齐损失确保了(视觉)对象的嵌入和其对应的(文本)标记在特征空间中比与不相关标记的嵌入更靠近。这一约束比软标记预测损失更强,因为它直接作用于表示,而不仅仅基于位置信息。
更具体地说,考虑将最大标记数为 L L L 和最大对象数为 N N N。设 T i + T^+_i Ti+ 是给定对象 o i o_i oi 应与之对齐的标记集合,而 O i + O^+_i Oi+ 是与给定标记 t i t_i ti 对齐的对象集合。
作者受 InfoNCE 的启发,所有对象的对比损失 通过每个对象的正标记数量进行标准化,写如下:
l 0 = ∑ i = 0 N − 1 1 ∣ T i + ∣ ∑ j ∈ T i + − l o g ( e x p ( o i T t j / τ ) ∑ k = 0 L − 1 e x p ( o i T t k / τ ) ) (1) l_0 = \sum^{N-1}_{i=0} \frac{1}{|T^+_i|} \sum_{j \in T^+_i} - log \left( \frac{exp(o^T_i t_j/\tau)}{\sum^{L-1}_{k=0}exp(o^T_it_k/\tau)} \right) \tag{1} l0=i=0∑N−1∣Ti+∣1j∈Ti+∑−log(∑k=0L−1exp(oiTtk/τ)exp(oiTtj/τ))(1)
其中 τ \tau τ 是温度参数,论文中将其设置为 0.07。根据对称性,所有标记的对比损失(通过每个标记的正对象数量标准化)由下式给出:
l t = ∑ i = 0 L − 1 1 ∣ O i + ∣ ∑ j ∈ O i + − l o g ( e x p ( t i T o j / τ ) ∑ k = 0 N − 1 e x p ( t i T o k / τ ) ) (2) l_t = \sum^{L-1}_{i=0} \frac{1}{|O^+_i|} \sum_{j \in O^+_i} - log \left( \frac{exp(t^T_i o_j/\tau)}{\sum^{N-1}_{k=0}exp(t^T_io_k/\tau)} \right) \tag{2} lt=i=0∑L−1∣Oi+∣1j∈Oi+∑−log(∑k=0N−1exp(tiTok/τ)exp(tiToj/τ))(2)
作者取这两个损失函数的平均值作为他们的对比对齐损失。对比对齐损失函数的作用是,让模型能够通过最小化损失值,来调整对象查询和标记的嵌入向量**,**使得对齐的对象查询和标记在嵌入空间中更加接近,而不对齐的对象查询和标记更加远离。
MDETR 需要计算总损失,它是匹配后的所有对象的损失的平均值。总损失包括三个部分,分别是:
使用预训练的 RoBERTa-base 作为文本编码器,它具有 12 个 Transformer 编码器层,每个层的隐藏维度为 768,多头注意力中有 12 个头。作者使用了 HuggingFace 的实现和权重。
作者尝试了两个选项,最终选择探索 EfficientNet 家族作为骨干,使用的模型是通过 Noisy-Student 伪标记技术在大量未标记数据和 ImageNet 上训练的。作者选择了 EfficientNetB3,在 ImageNet 上的 Top 1 准确率为 84.1%,仅使用了 1200万个权重,以及 EfficientB5,在 3000 万个权重下达到了 86.1%的准确率。他们使用了 Timm 库提供的实现,并冻结了批标准化层。他们在 32 个 V100 GPU 上以有效批量大小为 64 进行了 40 个 epoch 的预训练,大约需要一周的时间进行训练。
MDETR 遵循预训练然后微调的策略,首先在作者构建的合并数据集上进行 40 个 epoch 的训练,然后在相应的下游任务上进行微调。作者使用 AdamW 进行模型训练,这是 Adam 的一种变体,更适用于权重衰减。使用指数移动平均(EMA),衰减率为 0.9998,权重衰减为 1e−4。主干网络和 Transformer 的学习率分别为 1e−4 和 1e−5,持续 35 个 epoch 之后它们的学习率减小为原来的 1/10。对于语言模型的学习率,使用线性衰减和热身计划,它在总步数的前 1% 内线性增加到 5e−5,然后在训练的其余部分内线性减小回到 0。
作者在 4 个下游任务上评估了他们的方法:指称表达理解与分割、视觉问答和短语对齐。
视觉问答的任务是给定一张图像和一个关于图像内容的问题,返回一个正确的答案。作者使用了 GQA 数据集,它包含了大量的图像、问题和答案,以及每个问题的类型和场景图。场景图是一种表示图像中对象、属性和关系的图结构。作者的方法是在预训练模型的基础上,对其进行微调,使其能够输出正确的答案和类型。作者的模型架构如图 4 所示,它包括了一个用于检测对象的解码器,以及一个用于预测问题类型和答案的查询。作者的模型使用了调制检测的技术,它可以根据问题的内容来调整对象的检测。作者的方法在 GQA 数据集上表现出了优异的效果,不仅超过了使用相同骨干网络的其他模型,而且超过了使用更大骨干网络和更多预训练数据的模型。
图 4:在 MDETR 预训练期间,模型被训练以检测问题中提到的所有对象。为了扩展到问题回答,除了将对象查询作为输入提供给变压器解码器外,还提供了特定于 QA 的查询。为不同的问题类型使用专门的头部。
短语对齐的任务是给定一些可能相关的短语,为每个短语找到对应的图像区域。作者使用了 Flickr30k entities 数据集,它包含了训练、验证和测试的划分,以及每个句子的短语和边界框的标注。作者将他们的方法与两种类型的现有方法进行了比较,一种是基于文本条件的检测模型,另一种是基于 Transformer 的视觉语言预训练模型。作者的方法在没有预训练的情况下,在验证集上的 ANY-BOX 设置中,相对于最先进的方法,在召回率的第一名方面提高了8.5个百分点。通过预训练,作者的方法在测试集上的 ANY-BOX 设置中,相对于最佳的模型,在召回率的第一名方面提高了12.1个百分点。
图 7:Flickr30k 数据集上的短语对齐示例
指称表达分割的任务是给定一张图像和一个描述其中一个或多个对象的文本,返回一个表示这些对象位置的分割掩模。作者使用了 PhraseCut 数据集,它包含了来自 VG 的图像,以及每个指称表达的分割掩模。这些表达涉及了多种对象、属性和关系,使得任务很有挑战性。作者的方法分为两个阶段,第一阶段是在预训练模型的基础上,对其进行微调,使其能够输出正确的边界框;第二阶段是冻结网络的权重,只训练分割头,使其能够输出正确的分割掩模。作者使用了一个基于概率的方法来对边界框进行过滤和合并,根据它们是否与指称表达式匹配。作者的方法在该数据集上表现出了优异的效果,能够生成清晰的分割掩模。
图 8:phrasecut 数据集上的指称表达分割示例
指称表达理解的任务是给定一张图像和一个描述其中一个对象的文本,返回一个表示该对象位置的边界框。作者提出了一个新的方法,不需要使用预先提取的边界框,而是直接预测边界框。作者使用了三个数据集,分别是 RefCOCO、RefCOCO+ 和 RefCOCOg,它们包含了不同类型的指称表达式。作者在预训练期间使用了多个对象的标注,而在微调和推理时只使用了一个对象的标注。作者使用了一个基于概率的方法来对边界框进行排名,根据它们是否与指称表达式匹配。在表 2 中报告结果,显示在所有数据集上相对于最先进水平的显著提高。
图 10:来自 RefCOCO、RefCOCO+ 和 RefCOCOg 数据集的示例。图(a)取自RefCOCO,图(b)取自RefCOCO+,图©和(d)取自RefCOCOg,其中表达式平均比 RefCOCO 和 RefCOCO+长得多,并且包含更多描述性语言。
表2:指称表达理解的准确性结果。CC 是指 Conceptual Captions [53],VG 是指 Visual Genome [24],SBU 是指 SBU Captions [41],COCO 是指 Microsoft COCO [30]。
作者总结了 MDETR 的主要贡献,认为它是一种简单而有效的端到端多模态推理方法,它可以直接从文本中学习视觉概念,而不需要预训练的对象检测器或固定的词汇表。作者还展示了 MDETR 在多个下游任务和数据集上的优异性能,证明了它的有效性和优越性。
关于 MDETR 的一些不足和改进方向如下:
MDETR 目前 只能处理单个文本查询和单张图像的情况,而不能处理多个文本查询或多张图像的情况。可以通过扩展模型的架构和损失函数来实现。
MDETR 目前 只能输出边界框,而不能输出更精细的掩码或关键点。可以通过引入更复杂的输出表示和损失函数来实现。
MDETR 目前 只能处理静态的图像,而不能处理动态的视频。可以通过 结合时序信息和注意力机制 来实现。