code:
https://github.com/ferjad/I2DFormer
abstract
最近研究表明,在线的非结构化文本可以作为zero-shot图像分类的有用辅助信息,然而这些方法需要访问像维基百科这样的高质量信息源,而且仅限于单一的信息源。使用互联网大规模文本进行训练的LLM显示出很好的能力,可以将所学到的知识重新用在多个任务。在这项工作中,文章提出一个新的角度,即使用LLM为零次学习图像分类模型提供文本监督。给LLM提供一些来自不同注释者的文本描述作为示例。LLM以这些例子作为条件,为多个类生成文本描述(称为视图)。
我们提出的模型I2MVFormer可以利用这些类的视图学习多视图语义嵌入,用于零次学习图像分类,文章研究表明,一个类别的每个文本视图都能提供互补的描述信息,使模型能学习到高区分度的class embedding。
1.Introduction
零次学习ZSL中,要求在一组训练过的图像分类模型用共享的辅助信息来识别未见的类。大多数需要人工标记的标签或者属性,这些标签或属性虽然功能强大,但是成本很高并扩展困难。用无监督训练的生成标签的方法依赖预训练中的word embedding,但这提供的信息有限。
最近研究表明维基百科等互联网来源可以为ZSL提供大量的辅助信息,在网络规模文本上训练的大语言模型(LLM)已经显示出令人深刻的能力,可以将学到的知识解决很多任务。这些模型可以通过k-shot训练进行调整,从而利用他们训练多个来源的知识。
文章的贡献:
- 文章首次研究了使用k-shot prompt的LLM为零次学习的图像分类生成辅助信息,此外还提出了一种从LLM中提取多种描述的prompt策略,这些描述是一个类的多文本描述,下文称为“视图”。
- 提出了I2MVFormer,是一种基于transformer的新型ZSL图像分类模型,利用文本监督的多个互补源来学习class embedding。I2MVFormer利用单视图摘要(SVSummary)模块从每个类视图中提取丰富的判别信息。多视图模块(MVSummary)模块利用这些信息来表示多个视图的类标签集。多视图标签跟图像对齐,最大限度提高图像和多视图之间的全局和局部兼容性。
- I2MVFormer在三个baseline上实现了显著的性能提升,在ZSL无监督类嵌入方面建立新的SOTA。
2. Related Work
Zero-shot learning零次学习就是模型识别未经过训练的类。
Unsupervised semantic embedding无监督语义嵌入利用不需要人为干预的“侧面”信息,学习已见和未见类的语义嵌入,这一个方向上最优影响力的工作是使用预训练模型中的单词嵌入来编码语义相关性,并使用KG来对其进行完善。
Large Language Models (LLM)大语言模型,如GPT、OPT、PaLM都是在非常大规模的网络数据集上训练。模型一经训练可以在开放问答、代码生成和文本摘要等多种任务进行零次或少量推理。但是目前还没有研究利用LLM生成辅助信息进行零次学习镜头分类。
3. Generating multiple text views with an LLM
我们将一个类的描述定义为其的“视图”,之前的研究使用维基百科等来源单一的视图虽然功能强大,但是对于频域较低的类来说,可能会出现知识空白。利用模型存储来自互联网知识的特性,文章提出了使用预训练的LLM生成一个类的多视图文本描述。
LLM需要大量的prompt工程才能获得良好的k-shot输出,但LLM有few-shot学习的能力,可以为每个类生成文本描述。给定一组注释例子,就可以提示LLM模仿这个语言风格,为数据集中所有类生成文本监督。
4. I2MVFormer
文章提出的模型 图像到多视图转换器(I2MVFormer)利用每个类别的多视图知识来学习零次学习模型。I2MVFormer由两个转换器流组成,分别用于处理视觉数据和文本数据。I2MVFormer将每个视图的全局信息与图像以及细粒度信息进行对齐。
注释:文章将训练集中的类别表示为,将在测试集中才有的未见类别表示为,作为训练集,x表示训练图像中的RGB图像,y是已见类别中的标签,是q个视图的文档集,是类别的视图集。测试时会给定另外的集合
4.1 Image Transformer
在图像方面,我们的模型有作为一个embedding函数的功能,给定一个图像,模型将其重塑成一串扁平化的二维图像序列,此外我们会给添加一个CLS标记,作为图像转换器的输入,以学习全局图像表示。
模型输出作为图像的全局特征,则是输入图像的嵌入。
4.2 SVSummary: Extracting class level summary from each view
文章的单视图摘要SingleViewSummary (SVSummary module)是一个文本转换器,旨在将表示每个文本描述(视图)中最具辨别力的信息放到一个摘要标记的固定集合中。每个视图的第一个摘要标记专门作为 CLS 标记,其中包含该视图的全局特征,用于下一步的全局对齐。
4.3 I2MVGlobal: Learning global compatibility between image and multiple views
我们使用图 2 中每个视图的 CLS 标记,并在视图维度 q 上取平均值,得到全局特征。定义为 ,我们将与图像编码函数 F 中的全局图像级特征 对齐。为此,我们定义一个评分函数 ,以点积的形式衡量 和 之间的兼容性:
学习目标旨在为正确的配对赋予高分,否则赋予低分。对于特定的训练实例 (x、y、v),我们要最小化以下交叉熵损失:
4.4. MVSummary: Generating multi-view summary from all view
仅仅将图像的全局特征和文本描述对齐会导致过拟合的问题,要缓解这个问题,需要在所有图像和文档标记之间进行cross-attention,随着每个类可用文本的增加,交叉关注的成本也会越来越高。SVSummary 模块可以在降低内存成本的情况下实现这一点,因为它可以生成固定数量的摘要标记。
文章将每个视图的摘要标记标记(I2MVGlobal模块用的CLS标记除外)串成视图维度q,用来定义所有视图的摘要,随着每类视图的增加,将呈线性增长,根据图像的局部特征进行对齐会变得很昂贵。通过多视图摘要转换器(MVSummary)模块来缓解这一问题,该模块引入了一组多视图摘要标记 ,其中包含 T 个可学习标记。这些标记旨在将所有视图的局部摘要归纳为一个类多视图摘要。文章将 和 连接起来,作为可学习的transformer的输入,与 中的标记相对应的输出特征表示特定类的多视图局部摘要。
4.5. I2MVLocalSearch: Fine-grained alignment between image and summary
I2MVLocalSearch 旨在将图像特征嵌入与多视图摘要标记对齐。核心理念是,每个摘要标记都专门标记由类的多个视图所定义的类的一个方面。鼓励模型关注对细粒度分类非常重要的局部特征。
总结:SVSummary 使每个文档视图都有机会描述类的机会。MVSummary 利用这些生成一个多视图类摘要,随后由我们的 I2MVLocalSearch 使用。这个多视图摘要与补丁级图像特征保持一致,以促进细粒度特征学习。
5. Experiments
其他实验请自己查阅论文