Vision-Language Models for Vision Tasks: A Survey

news2025/2/22 0:19:53

论文地址:https://arxiv.org/pdf/2304.00685.pdf

项目地址:https://github.com/jingyi0000/VLM_survey

一、综述动机

  1. 视觉语言模型,如CLIP,以其独特的训练方式显著简化了视觉识别任务的流程。它减少了对大量精细标注数据的依赖,使得研究者能够更高效地开展研究工作。

  2. 近年来,大量研究论文证明了研究者对视觉语言模型的浓厚兴趣。然而,目前尚缺乏一篇全面、系统的综述来梳理这一领域的研究进展、挑战和未来方向。因此,本文旨在填补这一空白,为研究者提供一个清晰、全面的视角。

二、为什么要用VLMs?

        视觉识别范式的发展可以广泛地分为五个阶段,包括:

  • Traditional Machine Learning and Prediction:使用手工设计的特征和传统机器学习算法进行训练和预测,需要大量的人工参与和专业知识.
  • Deep Learning from Scratch and Prediction: 使用深度神经网络(DNN)进行端到端的训练和预测,和第一阶段相比,该范式使用DNN代替了人工设计的特征,实现了计算机视觉任务的巨大跨越。不过这方法需要大量标注数据,并且容易出现过拟合问题。
  • Supervised Pre-training, Fine-tuning and Prediction:使用大规模标注数据进行监督式预训练,然后在特定任务上微调并进行预测。和第二阶段相比,该范式在用于特定任务时,可以通过微调的方式来更好地利用有限的标注数据。
  • Unsupervised Pre-training, Fine-tuning and Prediction:使用无标注数据进行无监督式预训练,然后在特定任务上微调并进行预测。相比于第三阶段的监督式方法,更好地利用未标注数据。
  • VLM Pre-training and Zero-shot Prediction:使用视觉-语言相关性进行大规模无监督式预训练,并且可以在各种视觉识别任务中进行零样本预测。和第四阶段相比,这种方法不需要针对特定任务进行微调即可取得出色的效果。

        各个范式的演进过程就是一步步减少中间环节依赖(如人工设计特征、大量人工打标数据、用于特定任务时进行训练/微调)的过程,也是模型的泛化性逐渐提升的过程。VLM Pre-training and Zero-shot Prediction 的范式使得模型训练时不需要人工设计特征,也不需要海量打标数据,并且在用于下游任务时不需要针对特定任务进行微调,直接zero-shot就能取得不错的效果。能实现这一效果的关键就在于强大的预训练VLMs。

三、VLMs视觉语言模型预训练方法的总结与对比

        目前主流的以CLIP为典型代表的Vision-Language Model(VLM)预训练方法可以大致分为3个关键模块:

  • 文本特征提取模块,通常采用Transformer结构及其一系列变体作为基础结构。
  • 图像特征提取模块,通常采用CNN(以ResNet结构为典型代表)或者Transformer(如ViT、MAE等结构)来提取图像特征。
  • 特征融合模块

        在VLM预训练模型中,最关键的问题是将文本和图像这两种模态的信息建立联系,所以下面对其中的特征融合模块做详细介绍。

        特征对齐模块中,以目标函数进行分类的话,大致可以分为三类:

  1. 基于对比学习的方法(Pre-Training with Contrastive Objectives):也称对比式,这类方法通过对比学习来训练模型,使其在特征空间中能够将配对的图像和文本拉近,同时将不相关的样本推远。根据对比学习的输入类型,我们又可以进一步细分为基于图像对比学习、基于图像-文本对比学习和基于图像-文本-标签对比学习的方法。

  2. 基于生成任务的方法(Pre-training with Generative Objectives):也称生成式,这类方法通过训练模型进行图像生成、文本生成或跨模态生成来学习语义特征。它们可以进一步细分为基于掩码图像建模、基于掩码语言建模、基于掩码跨模态建模和基于图像到文本生成的方法。

  3. 基于对齐目的的方法(VLM Pre-training with Alignment Objectives):也称对齐式,这类方法旨在将图像和文本的特征进行匹配,包括全局的图像-文本匹配和局部的图像区域-单词匹配。

        一些常见的VLM预训练方法如下图所示,从下图可以看出,典型的目标函数选择按照对应的方法数量多少可以分为以下几种:

  •         纯对比式目标函数(18篇文章),以CLIP、ALIGN、SLI等为代表。
  •         对比式和生成式相结合(6篇文章),以DeCLIP、FLAVA等为代表。
  •         对比式和对齐式相结合(3篇文章),以FILIP、nCLIP、RegionClip。
  •         纯对齐式(2篇文章),以GLIP、DetCLIP为代表。
  •         纯生成式(1篇文章),以PaLI为代表。

        对比式、生成式、对齐式大杂烩(1篇),以FIBER为代表。

