北大开源细粒度多模态大模型Finedefics,显著提升视觉识别能力

北大开源Finedefics,显著提升多模态大模型细粒度视觉识别能力,准确率达76.84%

原文标题:北大彭宇新教授团队开源细粒度多模态大模型Finedefics

原文作者:机器之心

冷月清谈:

北京大学彭宇新教授团队研发了一种新的细粒度多模态大模型Finedefics,该模型有效解决了现有多模态大模型在细粒度视觉识别上的不足。Finedefics 通过提示大语言模型构建视觉对象的细粒度属性知识,并利用对比学习将这些知识与视觉对象进行对齐,实现了数据与知识的协同训练。该模型在六个权威细粒度图像分类数据集上的平均准确率达到了 76.84%,相较于Idefics2 提升了 10.89%,显著提升了模型的细粒度视觉识别能力。研究发现,视觉对象与细粒度子类别未对齐是限制多模态大模型细粒度视觉识别能力的关键问题。Finedefics 通过对象-属性、属性-类别以及类别-类别对比学习,有效解决了这个问题。该模型已开源,相关论文已被 ICLR 2025 接收。

怜星夜思:

1、Finedefics 模型相比其他多模态大模型,除了准确率的提升,还有什么其他的优势?比如在推理速度、计算资源消耗方面?
2、Finedefics 如何处理细粒度数据集中类别数量不平衡的问题?这方面论文里好像没有详细说明。
3、Finedefics 模型的应用前景如何?除了细粒度图像分类,还能应用于哪些领域?

原文内容

图片
AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected][email protected]

本文是北京大学彭宇新教授团队在细粒度多模态大模型领域的最新研究成果,相关论文已被 ICLR 2025 接收,并已开源。

尽管多模态大模型在通用视觉理解任务中表现出色,但不具备细粒度视觉识别能力,这极大制约了多模态大模型的应用与发展。

细粒度视觉识别旨在区分同一粗粒度大类下的不同细粒度子类别,如将鸟类(粗粒度大类)图像区分为西美鸥、灰背鸥、银鸥等(细粒度子类别);将车区分为宝马、奔驰、奥迪等,奥迪区分为 A4、A6、A8 等;将飞机区分为波音 737、波音 747、波音 777、空客 320、空客 380 等。实现对视觉对象的细粒度识别,在现实生产和生活中具有重要的研究和应用价值。

针对这一问题,北京大学彭宇新教授团队系统地分析了多模态大模型在细粒度视觉识别上所需的 3 项能力:对象信息提取能力、类别知识储备能力、对象 - 类别对齐能力,发现了「视觉对象与细粒度子类别未对齐」是限制多模态大模型的细粒度视觉识别能力的关键问题,并提出了细粒度多模态大模型 Finedefics。

首先,Finedefics 通过提示大语言模型构建视觉对象的细粒度属性知识;然后,通过对比学习将细粒度属性知识分别与视觉对象的图像与文本对齐,实现数据 - 知识协同训练。

Finedefics 在 6 个权威细粒度图像分类数据集 Stanford Dog-120、Bird-200、FGVC-Aircraft、Flower-102、Oxford-IIIT Pet-37、Stanford Car-196 上的平均准确率达到了 76.84%,相比 Hugging Face 2024 年 4 月发布的 Idefics2 大模型提高了 10.89%。
 

  • 论文标题:Analyzing and Boosting the Power of Fine-Grained Visual Recognition for Multi-modal Large Language Models
  • 论文链接:https://openreview.net/forum?id=p3NKpom1VL
  • 开源代码:https://github.com/PKU-ICST-MIPL/Finedefics_ICLR2025
  • 模型地址:https://huggingface.co/StevenHH2000/Finedefics
  • 实验室网址:https://www.wict.pku.edu.cn/mipl

背景与动机

多模态大模型是指提取并融合文本、图像、视频等多模态数据表征,通过大语言模型进行推理,经过微调后适配到多种下游任务的基础模型。

尽管现有多模态大模型在视觉问答、推理等多种任务上表现出色,但存在识别粒度粗的局限性:因为多模态大模型的视觉识别能力依赖大量训练数据,由于训练数据的细粒度子类别的标注成本巨大,实际也是无法细粒度标注的,导致现有多模态大模型缺乏细粒度视觉识别能力。

