【微软:多模态基础模型】(4)统一视觉模型

news2024/11/24 13:31:34

欢迎关注[【youcans的AGI学习笔记】](https://blog.csdn.net/youcans/category_12244543.html)原创作品
【微软:多模态基础模型】(1)从专家到通用助手
【微软:多模态基础模型】(2)视觉理解
【微软:多模态基础模型】(3)视觉生成
【微软:多模态基础模型】(4)统一视觉模型
【微软:多模态基础模型】(5)多模态大模型
【微软:多模态基础模型】(6)多模态代理

【微软:多模态基础模型】(4)统一视觉模型

  • Multimodal Foundation Models: From Specialists to General-Purpose Assistants
  • 4. 统一视觉模型
    • 4.1 概述
    • 4.2 从封闭集合到开放集合模型
      • 4.2.1 目标检测与定位
      • 4.2.2 图像分割和指向性
    • 4.3 从特定任务模型到统一模型
      • 4.3.1 I/O统一
      • 4.3.2 功能统一
    • 4.4 从静态模型到可提示模型
      • 4.4.1 多模态提示
      • 4.4.2 上下文提示学习
    • 4.5 总结与讨论

Multimodal Foundation Models: From Specialists to General-Purpose Assistants

2023 年 6 月,微软在 CVPR2023 发表论文「 多模态基础模型:从专家到通用助手 」(Multimodal Foundation Models: From Specialists to General-Purpose Assistants) 。本文全面综述了多模态基础模型的分类和演化,这些模型展示了视觉和视觉语言能力,并重点关注了从专家向通用助手的过渡。

论文下载地址:
https://arxiv.org/abs/2309.10020
https://ar5iv.labs.arxiv.org/html/2309.10020


4. 统一视觉模型

Chapter 4:Unified Vision Models

在这里插入图片描述

在本章中,我们讨论视觉模型的统一。
我们首先概述了视觉模型统一面临的挑战,在第4.1节中为实现这一目标所做的最新努力。接下来是关于:(1) 在第4.2节中,详细讨论如何将闭集模型转换为开集模型;(2) 在第4.3节中,如何统一不同粒度的视觉任务; (3) 在第4.4节中,如何为视觉构建一个更可提示的界面。 (4) 最后,我们在第4.5节总结了本章并讨论了未来的趋势。


4.1 概述

在讨论通用统一视觉系统之前,我们重新回顾过去几年中语言模型和自然语言处理(NLP)的发展。在2018年之前,不同的NLP任务是用不同的任务特定模型来解决的,比如翻译(Bahdanau等,2015年)、语义解析(Berant等,2013年)、摘要生成(Allahyari等,2017年),等等。随着 Transformer 架构的出现(Vaswani等,2017年),不同NLP任务的语言模型通过一个仅包含解码器的架构统一了起来,例如GPT模型(Brown等,2020年)。之后,使用"下一个词预测任务" 训练的 GPT 模型被进一步微调,以遵循人类的指令。这导致了 ChatGPT 的出现,从根本上改变了我们对AI系统能够做什么的期望。如图1.1 所示的演变过程激发了我们的想象力,让我们思考能否以类似的方式构建通用视觉系统。


在这里插入图片描述
图4.1:在NLP中,我们看到了一个明显的趋势,即建立一个统一的模型,如GPT-3,然后是复杂的人机交互系统ChatGPT,这激发了整个社区和社会对人工智能的兴趣。计算机视觉(CV)的一个自然问题是,我们是否可以统一所有不同类型的视觉任务,如图像分类、对象检测、分割和视觉问答等,并同样建立CV模型与人类之间的交互界面。为此,最近人们从不同角度进行了许多尝试来解决这个问题,包括但不限于(a)使视觉模型开放;(b) 统一不同粒度;以及(c)使模型更易于使用。


挑战

计算机视觉任务的差异巨大,这给构建统一视觉模型带来了巨大挑战:
首先,视觉任务涉及不同类型的输入,从静态图像(Rus- sakovsky等,2015)到序列视频(Miech等,2019),从纯视觉输入(如图像除雾,He等,2010)到包括视觉和语言的多模态输入(Antol等,2015)。
其次,不同任务需要不同的粒度,如图像级任务,包括图像分类(He等,2016)和字幕生成(Vinyals等,2016),如区域级任务,包括目标检测(Girshick,2015)、定位(Plummer,2015年),又如像素级任务,包括图像分割(He,2017)、超分辨率(Wang等,2020)。
因此,视觉系统的输出也具有不同的格式,如空间信息(边缘、框和掩码),语义信息(类别标签、多标签标记或详细描述)。
除了建模方面的挑战之外,数据方面也存在挑战。首先,不同类型的标签的注释成本差异巨大。如图4.6所示,这些标签在粒度和语义丰富度上有不同的水平,从整个图像、区域(框注释)到掩码(像素注释)。其次,通常情况下,收集图像数据的成本要比文本数据高得多。因此,视觉数据的规模通常比文本语料库小得多。


向统一视觉模型迈进

尽管存在这些挑战,计算机视觉社区对开发通用、统一的视觉系统越来越感兴趣,尤其是针对视觉理解任务。如图4.1 所示,我们将这些努力分为三类:

  • 视觉与语言之间的桥梁
    通过将封闭集分类扩展到开放世界的识别,如CLIP(Radford等,2021)这样的对比语言-图像模型展示了在不同的视觉任务中令人印象深刻的零样本可迁移性。这些模型学习了原始视觉信号和丰富语义之间的映射关系,可以支持各种开放词汇的视觉识别任务(Zhong等,2022;Gu等,2022;Li等,2022;Ghiasi等,2022)。

  • 统一的多任务建模
    传统的任务特定视觉模型是使用特定任务的数据进行训练的,开发一个新任务的模型通常是极其昂贵的。因此,开发一个能够在许多视觉任务中表现良好的统一视觉模型是有意义的(Yang等,2022;Lu等,2022;Zou等,2023;Chen等,2022)。

  • LLM-like可提示接口
    LLM可以采用不同语言和上下文提示作为输入,并生成用户所需的输出,无需微调。通用视觉模型应该具备相同的上下文学习能力,以将输出与各种用户意图对齐,而无需更改其模型参数。
    LLM可以接受不同的语言和上下文提示作为输入,并生成用户所需的输出而无需微调。通用视觉模型应该具有相同的上下文学习能力,将输出与各种用户意图对齐,而无需改变其模型参数(Bar等,2022;Kirillov等,2023;Zou等,2023;Wang等,2023;Balazevic等,2023)。

在以下部分中,我们将详细阐述每个类别中的具体技术与方法。


4.2 从封闭集合到开放集合模型

传统上,视觉识别被被形式化为一个分类问题,它将原始视觉数据(例如图像)映射到离散的文本标签。例如,图像分类要预测整个图像(Deng等,2009)的一个预定义的封闭集合中的标签,而目标检测则要在图像中识别一个封闭集合中定义的对象(Lin等,2014)。然而,这种封闭集合模型几乎不能迁移到其它封闭集合(或词汇表)之外的任务。例如,很难将使用 Microsoft COCO 对象集训练的目标检测器应用于检测 Minecraft 对象。
最近,CLIP(Radford等,2021)通过引入对比语言-图像预训练方法来解决封闭集模型的局限性,以训练一个开放集模型。如图4.2a 所示,CLIP不是学习从输入到标签的映射,而是使用数亿个图像-文本对来学习一个对齐的视觉-语义空间。从数学上讲,传统的视觉任务优化了将标签 y = c y=c y=c 分配给图像的对数似然,通常表示为特征向量 u ∈ R P u \in R^P uRP 的对数似然:

l o g P ( y = c ∣ u ) = l o g e x p w c u ∑ e x p w i u log P(y=c|u) = log \frac{exp^{w_c u}}{\sum exp^{w_i u}} logPy=cu=logexpwiuexpwcu

其中, w ∈ R K × P w \in R^{K \times P} wRK×P 是投影矩阵。CLIP方法不是使用预先确定的投影矩阵 w,而是使用文本编码器 E n c t e x t Enc_{text} Enctext 进行投影:

v i = E n c t e x t ( C o n c e p t i ) v_i = Enc_{text}(Concept_i) vi=EnctextConcepti

在公式(4.1)中, v 扮演了 w 的角色。文本编码器之所以能够帮助实现开放集识别,是因为通过大规模预训练,所有文本概念都嵌入到相同的特征空间中,特征分布与语义含义一致,无需预定义的词汇表。因此,对齐的视觉-语义空间可以以零样本的方式轻松转移到广泛的图像识别任务中。请参考第2章对 CLIP 的详细讨论。


在这里插入图片描述
图4.2:(a)如CLIP(Radford等,2021)所述,用文本描述替换标签并使用文本编码器对其进行编码,可以将闭集问题转化为开集问题。图片来源:杨等,2022b。(b) 已经提出了许多工作,通过用语言空间替换标签空间来转换不同的计算机视觉任务,如UniCL(Yang等,2022b,)、GLIP(Li等,2022f,)和OpenSeeD(Zhang等,2023e,)。


接下来,我们将重点讨论区域级别和像素级别的模型。

在CLIP模型(Radford等,2021)发布后,已经开发了许多使用大量文本-图像对进行视觉理解的开放集合视觉模型,这些模型在不同粒度级别上执行不同水平的视觉理解任务(Yang等,2022b;Zhang等,2023e;Li等,2022f;Ghiasi等,2022a),这些任务从图像级任务(如图像分类(Deng等,2009)、图文检索、图像描述生成(Chen等,2015)),区域级定位任务(如目标检测和短语定位(Plummer等,2015)),到像素级分组任务,如图像分割和指向性分割(Long等,2015;Kirillov等,2019;Hafiz和Bhat,2020)。

这些模型可以从以下三个维度进行分类:模型初始化、设计和训练。

模型初始化:开放集模型训练有不同的初始化方法。

  • 使用 CLIP 初始化
    许多最近的开放集模型是通过使用预训练模型,如CLIP,进行初始化训练的,因为预训练模型已经提供了一个良好对齐(但通常是粗粒度的)的视觉-语义特征空间。例如,OVR-CNN(Zareian等,2021)和RegionCLIP(Zhong等,2022b)使用类似 CLIP风格的预训练 ResNet(He等,2016)作为视觉编码器,并使用预训练的 RPN(Ren等,2015)来提取区域特征。同样,MaskCLIP(Zhou等,2022a)和 FreeSeg(Qin等,2023b)利用 CLIP 模型来提取像素的密集标签。FC-CLIP(Yu等,2023a)使用 CLIP 中的冻结卷积网络 ConvNeXt(Liu等,2022b)对不同分辨率的输入图像进行编码。

  • CLIP增强
    与使用CLIP参数初始化模型不同,一些方法用通常的方法初始化将模型参数(例如,将模型参数设置为随机值),但使用预训练的CLIP来帮助模型训练。例如,ViLD(Gu等,2022)通过知识蒸馏将模型与已对齐的CLIP特征增强到模型中。MaskCLIP(Ding等,2022)和Mask-Adapted CLIP(Liang等,2023)在模型训练过程中分别依赖预训练的CLIP模型来提供特征和分数,分别。

  • 其他
    一些方法使用有监督的预训练模型,或从头开始学习视觉-语义特征空间。例如,GLIP(Li等,2022)和OpenSeeD(Zhang等,2023)分别使用了预训练的 BERT模型(Devlin等,2019)和CLIP文本编码器,并使用在ImageNet上预训练的视觉骨干进行图像编码。尽管这些分别预训练的图像和文本编码器并没有明确学习图像和语言之间的对齐,但事实证明这些模型仍然给出了良好的图像和文本表示,并对高效的模型训练起到了关键作用。与此不同,GroupViT(Xu等,2022)从头开始使用开放集合语义分割任务和全局图像-文本对齐任务进行联合训练。ODISE(Xu等,2023)利用预训练的稳定扩散模型SD(Rombach等,2022)来提取紧凑的掩码。

模型设计:开放集模型可以是多阶段或端到端的。

  • 两阶段模型(Two-stage models)
    这些模型通常遵循基于 DETR 之前的模型设计(Ren等,2015;He等,2017),将定位和识别解耦。对于目标检测,通常会预先训练一个区域候选网络 RPN 来定位感兴趣的对象(Zhong等,2022;Gu等,2021),以及一个掩码候选网络 MPN 来提取掩码(Ghiasi等,2022;Yao等,2022)。在给定定位结果的情况下,使用预训练的 CLIP 模型来衡量视觉内容和语言概念之间的相似性。两阶段模型的明显优势是,它们可以继承开集合的集语义理解能力,而无需额外的训练,因此可以将模型训练集中在需要高性能的定位网络上。

  • 端到端模型(End-to-end models)
    与两阶段模型不同,端到端模型遵循基于 DETR方法(Carion等,2020;Cheng等,2022)或其他单阶段模型(Dai等,2021)。GLIP(Li等,2022)是其中的代表作之一。GLIP将目标检测形式化为文本对齐,并在图像-文本对上进行端到端训练,同时具备检测和定位标签。后续的工作通过实现更深入的视觉-语言交互(Liu等,2023)或使用类似 DETR 样式的模型设计(Zang等,2022;Minderer等,2022)来增强 GLIP。对于分割任务,ZegFormer(Ding等,2022)和OpenSeeD(Zhang等,2023年)都利用了与DETR类似的架构,并根据它们的解码器的输出来预测掩码和类别。

模型预训练:开放集视觉模型的预训练主要有三种学习方法。

  • 监督学习
    通过将标签监督转换为语言监督,许多工作直接利用现有的监督注释来训练开放集模型。例如,OVR-CNN(Zareian等,2021)使用COCO类别训练模型,然后评估其在新类别上的性能。同样,ViLD(Gu等人,2021)分别在COCO和LVIS数据集上训练和评估两个独立的模型。按照类似的途径,许多工作在带注释的分割数据集上训练开放集分割模型,并评估其对保留数据的泛化能力(Ding等,2022a,b;Zhang等,2023e;Xu等,2023a)。

  • 半监督学习

人们可以同时使用带注释的数据和未标记或弱标记的数据。例如,RegionCLIP(Zhong等,2022b)和GLIP(Li等,2022f)都使用教师模型从图像文本对中提取细粒度区域-文本对齐,以增强训练数据,从而获得更好的开放集检测性能。与此不同,OpenSeg(Ghiasi等,2022b)利用局部叙述数据集(Pont Tuset等人,2020)作为弱标记数据,该数据集提供语言短语和图像笔画之间的粗略对应关系。从经验上,这种半监督学习方法通常有助于提高模型的泛化能力,因为它们可以有效地利用噪声数据中的丰富语义。

  • 弱监督学习
    一些工作仅使用弱标注数据进行建模。例如,GroupViT(Xu等,2022a)使用对比学习法,其中模型训练的所有监督来自正负图像-文本对。使用相同的对比学习法,SegCLIP(Luo等,2023b)使用收集机制来通过训练图像-文本对来学习合并图像补丁。

下面,我们将回顾为区域级和像素级任务开发的最新模型。

在这里插入图片描述
图4.3:(a)DetCLIPv2(Yao等,2023)从对象检测和基础数据以及大规模图像文本对中学习细粒度单词区域对齐。(b) GroundingDINO(Liu等,2023h)将文本条件注入 Transformer 编码器-解码器的不同阶段,显著提高了文本-目标定位性能。


4.2.1 目标检测与定位

目标检测是计算机视觉中的基本任务,涉及在图像或视频序列中识别和定位感兴趣的目标(Viola和Jones,2001)。多年来,已经开发了各种技术和算法,以提高目标检测的准确性和效率。过去,基于区域的方法,如 R-CNN(Girshick等,2015)、Fast R-CNN(Girshick,2015)和 Faster R-CNN(Ren等,2015)推动了目标检测的先进技术的发展。为了提高实时性能,YOLO(Redmon等,2016)提出了一个单一神经网络,同时预测目标类别和边界框坐标。一些改进通过在不同尺度上使用多个特征图(Liu等,2016)或引入焦点损失,来解决密集目标检测场景中的类别不平衡问题(Lin等,2017年)。

在 Transformer(Vaswani等,2017)出现后,DETR(Carion等,2020)将Transformer架构应用于目标检测,将其视为一个集合预测问题。自DETR以来,已经提出了许多方法从各个方面改进基于 Transformer 的目标检测模型,如DINO(Zhang等,2022)、Group DETR(Chen等,2022)和Co-DETR(Zong等,2023)。

开放集目标检测模型,旨在检测训练数据中提供的词汇表之外的任意概念。文献中已经开发了三种主要的评估设置:

  • 零样本目标检测
    类似于零样本图像分类(Xian等,2018),零样本目标检测限制用于训练的物体类别,并评估模型对新类别的迁移能力。属于这一类的方法主要关注评估模型如何利用预训练的概念嵌入(例如word2vec(Mikolov等,2013))并学习良好的视觉语义对齐.

  • 严格的开放词汇目标检测
    该设置在OV-RCNN(Zareian等,2021)中首次引入,与零样本目标检测不同的是,只要不涵盖任何目标类别,训练词汇没有限制。在这种协议下,一些代表性作品是ViLD(Gu等,2021)、RegionCLIP(Zhong等,2022a)和Detic(Zhou等,2022b),它们利用大规模语言-图像模型(Radford等,2021;Jia等,2021),并从图像标签数据中学习。

  • 通用开放词汇目标检测
    最近的一些作品,如GLIP(Li等,2022f)和OWL-VIT(Minderer等,2022),主张采用更灵活的设置来评估目标检测模型的数据集或任务可迁移性。这种设置允许训练集和测试集之间存在词汇重叠,例如用Objects365进行训练,用COCO进行评估。可以说,与上述两种设置相比,这是一个更实用的设置,因为模型可以使用任何任意训练数据集进行训练,并评估它们在开放的真实场景中的检测性能(Li等,2022b)。

物体定位可被视为一种广义开放集目标检测任务(Plummer等,2015;Kazemzadeh等,2014;Chen等,2019;Deng等,2018)。在此任务中,模型接受句子和图像作为输入,并对与名词短语相关的物体进行定位。

最近,M-DETR(Kamath等,2021)采用基于Transformer的架构,构建了一个端到端的调制探测器,以根据原始文本查询检测图像中的对象。与以前在特定数据集上训练的模型不同,M-DETR 则是使用来自多模态数据集的 130万对文本和图像进行预训练,这些数据集中的文本短语和对应图像对象之间的连接是带标签的。受M-DETR的启发,GLIP(Li等,2022)将目标检测视为定位问题,并在开放集情境下联合学习使用目标检测和定位数据的模型。在这一研究方向之后,DetCLIPv2(Yao等,2023)提出了一种简单的联合学习方法,其中多个任务被转化为一个单词-区域对齐任务,然后模型在包括目标检测数据、定位数据和图像-文本对的语料库上进行端到端训练。Grounding-DINO(Liu等,2023)是一种最先进的基于定位的目标检测方法,其中目标检测器由多个组件组成:骨干、颈部和头部,并在每个阶段注入语言条件。采用组合文本和图像骨干来提取多尺度特征,然后将这些特征传递到颈部。颈部生成的文本和图像特征随后用于驱动语言的查询选择。Grounding-SAM 是通过将 Grounding-DINO与SAM(Kirillov等,2023)结合起来。如图4.4所示,首先将图像和一组概念输入到 Grounding-DINO中,以生成边界框,然后使用这些边界框作为SAM的提示,来预测每个边界框的掩码。

在这里插入图片描述
图4.4:Grounding-SAM 由 Grounding-DINO 和 SAM 组成。


4.2.2 图像分割和指向性

图像分割是一个长期存在的具有挑战性的视觉问题,主要有三个子任务,包括语义分割(Long 等,2015)、实例分割(Hafiz and Bhat,2020)和全景分割(Kirillov 等,2019)。语义分割关心的是图像中每个像素的语义(Long 等,2015; Chen 等,2017,2022j),而实例分割将相同语义的像素分组到对象中。这两个任务的模型从 CNN-based 架构(Long 等,2015)演变为 transformer-based 模型(Chen 等,2022j),从两阶段模型(He 等,2017)和单阶段模型(Bolya 等,2019; Tian 等,2020b)发展到最近的基于查询的方法(Dong 等,2021; Zou 等,2022)。具备每像素和实例级的理解能力之后,自然就可以考虑全景分割(Kirillov 等,2019; Wang 等,2021a; Cheng 等,2022)。最近,Mask2Former(Cheng 等,2022)提出了一种用统一的编码器-解码器架构来解决这三个任务。然而,所有这些工作都只能处理有限类别的数据。接下来,我们将回顾最近关于开放集图像分割和指向性分割的最新工作。

开放词汇分割

最近,已经提出了许多方法来将丰富的视觉语义知识从基础模型中转移或提取到特定的分割任务中(Radford等,2021;Jia等,2021)。突出的例子包括LSeg(Li 等,2022a)、OpenSeg(Ghiasi 等,2022a)和Huynh 等(2022)。GroupViT Xu 等(2022a)没有使用现有的模型,而是从头开始进行语言-图像预训练,使用自下而上的分组ViT(Dosovitskiy 等,2021)。DenseCLIP(Rao 等,2022)证明了基础模型在微调设置方面比监督模型更优越。最近,MaskCLIP(Ding 等,2022b)提出利用CLIP同时处理开放词汇全景和语义分割,在ADE20K(Zhou 等,2017)和PASCAL(Mottaghi 等,2014;Everingham and Winn,2011)上取得了令人印象深刻的性能。

最近 FC-CLIP (Yu 等,2023a)没有使用ViT骨干,而是利用卷积CLIP骨干(即由OpenCLIP训练的ConvNeXt(Ilharco等人,2021))作为特征提取器和视觉编码器。基于简化的流水线,FC-CLIP显示出合理的效率,并在各种开放式分词基准上保持了最新水平。另一项新工作 ODISE(Xu 等,2023a)则利用文本到图像的扩散模型,而不仅仅是使用CLIP,并表明预训练的UNet中的潜在特征可以为开放词汇分割提供有用的紧凑分割信息。

开放词汇分割面临的一个巨大挑战是缺乏带有语义标签的分割数据。迄今为止,大多数工作仍然使用 COCO 分割注释。一些近期的工作试图利用物体检测数据作为额外的监督来增强分割模型的训练,例如 如图4.5所示的 OpenSeeD (Zhang 等,2023e)和DataSeg(Gu 等,2023)。除了这些新的建模技术外,还开发了新的数据集来缓解这个问题,包括多域分割数据集的整理(Lambert 等,2020)、高质量标注的收集(Lu 等,2023c)或扩大到数十亿个掩模(Kirillov 等,2023)。

在这里插入图片描述
图4.5:OpenSeeD(Zhang等,2023e)利用掩码和框监督来学习通用的开放词汇图像分割模型。

指向性分割任务的设计是开放性的词汇表

模型通常被专门设计为使用各种多模态融合策略从目标数据集中学习(Hu 等,2016;Liu 等,2017;Margffoy-Tuay 等,2018;Ye 等,2019a; Yu 等,2016; Wu 等,2022a)。CLIPSeg(Lüddecke ,2022)将文本查询扩展为视觉查询,并在指向性分割和语义分割上表现出卓越性能。自从视觉 transformer 出现以来,LAVT(Yang 等,2022e)一开始就增强跨模态交互,这在 RefCOCO(Yu 等,2016)、RefCOCO+(Yu 等,2016)和G-Ref(Mao 等,2016; Nagaraja 等,2016)上取得了相当不错的性能。与此不同,PolyFormer(Liu 等,2023e)将掩码转换为多边形,并要求 transformer 解码器解码一系列多边形坐标。受Pix2Seq(Chen 等,2022c)的启发,这是在目标检测中的类似方法,PolyFormer为指向性分割提供了另一种表示掩码的方法。正如我们之前讨论的,也可以将Grounding DINO(Liu 等,2023h)与SAM(Kirillov 等,2023)组合用于指向性分割。

统一分割

对于上述的开放词汇和引用分割方法,一个人尽皆知的问题是如何将所有分割任务统一在一个框架中。最近,X-Decoder(Zou 等,2023a)使用通用的编码器-解码器架构来统一所有这些分割任务。指向性分割任务被重新表述为条件全景分割,该任务将一些文本短语作为解码器的输入。UNINEXT (Yan 等,2023)是另一项尝试统一所有图像和视频中的实例级分割的工作。与 X-Decoder不同,UNINEXT使用早期融合来融合各种提示和视觉特征,然后将其馈送到 transformer 编码器-解码器中。


4.3 从特定任务模型到统一模型

上面我们讨论了最近将封闭集模型转换为开放集模型进行检测和分割的努力。然而,直到最近,大多数视觉任务都是通过专门的模型设计单独处理的,这阻碍了不同粒度或领域之间的任务协同作用。这是由于两个原因:

  • 视觉任务是碎片化的
    如图4.6a所示,计算机视觉任务跨越不同的轴,包括空间、时间和模态。从空间方面来看,它可以是我们之前讨论的图像级、区域级和像素级任务。沿着时间轴,我们需要解决的不仅是静态图像,还有视频序列。关于模态,输入和输出可以是图像、文本或其他类型(例如人体姿势、深度图)。如此多样化的任务格式严重阻碍了针对所有任务的统一模型的开发。

  • 数据尺度不同
    除了复杂的任务场景,人类注释的稀缺以及不同任务的不同尺度也使得构建统一的模型具有挑战性。在图4.6b中,我们可以看到一个清晰的数据规模金字塔,其中不同层次的人类注释具有不同的语义。更具体地说,像LAION Schuhmann等(2021)这样的图像文本数据集包含多达2B个样本,而像Objects365(Shao等,2019)这样的对象检测数据集共有170万张图像。由于标注掩码的成本很高,在分割数据集中观察到更显著的差距。

在这里插入图片描述
图4.6:(a)CV任务格局:CV任务可以跨越不同的轴,包括模态、空间和时间,这给将所有任务统一到一个模型中带来了重大挑战。。(b) 数据规模金字塔:特别是,不同任务中的数据集通常包含不同类型的监督。像ImageNet(Deng等,2009)和LAION Schuhmann等(2021)这样的图像级数据集具有丰富的语义覆盖但粒度较粗的注释,而像COCO全景分割(Chen等,2015)这样的像素级数据集提供了有限概念细粒度的注释。

尽管存在上述挑战,但我们现在看到,由于Transformer 的通用性(Vaswani 等,2017),人们对构建统一通用模型的兴趣日益增长,这种模型可以从各种视觉和视觉-语言任务中学习并应用于这些任务。这些尝试可以归为两大类:

  • I/O统一
    随着统一大型语言模型(LLM)的发展,许多近期的研究将许多视觉任务重新表述为序列到序列(sequence-to-sequence)问题(Wang等,2022b;Yang等,2022c;Chen等,2022d;Lu等,2022a)。他们通常使用一个标记器(tokenizer),将各种任务中使用的不同模态的原始输入和输出(I/O),标记为连贯的序列(视觉或文本)标记,然后使用统一的序列到序列模型。

  • 功能统一
    除了I/O统一之外,还可以通过功能统一来构建一个通用模型。扩展多任务学习方法(Lu等,2020;Gupta等,2022a;Hu和Singh,2021a),许多近期的工作使用一致的编码器-解码器架构(Yu等,2022a;Zhang等,2022b;Zou等,2023a)。这一类工作通常不需要特定任务或特定模态的标记器,但需要复杂的模型设计来适应各种任务。

图4.7说明了两种类别统一方法的区别。对于I/O统一,I/O统一模块始终生成一系列令牌(tokens),并使用单独的解码器对不同任务的最终输出进行解码。对于功能统一,功能统一模块为不同任务生成不同类型的结果,例如语义输出和空间输出。然后,将这些不同类型的结果组合,以产生最终特定任务的结果。这两种统一方法都努力利用不同粒度级别的任务之间的协同作用。例如,粗粒度数据有助于为细粒度任务所需的丰富语义理解做出贡献,而细粒度数据则可以增强粗粒度任务的基础能力。在以下部分中,我们将回顾这两类方法中的一些最新工作。

在这里插入图片描述
图4.7:I/O统一和功能统一的并排比较。I/O统一旨在利用解码器对同构令牌序列进行解码,然后由特定任务的解码器进行解码。相比之下,功能统一预测异构输出,然后使用不同的路由器或标头为各种任务生成最终输出。


4.3.1 I/O统一

这些工作主要受到了 LLMs 的启发,它们将许多NLP任务作为顺序建模来统一。在视觉领域,通过 I/O 统一构建通用模型的方法,可以根据感兴趣的任务和输出格式分为两类。

稀疏和离散的输出

对于产生稀疏或离散标记输出的视觉任务,我们可以很容易地利用语言标记器,如字节对编码(BPE)(Sennrich 等, 2016),进行I/O统一。相反,像边界框、掩模或人体骨架这样的空间输出可以被形式化为数字坐标的序列,然后被标记为离散标记(Cho 等,2021;Yang 等,2022c;Liu 等,2023e)。因此,解码的输出标记与有机文本标记和数字文本标记交织在一起,以支持各种任务。。不失一般性,解码过程被构建为自回归生成,并使用如下目标函数训练模型:

L ( θ ) = ∑ t = 1 T l o g p ( s t ∣ s < t , v ; θ ) L(\theta) = \sum^{T}_{t=1} log p(s_t|s<t,v;\theta) L(θ)=t=1Tlogp(sts<t,v;θ)

在上述公式中, { S } t T \{S\}^T_t {S}tT 是长度为 T 的离散标记序列, v 是视觉特征。接下来,我们将回顾一些代表性的工作。

UniTab (Yang 等,2022c)采用序列解码的方式统一了文本和框的输出。如图4.8a 所示,框的坐标以"<>"包裹的数字形式表示,然后使用特殊标记表示位置信息。通过这种方式,该模型可以统一处理各种需要文本和位置输出的任务,包括图像字幕生成(Chen 等,2015)、视觉对齐(Plummer 等,2015)、目标定位和视觉问答(Antol 等,2015)。该模型的训练分为三个阶段:预训练、多任务微调和特定任务微调。

Pix2SeqV2(Chen 等,2022d)与UniTab略有不同,它将两种不同的视觉任务统一起来:指向性分割和关键点检测。遵循Pix2Seq(Chen 等,2022c)的方法,Pix2SeqV2 将图像中的目标表示为 [ymin,xmin,ymax,xmax,text] 。然后,它为每个任务引入了唯一的任务提示,其中包含任务类型信息或任务类型和特定位置信息的组合。对于掩码解码,掩码轮廓被转换为多边形,然后从多边形中提取出其坐标(Castrejon 等,2017)。对于指向性分割,指向性 Polyformer(Liu 等,2023e)也采用了类似的策略。

在这里插入图片描述
图4.8:(a)UniTab 统一 字幕生成、视觉定位、图像字幕、VQA和对象定位。(b) Pix2Seqv2被提出用于统一对象检测、指向性分割、关键点检测和图像字幕。


基于 LLM 增强

最近的工作还探索了基于LLM构建通用解码接口,LLM在大量文本数据和人类指令上进行了预训练。Kosmos-2(Peng等,2023b)利用 Kosmos-1(Huang等,2023b)的预训练LLM,通过收集由9100万张图像组成的网络规模的图像-文本对数据集(GRIT),增强了基于真实场景的多模态数据。VisionLLM(Wang等,2023h)在图像标记器上附加了一个更大的LLM(例如LLaMa,Touvron等,2023),如图 4.9 所示。所得到的模型在目标检测、分割等方面表现出很强的视觉语言推理能力和良好的定位能力。其他一些将LLM与定位相结合的工作有DetGPT(Pi等,2023)和GPT4ROI(Zhang等,2023k)。为了进一步使模型具备分割能力,BubaGPT(赵等,2023c)和LISA(Lai等,2023)都使用额外的指向性分割模型,分别通过将文本或嵌入作为输入来分割图像。PaLI-X(Chen等,2023g)是迄今为止最大的统一模型,可以处理多语言视觉和视觉-语言任务。

在这里插入图片描述
图4.9:VisionLLM(Wang等,2023h)被提出以顺序解码的方式将视觉系统与LLM连接起来。


稠密和连续输出

还有一些任务需要密集和连续的输出,例如图像分割(He等,2017)、深度估计(Mertan等,2022)、图像修复和编辑(Elharrouss等,2020;Brooks等,2023)。除了分割掩码可以用多边形近似以外(Liu等,2023e;Chen等,2022d),大多数稠密和连续的输出不容易转换成离散标记,因为它们存在于高维空间中。因此,我们必须求助于针对图像的标记工具。类似于语言标记器,图像标记器对原始图像进行编码,并提取跨越视觉特征空间的离散标记。最具代表性的工作是 VQ-VAE(Oord等,2017;Razavi等,2019)。如图4.10a 所示,VQ-VAE学习一个编码器 z e ze ze 和一个解码器 z q z_q zq 以及由 K 个嵌入组成的离散码本 e = { e 1 , . . . , e K } e = \{e_1,...,e_K\} e={e1,...eK}。给定输入 x,后验分类概率 q ( z ∣ x ) q(z|x) q(zx) 被定义为:

在这里插入图片描述
在这里,解码器 z q z_q zq 以 x(或表示为 e k e_k ek)作为输入来预测类别标签。

作为 VQ-VAE 的变体,VQ-GAN 使用鉴别器和感知损失(Larsen等,2016;Lamb等,2016)来在输出质量和模型效率之间保持良好的平衡(通过高压缩率)。如图4.10b所示,鉴别器在图像的图块级别上应用,以规范高分辨率图像的解码。

在这里插入图片描述
图4.10:VQ-VAE(Oord等,2017)和VQ-GAN(Esser等,2021)的说明。

下面,我们将讨论一些最近的工作,这些工作试图统一涉及稠密输出的不同视觉和多模态任务。

UViM(Kolesnikov等,2022)是首批采用稠密解码过程来统一各种核心视觉任务的工作之一,这些任务包括全景分割、深度估计和着色。学习过程包括两个阶段:(1)学习基本的编码器-解码器 f f f 和受限的 Oracle Ω,以预测给定输入图像的输出,其中 f 将原始图像作为输入,Ω 将所需输出作为输入来解码 Oracle 代码;(2)不使用所需的输出作为Oracle Ω的输入,而是学习一个语言模型,为输入的原始图像生成Oracle代码。值得注意的是,这里使用的编码器-解码器模型,是使用VQ-VAE目标进行训练的。作为统一视觉任务的第一步,UViM在三个视觉任务上展现了令人期待的结果。

Unified-IO(Lu等,2022a)是另一项代表性作品。与UViM相比,它扩展到了更多的视觉任务和数据集。与UViM的训练过程不同,Unified-IO首先为不同的任务训练不同的VQ-VAE模型,如图4.11左图所示。获得所有VQ-VAE编码器-解码器后,将90个数据集组合起来,以端到端地训练另一个transformer编码器-解码器,如图4.11右图所示。与之前的工作类似,它还使用语言解码器获得有机和数字文本,以生成坐标输出。在第二阶段预训练之后,尽管在常见任务上的性能仍然落后于最强的模型,该模型在GRIT基准(Gupta等,2022c)上达到了最先进水平,并表现出引人注目的组合性。作为后续工作,Ning等(2023)提出了一种软标记策略来提高下一个标记的解码准确性。此外,还提出了一种掩码建模策略来学习稳健的表示。在实例分割和深度估计方面的评估,该模型在NYUv2(Silberman等,2012)上达到了最先进的性能,在分割上表现出有竞争力的性能。最近的一项工作将图像修复作为统一不同像素级视觉任务的一般任务(Bar等,2022)。给定由 VQ-GAN产生的目标离散标记,该方法利用掩码自动编码器来解码缺失的图像区域,使用任务输入-输出示例作为提示。Painter(Wang等,2023i)扩展了这一流程,以促进更多的视觉任务,并在各种标准基准测试中获得了具有竞争力的性能。

在这里插入图片描述
图4.11:Unified-IO(Lu等,2022a)通过首先为每个任务预训练VQ-VAE,然后为任务联合训练编码器-解码器来统一不同的视觉任务。

基于扩散模型增强(Diffusion-augmented)

与上述学习自己的解码模型的作品不同,最近的一些工作利用现成的稳定扩散模型来构建多面手视觉模型。例如,Prompt Diffusion(Wang等,2023m)使用 稳定扩散模型 SD 和 ControlNet(Zhang和Agrawala,2023)初始化一个模型,并同时在包括分割、深度估计等在内的六个不同的视觉-语言任务上,进行了上下文图像到图像模型的联合训练。InstructDiffusion(Geng等,2023)也使用扩散模型,但明确地将特定任务的指令引入扩散过程中。此外,它使用特定任务的训练和人类对齐训练,以实现视觉任务的通用接口。


4.3.2 功能统一

与I/O统一不同,功能统一试图根据任务特征来统一不同的任务,因为它们既不是完全隔离的,也不是完全一致的。从高层次来看,视觉任务产生三种类型的输出:(1)位置输出,(2)语义输出,(3)像素级输出。例如,目标检测和短语定位都需要在图像中定位目标,而通用分割和指向性分割都产生掩码。另一方面,许多任务需要语义(或文本)输出来表示概念名称或文本描述。

多任务学习
早期的一些工作探索了多任务学习方法来统一不同的视觉或视觉-语言任务。

视觉模型

一些早期工作探索了使用 CNN 在不同层次上学习不同的视觉任务。例如,Cross-stitch Networks(Misra等,2016)开发了一种策略,从CNN的顶部开始分割不同数量的层,以适应不同的视觉任务。结果表明,表现最佳的多任务架构取决于感兴趣的的任务,很难推广到新任务。UberNet(Kokkinos,2017)更进一步,使用单一的通用CNN架构,精心设计了一种路由机制来节省内存和计算成本,如图4.12a所示。这两项工作都需要对CNN 架构进行一些调整,以便能够适应不同级别的任务和损失类型。但遗憾的是,它们未能建立跨任务的协同效应来提高模型性能。Taskonomy(Zamir等,2018)专门研究了视觉任务之间的关系。它首先为每个单独的任务训练特定任务的模型,然后在潜在空间中执行跨任务的转移建模。然后在潜在空间中计算任务的亲缘关系,为我们提供任务图谱。结果表明,视觉任务在不同的组中具有不同的亲缘关系,如图4.12b所示。例如,表面法线估计与重塑和点匹配密切相关。曲率提取与图像分割任务有关。这项研究为多任务视觉建模提供了深刻的理解(Xu等,2018;Crawshaw,2020)。

在这里插入图片描述

图4.12:(a)UberNet(Kokkinos,2017)可以使用统一且预算可控的CNN架构应用于7个视觉任务。(b) Taskonomy(Zamir等,2018)通过利用多任务转移模型进一步研究了视觉任务之间的关系。

多模态模型

Transformers的出现极大地促进了多任务多模式学习的发展。其中,12in1(Lu等人,2020)是基于BERT的单一架构结合12个视觉-语言任务的开创性作品之一。它为每个任务使用特定任务的头,并使用一个共享的主干 ViLBERT(Lu等人,2019)。结果表明,多任务学习可以在显著减少模型参数的同时,实现对单任务学习的实质性改进。后来,UniT(Hu和Singh,2021b)采用了编码器-解码器架构,扩展到仅限视觉的任务,如目标检测。此外,它允许在任务池上进行端到端的训练,而无需依赖预先训练的检测器。与12in1类似,它也为每项任务使用一个特定于任务的头部,这是由于经验表明共享相同的头通常会损害性能。同样,E2E-VLP(Xu等人,2021)提出了一种用于定位任务和文本生成的端到端的管道。UniT和E2E-VLP都证明了DETR编码器-解码器架构的通用性(Carion等,2020)。遵循同样的精神,GPV(Gupta等,2022b)为不同的视觉和视觉语言任务提出了一种端到端的与任务无关的架构。它使用 DETR 来提取框和区域特征,然后利用交叉注意力模块进行融合,然后使用视觉解码器和语言解码器对不同的输出进行解码。

上述视觉和多模态模型,通过采用针对不同任务而设计的不同模块或头来统一不同的任务,很难实现跨任务的协同作用。在以下部分,我们讨论了最近的模型统一研究,这些研究旨在充分利用各种视觉和多模态任务之间的协同作用。


统一学习

随着我们之前讨论的开放集模型和Transformer(Vaswani等,2017)的发展,跨任务之间的界限逐渐模糊化。现在可以将来自不同模态的输入绑定在一起,以学习一个共享的语义空间。近年来,一些工作(Zhang等,2022b;Zou等,2023a;Li等,2023g)已经提出了通过一个模型统一处理所有视觉和视觉-语言任务。在预训练之后,单一模型可以以零样本方式处理所有任务,并且可以通过特定任务的微调进一步改进性能。需要注意的是,这种上下文中的统一学习与以前的大规模预训练工作不同。就像GPT在预训练后作为通用语言接口一样,统一的视觉模型不仅是一个表示学习引擎,还是一个支持尽可能多任务的接口,可以以零样本方式处理这些任务。下面,我们回顾一些代表性的工作。

GLIPv2(Zhang等,2022b)是通过扩展GLIP(Li等,2022f)而提出的,以支持广泛的视觉和视觉-语言任务,包括基于图像的描述生成、视觉问答等。GLIPv2通过三个不同的预训练任务无缝地融合了定位预训练和视觉-语言预训练(VLP):(1)短语定位,用于视觉-语言适应检测任务;(2)区域-单词对比学习,引入了一个新颖的区域-单词级的对比学习任务;(3)掩码语言建模。这个预训练模型可以以零样本方式应用于不同的任务,并在各个任务中获得较好的性能。与之前的工作不同(例如GPV,Gupta等,2022b),它以一种一致的方式合并了定位模块和视觉-语言匹配模块,使从融合数据中训练模型更加高效和有效。

X-Decoder(Zou等,2023a)采用了编码器-解码器架构的通用设计。给定一个输入图像,它首先使用图像编码器来提取多个尺度的特征。之后,使用文本编码器将文本查询编码成嵌入序列。视觉特征、文本查询和非语义或潜在查询被送入解码器来预测输出。X-Decoder 提出了三个关键设计来增强对各种视觉和视觉-语言任务的泛化能力:(1)定义了两种类型的查询和输出。具体来说,解码器的查询分为潜在查询和文本查询,分别执行通用视觉和视觉-语言任务。同样,输出也分为像素级掩码和语义嵌入;(2)使用单个文本编码器来对来自所有任务的文本语料进行编码。使用通用的文本编码器对指示短语、文本描述和图像字幕进行编码,分别用于指向性分割、图像-文本检索和图像字幕任务;(3)完全解耦图像和文本编码器,并使用所有的输出用作查询。因此,它可以从图像内监督和图像间监督中学习更强的像素级表示,支持不同粒度的任务。如图4.13所示,预训练模型可以通过采取不同的路由来支持不同的任务,同时共享相同的参数。

Uni-Perceiver-v2(Li等,2023g)是另一个通用模型,它统一了视觉和视觉-语言任务。与X-Decoder类似,该模型利用视觉编码器、文本编码器和通用解码器。不同的是,它在视觉主干上引入了一个区域候选网络 RPN,明确地预测框和掩码,然后将它们编码为“查询”,供通用解码器使用。为了在具有定位和没有定位的数据集上进行联合训练,它引入了一个统一的最大似然估计策略,适用于具有定位和没有定位的任务。

在这里插入图片描述
图4.13:以功能方式统一不同视觉和视觉语言任务的多面手模型X-Decoder(Zou等,2023a)。它使用具有相同参数集但具有不同路由机制的单个解码器来处理不同的任务。


4.4 从静态模型到可提示模型

大型语言模型(LLMs)如ChatGPT(OpenAI,2023b)的成功表明了现代AI模型在与人类互动中的重要性,并为通用人工智能 AGI(Bubeck等,2023)提供了希望。与人类互动需要一个用户友好的界面,该界面可以接受尽可能多种类型的人类输入,并生成人类可以轻松理解响应。在NLP中,这种通用交互界面已经出现并发展了一段时间,从早期的 GPT(Brown等,2020)和T5(Raffel等,2020)到更先进的如提示"prompting"(Shin等,2020;Zhao等,2021;Li和Liang,2021)和思维链"chain-of-thought"(Wei等,2022a;Kojima等,2022;Schick等,2023)等技术。然而,大多数视觉模型仍然是静态的,它们对各种提示的灵活性不如LLMs。最近,一些研究提出了增强静态视觉模型的能力,以支持:(1)多模态提示;(2)上下文提示。


4.4.1 多模态提示

视觉与自然语言有本质的不同。为了实现人类和人工智能之间的流畅互动,一个模型需要不仅有语言提示,还需要其他类型的提示,以补充缺失的信息或消除语言中的歧义。最近,许多研究探讨了如何将语言提示与其他类型的提示相结合或增强,例如空间提示(Kirillov等,2023),视觉提示(Zou等,2023b)和其他模态(Girdhar等,2023;Liu等,2023f)。以下,我们回顾一些代表性的研究。

空间提示

视觉根植于物理世界,因此它不仅具有语义性,还具有空间性质。空间提示可以被视为是一种通过位置信息输入来调制视觉模型的方式,这些位置信息可以是点、框或任意笔画等。在计算机用户界面设计(例如鼠标)和移动设备(例如触摸屏)中,这类提示在UI设计中广泛使用。在计算机视觉中,交互式分割(Mortensen,1998;McGuinness,2010;Chen等,2021c,2022i)自然需要这种能力,以便模型可以接收来自用户的多个点击,并逐步细化分割掩码。然而,这些工作大多数仍然是针对特定任务设计的,缺乏足够的灵活性来支持不同类型的空间提示。

SAM(Kirillov等,2023)是提出便捷的空间提示界面并学习图像分割基础模型的先驱工作之一。如图4.14 所示,该模型可以以点或框作为提示,以任意粒度对图像进行分割。该模型可以根据人类的用户指令进行分割,使得其能够轻松地构建更多的模型和应用(Zhang等,2023c)。举几个例子,许多作品(Ma和Wang,2023;Roy等,2023)从SAM开始,为医学领域训练了一个可提示的分割模型。医学图像的文本注释通常很有限且难以解释,空间提示特别有益。其他行业领域也有类似的情况(Tang等,2023a)。为了进一步改进“点”提示,SAMAug(Dai等,2023a)提出使用最大熵准则和显著性图来细化“点”,这有助于确定模型应该关注的最具信息量的位置。

在这里插入图片描述

图4.14:SAM(Kirillov等,2023)提出了一种可提示的分割模型,除了文本提示外,该模型还可以接受不同的空间提示。它进一步开发了一个数据注释引擎来扩展掩码注释数据。
图4.15:SEEM(Zou等,2023b)可以将不同类型的提示作为各种图像分割任务的输入。

视觉提示

在许多情况下,关于物体的文本描述不一定能够清楚地传达信息。例如,对于一个无法识别或难以描述的物体,人们可能无法清晰地表达有关该物体的信息。在这种情况下,展示一个或几个示例会更具信息性和直观性。基于这个想法,许多研究探讨了基于示例的视觉建模,例如图像到图像检索(Yoon等,2021;Datta等,2008;Zhang等,2018)、图像协同分割(Joulin等,2010;Jerripothula等,2016)和视觉对象跟踪(Yilmaz等,2006;Luo等,2021;Wu等,2013)。最近,这种策略已经被制定为视觉提示,其中不同类型的视觉输入通常被编码为某种统一格式,然后输入到Transformer架构中,就像在LLM中那样。

SEEM(Zou等,2023b)是使视觉模型进行图像分割的视觉提示的代表性作品之一。如图4.15所示,SEEM与上述的SAM不同,它可以通过在目标图像或另一参考图像上绘制点、框和笔画等方式来接受视觉提示。它开发了一个名为“视觉采样器”的新模块,可以根据用户指定的位置从图像中提取视觉特征。基于视觉采样器,该模型甚至可以接受另一参考图像作为输入,而无需像那样进行训练。因此,它不仅在各种图像分割任务中表现出令人印象的性能,而且在零样本方式下进行视频对象分割时也表现出令人印象的性能。

PerSAM(Zhang等,2023h)在SAM的基础上开发了一个个性化的分割模型,并以一个镜头作为输入。它学习一个特定的模型,该模型以源图像加上掩码作为输入,然后预测目标图像的掩码。为了提取视觉提示,采用了掩码池化并将其作为解码器的输入标记。它还提出了一种基于特征匹配提取正负先验的方法,以促进具有全面线索的预训练SAM模型。与LLMs中的大多数提示学习方法一样,PerSAM的一个明显特点是它可以很容易地获得一些现成的模型,如SAM。SAM-PT(Rajic等,2023)进一步将这种策略应用于视频对象分割。受到SAM中空间提示的启发,它利用点跟踪系统(Harley等,2022)来跟踪不同的点(包括正点和负点),然后要求SAM根据给定的点对图像进行分割。它表现出强大的点跟踪性能和分割性能。

其他

其他一些研究结合了多种视觉提示类型。例如,Painter(Wang等,2023i)将不同的视觉任务(例如,深度估计、图像分割)都重新构建为提示,并学习一个上下文学习方式的解码器。提示是原始图像和相应的密集注释(例如,深度或分割图)的组合。相比之下,Prismer(Liu等,2023f)利用许多现成的视觉模型从原始图像中提取不同信息,然后将信息馈送到视觉语言模型。为了促进不同模态之间的相互作用,ImageBind(Girdhar等,2023)学习了图像/视频、语言、音频和深度之间的通用对齐方式。一旦学习了嵌入空间,就可以通过简单地进行求和来组合不同类型的提示。


4.4.2 上下文提示学习

在许多大型语言模型(LLM)中,如GPT-3(Radford等,2019),已经观察到了上下文学习的能力,这使得模型可以通过提示进行配置,而无需更新任何模型参数。相比之下,到目前为止,视觉模型的上下文学习能力仍然较少被研究。Flamingo(Alayrac等,2022)是展示多模态输入上下文语言生成的先驱工作之一,它通过从交错的图像文本对数据中学习而获得。同样, Kosmos-1(Huang等,2023b)将视觉输入视为外语,因此大型语言模型的上下文学习能力可以自然地转化为多模态输入。然而,这两种方法都以多模态数据为输入,但仅生成文本输出。正如我们之前讨论的,视觉任务需要不同类型的输出,而不仅仅是文本。如何赋予视觉系统上下文学习能力仍然是一个悬而未决的问题。下面,我们回顾了近期为实现这一目标所做的尝试。

Bar 等(2022)提出了通过修复图像中缺失区域的方法进行视觉提示,以教导模型预测密集输出,例如边缘、掩码、深度等,如图4.16 所示。给定输入图像 x ∈ R H × W × 3 x∈R^{H×W×3} xRH×W×3和二进制掩码 m ∈ { 0 , 1 } H × W m∈\{0,1\}^{H×W} m{0,1}H×W,图像修复模型旨在预测缺失区域 y = f ( X , m ) y=f(X,m) y=f(X,m)。作者利用预训练的VQ-GAN将原始图像编码为离散标记,并要求另一个ViT编码器预测掩码区域。为确保模型理解图像中的视觉“上下文”,作者收集了一个名为“计算机视觉图形数据集”的新数据集,该数据集包含Arxiv论文的88,000张图像。在预训练后,该模型用于预测右下角的图像内容。

在这里插入图片描述
图4.16:Bar等(2022)提出的通过视觉修复进行视觉提示。

Painter(Wang等,2023i)将视觉上下文学习的类似想法扩展到了更多元化的数据集和基准测试中。与Bar等(2022)不同,Painter 预测输出位于连续像素空间,而不是离散标记。对于不同的任务,作者们定义了将输出空间转换为图像空间的规则。例如,对于分割任务,它使用不同的颜色表示图像中不同的个体实例。在统一输入和输出格式后,作者们使用标准 ViT 作为编码器,并使用掩码图像建模(He等,2022a)。后续工作 SegGPT(Wang等,2023j)在Painter的基础上,专门针对图像分割任务而设计。预训练模型可以轻松扩展到基于示例的图像分割任务中。

在这里插入图片描述
图4.17:SegGPT(Wang等,2023j)提出对图像分割进行上下文学习。

Hummingbird(Balazˇević等,2023)采用了不同的方法进行上下文视觉学习。与使用掩码建模不同,作者提出利用目标图像和源图像之间的注意力来聚合信息。如图4.18所示,该模型采用多个输入图像(第一行)和相应的语义标签图(第二行)。给定查询图像,它首先找到提示图像中与查询点最近的特征位置,然后将相同的匹配项投影到语义标签地图上,以便为目标查询聚合标签。这种策略类似于早期基于K-最近邻的分类模型,但不同之处在于它适用于密集预测任务。

在这里插入图片描述

图4.18:蜂鸟(Balažević等,2023)被提出用于通过最近邻检索进行上下文视觉场景理解。

讨论:

上下文学习无疑是一个吸引人的特性。一方面,有许多作品试图将视觉与大型语言模型(LLM)结合,以继承上下文学习的能力,如 Flamingo(Alayrac等,2022)和 Kosmos-1(Huang等,2023b)。另一方面,研究人员采用纯粹的基于视觉的上下文学习来处理视觉特定任务,如图像分割、深度估计等。迄今为止,还没有一个单一的模型能够以上下文学习的方式同时接受多种模态输入和预测不同类型的输出,这可能会成为这个领域一个充满希望的未来发展方向。


4.5 总结与讨论

最后,图4.19 展示了本章所涵盖的作品的直观总结。视觉领域中有一个明显的趋势是构建开放世界、统一和交互式的视觉模型。然而,视觉与语言之间仍存在一些内在差异。首先,视觉不同于语言,它以原始信号捕捉物理世界。我们需要开发一些复杂的标记化方法,将原始数据压缩成紧凑的“标记”。在语言领域,这可以通过使用一些成熟的启发式标记器(Sennrich等,2016)轻松完成。其次,与语言不同,视觉数据本身没有标记,因此难以传递信息或知识。它总是需要人工以语义或空间的方式对视觉内容进行注释。第三,语言数据是同质的,而视觉数据和任务是异质的。最后但同样重要的是,存储视觉数据的成本比语言数据高得多。例如,GPT-3消耗了45 TB的训练数据,而包含130万张图像的ImageNet数据集的成本超过了数百GB。。当涉及到像Howto100M(Miech等,2019)这样的视频数据时,存储成本已经超过了GPT-3的训练语料库。所有这些差异都提出了一些视觉领域需要解决的尚未解决的问题,详述如下。

在这里插入图片描述
图4.19:本章涵盖的主题摘要。人们已经投入了大量努力,从不同方面统一视觉模型,以实现更智能的视觉系统。


  • 开放的真实场景中的计算机视觉
    由于其异构性质,我们用于训练模型当前的视觉数据几乎无法涵盖物理世界的全貌。尽管我们在构建开放集视觉模型方面做出了努力,但在应对新颖或长尾场景方面仍面临重大挑战。

  • 视觉中的规模定律
    正如Kaplan等(2020)、Hoffmann等(2022)所讨论的,随着模型大小、数据规模和计算量的增加,大型语言模型的性能稳步提高。随着规模的增加,LLM 中进一步观察到一些有趣的涌现现象。相比之下,目前尚不清楚规模视觉模型的正确途径是什么,更不用说这些模型中涌现的属性了。

  • 以视觉为中心或以语言为中心的模型
    目前,视觉和语言之间的界限逐渐被消除。然而,由于视觉和语言之间的内在差异,目前尚不清楚我们是否应该进一步扩大视觉模型并整合语言模型,或者适度视觉模型和LLM的结合是否足以解决大多数(如果不是全部)问题。

综上所述,我们离能够像人类一样感知世界的高度智能化的视觉系统还有很长的路要走。我们希望本章的文献综述能够提供现有努力的全面概述,并激发对下一代视觉模型的追求。


【本节完,待续】


参考资料:
Chuanyuan Li,Zhe Gan,Zhengyuan Yang,等,Multimodal Foundation Models: From Specialists to General-Purpose Assistants,Microsoft Corporation,arxiv.org/html/2309.10020 v1


版权声明:

本文是对论文 “Multimodal Foundation Models: From Specialists to General-Purpose Assistants” 的翻译,仅供学习使用。
youcans@xidian 作品,转载必须标注原文链接:
【微软:多模态基础模型】(4)统一视觉模型

Copyright 2024 youcans,XIDIAN
Crated:2024-11

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

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

相关文章

动态规划算法--01背包问题详细讲解步骤

举个例子 要确定哪些物品被放入背包以达到最大价值&#xff0c;可以在计算 dp 数组的同时记录选择的物品。具体来说&#xff0c;可以使用一个额外的数组来记录每个状态的选择情况。以下是一个详细的步骤和代码实现&#xff1a; n 3 W 5 weights [2, 1, 3] values [6, 3…

Jenkins的环境部署

day22 回顾 Jenkins 简介 官网Jenkins Jenkins Build great things at any scale The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project. 用来构建一切 其实就是用Java写的一个项目…

微软发布Win11 24H2系统11月可选更新KB5046740!

系统之家11月22日报道&#xff0c;微软针对Win11 24H2系统推出2024年11月最新可选更新补丁KB5046740&#xff0c;更新后系统版本后升至26100.2454&#xff0c;此次更新后修复当应用程序以PDF和XLSX格式导出图表对象时停止响应、无法使用API查找旋转信息等问题。以下小编将给大家…

JavaEE 实现 登录+注册(采用注解方式链接数据库)

&#xff08;Spring MVC的Controller练习&#xff09; 工具&#xff1a;Tomcat 10.0.23&#xff0c;MySQL&#xff0c;JDK18 一、运行效果展示 点击运行Tomcat首先进入index.jsp页面 若已有账号点击登录即可进行登录&#xff0c;这里先点击“获取ROY6账号”去注册&#xff0…

用 React18 构建点击计分小游戏

本教程将带你创建一个简单的点击计分游戏&#xff0c;使用 React 和基本的 Hooks。游戏规则很简单&#xff1a;在 10 秒内尽可能多地点击按钮以获取高分。 项目结构 确保你的项目结构如下&#xff1a; 编写 ClickGame 组件 在 src/ClickGame.js 文件中&#xff0c;编写如下…

Halo 正式开源: 使用可穿戴设备进行开源健康追踪

在飞速发展的可穿戴技术领域&#xff0c;我们正处于一个十字路口——市场上充斥着各式时尚、功能丰富的设备&#xff0c;声称能够彻底改变我们对健康和健身的方式。 然而&#xff0c;在这些光鲜的外观和营销宣传背后&#xff0c;隐藏着一个令人担忧的现实&#xff1a;大多数这些…

数据结构:链表进阶

链表进阶 1. ArrayList的缺陷2. 链表2.1 链表的概念及结构2.2 链表的实现 3.链表面试题4.LinkedList的使用5.1 什么是LinkedList4.2 LinkedList的使用 5. ArrayList和LinkedList的区别 1. ArrayList的缺陷 通过源码知道&#xff0c;ArrayList底层使用数组来存储元素&#xff1…

第二十二周机器学习笔记:动手深度学习之——线性代数

第二十周周报 摘要Abstract一、动手深度学习1. 线性代数1.1 标量1.2 向量1.3 矩阵1.4 张量1.4.1 张量算法的基本性质 1.5 降维1.5.1 非降维求和 1.6 点积1.6.1 矩阵-向量积1.6.2 矩阵-矩阵乘法 1.7 范数 总结 摘要 本文深入探讨了深度学习中的数学基础&#xff0c;特别是线性代…

Flink-Source的使用

Data Sources 是什么呢&#xff1f;就字面意思其实就可以知道&#xff1a;数据来源。 Flink 做为一款流式计算框架&#xff0c;它可用来做批处理&#xff0c;也可以用来做流处理&#xff0c;这个 Data Sources 就是数据的来源地。 flink在批/流处理中常见的source主要有两大类…

分公司如何纳税

分公司不进行纳税由总公司汇总纳税“子公司具有法人资格&#xff0c;依法独立承担民事责任;分公司不具有法人资格&#xff0c;其民事责任由公司承担。”企业设立分支机构&#xff0c;使其不具有法人资格&#xff0c;且不实行独立核算&#xff0c;则可由总公司汇总缴纳企业所得税…

亚马逊搜索关键词怎么写?

在亚马逊这个全球领先的电子商务平台&#xff0c;如何让自己的产品被更多的消费者发现&#xff0c;是每一个卖家都需要深入思考的问题。而搜索关键词&#xff0c;作为连接卖家与买家的桥梁&#xff0c;其重要性不言而喻。那么&#xff0c;如何撰写有效的亚马逊搜索关键词呢&…

跨视角差异-依赖网络用于体积医学图像分割|文献速递-生成式模型与transformer在医学影像中的应用

Title 题目 Cross-view discrepancy-dependency network for volumetric medical imagesegmentation 跨视角差异-依赖网络用于体积医学图像分割 01 文献速递介绍 医学图像分割旨在从原始图像中分离出受试者的解剖结构&#xff08;例如器官和肿瘤&#xff09;&#xff0c;并…

基本功能实现

目录 1、环境搭建 2、按键控制灯&电机 LED 电机 垂直按键(机械按键) 3、串口调试功能 4、定时器延时和定时器中断 5、振动强弱调节 6、万年历 7、五方向按键 1、原理及分析 2、程序设计 1、环境搭建 需求: 搭建一个STM32F411CEU6工程 分析: C / C 宏定义栏…

C++11新特性探索:Lambda表达式与函数包装器的实用指南

文章目录 前言&#x1f349;一、Lambda表达式&#xff08;匿名函数&#xff09;&#x1f353;1.1 Lambda 表达式的基本语法&#x1f353;1.2 示例&#xff1a;基本 Lambda 表达式&#x1f353;1.3 捕获列表&#xff08;Capture&#xff09;&#x1f353;1.4 使用 Lambda 表达式…

msvcp110.dll丢失修复的多种科学方法分析,详细解析msvcp110.dll文件

遇到“msvcp110.dll丢失”的错误时&#xff0c;这表明你的系统缺少一个关键文件&#xff0c;但解决这一问题比较直接。本文将指导你通过几个简单的步骤迅速修复此错误&#xff0c;确保你的程序或游戏可以顺利运行。接下来的操作将非常简洁明了&#xff0c;易于理解和执行。 一.…

HDR视频技术之四:HDR 主要标准

HDR 是 UHD 技术中最重要维度之一&#xff0c;带来新的视觉呈现体验。 HDR 技术涉及到采集、加工、传输、呈现等视频流程上的多个环节&#xff0c;需要定义出互联互通的产业标准&#xff0c;以支持规模化应用和部署。本文整理当前 HDR 应用中的一些代表性的国际标准。 1 HDR 发…

Bug Fix 20241122:缺少lib文件错误

今天有朋友提醒才突然发现 gitee 上传的代码存在两个很严重&#xff0c;同时也很低级的错误。 因为gitee的默认设置不允许二进制文件的提交&#xff0c; 所以PH47框架下的库文件&#xff08;各逻辑层的库文件&#xff09;&#xff0c;以及Stm32Cube驱动的库文件都没上传到Gi…

c++源码阅读__smart_ptr__正文阅读

文章目录 简介源码解析1. 引用计数的实现方式2. deleter静态方法的赋值时间节点3.make_smart的实现方式 与 好处4. 几种构造函数4.1 空构造函数4.2 接收指针的构造函数4.3 接收指针和删除方法的构造函数 , 以及auto进行模板lambda的编写4.4 拷贝构造函数4.5 赋值运算符 5. rele…

【BUG】ES使用过程中问题解决汇总

安装elasticsearch内存不足问题 问题回顾 运行kibana服务的时候&#xff0c;无法本地访问 解决 首先排查端口问题&#xff0c;然后检查错误日志 无法运行kibana服务&#xff0c;是因为elasticsearch没有启动的原因 发现致命错误&#xff0c;确定是elasticsearch服务没有运行导…

C语言--分支循环编程题目

第一道题目&#xff1a; #include <stdio.h>int main() {//分析&#xff1a;//1.连续读取int a 0;int b 0;int c 0;while (scanf("%d %d %d\n", &a, &b, &c) ! EOF){//2.对三角形的判断//a b c 等边三角形 其中两个相等 等腰三角形 其余情…