三种目标函数简介

        1.对比式

        对比式目标函数的目的是希望在特征空间使得正样本对之间的距离尽可能接近,而正负样本对之间的距离尽可能远。

        VLM预训练中主要有以下三种模式的对比式目标函数:

        Image Contrastive Learning

        通常用InfoNCE及其变体作为图像对比学习的目标函数

Image-Text Contrastive Learning

通常由两部分构成,一部分为图像特征到文本特征的InfoNCE,一部分为文本特征与其对应的图像的特征的InfoNCE,将这两者结合作为最终的损失函数。

Image-Text-Label Contrastive Learning

在Image-Text Contrastive的基础上还需要加上label的信息,这里

        2.生成式

        主要通过生成误差来建立损失函数,包括几种形式:

  • Masked Image Modelling
    • Masked Language Modelling
    • Masked Cross-Modal Modelling
    • Image-to-Text Generation

        3.对齐式

通过在嵌入空间中进行全局Image-Text匹配或局部Region-Word匹配来对齐图像文本对。

  • Image-Text Matching

  • Region-Word Matching

效果对比

这里主要目标是比较各个VLM预训练模型的能力,在所有任务(包括图像分类、分割、目标检测)上都是比较的zero-shot的结果。

预训练的VLM能够在下游任务中取得较好的zero-shot结果,具备优秀的泛化性能。这得益于三大因素:

    • 大数据——采用图文对这种监督方式,更方便收集大量数据进行训练(如LiT中的4B数据和COCA中的4.8B数据),使得VLM具有强大的泛化能力;
    • 大模型——与传统的视觉识别模型相比,VLM通常采用更大的模型(例如COCA中的ViT-G,有2B个参数),这些模型提供了足够的容量来有效地从大数据中学习;
    • 任务无关学习——VLM预训练中的监督通常是通用和任务无关的。与传统视觉识别中的任务特定标签相比,图像文本对中的文本提供了任务无关、多样化和信息丰富的语言监督,有助于训练出适用于各种下游任务的可泛化模型。

四、视觉语言模型迁移方法的总结与对比

        虽然预训练的Vision-Language Model有着较好的泛化性,可以直接zero-shot用于下游任务,不过距离完美的效果还有一定gap,主要表现在两个方面:

  • 不同下游任务的图像及文本分布可能存在差异
  • 训练目标的差异,预训练模型通常是训练通用的任务无关的特征,而特定的任务需要结合一些任务相关的目标。

        总的来说,VLM预训练得到的模型算是知识面很广的全才,能在特定下游任务上取得比较好的结果,但是还没有成为这一任务的专家。如果能在VLM的基础上,通过迁移学习的方式针对不同的下游任务进行一些微调,便能够在各个子任务中取得更好的效果。以下是几种比较常见的迁移学习的方式。

        因此,除了直接应用预训练的视觉语言模型进行零样本预测外,迁移学习也是提高模型性能的重要手段。本文总结了视觉语言模型的迁移学习方法,主要包括提示调整方法、特征适配器方法和其他方法。

  1. 提示调整方法(Prompt Tuning):受自然语言处理中“提示学习”的启发,这种方法通过调整模型的提示来适应下游任务,而无需对整个模型进行微调。提示调整方法包括文本提示调整、视觉提示调整和文本-视觉提示调整。

  2. 特征适配器方法(Feature Adapter):这类方法通过在视觉语言模型上添加轻量级的特征适配器来进行微调,以适应下游任务的特定需求。

  3. 其他方法:除了上述两种方法外,还有一些研究通过直接微调视觉语言模型、更改模型架构或其他创新手段来进行迁移学习。

        Text Prompt Tuning

        顾名思义,这类方法主要在文本侧做文章,相比手动设计prompt或者进行prompt ensemble的方法,这类方法将text prompt部分设置为可学习的,然后结合特定任务的目标函数对prompt部分进行微。大致如下图所示:

        Visual Prompt Tuning

        和Text Prompt Tuning类似,不过这类方法是在图像侧施展拳脚,比如VP这篇论文加入了一个可学习的图像块,与原始图片像素级相加后作为Image Encoder的输入,并通过特定任务的目标函数进行学习。这种像素级别的调整对于dense类任务比较有效,比如目标检测、分割等。

        Text-Visual Prompt Tuning

        既可以在文本侧做文章进行Prompt Tuning,又可以在图像侧进行Prompt Tuning,那么同时在图像和文本侧兜进行Prompt Tuning也是一件顺理成章的事情。

        基于Feature Adaption进行迁移

        prompt tuning主要是对输入的prompt(包括文本和图像)进行一些调整,而Feature Adaption方法主要是通过加入一个即插即用的“插件”的形式对特征进行调整。下图所示的方法就是一个典型的例子,图中的Feature Adapter结构可以设计成简单的多层感知机之类的网络去适配下游任务,同时加入残差连接的形式确保最差能退化到zero-shot的情况。这类方法的典型代表有Clip-Adapter、Tip-Adapter、SVL-Adapter。