图 1. 多模态大模型在细粒度视觉识别上所需的 3 项能力

本文系统地分析了多模态大模型在细粒度视觉识别上所需的 3 项能力,如图 1 所示,包括:

1. 对象信息提取能力:视觉编码器能够从图像中准确并全面地提取区分不同细粒度子类别的辨识性信息;

2. 类别知识储备能力:大语言模型能够储备充分的细粒度子类别知识;

3. 对象 - 类别对齐能力:基于提取的辨识性视觉信息与储备的细粒度子类别知识,在大语言模型的表征空间中对齐视觉对象与细粒度子类别,以建立输入图像到子类别名称的细粒度映射关系。

实验结果表明,「视觉对象与细粒度子类别未对齐」是限制多模态大模型具备细粒度视觉识别能力的关键问题。

技术方案

为解决视觉对象与细粒度子类别未对齐的问题,本文提出了细粒度多模态大模型 Finedefics

如图 2 所示,Finedefics 构建过程包含 2 个主要步骤:

1. 首先通过属性描述构建,利用辨识属性挖掘获得区分细粒度子类别的关键特征,例如区分猫的品种的辨识性属性「毛色」、「毛型」、「毛皮质地」等,并利用视觉属性提取获得图像对象的辨识性属性对,例如「毛色:棕褐色」、「毛型:带有斑纹」、「毛皮质地:质地柔软」等,再利用属性描述总结将属性对转化为自然语言形式的对象属性描述,例如「图中小猫的毛为棕褐色,带有斑纹,质地柔软」;

2. 然后通过属性增强对齐,将构建的对象属性描述作为视觉对象与细粒度子类别的共同对齐目标,通过对象 - 属性、属性 - 类别、类别 - 类别对比学习充分建立视觉对象与细粒度子类别的细粒度对应关系,再利用以识别为中心的指令微调促进模型遵循细粒度视觉识别的任务指令。具体地,包含如下两个训练阶段:

 图 2. 细粒度多模态大模型(Finedefics)框架图

阶段 I:属性增强的对比学习

首先,针对每个「对象 - 属性 - 类别」三元组,利用视觉编码器与可学习的模态连接层  转化为对象表征序列图片

为更好捕捉全局表示,将标识符 [EOS] 输入大语言模型的嵌入层得到向量表示,并将其与对象特征序列图片拼接,得到新构建的对象表征序列 图片相似地,得到属性表征序列 与类别表征序列

然后,分别将 图片 输入到大语言模型中,将序列末尾的预测标志(token) 分别作为  的全局表示。

为简化表示,定义训练采用的对比学习损失包含以下 3 种:

对象 - 属性对比:为细粒度视觉识别数据集中的每个视觉对象 挖掘困难负样本。具体地,针对每张样本图像,从三个最相似但错误的细粒度子类别数据中选择负样本,并将其属性描述与细粒度子类别名称作为困难负样本加入对比学习。

因此,引入困难负样本后的对象 - 属性对比(Object-Attribute Contrastive, OAC)损失表示如下:
 

其中,图片 表示对象困难负样本的属性表征集合,Sim (⋅,⋅) 测量特征空间的余弦相似度。

属性 - 类别对比:相似地,引入困难负样本后的属性 - 类别对比(Attribute-Category Contrastive, ACC)损失表示如下:


其中,图片 表示对象  困难负样本的细粒度子类别表征集合。

类别 - 类别对比:由于难以在大语言模型的表征空间中区分不同细粒度子类别,提出了类别 - 类别对比(Category-Category Contrastive, CCC)损失如下:

 
此外,为保持模型的生成能力,将属性描述作为生成目标,采用下一个标记预测(Next Token Prediction)任务进行模型训练。因此,阶段 I 的优化目标定义如下:

图片

 
其中, 表示属性描述生成损失。

阶段 II:以识别为中心的指令微调

将细粒度视觉识别数据集构建为两种形式的指令微调数据:开集问答数据与闭集多选题数据,利用上述指令微调数据更新模型参数。因此,阶段 II 模型的优化目标定义如下:

