1.挑战/问题(Challenges/Issues)
这篇论文面临的主要挑战是如何提高模型在细粒度识别任务中的性能。CLIP(Contrastive Language--Image Pre-training)模型虽然在广泛的候选识别上表现出色,但在区分细微差别的细粒度项目上精度不足。而多模态大型语言模型(MLLMs)虽然在分类细粒度类别上表现出色,但随着类别数量的增加,其性能会下降,主要是由于处理大量词汇和细微差别时受到有限上下文窗口大小的限制。
2. 技术贡献(Technical Contribution)
论文提出了RAR(Retrieving And Ranking Augmented MLLMs)方法,这是一种增强型的多模态检索和排名方法,用于提升MLLMs在少量样本/零样本识别能力,特别是在处理具有广泛和细粒度词汇表的数据集时。RAR通过结合CLIP的检索能力和MLLMs的分类能力,旨在解决细粒度识别中的固有限制,并保持模型的全面知识库。
Extracting the Multi-modal Embeddings.
针对 image classification 任务的数据集,
使用clip
对一个 样本(由图片和label组成的 pair)分别进行embedding 提取。图片用clip的image encoder提取,label 用clip的text encoder 提取。例如,用CLIP ViT-B/16得到的embedding 是(1,576)形状的tensor。 提取出来的image embedding 和 text embedding 都存入 memory
中,后续会被用来索引。在 在zero-shot learning 的setting 中,图像嵌入不可用,只是将文本嵌入存储到memory
中。
在索引时采用 HNSW
方法对embedding降维。具体来说,d 维 Rd 空间中的向量被变换为简化的 d/ 9 维空间。这种维度的降低对于提高检索过程的速度起着关键作用。
Pre-processing for Detection Datasets
针对 object detection 任务的数据集,
需要进行crop和blur。即把要识别的 object 裁剪出来,并且resize成同样的大小。还要把非target 的区域(在需要识别的object的周围) 进行模糊处理。
Inference with Retrieving And Ranking
在使用我们的多模态检索器成功构建记忆 M
后,下一步是将 M
与检索过程集成,并使用 MLLM 对检索结果进行排序,并提高在少样本/零样本感知任务中的性能。
在few-shot image classification task中,
首先使用视觉编码器(clip 的image encoder)处理输入图像并获得相应的图像嵌入e
。然后,图像嵌入 e
通过先前构建的内存索引进行导航,并按相似度进行排序,以识别前 k 个相关图像,就可以得到相应的这 k 个类别的名称,表示为 {c1, c2, c3, ..., ck}
。 使用top-k 检索结果充当初步过滤器,将范围缩小到最可能相关的结果。
对于 object detection 任务来说,
由于这些裁剪后的子图像通常很小,因此 CLIP 从这些低分辨率图像中提取特征的能力受到限制。因此,在物体检测任务中,不进行图像到图像的检索,而是利用CLIP固有的图文交互能力进行图像到文本的检索。因此仍然可以获得相似度最高的top-k类别信息。
接着,这些检索到的类别标签以及图像嵌入 embedding 被组合在一起 并通过rank prompt 组合起来作为MLLM的输入。 MLLM 会结合内部知识和检索到的信息,做出图像类别的最终预测。
Ranking Prompt Format.
Fine-tuning for Ranking.
当直接应用 MLLM 对检索到的结果进行排名时,MLLM 可能会预测一些错误,例如超出给定列表或偶尔出现错位。为了充分利用 MLLM 对下游任务的排名潜力,同时避免消耗大量计算资源来训练 MLLM,我们选择了一个小规模分类数据集来微调 MLLM。微调的主要目标是使 MLLM 能够提高其排名能力,例如遵循ranking prompt并按要求返回结果。
为了创建微调数据,使用 CLIP 图像编码器提取图像 Da 和 Db 的两个不相交子集的embedding,这两个子集均来自 FGVC-Aircraft 数据集。我们在第二部分提供消融研究。 4.5 关于使用不同的数据集构建微调数据。观察表明,MLLM 在微调数据集的选择上表现出稳健性,不同的数据集在性能结果上只有微小的差异。
对于 Db 中的每个图像,应用 k-NN 聚类算法来查找 Da 中前 20 个最相似的图像,包括它们的类别。然后,我们从这 20 张图像中选择 16 个集合,每个集合包含 k 个图像,并保留包含与 Db 相同类别的图像的那些组。然后重新整理了这些集合的类别标签。使用上图所示的提示,我们创建了一个包含大约 30,000 个条目的数据集,其中原始类别序列作为真实标签。
In-Context Learning for Ranking.
In-Context Learning为排名示例的微调提供了一种有价值的替代方案,特别是由于它的灵活性和对专门数据准备的较低要求。虽然事实证明,使用排名示例进行微调非常有效,但它需要大量经过整理的数据和计算资源来进行训练。相比之下,上下文学习通过直接在输入提示中为其提供具体示例来利用模型的现有知识,指导模型理解并执行排名任务,而不需要显式的重新训练。为了有效引导 MLLM 理解排名任务,我们使用类似于图中的提示格式,并将具体的排名示例集成到提示中。
3. 评估/实验结果(Evaluation/Experiments Results)
RAR在5个细粒度视觉识别基准测试、11个少量样本图像识别数据集和2个零样本对象检测数据集(例如V3Det数据集的13204个类别)上进行了严格的测试。结果显示,RAR在11个图像分类数据集上的平均准确率在4样本设置下提高了6.2%,并且在LVIS数据集上提高了6.4%,在V3Det数据集上提高了1.5%。这些结果表明,RAR方法在多种视觉识别任务中优于基线模型,特别是在处理具有大量类别的数据集时。