龙空技术网

Teach CLIP to Count: 如何提高CLIP模型的计数能力?

烟火与浮云 101

前言:

现时咱们对“数学建模人脸识别算法分析”大体比较看重,各位老铁们都想要学习一些“数学建模人脸识别算法分析”的相关知识。那么小编同时在网络上收集了一些关于“数学建模人脸识别算法分析””的相关知识,希望看官们能喜欢,姐妹们一起来了解一下吧!

#论文阅读# 原文「链接」

Count 计数

背景

基于对比学习的视觉语言预训练模型CLIP可以学习到丰富的视觉-文本表示,促进了很多下游任务的发展和进步,例如零样本分类、文生图等。

然而,它却有一些十分可证实的突出局限性——计数能力欠缺。在保证不影响通用能力的前提下,如何提高视觉-语言模型的定量理解能力,是本文的主要讨论内容。

Counting-aware CLIP

为什么CLIP在计数任务上表现差?

作者指出了两个导致CLIP在计数能力上欠缺的主要原因:

1)训练数据captions中,一方面,对于物体数量做精确描述的样本比较少,特别是当数量多的时候,比如6个以上时,会用一些模糊和宽泛的描述词(a group of , many, ...);另一方面,还存在许多在计数任务上错误描述的样本。

离线检测模型自动筛选出的错误训练样本

2) 即使存在一些精确数量描述的captions样本,计数任务在训练VLM的过程中(loss计算)贡献较少,这是因为 “数量”跟“物体类别”等名词性短语相比,所包含的信息量更少,对于text,image 能否正确匹配起到的作用更小。

L = Lclip + λLcount

怎样提高CLIP的Count计数能力?

为此,作者针对性的提出了两个优化方案:

1)制作包含准确数量描述的训练数据captions. 具体的,数据制作使用了一个离线的目标检测网络,用来得到图片中的物体种类和对应的数量。

2)设计了一个训练目标(损失函数Lcount),提高计数任务重要性,使数量不匹配的caption 和图片之间的距离更远, 数量匹配的catpion和相应图片的距离更近。

损失函数Lcount只在Counting Subset中计算,其他不包含数量描述的训练数据只计算一般的Lclip。

有咩有想到人脸识别?

效果展示

经过优化的CLIP模型,图文匹配关于数量的相关性显著提升。并且,模型更加关注图片中与计数有关的区域。

图文对的相关性热图

此外,作者提出了一个叫CountBench的评测集,下图是该评测集的一些样例图片和对应的文本描述。它是从开源数据集LAION-400M 中挑选,并由模型自动生成标签,再经人工校对后所得到的。

CountBench

Open Question

多模态视觉语言模型(MLLM)一般使用冻结的视觉编码器(CLIP VIT L/14), 同样出现上文所述的计数能力弱的问题,如果使用本文所述方法对CLIP做微调后再冻结作为视觉编码器,是否可以改善MLLM在计数问答任务上的表现呢?

老大任务已经布置了,且等一试。

各路大佬如果还有其他想法,也请在评论区留言,欢迎讨论~

标签: #数学建模人脸识别算法分析