ProAPO:CVPR2025论文解读,自动化提示优化提升视觉分类性能

CVPR2025论文ProAPO提出了一种自动化提示优化方法,提升视觉-语言模型在图像分类中的性能,无需人工干预,有效应对细粒度分类挑战。

原文标题:【CVPR2025】ProAPO: 逐步自动化提示优化用于视觉分类

原文作者:数据派THU

冷月清谈:

本文介绍了一种新的提示优化方法ProAPO,旨在解决视觉-语言模型在图像分类中对高质量提示的依赖问题。该方法通过进化算法,逐步优化语言提示,无需人工干预,就能为细粒度类别找到具有视觉区分度的提示。针对类别特定提示搜索空间过大的问题,ProAPO引入了基于编辑和进化的操作,一次性生成多样化候选提示,并提出了两种采样策略来寻找更好的初始搜索点和减少遍历类别数量。此外,该方法还应用了一种带有熵约束的适应度评分来缓解过拟合。实验结果表明,ProAPO在单样本图像分类任务中表现优异,优于现有的基于文本提示的方法,并提升了LLM生成描述方法的效果。该方法还可改进基于适配器的方法,并在不同骨干网络中有效迁移。

怜星夜思:

1、文章提到LLMs(大型语言模型)存在“幻觉”问题,导致生成的提示可能不准确。除了文中提到的优化方法,大家觉得从LLMs本身的角度,有哪些方法可以缓解或消除这种“幻觉”?
2、ProAPO方法中提到的“基于编辑和进化的操作”具体是指什么?如果让你来设计这样的操作,你会考虑哪些因素?
3、文章强调ProAPO在单样本图像分类任务中的优势。 除了单样本分类,你认为ProAPO方法还可以应用到哪些其他视觉任务中? 为什么?

原文内容

来源:专知

本文约1000字,建议阅读5分钟

本文旨在通过最小化监督且无需人工干预的方式,为细粒度类别寻找具有视觉区分度的提示。


视觉-语言模型(VLMs)通过大规模成对的图像-文本数据进行训练,在图像分类领域取得了显著进展。其性能在很大程度上依赖于提示(prompt)的质量。尽管最近的研究表明,由大型语言模型(LLMs)生成的视觉描述能够增强VLMs的泛化能力,但由于LLMs的“幻觉”问题,针对特定类别的提示可能不准确或缺乏区分度。本文旨在通过最小化监督且无需人工干预的方式,为细粒度类别寻找具有视觉区分度的提示。我们提出了一种基于进化的算法,逐步优化语言提示,从任务特定的模板到类别特定的描述。与优化模板不同,类别特定的候选提示搜索空间呈爆炸式增长,这增加了提示生成成本、迭代次数以及过拟合问题。为此,我们首先引入了几种简单但有效的基于编辑和进化的操作,通过一次性查询LLMs生成多样化的候选提示。接着,提出了两种采样策略,以找到更好的初始搜索点并减少遍历的类别数量,从而节省迭代成本。此外,我们应用了一种带有熵约束的新型适应度评分来缓解过拟合问题。在具有挑战性的单样本图像分类任务中,我们的方法优于现有的基于文本提示的方法,并在13个数据集上提升了LLM生成描述方法的效果。同时,我们证明了我们的最优提示能够改进基于适配器的方法,并在不同骨干网络中有效迁移。我们的代码已公开在此处。



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU


引用问题:ProAPO方法中提到的“基于编辑和进化的操作”具体是指什么?… 我理解的“基于编辑和进化的操作”是指:首先,通过对初始提示进行编辑(例如增删词语、改变语序等)来生成新的候选提示;然后,通过进化算法(例如遗传算法)来选择和组合这些候选提示, 从而逐步优化提示的质量。

如果让我来设计,我会考虑以下因素:

* 多样性: 编辑操作要足够多样,能够探索更广泛的提示空间。
* 有效性: 编辑操作要基于对语言和视觉的理解,能够生成更有意义的提示。
* 效率: 进化算法要能够快速收敛,避免过多的计算开销。
* 可解释性: 优化过程要尽可能可解释,方便理解提示是如何演变的。

我觉得目标检测也可以试试。 现在的目标检测很多都依赖大量标注数据,如果能用ProAPO自动生成一些高质量的提示, 也许可以减少对标注数据的依赖, 甚至实现零样本目标检测。 比如,可以给模型一个物体的文字描述,然后让它在图像中找到对应的物体。

这个“编辑和进化”让我想到了生物的进化过程。 编辑就像基因突变,可能会产生新的性状(提示)。进化就是自然选择,适应环境(任务)的性状(提示)会被保留下来。具体到ProAPO,编辑可能包括同义词替换、增加描述性词语、改变提示的结构等等。 进化的话,可以设计一个“适应度函数”,评估提示的好坏,然后选择好的提示进行下一轮编辑。 我会考虑加入一些先验知识,比如哪些词语或结构更容易产生好的提示, 避免盲目搜索。

从用户的角度,我更希望是能像prompt工程那样,能自定义编辑和进化策略,比指定同义词替换近义词,或者指定句式变换。让用户参与进来,提供反馈,共同优化提示。 这样不仅能提高效率,还能让用户更好地理解模型的工作原理。

我想到一个比较有趣的应用: 图像编辑。 可以通过优化提示,来控制图像编辑的效果。 比如,我想把一张照片里的天空变成蓝色, 可以通过ProAPO找到最佳的提示,引导图像编辑模型生成更自然、更逼真的效果。 这样就避免了手动调整各种参数的麻烦。

解决LLM幻觉问题,我觉得可以考虑让模型在生成内容时给出可信度评分,就好像给答案打个分,越高越靠谱。然后用户可以根据这个评分来判断信息的可靠性。另一方面,是不是可以训练一个专门的“幻觉检测器”,专门用来识别LLM生成的内容中哪些部分可能是编造的?

引用问题:文章强调ProAPO在单样本图像分类任务中的优势。 除了单样本分类,你认为ProAPO方法还可以应用到哪些其他视觉任务中? 为什么? 我认为ProAPO这种自动优化提示的方法,在很多需要视觉-语言模型参与的任务中都有潜力。 例如:

* 图像描述: 可以优化提示,让模型生成更准确、更生动的图像描述。
* 视觉问答: 可以优化提示,引导模型更好地理解问题,并给出正确的答案。
* 零样本图像分类: 可以优化提示,提高模型在未见过的类别上的泛化能力。

ProAPO的核心优势在于其能够自动寻找到更具区分性的提示, 这对于 Fine-grained 的任务尤其重要。原因在于,这些任务往往需要模型能够捕捉到细微的视觉差异,而人工设计的提示很难覆盖所有的可能性。 通过 ProAPO,我们可以让模型自己学习如何更好地描述和区分不同的类别,从而提高任务的性能。

引用问题:文章提到LLMs(大型语言模型)存在“幻觉”问题… 我认为从LLM本身的角度出发,增强其对事实的认知是关键。 这包括使用更大规模、更高质量的数据集进行训练,并引入知识图谱等外部知识源, 从而约束LLM的生成过程,减少无中生有的情况。 此外,还可以通过强化学习,设计奖励机制,鼓励LLM生成更准确、更可靠的文本。

我觉得可以从数据源头开始,就是确保喂给LLM的数据是经过严格审核和验证的。 如果用的是互联网数据,那就要特别小心,得过滤掉那些明显不靠谱的信息。 另外,模型在生成内容的时候是不是可以加入一些“引用”功能,就是告诉用户这个信息是从哪里来的,方便用户自己去验证?