Enhancing CLIP with GPT-4: Harnessing Visual Descriptions as Prompts

news2024/12/24 21:07:41

标题:用GPT-4增强CLIP:利用视觉描述作为提示

源文链接:Maniparambil_Enhancing_CLIP_with_GPT-4_Harnessing_Visual_Descriptions_as_Prompts_ICCVW_2023_paper.pdf (thecvf.com)icon-default.png?t=N7T8https://openaccess.thecvf.com/content/ICCV2023W/MMFM/papers/Maniparambil_Enhancing_CLIP_with_GPT-4_Harnessing_Visual_Descriptions_as_Prompts_ICCVW_2023_paper.pdf

源码链接: mayug/VDT-Adapter: This repository contains the code and datasets for our ICCV-W paper 'Enhancing CLIP with GPT-4: Harnessing Visual Descriptions as Prompts' (github.com)icon-default.png?t=N7T8https://github.com/mayug/VDT-Adapter

发表:ICCV-2023

目录

摘要 

1. 简介

2. 相关工作

3. 方法

3.1. 回顾CLIP和CLIP- adapter

3.2. 语言模型提示设计

3.2.1视觉描述性句子

3.2.2提示llm提供视觉描述性信息

3.3. 用于视觉句子的简单的少样本适配器

4. 实验

5. 结论

读后总结


摘要 

对比预训练的视觉-语言模型(VLMs)如CLIP,通过在下游数据集上提供出色的性能,已经彻底改变了视觉表征学习。VLMs可以通过设计与数据集相关的提示(prompts)来零样本学习(0-shot)适应下游数据集。这种提示工程利用了领域专业知识和验证数据集。与此同时,生成式预训练模型如GPT-4的最新发展意味着它们可以作为先进的互联网搜索工具使用。它们还可以被操纵以提供任何结构的视觉信息。在这项工作中,我们展示了GPT-4可以用来生成具有视觉描述性的文本,并展示了如何利用这种文本来适应CLIP以完成下游任务。与CLIP的默认提示相比,我们在专门的细粒度数据集如EuroSAT(约7%)、DTD(约7%)、SUN397(约4.6%)和CUB(约3.3%)上展示了显著的零样本学习迁移准确率提升。我们还设计了一个简单的少样本学习适配器(few-shot adapter),它学习选择最佳句子来构建可泛化的分类器,这些分类器在平均性能上比最近提出的CoCoOP高出约2%,在四个专门的细粒度数据集上高出4%以上。代码、提示和辅助文本数据集已公开在github.com/mayug/VDT-Adapter。

1. 简介

视觉描述性文本visually descriptive textual (VDT)

我们将VDT定义为描述所考虑的类的视觉特征的一组句子,包括形状、大小、颜色、环境、图案、组成等。虽然大多数人可以通过它们的名字识别许多不同的常见鸟类,但他们需要获得鸟类描述的鸟类分类学来识别更多的稀有鸟类。同样,我们认为CLIP的0shot精度可以通过将VDT信息合并到提示符中来提高。如图1所示,在文本编码器的嵌入空间中,加入黑冠、黑尾等VDT信息使绿苍鹭的分类原型从绿啄木鸟的分类原型向黑鹭鸟的分类原型移动。

图1:以绿鹭、绿啄木鸟和黑卤鸟为例。绿苍鹭和绿啄木鸟由于提示模板中没有足够的细节而有相近的分类原型。在这里,我们看到在提示符中添加视觉描述解决了这个问题,并将分类原型移动到wordencoder的空间中,这样视觉上相似的鸟类(绿啄木鸟和黑卤鸟)的分类原型就放在一起了。只有文本编码器的嵌入空间是可视化的。

在这项工作中,我们首先展示了我们可以使用目标域中每个类的VDT信息来构造类条件提示,从而实现比CLIP默认提示的性能改进