图片

其中,图片 表示以识别为中心的指令微调损失。

实验结果

表 1. 细粒度多模态大模型(Finedefics)实验结果
 
表 1 的实验结果表明,Finedefics 在 6 个权威细粒度图像分类数据集 Stanford Dog-120、Bird-200、FGVC-Aircraft、Flower-102、Oxford-IIIT Pet-37、Stanford Car-196 上的平均准确率达到了 76.84%,相比阿里 2024 年 1 月发布的通义千问大模型(Qwen-VL-Chat)提高了 9.43%,相比 Hugging Face 2024 年 4 月发布的 Idefics2 大模型提高了 10.89%

图 3. 视觉对象 - 细粒度子类别对齐效果可视化

图 4. 细粒度多模态大模型(Finedefics)案例展示

图 3 的可视化结果表明,(a)仅微调大模型,视觉对象与细粒度子类别表征的分布差异大;(b)仅引入对象 - 类别对比学习时,上述分布差异仍然难以降低;(c)同时引入对象 - 属性、属性 - 类别、类别 - 类别对比学习时,分布差异显著降低,优化了视觉对象与细粒度子类别的对齐效果,提升了多模态大模型的细粒度视觉识别能力。

图 4 的案例展示表明,相较于 Idefics2,本方法 Finedefics 能成功捕捉视觉对象特征的细微区别,并将其与相似的细粒度子类别对象显著区分。

更多详情,请参见原论文。

© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]

除了前面提到的,我觉得 Finedefics 还可以应用于一些需要人机交互的场景,比如智能客服、虚拟助手等等。通过更精准的图像识别,可以提高人机交互的效率和自然度。当然,这还需要进一步的研究和开发。

我觉得 Finedefics 的应用前景很广阔,它不仅仅可以用于细粒度图像分类,还可以扩展到其他需要细粒度识别的领域,比如商品识别、动植物物种识别、医学影像分析等等。它提供了一种新的思路,将知识融入到视觉识别中,这对于提高模型的理解能力和泛化能力非常有帮助。

细粒度数据集的类别不平衡确实是一个常见问题,Finedefics 没提怎么处理,我感觉有点奇怪。是不是他们用的数据集本身类别就比较均衡?或者他们用了某种隐式的方法来处理这个问题,比如在构建困难负样本的时候,优先选择数量较少的类别作为负样本?

Finedefics 这种细粒度识别的能力,在电商领域应该很有用。比如可以用来识别不同款式的衣服、鞋子、包包等等,方便用户搜索和推荐。还可以用在艺术品鉴定、古董鉴定等领域,帮助专家进行更精准的判断。

这个问题我也有点疑惑,论文里确实没有提到类别不平衡问题的处理方法。不过我个人猜测,可能在数据预处理阶段做了一些工作,比如过采样或者欠采样,或者在损失函数中加入了权重因子来平衡不同类别之间的贡献。具体细节可能需要看代码或者联系作者才能了解。

关于这个问题,我查了一下论文和GitHub,好像没有直接对比推理速度和计算资源消耗的数据。不过Finedefics用了对比学习和指令微调,我感觉训练过程应该会比一般的模型更复杂一些,资源消耗可能也会相应增加。当然,这只是我的猜测,具体情况还得等更详细的测试数据出来才能确定。

Finedefics 的优势除了准确率的提高外,更重要的在于它提供了一种解决细粒度视觉识别问题的思路,即通过属性知识的构建和对齐来提升模型的识别能力。这种方法的泛化性应该不错,未来或许可以应用到其他多模态任务中。至于推理速度和计算资源,目前公开的信息不多,还需要进一步观察。

论文里没有明确提到推理速度和计算资源消耗,不过我感觉这方面应该也是未来研究的一个重点。毕竟一个模型最终能不能落地,除了性能之外,效率也是很重要的一个考量因素。Finedefics 现在开源了,大家可以去实际测试一下,看看它的表现如何。

我觉得可以试试联系一下作者,问问他们有没有考虑类别不平衡的问题。如果Finedefics 在这方面没有做特殊的处理,那么它在处理类别不平衡的数据集时,性能可能会受到影响。这对于实际应用来说是一个需要注意的地方。