大数跨境
0
0

ICCV23|南科大VIP Lab: 基于预训练视觉语言模型及大语言模型的Zero-Shot的图像到文本生成

ICCV23|南科大VIP Lab: 基于预训练视觉语言模型及大语言模型的Zero-Shot的图像到文本生成 极市平台
2023-09-09
1
↑ 点击蓝字 关注极市平台
作者丨Elysia@知乎(已授权)
来源丨https://zhuanlan.zhihu.com/p/650978112
编辑丨极市平台

极市导读

 

不使用任何图像-文本对,ViECap在多个I2T任务上表现出了SOTA的迁移性(跨数据集测试,NoCaps),并能够生成用户期望风格的文本(幽默,浪漫)。 >>关注公众号,后台回复「极市干货」即可获取最新整理CV知识内容合集

和大家分享一下我们组ICCV2023中稿的零样本图像-文本(I2T)生成工作ViECap。该任务目前的一个主流做法是结合预训练的视觉语言模型(VLMs)和大语言模型(LLMs)来完成I2T的生成,然而我们发现在微调VLMs和LLMs以结合这两个预训练模型时,目前的方法至少存在两个问题:

1. 模态偏置,即在文本生成的过程中,来自LLMs的语言先验会占据生成过程的主导地位,这是由于通常情况下LLMs的能力更强,且来自视觉的指导的强度弱导致的。

2. 物体混淆,即这些在大量数据上进行过预训练的大模型的泛化能力将会退化到指定的微调数据集,从而导致I2T模型生成的文本中出现图像中并不存在的物体(而该物体在微调数据集中非常常见)。

该工作通过实验进一步验证了这两个问题,并基于此提出了ViECap。不使用任何图像-文本对,ViECap在多个I2T任务上表现出了SOTA的迁移性(跨数据集测试,NoCaps),并能够生成用户期望风格的文本(幽默,浪漫)。

Transferable Decoding with Visual Entities for Zero-Shot Image Captioning

Paper: https://arxiv.org/abs/2307.16525

Code: https://github.com/FeiElysia/ViECap

效果展示

任务介绍

零样本图像-文本(I2T)生成任务的主要目的是使模型没有事先在特定的图像-文本对上进行训练的情况下,能够生成与给定图像相关的文本描述。即在模型看到新的图像时(训练时没见过的新物体,训练时没见过的新图像分布),能够根据模型存储的世界知识生成合理的、与图像内容相关的描述。该任务可以测试模型的泛化能力,即模型能否将训练时学到的知识应用到未见过的图像领域,以生成图像相关的文本描述;该任务允许模型在没有经过特定领域的图像-文本数据训练的情况下,为多种不同类型的图像生成文本描述;该任务可以避免为不同领域收集和标注大量的图像-文本对,从而降低了数据收集和标注的成本。

研究背景和动机

I2T任务是一个重要的视觉感知任务。传统的I2T生成方法需要通过在大量的图像-文本对上进行训练以获得感知图像、与文本对齐并生成文本的能力。最近,VLMs取得了重要进展,在大量带噪的图像-文本对上进行预训练的CLIP具备良好的图像感知能力,并能很好的对齐配对的图像和文本。最近一些工作尝试结合CLIP和LLMs来完成零样本I2T生成任务。为了达到这个目的,需要将CLIP的输出特征对齐到LLMs的隐空间上。

当前有两种方法解决这个问题:

(1)late-guidance的范式在语言模型完成单词预测后再注入视觉信息(如语言模型完成单词预测后使用CLIP计算图像-文本相似度来选择单词),这会导致在解码过程中语言模型具备的语言先验占据主导地位(模态偏置),如上图所示,“jump”虽然与图像无关,但是其与“skateboarder”一起出现的频率较高,进而在预测中出现了这个单词。

(2)early-guidance的范式通过微调预训练模型来显式的指导文本生成过程,这种方式可以极大的缓解模态偏置的问题。但是,在一个小的数据集上微调预训练模型通常会导致模型产生物体混淆,即在描述图像时,经常生成图像中并不存在的物体(这个物体可能频繁出现在训练集中)。如上图所示,在COCO数据集上进行微调的I2T模型,因为没有见过海龟这个概念,当来了一张海龟的图时,模型把海龟误认为“surfboard”(surfboard在COCO数据集里非常常见)。

进一步的验证

为了进一步验证在利用预训练大模型来实现零样本I2T生成任务时存在的模态偏置和物体混淆,我们巧妙的设计几个实验。(1)一个优秀的I2T模型应该能够很好的平衡视觉指导和语言指导,为了验证来自视觉指导的强度,我们设计了如下解码策略。我们首先使用训练好的I2T模型来生成前 mm 个单词,然后我们将生成的 mm 个单词输入给一个预训练好的语言模型来生成最终的文本。我们将数据指导的强度表示为 :

其中, CIDErmodel表示生成的文本完全由I2T模型控制(即 等于句子长度), 表示语言指导的重要性。当模型产生模态偏置 (偏向于语言) 时, 将会较小, 因为此时只需要通过语言模型就能够预测文本。如上图所示 (最左的图), late-guidance方法MAGIC比起earlyguidance的方法CapDec和我们提出的ViECap有一个更小的 , 这进一步证实了lateguidance方法存在的模态偏置。Early-guidance的方法容易产生物体混淆, 为了验证这个假设, 我们使用NoCaps数据集进行测试。NoCaps包含三个子数据集:in-domain, near-domain, out-ofdomain, 用以测试I2T模型对于训练时未见过的新物体的描述能力。