我们关注生成式预训练大型语言模型(llm)的最新进展,如GPT-4,以一种易于扩展到其他数据集的方式构建这些类条件提示。这些模型非常适合构建复杂提示的任务,因为:1)它们是人类知识的浓缩形式(在网络规模的文本数据上训练)[33];2)它们可以被操纵以产生任何形式或结构的信息,这使得与CLIP的提示风格的兼容性相对简单。因此,我们使用GPT-4来构建关于类的视觉描述性文本信息,并在GPT-4提示中特别强调关于形状、颜色、结构和组合性等视觉线索。我们使用生成的VDT信息来构建提示集合,这些集合通过CLIP的文本编码器并聚合以生成分类器,然后用于0-shot分类。使用GPT-4可以避免对领域知识的需要,并方便地提供类条件提示。提示集成VDT句子降低了CLIP对提示中微小变化的性能敏感性。

最后,我们设计了一个简单的适配器,它可以学习自适应地选择和聚合任何给定数据集的最佳句子,并表明利用这些额外的VDT信息也可以提高CLIP的少镜头域传输性能。我们在12个数据集的基准上证明了最近提出的Base-to-New设置的少拍自适应性能,并且优于最近的方法,如CoOp[36]和CoOp[35],尽管模型参数更少,训练时间更短,模型架构更简单。

简而言之,我们的贡献如下:

1.我们发现在提示符中加入视觉描述性文本(VDT)信息可以提高CLIP的零样本域传输性能

2. 我们使用GPT-4以可扩展的方式生成VDT句子,并在零样本域传输中显示出比CLIP一致的性能改进

3. 我们设计了一个简单的适配器网络,以利用这些额外的信息进行几次传输,并在Base-to-New设置中显示比CLIPAdapter和coop[35]等方法进行几次域传输的性能改进

4. 我们发布了所有12个数据集的所有VDT信息,以促进大型VLMs低样本域转移的多模态提示和适配器设计的进一步研究

2. 相关工作

并行工作[16]利用GPT-3通过在CLIP的嵌入空间中匹配gpt生成的候选文本来生成特定于图像的细粒度文本,并使用它们来改进下游分类。

我们使用GPT-4进行辅助数据收集,在字编码器空间中进行集成,并引入了一个多样本适配器,以便在多样本推理中进行最佳的VDT选择。[27]在扩散模型中使用GPT-3进行快速构建,生成支持集的图像,而我们的工作仅使用GPT4获取辅助文本数据。据我们所知,我们是第一个提示GPT-4视觉描述性句子,以提高CLIP的零样本和少样本的推理

3. 方法

3.1. 回顾CLIP和CLIP- adapter

通过在大规模图文数据集上进行对比性预训练,CLIP能够对各种概念进行分类,将相关的图像和文本在共享的嵌入空间中进行对齐,同时将不相似的进行分离。在预训练之后,CLIP直接在目标数据集上进行图像分类,而无需任何微调。首先,我们回顾CLIP模型如何在开放集上进行零样本学习(0-shot)分类。

CLIP模型包括一个视觉模型和一个语言模型,它分别将图像及其对应的描述编码为视觉嵌入和文本嵌入。在推理过程中,这些嵌入通过余弦相似度进行比较。给定一个图像I ∈ RH×W×C,其中H、W、C分别表示图像的高度、宽度和通道数,视觉编码器将图像转换为联合嵌入空间以获取图像特征f ∈ RD,其中D表示特征的维度。

在推理过程中,使用诸如“A photo of {classname}”这样的提示模板来为K个不同的类别生成句子,并将这些句子通过文本编码器以产生分类器权重矩阵W ∈ RD×K。然后,通过将图像特征f与W相乘并应用softmax函数来计算预测概率

f=\text{Backbone}(\mathbf{I}), p_i=\frac{\exp(\mathbf{W}_i^Tf)/\tau}{\sum_{j=1}^K\exp(\mathbf{W}_j^Tf)/\tau},\quad(1)

在CLIP [25]中,零样本学习(0-shot)领域迁移利用了提示模板中的特定领域信息,例如对于鸟类图像,可以使用“A photo of a {class-name}, a type of bird”这样的模板。[25]报告称,精心设计的提示和提示集成对于提高零样本学习分类的准确率很重要。提示集成是通过为每个类别构建多个提示,然后平均这些分类向量来实现的。在我们的工作中,我们展示了VDT(视觉描述模板)的提示集成可以改善CLIP的零样本学习领域迁移