视觉语言模型知识蒸馏方法的总结与对比

        视觉语言模型以其强大的视觉和文本概念理解能力,为复杂任务如目标检测和语义分割提供了新的解决思路。知识蒸馏作为一种有效的模型压缩和性能提升手段,在视觉语言模型的应用中发挥着关键作用。与视觉语言模型迁移方法不同,对视觉语言模型进行知识蒸馏的方法通常不受视觉语言模型架构的限制,并且大部分研究会利用当前最先进的检测或者分割架构的优势来达到更好的性能。在视觉语言模型的知识蒸馏方法中,本文根据应用场景的不同,将其分为两大类:开放词汇目标检测(Open-Vocabulary Object Detection)的知识蒸馏和开放词汇语义分割(Open-Vocabulary Semantic Segmentation)的知识蒸馏。

未来研究方向

        在视觉语言模型的研究中,尽管已经取得了显著的进展,但仍有许多挑战和潜在的研究方向值得进一步探索。

对于视觉语言模型的预训练:

  1. 细粒度视觉语言关系建模:目前大多数视觉语言模型主要关注全局的图像-文本对应关系,但细粒度的视觉语言关系(如物体间的空间关系、属性关系等)对于理解图像内容同样至关重要。未来的研究可以探索如何更有效地建模这些细粒度关系,以进一步提升模型的性能。

  2. 统一视觉和语言特征的学习:Transformer的出现使得图像和文字可以通过相同的方式进行学习,这使得可以采用统一的Transformer架构处理图像和文字。与现有采用两个独立网络的视觉语言模型相比,统一视觉和语言学习可以实现跨模态的有效交流,并有效提升预训练的效率。

  3. 多语言和多文化的视觉语言模型:现有的视觉语言模型主要关注单一语言和文化背景下的图像理解。然而,随着全球化的发展,多语言和多文化的视觉语言理解变得越来越重要。未来的研究可以探索如何构建能够处理多种语言和文化背景的视觉语言模型,以满足更广泛的需求。

对于视觉语言模型的知识蒸馏,可以从两个方面进行探索。首先,可以同时对多个视觉语言模型进行知识蒸馏,通过协调多个视觉语言模型的知识蒸馏来获得更好的效果。其次,除了目标检测和语义分割等任务外,视觉语言模型的知识蒸馏还可以应用于其他视觉任务,如实例分割、姿态估计、视频理解等。未来的研究可以探索如何将这些方法扩展到更多的视觉任务中,以进一步提升视觉识别技术的性能和应用范围。

综上所述,视觉语言模型的研究仍具有广阔的前景和众多的挑战。未来的研究可以从预训练、迁移学习和知识蒸馏等多个方面进行深入探索,以推动视觉语言技术的发展和应用。

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

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

相关文章

文生图大模型三部曲:DDPM、LDM、SD 详细讲解!

1、引言 跨模态大模型是指能够在不同感官模态(如视觉、语言、音频等)之间进行信息转换的大规模语言模型。当前图文跨模态大模型主要有: 文生图大模型:如 Stable Diffusion系列、DALL-E系列、Imagen等 图文匹配大模型:如CLIP、Chinese CLIP、…

Rust---有关介绍

目录 Rust---有关介绍变量的操作Rust 数值库:num某些基础数据类型序列(Range)字符类型单元类型 发散函数表达式(! 语句) Rust—有关介绍 得益于各种零开销抽象、深入到底层的优化潜力、优质的标准库和第三方库实现,Ru…

Unity中UI系统1——GUI

介绍 工作原理和主要作用 基本控件 a.文本和按钮控件 练习: b.多选框和单选框 练习: 用的是第三种方法 c.输入框和拖动框 练习: 练习二: e.图片绘制和框 练习: 复合控件 a.工具栏和选择网格 练习: b.滚动视…

关于OcenaBase v4.2中,分区转移和负载均衡的技术解读

OceanBase​​​​​​​​​​​​​​作为一款原生分布式数据库,其核心的技术特性之一是高可扩展性,其具体表现在两个方面: 首先,是灵活的扩缩容能力,包括垂直扩缩容和水平扩缩容: 垂直扩缩容&#xff…

android APP monkey 测试

