写在前面
多模态视觉语言模型(VLMs)已成为计算机视觉与自然语言处理交叉领域的一项变革性技术,使机器能够通过视觉和文本两种模态来感知和推理世界。例如,CLIP、Claude和GPT-4V等模型在视觉和文本数据上展现出强大的推理和理解能力,并在零样本分类任务中超越了传统的单模态视觉模型。尽管VLMs在研究领域取得了快速进展,并在应用领域日益受到欢迎,但关于VLMs现有研究的全面综述却明显不足,特别是对于旨在将VLMs应用于特定领域的研究人员而言。为此,我们从以下几个方面对VLMs进行了系统概述:1)过去五年(2019-2024年)开发的主要VLMs的模型信息;2)这些VLMs的主要架构和训练方法;3)VLMs流行基准测试和评估指标的总结与分类;4)VLMs的应用,包括实体agent、机器人和视频生成;5)当前VLMs面临的挑战和问题,如幻觉、公平性和安全性。
详细文献和模型仓库链接收录在:https://github.com/zli12321/Awesome-VLM-Papers-And-Models.git。
一些介绍
预训练的大型语言模型(LLMs),如LLaMA和GPT-4,在广泛的自然语言处理(NLP)任务中取得了显著成功。然而,随着这些模型的不断扩展,它们面临着两大挑战:(1)高质量文本数据的有限供应;(2)单模态架构在捕捉和处理需要理解不同模态之间复杂关系的现实世界信息时的固有局限性。这些局限性促使人们探索和开发视觉语言模型(VLMs),这些模型结合了视觉(如图像、视频)和文本输入,提供了对视觉空间关系、物体、场景和抽象概念更全面的理解。VLMs打破了以往限制单模态方法的表征边界,支持了对世界更丰富、更上下文相关的认知,如视觉问答(VQA)、自动驾驶等。同时,VLMs也遇到了与单模态模型不同的新挑战,如视觉幻觉,即VLMs在没有有意义视觉理解的情况下生成响应,而主要依赖于存储在LLM组件中的参数知识。虽然已有几篇关于单模态模型的综述,但关于多模态模型的综述仍然缺失。本文对VLMs的研究成果进行了批判性考察,系统回顾了当前VLMs的主要架构、评估方法和基准测试、应用以及面临的挑战。
SOTA VLMS
近年来人工智能(AI)组织一直在不断推出新的视觉语言模型(VLMs)。从OpenAI的CLIP、Salesforce的BLIP、DeepMind的Flamingo,到GPT4V和Gemini,这些模型变得越来越大且更具交互性,展示了在VLM框架内整合聊天机器人功能以支持多模态用户交互,从而改善用户体验。根据以下三个主要研究方向,2019年至2024年底的当前最佳(State-of-the-Art,SoTA)VLMs被列在表1中。
视觉语言相关性(Vision-Language Correlation)研究的是训练目标或架构设计如何促进多模态融合。例如,对比学习等训练目标可以通过SimCLR等方法来实现,SimCLR原本是为自监督视觉任务开发的,通过拉近嵌入空间中成对图像和文本的距离,同时推开未配对的样本,从而很好地适应多模态设置。视觉语言架构(Vision-Language Architecture)则研究模型设计中的结构选择如何促进或限制多模态融合。早期的架构方法主要是从头开始训练模型(如CLIP),而更新的方法(如LLaMA 3.2-vision)则利用预训练大型语言模型(LLM)的强大功能作为骨干,以提高视觉和语言的相关性理解能力,从而更好地理解视觉内容。
基准测试和评估(Benchmarks and Evaluation)主要关注设计、收集和生成多模态数据,主要以问答(QA)的形式,用于在各种任务(如视觉文本理解、图表理解、视频理解)上测试VLMs。
VLMs的应用(Applications of VLMs)则侧重于将VLM模型部署到现实场景中。虚拟应用通常涉及控制个人设备屏幕或模拟agent游戏。同时,VLMs的物理应用则主要关注与现实世界中物理对象的交互,如机器人与人交互或自动驾驶。
这三个方向为分析、比较和指导视觉语言建模这一快速发展领域的未来进步提供了结构化框架。
积木搭建与训练方法
视觉语言模型(VLMs)的架构正在从零开始的预训练转变为使用预训练的大型语言模型(LLMs)作为主干,以对齐视觉和文本信息(如表1所示)。然而,其基本组件在很大程度上保持不变。我们这里总结了VLMs中最基础且广泛采用的架构组件,并随后解释了流行的预训练和对齐方法。表1提供了当前最优视觉语言模型(SoTA VLM)的详细信息,以展示VLM基本架构的转变以及通过将视觉特征视为token来融合视觉特征和文本特征的新型架构创新。
1)通用架构组件
视觉编码器在将视觉组件投影为与来自大语言模型(LLMs)的嵌入特征相匹配的嵌入特征方面发挥着至关重要的作用,这对于文本或图像生成等任务至关重要。它被训练用于从图像或视频数据中提取丰富的视觉特征,从而实现与语言表示的融合。
许多视觉语言模型(VLMs)中使用的视觉编码器是在大规模多模态或图像数据上进行预训练的:这些编码器在图像-文本对上进行联合训练,使它们能够有效地捕捉视觉和语言之间的关系。典型的例子包括CLIP,它通过对比学习将图像和文本嵌入进行对齐,以及BLIP,它利用自举预训练来实现稳健的语言-图像对齐。在大规模ImageNet或类似数据集上进行预训练:这些编码器在大量标记的视觉数据上进行训练或通过自监督训练,使它们能够捕捉特定领域的视觉特征。虽然这些编码器最初是单模态的,如ResNet或视觉Transformer(ViTs),但它们可以适应多模态任务。它们擅长提取有意义的对象级特征,并为视觉语言模型提供了坚实的基础。许多当前最优的视觉语言模型(SoTA VLMs),如Qwen2-VL和LLaVA,通常都融入了预训练的视觉编码器。这些编码器不仅提供了稳健且有意义的视觉表示,而且在迁移学习方面也非常有效。它们通过利用在其训练领域学到的视觉知识,优于随机初始化的编码器。
文本编码器将分词后的文本序列投影到嵌入空间中,这与视觉编码器处理图像的方式类似。CLIP、BLIP和ALIGN等模型既使用图像编码器也使用文本编码器。这些模型利用对比学习在共享潜在空间中对齐图像和文本的嵌入,有效地捕捉跨模态关系。然而,更新的模型,如LLaVA,通常不包括专门的文本编码器。相反,它们依赖大型语言模型(LLMs)(如LLaMA、Vicuna)进行文本理解,并通过投影层或交叉注意力机制整合视觉输入。这一转变表明,在更多样化和更高级的多模态推理和生成任务中,使用LLMs的能力正逐渐超过视觉组件。
文本解码器利用LLMs作为主要文本生成器,同时使用视觉编码器投影图像特征。GPT-4V、Flamingo和Kosmos-2采用了这种方法。这些模型通常使用最小的视觉投影机制,从而允许强大的语言解码器生成上下文丰富的输出。VisualBERT和VilBERT为多模态预训练的解码器架构提供了基础。从头开始训练VLMs通常需要单独的文本解码器,而使用LLMs作为主干时,则通常使用LLM的原始解码器(图1)。
交叉注意力机制允许一种模态(视觉)中的token影响另一种模态(文本)中的token,从而实现视觉和文本特征之间的动态交互。交叉注意力层通常通过计算每对视觉和文本token之间的注意力得分来整合跨模态的信息。并非所有模型都使用交叉注意力机制。例如,VisualBERT和Flamingo都具备交叉注意力机制,而CLIP则没有。
2)构建从零开始训练的模块
与以大型语言模型(LLM)为骨干相比,从零开始训练视觉语言模型(VLM)通常使用不同的训练目标和方法。自监督学习(SSL)可以在不需要人类标注数据的情况下进行预训练,从而实现预训练规模的扩大。SSL技术的变种包括掩码图像建模、对比学习和图像变换预测。这里我们将深入探讨对比学习,这是一种常见的预训练过程,用于扩大从零开始训练VLM的规模。
对比学习涉及为视觉和文本输入使用单独的编码器,这些编码器被训练成将各自模态映射到一个共享的嵌入空间。视觉编码器处理图像,从卷积神经网络(CNN)或视觉transformer(ViT)等模型中生成特征嵌入。文本编码器将文本输入处理成嵌入。对比学习通过最小化相关图像-文本对在共享空间中视觉和文本嵌入之间的距离,同时最大化不相关对嵌入之间的距离,来对齐这些对。CLIP、BLIP和ALIGN等开创性模型利用这种方法,在大规模图像-文本数据集上进行预训练,从而为下游任务开发稳健、可迁移的表示。
3)构建以LLMS作为主干的模块
大语言模型(LLMs)在视觉语言模型(VLMs)中充当文本生成组件,该组件处理编码后的视觉和文本输入,以自回归方式生成文本输出。在VLMs的背景下,LLMs包括其原始文本解码器。这里我们列出了两种将视觉特征和预训练的LLM文本特征对齐的常见方法。
投影器(Projector)将视觉编码器提取的视觉特征映射到与LLM文本嵌入对齐的共享嵌入空间中。它通常包含多层感知器(MLP)层,这些层将高维视觉表示转换为与文本模态兼容的紧凑嵌入token。投影器可以与模型的其他部分联合训练,以优化跨模态目标,或者冻结模型的某些部分(如LLM),以保留预训练知识。当代的示例大多包括LLaVA、QWen2-VL、Nvidia VLM、Baichuan Ocean-mini、Emu3和Pixtral(多模态解码器)等。
联合训练(Joint Training)是一种端到端的方法,它并行更新模型所有组件的权重,而不冻结任何权重,包括LLM和投影器层。这种方法已在Flamingo等模型中使用。
冻结训练(Freeze Training Stages)涉及在训练过程中选择性地冻结模型组件,以在适应新任务的同时保留预训练知识。常见策略包括冻结预训练的视觉编码器,同时微调投影器层,以及实现组件的逐步解冻,或者冻结LLM层,而仅更新视觉编码器的权重。
4)新型架构
近期的研究工作主要聚焦于提升视觉和文本特征的融合。将所有模态都视为token是一种较新的方法,该方法将视觉输入(图像和视频)读取并编码为与文本token类似的token。Emu3使用SBER-MoVQGAN将视觉输入编码为token,并使用特殊分隔符(如[SOT]和[EOV])来标记视觉token的开始和结束。
它仍然保留了如Llama等大型语言模型(LLMs)的架构,但扩展了嵌入层,以适应离散的视觉token(均方根层归一化层和多查询注意力)。此外,它将视觉和文本输出的生成视为统一多模态表示中的token预测任务。
Transfusion在一个单一的Transformer架构内同时处理不同的模态。该方法通过引入策略断点,并行处理离散的文本token和连续的图像向量。尽管尚未完善,但这种方法显示出开发能够处理多种输入类型的更统一的多模态模型的潜力。
Benchmarks and Evaluation
自2022年以来,随着新型视觉语言模型(VLMs)的快速发展,VLM基准测试的数量也迅速增长。全面基准测试对于评估模型性能以及确保在不同能力(如数学推理、场景识别等方面)上的稳健训练至关重要。现代VLM基准测试已经超越了基本视觉问答等简单任务,纳入了更广泛的测试,以从更多方面更好地评估模型的多模态能力。
这里我们总结和分类了现有的38个用于评估VLMs的视觉语言基准测试,包括图像-文本和视频-文本基准测试。然后,总结了这些基准测试常用的评价指标、创建基准数据集的典型方法,以及当前基准测试和评估实践的优缺点。我们强调了大多数基准测试如何优先考虑数据的多样性和数量,而往往忽视了评估质量的提升,这阻碍了对VLMs的有效评估。基准测试分类。基准测试是根据特定的测试目标设计的,我们将其分为十大类(表2)。
1)基准数据是如何收集的
基准数据集通常通过以下三种常见的数据收集流程之一来创建:完全由人类标注的数据集;通过合成数据生成进行扩展并部分由人类验证的部分人类标注数据集;以及通过合成数据进行扩展并完全由人类验证的部分人类标注数据集。
2)Evaluation Metrics
基准测试(Benchmarks)旨在进行评估,并在其创建过程中建立相应的评估指标。视觉语言模型(VLM)的评估指标是自动化的,以支持大规模重复使用,并且它们通常会影响基准测试中采用的问题格式。我们展示了在我们调查的基准测试中常用的评估指标(如图2b、3所示)。
答案匹配被广泛应用于开放式和封闭式问题类型,这两类问题的答案可以是短格式的实体、长格式的答案、数字或是是非题。与抽取式大型语言模型(LLMs)和视觉语言模型(VLMs)相比,生成式VLMs更加冗长,它们通常会生成冗长但正确的答案。在评估中,更常用且更实用的版本是包含精确匹配(containment exact match),这种方法包括去除预测答案中的冠词和空格,并检查规范化后的预测答案是否被包含在规范化后的标准答案中。然而,精确匹配往往召回率较高,这常常无法体现出标准答案和预测答案之间的语义等价性,因此经常误判人类可接受的正确答案为错误答案,并且对于寻求长格式答案的基准测试来说,精确匹配变得不再适用。在LLM时代指令遵循成功之前,人们使用标准令牌重叠分数(如F1、ROUGE、BLEU)来衡量标准答案和预测答案之间的相似度分数,但当生成模型生成更复杂多样但正确的答案时,这些方法就开始失效了。
因此,当答案是长格式且需要语义理解来判断正确性时,一些基准测试(如MM-Vet)采用LLMs来评估生成的回答。研究表明,LLM评估与人类评估的相关性最高,但它们也面临着随着模型内部更新或提示指令改变而产生一致输出的挑战。虽然目前没有完美的答案匹配评估方法,但与开放式问题相比,是非题最容易评估。因此,大多数基准测试都依赖于多项选择题的形式来评估VLMs(如图2b所示)。
多项选择题格式涉及从包括干扰项在内的一组选项中选择一个答案来回答给定的视觉问题。这种格式提供了确定的答案,并且评估起来相对容易,因为它衡量的是视觉语言模型(VLM)正确回答问题的百分比。然而,大语言模型(LLMs)已经展现出一种不同寻常的能力,即使无法访问实际问题,也能选择出正确答案。由于VLM包含用于生成响应的LLM组件,因此需要进一步的研究来评估当前VLM基准测试的稳健性和可靠性。
在图像生成基准测试(如T2ICompBench、GenEval)中,图像/文本相似度分数常用于评估生成的图像与其对应的文本描述之间的一致性。它们通常依赖于诸如CLIPScore(用于图像-文本对齐)或ROUGE(用于字幕匹配)等指标来评估输出与参考之间的语义和词汇相似性。
综上所述,VLM基准测试涵盖了广泛的问题类型、专业领域和任务,仅MMLU就涵盖了57个不同的任务。然而,流行的评估方法仍然主要局限于简单的答案匹配或多项选择题格式,远未达到图灵测试对通用智能的广义定义。
应用
视觉语言模型(VLMs)被广泛应用于各种任务,从虚拟世界应用(如虚拟化身agent)到现实世界应用(如机器人技术和自动驾驶)。
1)具身视觉语言模型agent
视觉问答(VQA)是一项基础任务,涉及根据视觉和文本内容来回答问题。它要求从图像或视频序列中提取有意义的信息,如识别物体、场景和活动。在实践中,具身化视觉语言模型agent是VQA的一种流行应用,范围从具身化个人设备聊天机器人辅助到为视力低下用户提供的视觉图表解读和图表生成。
具身化agent是拥有虚拟或物理身体、能够与周围环境进行交互的人工智能模型。像Apple Intelligence这样的纯文本agent可以通过将用户请求转换为可执行代码来控制手机应用程序,从而处理、推理和执行用户请求,但它们缺乏视觉推理能力。在此背景下,特别关注具有虚拟身体的具身化agent,以及它们在个人辅助和无障碍应用方面与VQA模型的应用关系。
作为辅助应用和无障碍目标的具身化视觉语言模型agent旨在帮助用户在设备上执行操作或提供屏幕上的答案,以协助视力低下者。最近的发展包括:ScreenAI专门用于理解用户界面(UI)组件并回答有关屏幕元素的问题。智能手机助手通过使用端到端VLM扩展了这一功能,该VLM直接读取视觉屏幕输入和用户请求,并将其转换为可执行代码序列以满足用户请求的操作。与智能手机助手类似,ScreenAgent采用三步法(规划、执行、反思)来处理用户请求。它首先通过自然语言描述理解UI组件,然后将用户请求分解为子任务,最后以函数调用格式生成鼠标和键盘操作来在用户屏幕上执行动作。此外,这些VLMagent中的一些可能还需要图表理解或生成能力来告诉用户图形、图表或图示的内容。VLM通常容易出现幻觉,尤其是在图表理解方面,经常会提取出错误的数字。ChartLLaMA经过专门微调,用于更准确地理解和提取各种图表或绘图视觉输入中的数字并进行解释。尽管如此,这些VLM应用作为助手,帮助用户自动执行操作而无需用户参与,并帮助残疾人更好地访问和理解UI页面,从而提高无障碍性。
尽管具身化虚拟VLMagent取得了进步,但它们依赖于语言模型,通常将视觉作为辅助角色,而不是将这两种模态完全融合,这是它们的局限性。这些模型通常以语言推理为主要驱动力,视觉输入起次要作用,导致视觉理解不足,无法有效地为决策提供依据。除了虚拟应用外,具身化VLMagent还用于执行真实的物理世界应用,如手术规划和模拟以降低风险。
2)Generative Visual Media Applications
生成式视觉语言模型(VLM),包括生成对抗网络(GAN)、扩散模型以及像Transfusion这样的新型框架,在媒体应用中被广泛应用,以辅助艺术和内容的创作。生成式VLM模型的一个显著应用是在模因(一种网络通用语言)的创作上。像Supermeme.ai这样的平台使用VLM模型生成超过110种语言的定制化模因,使用户能够通过幽默或引人入胜的视觉内容有效地表达情感或想法。此外,生成式VLM模型还被应用于电影制作和视觉特效中。例如,MovieGen允许用户根据输入将静态图像转换成视觉上令人惊叹的视频特效,从而创作出动态的电影场景。
3)机器人学与具身人工智能
将视觉语言模型与机器人技术相结合是一个热门话题,它连接了网络空间和物理世界中的基础模型。近年来,涌现出大量研究工作,聚焦于利用视觉语言模型(VLMs)在视觉推理、复杂场景理解、跨操纵、导航、人机交互、多机器人协同、运动规划、奖励函数设计等多种任务上的规划能力。该领域的革命性发展引发了机器人学领域众多未探索的研究问题,受到广泛关注,同时也揭示了实施过程中存在的许多潜在局限性。
Manipulation
视觉语言模型(VLM)在机器人操纵任务中的应用主要聚焦于提升机器人利用语言先验知识来操纵非领域特定对象或执行更复杂、成本更高的动作规划的能力。VIMA设计了一个基于Transformer的机器人agent,该agent能够处理这些提示并以自回归方式输出动作指令。Instruct2Act则利用大型语言模型(LLM)生成Python程序,这些程序构成了机器人任务中感知、规划和动作的完整循环。RoboVQA提出了一种高效收集机器人数据的方法,包括一个用于机器人视觉问答的大型多样化数据集,以及一个具有具身推理能力的单一模型。Robotool提出了一个系统,该系统通过整合基础模型,使机器人能够使用创造性工具。RT系列则提出了一种视觉语言动作模型,该模型能够编码视觉观测和文本提示,并计算出机器人操纵任务中的目标位置和方向。尽管当前的VLM在机器人领域的应用在操纵任务的视觉推理和场景理解方面展现出了令人印象深刻的能力,但鉴于机器人操纵器的多样性,其能力仍受到泛化水平的限制。
Navigation
将视觉语言模型(VLMs)融入机器人导航任务主要聚焦于开放世界的零样本或少样本目标导航或语义线索驱动的导航。ZSON利用多模态语义嵌入空间对agent进行图像目标导航训练,从而实现了从自然语言指令到零样本ObjectNav的转换,并能稳健地泛化到复杂、推断出的指令。LOC-ZSON引入了一种语言驱动的对象中心图像表示和基于大型语言模型(LLM)的增强技术,用于零样本对象导航。LM-Nav是一个机器人导航系统,它结合了预训练模型,能够在真实世界的室外环境中实现基于自然语言的长距离导航,而无需微调或语言注释数据。NaVILA为腿式机器人在复杂且杂乱的场景下的导航提出了一个视觉-语言-动作(VLA)模型。VLFM根据深度观测构建占据图以识别边界,并利用RGB观测和预训练的视觉语言模型生成基于语言的值图,以确定最有希望的边界并探索以找到给定的目标对象。LFG-Nav利用语言模型将存储在语言模型中的语义知识作为规划搜索启发式方法,从而引导对新颖真实世界环境的探索。虽然许多现有工作遵循任务与运动规划(TAMP)流程,该框架便于将整个任务分割成可由低级规划器执行的可行子目标,但其适应性受到规划器的限制,并且在处理意外情况时缺乏灵活性。
人机交互
人机交互(HRI)是一个要求认知与适应能力的子领域,同时也需要具备在现实中解读人类意图并据此采取行动的能力。基于视觉语言模型(VLM)的人机交互在交互过程中展现出了更强的人类意图理解能力和适应性。MUTEX是一种基于Transformer的方法,用于从多模态任务规范中学习策略和进行人机交互协作,使机器人能够解读和执行跨越六种模态(视频、图像、文本和语音等)的任务。LaMI通过实现直观、以指导为驱动的机器人行为调控,动态协调动作和表达以协助人类,同时简化了传统的状态和流程设计过程,从而革新了多模态人机交互。Wang等人设计了一条pipeline,该pipeline使用视觉语言模型来解读人类演示视频,并通过整合关键帧选择、视觉感知和视觉语言模型推理来生成机器人任务计划,在各类别中的长时程抓取放置任务上表现出了卓越性能。VLM-Social-Nav利用视觉语言模型来检测社会实体,并在以人类为中心的环境中引导机器人动作,从而实现符合社交规范的导航。
Autonomous Driving
自动驾驶是机器人技术中一个研究密集型的领域,而涉及非领域内物体和交通事件的长尾特例一直是该领域长期存在的问题。用于自动驾驶的车载视觉语言模型(VLM)agent已展现出克服这两个问题的能力,在物体识别、导航与规划以及决策制定方面表现出更强的能力。VLPD利用自监督分割和对比学习,在不添加额外注释的情况下,对诸如小型或被遮挡的行人等明确的语义上下文进行建模。MotionLM通过将多智能体运动预测重新定义为语言建模任务,使用离散运动标记和自回归解码,实现了高效且时间上具有因果关系的联合轨迹预测。DiLU结合了推理和反思模块,使系统能够基于常识知识进行决策制定,并在交通环境中持续进化。最近,人们更加致力于开发端到端的自动驾驶模型,这些模型能够直接从视觉语言模型中产生动作,而无需生成中间任务。VLP引入了一个视觉-语言-规划框架,该框架集成了语言模型,以增强自动驾驶中的推理、上下文理解和泛化能力。DriveGPT4提出了首个可解释性的端到端自动驾驶系统,该系统利用多模态大型语言模型,能够处理视频输入、文本查询,并预测车辆控制信号。
4)Human-Centered AI
视觉语言模型(VLMs)的一个重要且有前景的应用是利用其理解和推理能力来分析人类与AI agent交互过程中的人类意图和行为。大型视觉语言模型(LVLMs)有助于在多个应用中执行情感分析、预测人类意图,以及辅助人类与现实世界的交互,这些应用旨在促进社会的福祉,如AI4Science、农业、教育、无障碍访问、医疗健康、气候变化等领域。视觉语言模型在这些领域都展现出了惊人的潜力,并助力广泛的人工智能变革对社会各个角落产生深远影响。