CLIP-A [9] 是一个可学习的多层感知机(MLP)适配器,应用于图像和/或单词编码器的特征,以实现向目标数据集的少样本学习迁移。在少样本学习迁移过程中,给定每类N个带有标签的图像,记作(xi,k,yi,k)i=1,j=1...N,k=1...K,通过使用提示模板H和文本编码器g来构建K个分类器权重,即W = g(H(classname ({yi,k})))。图像特征f和文本特征W通过可学习的适配器Av、At进行适配,以得到适配后的特征,如下所示:

其中,α和β是超参数,用于控制原始特征和适配后特征之间的权重。T表示转置操作。

超参数α和β将CLIP的知识与微调后的知识相结合,以避免CLIP-Adapter过拟合。根据公式1计算logits,并使用整个训练集(xi,k,yi,k)i=1,j=K i=1,k=1上的交叉熵损失来优化Av和At

在“All”设置中,少样本学习迁移是在一个保留的测试数据集上进行测试的,该测试集包含用于训练的K个类别的图像。而在[35]提出的“Base-to-New”设置中,评估是在U个非重叠的类别上进行的。我们的模型在更实用的“Base-to-New”设置下进行评估。

3.2. 语言模型提示设计

在本节中,我们将演示VDT如何增强CLIP的0-shot迁移功能,并概述使用LLM生成特定于类的提示符的方法。

3.2.1视觉描述性句子

[25]表明,精心设计的提示和提示集成可以提高CLIP的零样本学习分类性能。在这里,我们提出一个问题:可以在提示模板中添加什么类型的信息来改进零样本学习领域迁移的性能?我们展示了在提示模板中添加视觉描述性信息并进行集成,可以比默认提示和包含非视觉信息的提示更好地改善零样本学习性能

使用带有专家标注的CUB数据集,我们对比了视觉和非视觉提示集成在零次学习中的性能。对于视觉提示,我们采用了描述颜色、图案、形状等属性的类属性向量,这些属性涵盖了28个鸟类身体部位,每只鸟对应312个得分。我们使用最显著的属性-值对来形成28个视觉提示(表示为Visual-GT),例如“一张绿鹭的照片。绿鹭有一个绿黑色的头冠。”相反,对于非视觉提示(表示为NonVisual-GT),我们收集了关于鸟类叫声、迁徙、行为和栖息地等信息,为每个类别生成了12个不同的提示,如“一张绿鹭的照片。绿鹭的叫声是一种响亮刺耳的‘skeow’声。”

我们通过在CLIP的联合嵌入空间内平均类级别的句子嵌入来推导Visual-GT和NonVisual-GT的分类向量,同时考虑到其77个标记的限制。表1显示,使用NonVisual-GT提示并没有比默认提示有所改善,但使用Visual-GT提示则有4%的性能提升

3.2.2提示llm提供视觉描述性信息

在上一节中,我们强调了使用专家VDT(视觉描述文本)信息来创建特定类别的提示,以增强CLIP的零次学习性能。然而,获取专家标注既昂贵又耗时。为了克服这一难题,我们利用了以大规模知识和灵活性著称的GPT语言模型[33]。我们的方法涉及使用GPT-4为任何给定数据集生成视觉描述,从而帮助以可扩展的方式为CLIP构建提示集成

我们的提示策略受到了链式思考提示[30]的启发,具体步骤如下:首先,我们请GPT-4列出可能需要用于区分K个类图像的所有属性。然后,我们请GPT-4以句子的形式为所有K个类提供这些属性的值。CUB数据集的一个例子如图1左侧所示。

K 类鸟类

[黄喉莺是一种中等大小的鸟,喙略呈钩状,上颚深色而下颚浅色。黄喉莺的头部特征是黄色喉咙,白色,眼环延伸至两侧至头顶。]

