23年7月份的一个基础模型综述“Foundational Models Defining a New Era in Vision: A Survey and Outlook“,作者来自阿联酋的AI大学、澳大利亚国立大学、瑞典linkoping大学、以及美国的U Central Florida和UC Merced两所大学。
视觉系统用于观察和推理视觉场景的组成性是理解世界的基础。目标与位置之间的复杂关系、模糊性和现实世界环境中的变化可以用人类语言更好地描述,自然受语法规则和其他模式(如音频和深度)的支配。学会弥合这些模态之间差距的模型与大规模训练数据相结合,有助于在测试时进行上下文推理、泛化和提示功能。这些模型称为基础模型。这种模型的输出可以通过人工提供的提示进行修改,无需重新训练,例如,通过提供边框来分割特定目标,通过询问有关图像或视频场景的问题进行交互式对话,或通过语言指令操纵机器人的行为。本次综述对此类新兴的基础模型进行了全面回顾,包括结合不同模态(视觉、文本、音频等)、训练目标(对比、生成)、预训练数据集、微调机制和常见提示模式(pattern)的典型架构设计:文本、视觉和异构。讨论计算机视觉基础模型的开放挑战和研究方向,包括评估和基准测试的困难、现实世界理解的差距、上下文理解的局限性、偏见、对抗性攻击的脆弱性以及可解释性问题。回顾了该领域的最新发展,系统而全面地涵盖了基础模型的广泛应用。
“基础模型”一词最初由斯坦福大学以人为中心的人工智能研究所Bommasani等[18]提出。基础模型被定义为“以自监督或半监督方式在大规模数据上训练的基本模型,可以适应其他几个下游任务”。向基础模型的范式转变意义重大,允许用更广泛的通用基础模型替换几个狭窄的任务特定模型,这些模型一旦经过训练就可以快速适应多个应用程序。不仅能够快速开发模型,并为域内和域外场景提供更好的性能,而且还带来在海量数据集上训练的大规模基础模型所谓智能“涌现属性”[286,21]。
如图是计算机视觉的基础模型演进示意图:
如图所示,视觉语言(VL)模型主要使用四种架构设计。首先介绍双编码器架构,其中使用单独的编码器来分别处理视觉和文本模式。这些编码器的输出随后通过目标函数进行优化。第二种架构类型融合包含一个额外的融合编码器,其采用视觉和文本编码器生成的表示并学习融合表示。第三种类型,编码器-解码器,由基于编码器-解码器架构的语言模型和视觉编码器组成。最后,第四种架构类型,适配的LLM,利用大语言模型(LLM)作为其核心组件,使用视觉编码器将图像转换为与LLM兼容的格式。
大规模训练接上有效的推理提示,一直是视觉和语言基础模型的关键组成部分。其流水线包括预训练、微调和提示技术,如表所示:数据和设置
下图给出视觉-语言基础模型的分类:
传统上,视觉-语言模型主要用于需要共同理解视觉和文本模式的任务。然而,随着CLIP的表现,基于语言监督的模型已经获得了重视,并已成为主流方法。文本提示模型根据其训练目标大致分为三种主要类型:对比方法、生成方法和混合方法。
大型语言模型(LLM)在理解、推理和类人的对话方面表现出色,现在已经有几个方法将视觉模态纳入其中。会话VLM是文本提示模型的一个子类别,但是,能够基于多模态输入进行类人的对话。
指令调优在LLM的对齐中发挥了重要作用,可遵循指令和解决各种任务。
非文本提示的基础模型,是为各种视觉任务而设计的。图像分割的基础模型如CLIPSeg [185],SegGPT [280], SAM [140]和 SEEM [366]。可以用不同的提示类(例如文本、点、边框甚至所需区域的掩码)来提示这些模型,获得目标分割。像SAM [140]这样的视觉基础模型是在包含超过10亿个掩码和1100万张图像的大规模数据集上进行训练的。在其他领域,例如医学图像理解,这种大规模数据集可能不存在。问题是如何有效地将SAM应用于其他领域,例如医疗[189,288,93,233,87,213,292,81],跟踪[307,217],遥感[35]和字幕[274]等。此外,像SAM这样的模型,基于高度复杂的基于视觉Transformer架构[136],并在高分辨率输入上进行训练,这对边缘设备不太友好。所以另一个问题是如何有效地将这些模型[328,347,316]适应移动设备。
给定一个提示和很少的任务特定示例,通才(generalist)模型[279,276]可以同时执行不同的任务,甚至可以适应新任务(又名上下文学习)。计算器视觉中上下文学习的困难来自于这样一个事实,即输出表示因任务而异(需要不同的损失函数和架构),因此不清楚如何为视觉模型定义通用任务提示或指令,以为域外任务重新配置模型。Painter [279]是一个通才模型。给定特定任务的输入和输出图像,输出图像的像素将被码上(masked)。然后,Painter 模型的目标是对被码上的输出图像进行恢复(inpaint)。这个简单的训练目标允许统一多个视觉任务(无需修改模型架构或损失函数),包括深度估计、人类关键点检测、语义分割、实例分割、图像去噪、图像去雨和图像增强。训练后,Painter 可以使用与输入条件相同的任务中的输入/输出配对图像来确定在推理过程中要执行的任务。VisionLLM [276]是另一种通才模型,将视觉和语言模式结合起来,解决开放式任务。给定图像,VisionLLM使用视觉模型学习图像特征,这些图像特征以及语言指令(例如,“详细描述图像”)通过语言引导的图像 tokenizer传递。图像tokenizer的输出以及语言指令,提供给开放式基于LLM的任务解码器,旨在根据语言指令编排各种任务。Prismer [173] 也是一种视觉-语言模型,它利用语义分割、目标、文本和边缘检测、表面法线和深度估计方面的各种预训练域专家来执行多种推理任务,如图像字幕和视觉问答。
对齐多个配对模态的基础模型,例如图像文本、视频音频或图像深度等,便于学习有意义的表征。
将 CLIP 与异构模态对齐:论文工作CLIP2Video[78] 扩展了视频的 CLIP 模型。视频和语言理解有两个方面,多模态图像文本训练的空间表示,以及帧和语言的时间关系。CLIP2Video [78] 用时间差分块 (TDB) 和时间对齐块 (TAB) 引入与 CLIP 的时间一致性,将图像-文本 CLIP 模型的空间语义转移到视频-文本检索问题。【78】旨在处理帧和语言之间的时间关系,将图像两帧之间的差异添加到序列中,通过时间差块模拟运动变化。时间对齐块在同一特征空间中对齐视频和语言,增强相关性。
ImageBind[92]学习配对数据模态的常见表示,其包括多种模态,例如(视频,音频)或(图像,深度)。将视觉特征与与之相关的任何感官体验保持一致,图像具有这种“绑定”属性,可以提供许多监督来源来学习视觉特征。为了更好地执行表征学习,不同的传感器应对齐到单个联合嵌入空间,学习视觉特征。然而,问题在于,用同一组图像获取每种类型和配对数据的组合不可行。缺乏跨模态的多模态数据是学习联合嵌入的主要障碍之一。用多种类型的图像配对数据,ImageBind 学习一个单共享表示空间,这是独立于如下约束:来自所有模态的数据集需要共同出现进行相互联合学习。ImageBind将大规模配对数据(图像,文本)与其他配对数据形式(视频,音频)相结合,开发联合特征表示,通过文本嵌入使模态(音频、深度)相互对齐。ImageBind 将零样本功能扩展到四种模态,包括音频、深度、热和惯性测量单元 (IMU) 。
将LLM与异构模态对齐:MACAW-LLM [188]是一种指令微调的多模态LLM,将四种不同的模态(包括图像,视频,音频和文本)集成到一个模型中。将不同数据模态的特征表示对齐到LLM的嵌入中,使这些特征更接近大语言模型的文本表示。结合图像和视频模态的大规模多模态指令数据集用于训练MACAW-LLM,这有助于未来对此类模型学习的工作。MACAW-LLM由三个模块组成,包括:模态模块将不同的模态(例如,视觉和音频数据)编码器集成到MACAW-LLM中,对齐模块统一独立训练的不同模态编码器,还有预训练LLM的认知模块。
对于视频语言推理,时间一致性和上下文很重要。目前专门在图像文本语料库上训练的图像文本基础模型,已经全面了解了视觉概念和语言之间的语义相关性,但是,缺乏视频所需的时间上下文。这个问题的解决方案是在大规模的视频文本语料库上进行训练,不过这很难获得。COSA [37] 建议通过动态转换为长格式视频段落样本,从图像文本语料库中生成视频段落语料库。在每个训练步骤中将来自同一批次一定数量的图像文本训练样本随机连接在一起。图像和文本是串联的,确保事件和句子明确对应。即时级联语料库优于短格式视频文本语料库 [12],具有更丰富的场景转换、缩小的视觉冗余以及按序描述每帧更细粒度的字幕。级联样本在 COSA 预训练期间用作输入,COSA 具有简单的架构。除了视觉检索、字幕和回答问题外,该模型还能够处理判别性和生成性任务。
Valley(Video Assistant with a Large Language model)[186]是另一种能够整合视频、图像和语言感知的多模态框架。在 Valley 模型中用一个简单的投影模块来桥接视频、图像和语言模态,并通过指令调优的流水线进一步与多语言 LLM 统一。为了获得视频和图像输入的统一视觉编码,Valley 还采用了时空池化策略。各种视频任务,包括视频问答、详细描述、随意关系推断和动作识别,用于收集指令跟从的数据。然后将这些数据用于指令微调,获得视频的基础模型。
最后讨论具身基础智体。
在大量文本数据上对LLM进行训练可能会产生与现实世界相关的表示,但要解决基于现实的更广泛的计算机视觉和机器人问题,将这些表示与现实世界的视觉和物理传感器模式联系起来至关重要。即机器人操作的基本具身智体[72,131]。
机器人操作:通过将来自具身智体(具身AI)传感器模态的连续输入直接整合到具身语言模型中,Palm-E [72]解决了这项具有挑战性的任务,使语言模型本身能够对序贯决策做出更扎实的推断。基于Transformer的LLM将图像和状态估计等输入嵌入到与语言token相同的潜嵌入中,并以与文本相同的方式处理。连续输入通过一个编码器注入预训练的LLM。强制执行根据具身智体理解的自然文本输出序贯决策,这样编码可以被端到端地训练。
机器人任务规范有多种形式,包括模仿单样本演示、遵循语言指令和实现视觉目标。不同的模型通常用于这些不同的任务。ViMA [131]表明,多模态提示,交错的文本和视觉token,可以有效地表达广泛的机器人操作任务,从而通过多模态提示学习机器人操作。ViMA遵循基于Transformer的编码器-解码器网络[216]。用预训练的语言模型[263]对文本和视觉提示token进行编码,并自回归地解码机器人控制动作,这样VIMA对每组环境交互的机器人动作进行编码和解码。此外,还开发了一种多模态提示的新仿真基准,其中包含超过600K的模仿学习专家轨迹。另外为系统概括制定了四级评估协议。
持续学习:对于此类智体,[76] 提供了一个方便的 API,使用户可以轻松地在 Minecraft 中指定任务规范、更改世界设置以及观察和处理任务。有数以千计的开放式任务由自然语言提示。作为MineDojo的一部分,从Minecraft收集大量数据,包括30K + YouTube视频和时间对齐的转换脚本,6K +自由格式的Wiki页面和340K + Reddit多媒体内容。MineDojo [76]随后为用此类数据的具身智体设计了一种新学习算法。视频文本模型将自然语言字幕与来自MineDojo已经时间对齐的YouTube视频相关联。此外,提出了一种评估智体的方法,用基于Minecraft YouTube视频开发的大型预训练视频语言模型,这是昂贵的人工评分[232]的补充。
受人类玩Minecraft的启发,VOYAGER [267] 认为终身学习智体应该能够执行与人类类似的任务,例如,应该根据当前的技能水平解决任务,适应环境反馈完善技能并积极寻找新任务和探索世界。VOYAGER是最早由LLM提供支持的终身学习智体之一。旨在推动探索、磨练各种技能、并不断发现Minecraft中的新事物。基于GPT-4生成的自动课程,VOYAGER旨在解决越来越困难的任务,以便发现尽可能的多样性。这类似于新颖性搜索(novelty search)[75,55]。当VOYAGER存储用于完成任务的行动程序时,一个技能库是逐步构建的。随着时间的推移,VOYAGER的能力通过编写较小的程序进行组合,减轻了与其他持续学习方法相关的灾难性遗忘[207,273]问题。
导航规划:使用LM-Nav [231],可以在目标环境中无需事先微调即可推导可操作的规划,LM-Nav将预训练的视觉和语言模型与目标条件控制器相结合。预训练的导航模型与两个与机器人无关的预训练模型相结合,实现此目的。利用机器人的观察,用视觉导航模型ViNG [230]构建环境的拓扑“心理地图”。然后,为将自由格式的文本指令解码为文本地标,LM-Nav使用大型语言模型GPT-3 [20]。为了将这些文本地标置于拓扑图中,采用视觉语言模型,例如CLIP [215],推断地标和节点的联合可能性。最后,为了找到机器人的规划,VNM使用一种新搜索算法,该算法最大化概率目标(objective)。简而言之,LM-Nav 组合三个大型预训练模型,在复杂的现实环境中提供长距离指令,即自监督机器人控制模型、视觉-语言模型和大语言模型。