视觉语言模型(Vision-Language Models, VLMs)是一种结合了计算机视觉与自然语言处理技术的模型。通过深度学技术,特别是注意力机制和Transformer架构实现了处理和理解视觉(图像)和语言(文本)两种模态的信息,并在多个领域展现出巨大的潜力和重要性。
下面的内容主要是介绍VLM的基础(VLMs,模型评估等),以帮助我们快速入门。
VLM家族
- 对比式(Contrastive),思想是同性相吸,异性远离。具体来讲对于正例,即文图匹配情况下,它们具有相似的表示。反之负例,它们具有不相似的表示。基于这种训练范式的代表模型是Contrastive Language-Image Pre-training (CLIP)3。
- 遮掩式(Masking),做法是给文本和图片,遮一个预测一个。具体来讲给定文本,遮掩的图片,现训练一个VLM以重构图片的缺失部分。
- 生成式(Generative),做法是给文生图,给图生文。具体来讲给定文本,训练一个模型,要生成一个图片,或者反之。代表模型是Stable Diffusion4。
- 预训练式(PreTrained),思想是借力打力。借助训练好的模型,学习不同模态特征之间的映射。具体来讲就是给你训练好的LLM和Image编码器,你可以得到图片和文本的特征,训练一个模型,在这两个特征之间建立映射。比如Mini-GPT5。
图1 VLMs家族
VLM的训练
大的网络规模确实可以进一步提升深度神经网络的表现。但是数据整理、模型的选择、锚定(Grounding)和对齐等也都很重要。
图2 训练VLMs时的要素
训练数据
为了评估数据集的质量,DataComp提出了一个基准,固定CLIP的模型架构和预训练的超参数,设计能在38个下游任务上取得不错的零样本和检索能力的图像-文本数据集。它同时指出,数据剪枝很重要,通过有如下方式:
- 去杂,通过启发式方式或者预训练的模型方式。对于启发式,比如过滤掉低分辨率的图片,非英语的文本等。对于预训练模型方式,通过预训练模型对图像-文本对打分,丢掉评分低的。
- 数据均衡化,通过创建多样的平衡的数据集,从而提高模型的泛化性。
提升训练数据集质量的方式有:
- 使用合成数据
- 使用数据增强,这里的数据增强是说通过对输入数据进行变换(例如CLIP5,CLIP-rocket6),利用变换后的数据训练模型,以此增强模型学习能力。
- 交错数据整理,这里的交错数据是指同时包含文本和图像,并且某种程度上相互关联的数据。
- 评估多模态数据质量,即缺少整体的方法以评估多模态数据的质量
- 人工标注
模型的选择
- 对比式模型,对比式模型通过图文表示空间匹配,因此训练范式较为简单。但是它不是生成模型,只能从已有的数据库检索,得出最适配的图或文,从而增加了推理的开销。同时,此类模型的训练需要较大的数据库的支持,需要巨大的训练资源。
- 掩码式模型,相比对比式模型,这类模型需要一个解码器,虽然增加了额外的计算开销,但是无需负例样本,训练变得相对容易些。
- 生成式模型,通过学习图文的联合分布,针对提示,它可以生成最合适的内容而无需检索数据集,寻找最合适的内容。然而其训练开销巨大。
- 预训练模型,如果你具有较少的计算资源,预训练模型将会是一个很好的选择。但是,模型表现同样受限于预训练模型。
提升锚定(Improving grounding)
锚定要解决的是如何让模型更好的理解图文内容,以避免忽略文本提示词或者产生幻觉内容。主要有以下方式,
- 使用边界框注释
- 增加否定描述,如图2 Grounding内容,其增加了图不匹配的文字,以使得模型理解文字不同部分的细微差异。
提升对齐(Improving alignment)
想要提高图文对齐能力,可以通过以下方式:
- 指令微调,即将训练好的大模型进行微调,以更好的适应需求。
- 基于人类反馈的强化学习,即训练奖励模式匹配人类偏好,使得训练的模型更接近人类的偏好。
微调技术
训练VLMs需要巨大的计算开销,因此,调节完整的模型往往是不现实的。为了应对这个挑战,**Parameter-Effcient Fine-Tuning (PEFT)**方法被提出。其主要思想是专注于微调部分参数,而不是完整模型,主要有如下类别,具体的解释可以去看原文2
- 基于LoRA的方法
- 基于Prmopt的方法,利用特殊设计的输入,或"提示词",以指导预训练模型的行为。例如优化提示词上下文或者引入一个小规模可训练的参数等。
- 基于Adapter的方法
- 基于Mapping的方法
VLM的评估
我们通过测试VLMs是否有能力关联图文来评估VLMs,大致可以从简单的事物描述到事物的理解角度进行测试。
图3 VLMs的评估
具体来看,有如下等评估方法,
- 图像描述(Image captioning),例如,通过对模型生成的图像描述进行打分以评估,打分越高说明文字越接近图像内容。
- 文本到图像的一致性,例如,CLIPScore被用于图像生成以评估生成图像和文字提示之间的一致;又如利用语言模型(LM)生成文字提示(例如,是否图中有描述文字),视觉问答(VQA)模型根据生成的图像回答yes或者no等。
- 视觉问答,最常见的评估方法之一,通过提问的方式来检验模型对图像的理解。
- 文本中心的视觉问答,针对图像中文本内容进行提问,要求准确提取图像中的文本,理解文本结构和顺序,推理文本和图像内容的关联。
- 零样本图像分类,基于零样本图像分类以检测VLMs是否具备足够的世界知识。
- 视觉语言组合推理(Visio-linguistic compositional reasoning),以回答yes或者no二分类方式,检验模型是否可以联系正确的描述与图像,相比之前的一致性,这里是强调推理。例如Winoground任务,如图3可见,每一个实例包括两个极易混淆的图和对应描述,这种分辨任务是极具挑战性的;而Attribution,Relation,and Order(ARO)被引入评估模型对关系,属性和顺序的理解,如图3可见。
- 密集的描述和裁剪描述匹配(Dense captioning and crop-caption matching)
- 合成数据,由于真实数据会出现不匹描述文本内容的情况,比如我描述文本是猴子背着人等,而合成数据可以解决这个问题。
扩展
VLMs已经取得了不错的成功,近期视频-语言模型也取得了不错的进展,如VideoDiffusion7等。那是否也可以将VLMs中的内容迁移到视频-文本方面呢,也是未来研究的方向。
Footnotes
-
[2103.00020] Learning Transferable Visual Models From Natural Language Supervision (arxiv.org) ↩
-
[2112.10752] High-Resolution Image Synthesis with Latent Diffusion Models (arxiv.org) ↩
-
[2304.10592] MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models (arxiv.org) ↩ ↩2
-
Improved baselines for vision-language pre-training | OpenReview ↩