[环颈翠鸟是一种大型、长腿、直颈的鸟,喙大、长且直,黑色,基部稍浅。环颈翠鸟的头部特征是蓝灰色,带有白色领圈和蓬松的冠羽。环颈翠鸟的身体特征是蓝灰色的上半部分,白色的下半部分带有蓝灰色条纹(雄性)或红褐色条纹(雌性)。环颈翠鸟的翅膀是蓝灰色,没有翅带,大而有力。环颈翠鸟的尾巴是蓝灰色,长而宽。环颈翠鸟的腿是短而强壮的灰色。环颈翠鸟的独特特征是体型大,叫声独特,常在水边被发现。]

M句(M sentences)

哪些属性对于识别鸟类物种的图像是有用的?

在通过图像识别鸟类物种时,有几个属性可能是有用的。这些属性包括:

  1. 大小:注意鸟类相对于其周围环境或其他鸟类的大小,是看起来小、中等大小还是大。
  2. 形状:观察鸟类的整体形状,包括身体比例、头部形状和尾巴长度。
  3. 颜色:注意鸟类羽毛的颜色、图案和身体不同部位的标记,如头部、翅膀、背部、胸部和尾巴。
  4. 喙的形状和大小:观察鸟类喙的形状和大小,因为不同物种之间的喙可以有很大的差异。

现在,为以下鸟类提供具有这些属性值的句子:黄喉莺、环颈翠鸟……

表1的最后一行显示,GPT-4生成的视觉描述句子的性能与由领域专家标注的类属性向量生成的句子性能相似。我们对基准套件中的所有数据集都采用了相同的简单策略,以可扩展和灵活的方式生成视觉描述性句子,并使用这些句子来构建提示集成。

3.3. 用于视觉句子的简单的少样本适配器

我们设计了一个简单的适配器,该适配器可以利用视觉描述文本(VDT)信息来改善CLIP模型在目标数据集上的少样本迁移能力类似于CLIP-A文本适配器,我们在词编码器的输出后附加了一组可学习的参数,并使用交叉熵损失来训练这个适配器。我们的CLIPA-self使用了一个自注意力层,该层对每个类别的不同句子嵌入进行注意力处理,并对输出进行平均,以得到最终的分类向量