我们使用CLIP来计算图像与生成的文本之间的相似度, 如上图所示(中间的图), 当从in-domain迁移到out-of-domain时, CapDec的性能逐渐下降, 而我们提出的ViECap对于未见过的物体能够保证良好的迁移性。因为物体混淆表示生成的文本中出现本身并不在图像中的物体, 我们进一步分析了不同I2T模型生成的文本中是否能够准确包含图像中存在的物体, 可以看到从in-domain的I2T生成到out-of-domain的I2T 生成, CapDec从60.2下降到了43.6, 产生了严重的物体混淆。

方法介绍

为了避免为不同领域收集和标注大量的图像-文本对, 我们只使用文本数据来微调I2T模型。具体来 说, 我们的目标是训练一个解码器, 使其在解码的过程中能够更多的去关注到图像中的物体, 进而实现良好迁移性。为了达到这个目的, 我们构建两种类型的prompt。

(1) entity-aware hard prompt, 训练时, 我们通过NLTK将文本中的名词提取出来当作从图像中检测得到的物体(即 , 并将之插入到一个prompt模板中形成“There are in the image."来构建entity-aware hard prompt。我们发现简单的使用所有提取得到的名词插入prompt 会导致12T模型学会一个捷径, 即将hard prompt中的所有物体直接复制到生成的文本中。为了规避这种现象,我们提出对每个提取的名词,都按照一定的概率对其进行mask(即每个提取的名词都有可能不会插入到prompt中)。推理时,我们使用冻结的CLIP来检测图像中的 , 这样构建的hard prompt是训练无关的, 不会受到微调数据集的影响, 其能够继承CLIP的零样本迁 移能力。通过这种方式构建entity-aware hard prompt的目的是为了使模型在解码过程中能够更多的关注图像中的物体。

(2) soft prompt, 训练时, 我们只使用文本数据以避免针对不同领域收集 和标注大量的图像-文本对, 我们使用CLIP的文本编码器将文本投射到CLIP的特征空间, 并给该文 本表征添加一个随机高斯噪声使得文本表征尽可能能够表示图像特征(该做法来自CapDec),然 后将之输入给一个可学习的Transformer来将该文本表征投射到GPT-2的隐空间。推理时, 我们直 接使用CLIP的图像编码器来将图像投射到CLIP的特征空间并直接使用训练过的Transformer将之投 射到GPT-2的隐空间来构建soft prompt。值得一提的是, 在输入GPT-2之前, 还需要将构建得到 的entity-aware hard prompt和soft prompt在序列维度级联起来,一起输入GPT-2。

实验

为了验证ViECap描述图像中出现的新物体的能力,我们在NoCaps数据集上进行测试。具体来说,我们在COCO的文本数据上训练ViECap,然后直接在NoCaps上进行验证。如下表所示,对比其他不使用图像-文本对进行训练的方法(DeCap,CapDec),ViECap在描述新物体时,能够生成更加合理且符合图像的描述。从in-domain到out-of-domain,DeCap和CapDec的CIDEr下降了接近35,而ViECap的CIDEr并没有下降,这证明ViECap对于新分布的图像具有更强的迁移性。为了进一步的测试ViECap的迁移性,我们还在跨数据集的设定下进行了测试(即在一个数据集上进行训练,不进行任何微调,直接在另一个数据集上进行测试),可以看到ViECap在大部分文本生成质量的指标上依然能够达到SOTA的迁移性。

除此之外,我们还在通用的I2T数据集COCO和Flickr30k上测试了ViECap的性能,我们分别在这两个数据集的训练集上进行了微调然后再测试集上进行测试。由下表可以看到,ViECap在保持良好迁移性的同时,还能对训练时见过的概念保持优秀的描述能力。只用文本数据进行训练的一个优势是可以让生成的文本符合用户期望的风格,我们在FlickrStyle10K上测试了ViECap,从结果可以看出ViECap能够生成符合用户期望风格的文本(即浪漫,幽默)并在文本生成质量上达到了SOTA。

我们还探索了ViECap在低数据量情况下的性能,如下表所示,可以看到,在数据量较少的情况下,使用ViECap是一个不错的选择。此外,我们还逐步增大ViECap中语言模型的规模(从GPT-2到OPT),随着模型规模的增大,ViECap的I2T生成性能逐渐变强,表格显示继续增大语言模型,没有看到显著上限!



公众号后台回复“数据集”获取100+深度学习各方向资源整理

极市干货

技术专栏:多模态大模型超详细解读专栏搞懂Tranformer系列ICCV2023论文解读极市直播
极视角动态欢迎高校师生申报极视角2023年教育部产学合作协同育人项目新视野+智慧脑,「无人机+AI」成为道路智能巡检好帮手!
技术综述:四万字详解Neural ODE:用神经网络去刻画非离散的状态变化transformer的细节到底是怎么样的?Transformer 连环18问!

点击阅读原文进入CV社区

收获更多技术干货

【声明】内容源于网络
0
0
极市平台
为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
内容 8155
粉丝 0
极市平台 为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
总阅读919
粉丝0
内容8.2k