monkey 测试 一、电脑ADB安装及使用详解1、什么是 Monkey 测试2、什么是ADB3、ADB的作用4、安装前提条件5、ADB下载6、ADB安装与配置 二、连接安卓手机检查是否连接上安卓手机windows端安装ADB驱动 三、 monkey测试操作指令演示指令APP包名查看方式测试效果 一、电脑ADB安装及使…

蜜罐技术---德迅猎鹰

什么是蜜罐 蜜罐是一种互联网安全系统,部署诱饵和陷阱在关键网络入口,诱导攻击者攻击伪装目标,保护真实资产,并且对攻击者做行为取证和追踪溯源,定位攻击者自然人身份,提升主动防御能力,让安全…

Ps:阈值

阈值 Threshold命令可将灰度图像或彩色图像转换为仅包含黑色和白色的二值图像。 Ps菜单:图像/调整/阈值 Adjustments/Threshold Ps菜单:图层/新建调整图层/阈值 New Adjustment Layer/Threshold 阈值命令通过设置一个特定的亮度阈值(阈值色阶…

EasyCVR视频汇聚平台海康Ehome2.0与5.0设备接入时的配置区别

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

ZCMU操作系统课程实验 - 实验1-Linux的使用

登录 1. 打开这个东西 2. 在 文件 - > 打开 中打卡机房里VMOS文件里的这个东东 3. 然后依次操作下去好了,有红色的选项,我都是选的"Do nothing"。完成后就会出现这样一个黑框框。 4. 让你登录。输入:root。密码&…

第十七章 Kafka

一、特性 - 高吞吐、低延迟 - 高伸缩性 - 持久性、可靠性 - 容错性 - 高并发 通过 O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以 TB 的消息存储也能够保持长时间的稳定性能。 高吞吐量:即使是非常普通的硬件 Kafka 也可以支持每秒数百…

MSOX3104T是德科技MSOX3104T示波器

181/2461/8938产品概述: Keysight MSOX3104T X 系列示波器提供您更快获得测量见解所需的所有性能和功能,再次重新定义了您对通用示波器的期望。除了触摸的优点外,内置 USB 主机和 USB 设备端口还使 PC 连接变得容易。InfiniiVision MSOX3104…

Nginx 日志输出配置json格式

nginx日志输出配置json格式 nginx服务器日志相关指令主要有两条: (1) 一条是log_format,用来设置日志格式 (2) 另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小。 log_format指令用来设置日志的记录格式,它的语…

【面试八股总结】传输控制协议TCP(一)

一、什么是TCP协议 TCP是传输控制协议Transmission Control Protocol TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。 面向连接的:每条TCP连接杜只能有两个端点,每一条TCP连接只能是点对点的(一对一)可靠的&#xff1a…

iPhone设备中如何分析和解决应用程序崩溃日志的问题

​ 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么? 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志,以便调查崩溃的原因。我们将展示三种不同的…

WPF学习笔记-FlowDocument实现表格单元格垂直居中以及边框设置

文章目录 概述一、基本方案1.1 添加Grid1.2 添加列1.3 添加行1.4 添加Grid的时候同时添加行和列1.5 添加元素1.6 获取指定单元格的元素1.7 添加TextBlock元素1.7.1 直接添加字符串1.7.2 添加Paragraph1.8 获取文本内容1.9 获取元素二、其他操作2.1 设置边框2.2 设置隔行颜色2.3…

深入剖析Xen与KVM虚拟化技术及其架构特点

引言 在现代数据中心与云计算领域中,虚拟化技术已经成为提升资源利用率、增强灵活性与可扩展性的重要基石。其中,Xen与KVM作为两种备受瞩目的开源虚拟化解决方案,分别以其独特的设计理念与技术创新引领着行业的进步与发展。Xen源自剑桥大学的…

Excel 隔几行批量插入空白行

例如如下表格,每隔6行插入一行数据: 1)第7个单元格输入1 2)选中6个单元格,然后双击填充数据: 3)F5 找到常量 Ctrlshift 复制插入的数据,然后选中数据 按F5,定位到空值

非关系型数据库之Redis配置与优化

一、关系数据库与非关系型数据库 1.1关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上一般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用…

Unix 网络编程, Socket 以及bind(), listen(), accept(), connect(), read()write()五大函数简介

Unix网络编程是针对类Unix操作系统(包括Linux、BSD以及其他遵循POSIX标准的操作系统)进行网络通信开发的技术领域。网络编程涉及创建和管理网络连接、交换数据以及处理不同层次网络协议栈上的各种网络事件。在Unix环境中,网络编程通常涉及到以…

分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测

分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测 目录 分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测分类效果基本介绍模型描述程序设计参考资料…