给定我们为K个类中的每个类别都生成了M个由GPT生成的句子t_{m,k},我们通过将每个句子附加到提示模板中(如H( classname (y_{i,k}),{t_{m,k}))来构造M个提示,并将它们通过CLIP的词编码器进行传递,以得到Wsent ∈ RD×M×K。这里,Wsent 是一个三维张量,其中D是词嵌入的维度,M是每个类别中句子的数量,K是类别的总数。

对于自注意力适配器,我们在所有视觉描述性句子上应用标准的自注意力机制[28],以便在训练过程中学习选择和聚合与识别每个类别最相关的视觉句子。与之前一样,我们首先获得所有句子的分类向量Ws∈RK×M×D,并将它们作为键、查询和值传递给自注意力模块Bself​,然后对输出标记进行平均以得到最终的分类向量W。在这里,注意力是应用于M个不同的视觉描述性句子上的

(4) 平均每个类别的所有视觉描述性句子的原始分类向量Ws​:

(5) 应用自注意力模块Bself​到每个类别的所有视觉描述性句子的分类向量上,并输出新的加权向量
这里假设对M个视觉描述性句子进行自注意力计算,每个句子都有一个对应的分类向量Wsm,k​​。

(6) 对每个类别的加权向量进行平均,得到平均后的向量Wa−mean​:

(7) 最终的分类向量W是平均后的向量Wa−mean​和原始平均向量Wavg​的加权和,其中β是一个超参数:

注意:这里Wa−meanT​表示对Wa−mean​进行转置,因为可能需要将维度与Wavg​对齐,以便能够相加。

我们最终得到了新的适配器分类器权重W∈RD×K,这些权重已经过调整,以关注任何给定数据集中M个视觉描述性句子中最具视觉区分性的信息。我们利用这些权重来计算概率,并通过选择概率最高的类别来预测图像的类别

在少样本训练中,仅使用交叉熵损失来训练适配器网络Bself​的权重。

4. 实验

在少量的训练中,自注意机制学会了从视觉描述性文本集中选择最相关的视觉句子,并帮助产生可泛化的分类器

对于斯坦福汽车和FGVC来说,有趣的是,配色方案是最少使用的属性之一,因为很难从颜色或涂装中识别汽车或飞机。对于UCF-101来说,涉及的力等信息或动作的速度和运动范围等时间信息不太可能被编码到图像中,因此不被注意机制选择。关于动作的主体和客体的信息,如人的姿势,对客体的描述,以及客体之间的互动,在图像中是可见的,因此受到注意机制的高度重视。

5. 结论

在这项工作中,我们展示了使用视觉描述性文本(VDT)信息可以提高CLIP在0样本学习域迁移任务上的性能,相较于非视觉信息和默认提示。我们通过在12个基准数据集上改进0样本学习域迁移性能,证明了GPT-4是VDT信息的准确且灵活的来源。我们的少样本适配器CLIP-A-self学会了从GPT生成的集合中选择最佳的VDT信息,并在Base-to-New设置中提高了少样本域迁移性能,即使生成的文本质量下降也是如此。我们发布了所有12个数据集的提示和VDT信息,以促进在利用大型语言模型(LLMs)学习多模态适配器以用于基础模型这一富有成果的研究方向上的进一步研究。

读后总结

出发点:精心设计的提示和提示集成对于提高零样本学习分类的准确率很重要。

创新点1:通过GPT-4列出k个类别图像的所有属性,再让GPT-4以句子的形式为k个类别的所有属性生成句子,作为clip的文本编码器的输入。 

创新点2:提出一种简单的少样本适配器,其中,通过对k个类别的所有句子进行自注意力机制计算(自注意力机制可以从视觉描述性文本集中选择最相关的视觉句子),然后将自注意力得到的向量和原始向量相加后进行平均计算得到文本向量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1846619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在小公司可以做大模型吗?心得经验分享_第一份工作在小公司做大模型好吗

导读 继ChatGPT发布以来,各种大模型相继问世。近日Sora也突然走入大众的视野。那么做模型是否只有OpenAI这种巨头公司才能做呢,答案是否定的。在小公司做大模型,是可以的。本文作者结合切身经历,回答了如何在小公司做大模型。 在…

管道液位传感器在扫地机器人的应用

管道液位传感器在扫地机器人中的应用正日益受到重视。随着人们生活压力的增加,扫地机器人成为了解决家务烦恼的得力助手,而其中一个重要功能就是缺水提醒。实现这一功能的关键便是管道液位传感器。 管道液位传感器能够及时监测水箱中水的水位&#xff0…

Vue的学习之安装Vue

目录 一、Vue的特点 二、Vue的学习 一、Vue的特点 1.采用组件化模式(xxx.vue包含htmlcssjs) 2.声明式编码,编码人员无需直接操作DOM,提高开发效率 3.使用虚拟DOM优秀的DIFF算法(DIFF是用于新旧虚拟DOM的比较&#…

《图数据库:理论与实践》书籍销售火爆,二次印刷重磅来袭!

好书共享,就在此刻! 由创邻科技联合电子工业出版社匠心打磨三年,最终成稿的图数据库书籍《图数据库:理论与实践》发行上线后,获得了广泛好评,各平台销量迅速破千,并荣登京东 “数据库图书榜”热…

户外LED灯电源维修

户外LED灯防雨电源维修 户外 LED 灯电源损坏,导致 LED 灯不亮,拆下电源,拆出电路板,经过检查因为户外潮湿,导致腐蚀短路,引起全桥硅整流元件 GBU808 损坏,保险丝没有损坏,可以预见其…

SM3在线计算工具

SM3是中华人民共和国政府采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布。相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。 在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法…

vscode禅模式怎么退出

1、如何进入禅模式:查看--外观--禅模式 2、退出禅模式 按二次ESC,就可以退出。

cesium for unity 打包webgl失败,提示不支持

platform webgl is not supported with HDRP use the Vulkan graphics AR instead.

【深入浅出MySQL】「数据同步架构」分析探索Canal开源技术原理和架构

分析探索Canal开源技术原理和架构 背景说明Canal基本介绍Canal作用方向MySQL同步原理Binlog Dump交互Binlog的协议模型Canal的模拟slave角色Canal的消费订阅 Canal Server模块Canal Instance模块参考资料类似开源项目 背景说明 在早期阶段,阿里巴巴B2B公司由于其在…

cefsharp 修改请求头request.Headers,以实现某种请求验证(v100+已测试)含主要源码和注释

(一)目的:cefsharp实现修改请求头 Tip:网上搜的很多代码都无法实现(要么版本较低,方法有变,要么就行不通),较多的错误是:集合属性只读。其中一个bili网友的测试方法注解一张图,但没有具体代码。参考一下。 (二)实现方法 2.1 创建对象 ChromiumWebBrowser home…

深度解析SD-WAN在企业组网中的应用场景

在现代企业快速发展的网络环境中,SD-WAN技术不仅是实现企业各站点间高效连接的关键,也是满足不同站点对互联网、SaaS云应用和公有云等多种业务需求的理想选择。本文将从企业的WAN业务需求出发,对SD-WAN的组网场景进行全面解析,涵盖…

vscode CMAKE 配置调试

概述 记录使用VSCODE中的CMAKE拓展构建项目时出现的报错 CMakePresets.json: {"version": 6,"configurePresets": [{"name": "x64-debug","displayName": "x64-debug","cmakeExecutable":…

2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据+计算过程+计算结果)(以2000年为基期)

2000-2023年各省名义GDP、实际GDP、GDP平减指数数据(含原始数据计算过程计算结果)(以2000年为基期) 1、时间:2000-2023年 2、范围:31省 3、指标:名义GDP、国内生产总值指数、实际GDP、GDP平减…

邀请函 | 桥田智能出席AMTS展会 家族新成员正式发布

作为国际汽车制造技术与装备及材料专业展览会,AMTS将于2024年7月3-5日在上海新国际博览中心举行。本届展会以【向“新”而行 “智”领未来】为主题,聚焦汽车及新能源全产业链,围绕“车身工程、部件工程、新能源三电工程及未来汽车开发”等技…

从数据资源到数据资产之数据要素及其市场运作【AMT企源】

题记 本文旨在探讨企业数据资产化的过程中,数据要素及其资产化市场的构成,形成可交易的数据产品的过程,以及如何在大数据交易市场中发挥价值。最后通过一个典型案例的分析,浅谈数据要素的社会化配置与数据资产的入表,…

G7易流赋能化工物流,实现安全、环保与效率的共赢

近日,中国物流与采购联合会在古都西安举办了备受瞩目的第七届化工物流安全环保发展论坛。以"坚守安全底线,追求绿色发展,智能规划化工物流未来"为主题,该论坛吸引了众多政府部门、行业专家和企业代表的参与。G7易流作为…

“用友审批+民生付款”,YonSuite让企业发薪更准时

随着现代企业经营模式的不断创新和市场竞争的加剧,企业薪资管理和发放的效率、准确性和及时性已成为企业管理的重要一环。然而,在实际操作中,许多企业面临着薪资管理复杂、发放流程繁琐、数据不准确等难点和痛点。为了解决这些问题&#xff0…

【AI工具】探索创意与效率:xs.tools 网站介绍

在这个数字化时代,工具的创新和效率对我们的日常工作和生活至关重要。"xs.tools" 网站是一个汇集了众多有趣且实用的小工具的平台,它不仅帮助用户快速找到所需的工具,还能激发灵感,提升创造力。 一、网站概览 "xs.tools" 提供了一个简洁而直观的界面…

利用GD32F470的定时器实现频率和占空比测试

1&#xff09;main函数代码如下&#xff1a; #include "gd32f4xx.h" #include <stdio.h> #include "gd32f470i_eval.h" #include "systick.h"void TIM_PwmInit(void) {rcu_periph_clock_enable(RCU_GPIOA);/* PWM输出管脚为复用推挽模式 …

ssl证书90天过期?保姆级教程——使用acme.sh实现证书的自动续期

腾讯云相关文档相关参考-有的点不准确 前言 最近https到期了&#xff0c;想着手动更新一下https证书&#xff0c;结果发现证书现在的有效期只有90天&#xff0c;于是想找到一个自动更新证书的工具&#xff0c;发现了acme.sh&#xff0c;但是网上的文章质量参差不齐&#xff0…