原论文地址:2403.09394 (arxiv.org)
Github:https://github.com/Haiyang-W/GiT
论文翻译
图1:通用视觉转换。a) GiT支持的任务示例。b) 以前的LVM(例如LLaVA)和我们的模型之间的架构比较。GiT通过使用普通transformer(例如ViT和GPT)的通用语言界面无缝处理各种以视觉为中心的任务,特别是细粒度的视觉感知。
摘要
本文提出了一个简单但有效的框架,称为GiT,仅使用普通ViT即可同时适用于各种视觉任务。受大型语言模型(LLM)中广泛使用的多层Transformer架构(如GPT)的普遍性的启发,我们寻求扩大其范围,作为强大的视觉基础模型(VFM)。然而,与语言建模不同,视觉任务通常需要特定的模块,例如用于检测的边界框头和用于分割的像素解码器,这极大地阻碍了强大的多层变换器在视觉领域的应用。为了解决这个问题,我们设计了一个通用语言接口,使成功的自回归解码能够熟练地统一各种视觉任务,从图像级理解(如字幕)、超稀疏感知(如检测)到密集预测(如分割)。基于上述设计,整个模型仅由ViT组成,没有任何其他特殊添加,提供了一个杰出的简化架构。GiT是一个多任务可视化模型,在五个具有代表性的基准测试中联合训练,无需针对特定任务的微调。有趣的是,我们的GiT为通用表现建立了一个新的基准,并促进了跨任务的相互提升,与单独的培训相比,取得了显著的进步。这反映了在LLM中观察到的类似影响。GiT通过27个数据集进一步丰富了训练,在各种任务中都取得了强大的零样本结果。由于其简单的设计,这种范式有望缩小视觉和语言之间的架构差距。代码和模型将在https://github.com/Haiyang-W/GiT.
关键词:统一视觉建模,多任务学习
1. 介绍
开发一个能够完成与人类意图一致的各种任务的通用模型是机器学习的一个长期目标。在语言处理中,LLM的出现开辟了一条有前景的路线,该路线只使用几个堆叠的转换器层进行适应性任务管理,提示最少。在本文中,我们探索了视觉建模中的这种简单的多层转换器架构,将众多视觉任务与通用语言接口无缝集成,旨在缩小视觉和语言之间的架构差距。
随着基于海量数据训练的基础模型(如GPT、BERT、DALL-e)的兴起,机器学习社区正在经历范式转变,实现了概念知识的共享,并为不同的下游任务提供了无缝的适应性。语言模型最近从中受益匪浅,这要归功于同质化表示(即输入和输出被统一表示为令牌序列)。GPT4、LLaMA、PaLM2和Gemini等最先进的模型显示出前所未有的遵循人类指令和解决开放式任务的能力。由于他们的成功,这种架构可能被视为NLP之外其他机器学习任务的通用框架。
在这个机会的激励下,社区通过利用视觉特征[30,38]作为开源LLM的外语,开发了几个大型视觉模型,如LLaVA、Unified IO和OFA。然而,这一进展仍然保留了特定任务的设计,包括不同的视觉编码器、感知头、RPN和特定的目标表示。特定于任务的模块需要为模型需要解决的每个任务进行复杂的设计,这可能会阻碍向通用视觉模型的发展。此外,这些特定于任务的设计通常涉及许多单独的训练阶段,使跨不同任务的模型扩展变得复杂。我们认为,另一种通用框架可以通过更通用的输入输出接口使用轻量级组件,并将大部分模型资源分配给跨这些任务学习通用模型。
之前对大型视觉建模的尝试[3,7,28,51,55,90104]主要集中在图像级视觉语言领域,主要是因为它通过将图像视为外语而直接集成到LLM中。这种方法往往忽视了经典感知的结合任务,例如检测和分割。事实证明,为基本视觉感知开发一个统一的框架是相当具有挑战性的,因为它要求模型并行预测不同格式的多个输出,注释在表示上差异很大,从粗粒度图像级到细粒度像素级。例如,检测产生可变数量的边界框,分割产生二进制掩码,图像字幕生成文本答案。这些缺点使得很难设计一个同时适用于所有视觉任务的单一模型。
表1:从左到右的列显示任务源示例、数据集计数、总样本、百分比和多任务采样率,然后显示任务模式。突出显示的行汇总了类似任务组的统计数据。完整清单见附录。
最近的LLM的发展展示了Transformer成为通用计算框架的潜力。受此启发,我们引入了GiT,这是一种可以处理各种以视觉为中心的任务的视觉基础模型。如图1所示,与之前的统一模型相比,我们的方法具有极简主义的设计,只包括几个Transformer层,除了补丁投影层外,没有任何视觉特定的添加,与LLM架构紧密对齐。与语言建模类似,所有视觉任务都通过通用语言界面构建到一个自回归框架中。具体来说,我们的目标使用统一的表示法表示为令牌序列,仅依赖于标准词汇表,不涉及额外的tokens。为了兼容不同感知尺度上的各种视觉任务,我们引入了一种灵活的多任务模板来统一任务。它通过网格采样将整个图像划分为N个子区域,并通过高效的并行解码并行处理每个子区域。
上述设计有助于在五个代表性基准测试中对我们的模型进行多任务训练,而无需进行特定任务的微调。如表3和表4所示,利用共享参数和表示,我们的模型实现了强大的泛化结果,并反映了LLM的多任务能力[4]。具有重叠能力的任务可以相互增强,从而比单独训练获得显著收益(更多分析见§5.2)。为了进一步提高泛化能力,我们将27个标准视觉数据集纳入训练中(见表11),从而在看不见的数据上实现了强大的零射击和少射击性能。
特别是,我们的工作做出了以下贡献:
- 统一视觉建模的基础框架。我们引入了一种简单的可视化建模范式,其中包含一个简单的多层转换器,大大简化了模型设计。我们的模型通过高效的通用语言接口集成了各种以视觉为中心的任务,特别是经常被忽视的对象和像素级任务。
- 像LLMs一样的多任务能力。权重共享和统一的学习目标使我们能够获得LLM中观察到的多任务能力,在五个基准测试中实现最佳和相互增强的通才表现。
- 具有很强的通用性。我们的模型完全采用LLM中使用的单阶段联合训练策略,在27个公开可用的数据集上进行训练,在各种任务中实现了强大的零射击和少射击性能。
表2:架构配置摘要。共享参数占整个模型的98%以上。文本嵌入的参数被排除在外,因为它以零计算索引的方式运行。
表3:每项任务所需的能力以及多任务培训后的绩效提升。†指基于多边形的片段[93,94],不同于流行的基于掩码的方法[36]。
2 相关工作
多层Transformer已成为一种通用的学习架构,成为大多数LLM框架的基石。GPT系列LLaMA、PaLM和OPT等著名的LLM在这一领域取得了重大进展。除了语言之外,plain transformer在ViT的2D视觉、DSVT的3D视觉、UniTR的多模态成像方面也被证明是有效的。尽管取得了成功,但这些简单的转换器通常仅限于特征编码,需要特定任务的模块,极大地阻碍了向普通学习者的进步。为了解决这个问题,我们的目标是扩大多层变压器的范围,超越其传统的仅编码器功能,转向类似LLM的视觉建模。我们的模型为各种视觉任务采用了多个转换层,并具有通用语言界面,缩小了视觉和语言之间的架构差距。
视觉基础模型擅长在统一的架构框架内处理各种视觉任务。在自然语言处理中seq2seq模型成功的推动下,OFA、Flamingo、LLaVA和Gato等创新将视觉语言任务重新定义为序列生成问题,并由unified IO、Pix2Seq v2和VisionLLM进一步开发,以处理更多任务中的空间信息。然而,这些方法面临着挑战,例如非并行解码的低效推理或视觉特定添加的复杂性,减缓了通用视觉模型的进展。此外,他们往往缺乏LLM的多任务能力,在这种能力下,联合训练相较于单独训练具有更优的性能。
3 通用语言接口
在本节中,我们提出了一个简单的通用语言界面,它集成了五个基本的视觉任务,从图像、对象到像素级,接入成功的自回归框架。我们所有的目标都通过统一的表示(§3.1)表示为令牌序列,然后由通用的多任务模板(§3.2)组织,该模板将细粒度的视觉感知划分为一系列并行解码的子问题。图2显示了三个任务的多任务输入模板,即图像字幕(图像级任务,左)、对象检测(对象级任务,中)和语义分割(像素级任务,右)。下文提供了进一步的技术细节。
图2:在实际实现中,任务级定制涵盖了从图像到对象和像素级,将N设置为1625(25×25)和1764(42×42)。红点表示局部视觉标记,由图像在其网格点处的双线性插值生成。任务提示是文本,通过文本和词汇表外表示转换为token。
3.1 统一的输入和输出表示
为了支持各种形式,如图像、语言、边界框、掩码等,在统一的空间中表示它们至关重要。为了实现这一点,我们直接将输入图像和文本投影到补丁和语言标记嵌入中。在此之后,所有目标都通过通用语言接口表示,并完全基于标准词汇表进行标记。
文本表示。视觉语言任务通常需要文本处理,如图像字幕,其中基于给定图像生成自然语言描述。为了处理它,我们遵循BERT的做法,将文本转换为WordPiece子词,具有约30000个标记词汇,然后通过查找表嵌入到可学习的嵌入空间中。添加位置编码以指示时间步长内的本地位置。
词汇表外表示。视觉感知通常依赖于由多个部分组成的复杂文本概念,例如“交通灯”和“20 47”,这是物体检测中使用的类别名称和数值。如[52,89]所述,使用多个令牌来表示它们是低效的。1) 添加像</c>“交通灯”</c>这样的分隔符来标识类别将延长序列长度,对于密集的预测任务来说尤其不切实际。2) 多段单词的不同令牌长度会导致解码步骤不一致,需要复杂的基于规则的后处理来实现可靠的结果。为了解决这个问题,一些解决方案[59,72,89]引入了类别和数字术语的新令牌,同时在考虑令牌容量限制时面临挑战。我们没有扩展词汇表,而是将多段概念视为连续文本,并将其压缩为单个标记,如下所示,
其中Attention(·)是单层注意,TE(·)和PE(·)都是文本和位置嵌入函数。我们的方法为处理任何词汇外的术语提供了一种替代解决方案,而无需扩展基本词汇,这大大简化了实现有效感知的后处理。
图3:我们的多任务公式被概括为处理四种类型的用户输入:图像补丁、指导性语言标记和N个并行的基于点的子过程,每个子过程都有其插值的局部图像特征和任务标识符,用于高效的并行视觉预测。至于语言界面,我们使用基本词汇表、当前任务所需的特定词汇表和任务无关的词汇表外模块(§3.1)为每个任务动态创建词汇集。
稀疏表示。在稀疏对象级感知的背景下,如对象检测和实例分割,它们会生成各种类别和位置表示(例如,边界框和实例掩码),我们提出了一种标准化的输出格式。这种格式被定义为元组(C,P),其中C表示类别标签,并且P={xi,yi}N i=1表示标识对象位置的N个点的集合。为了与语言标记的格式保持一致,类和位置目标都由先前的文本和词汇表外表示进行标记。根据VisionLLM[89],连续坐标被均匀离散化为[-range,range]内的整数。边界框由四个点{x1,y1,x2,y2}表示其左上角和右下角坐标,而实例掩码通过沿边界的多个点定义其细粒度区域[93,94]。
密集的表现。各种感知任务,如语义分割[58,74],需要模型生成密集的输出,通常涉及每像素的预测。为了处理这些任务,我们首先将每个像素的标签转换为统一的标记。例如,语义类[54]首先通过文本和词汇表外表示进行标记。然后,这些密集的标签被扁平化为光栅顺序的1D序列,自回归表示,类似于iGPT[20]。
图像表示。图像按光栅顺序转换为非重叠的16×16补丁序列,然后通过可训练的线性投影和可学习的位置嵌入嵌入到标记中,如ViT[30]中所做的那样。
3.2 并行解码的多任务模板
在构建模板之前,我们首先将二维视觉理解分为三个不同的类别,每个类别都由其感知粒度和输出表示来定义。我们的重点包括培训和分析的五个核心任务:1)以图像字幕和视觉背景为例的图像级任务;2)对象级任务,如对象检测和实例分割;3)像素级任务,如语义分割。然后,我们引入了一个统一的seq2seq框架,该框架无缝集成了从纯视觉到涉及语言的各种任务公式,实现了灵活的任务定制。
通用模板。受成熟语言模型的启发,我们将广泛接受的LLM教学模板适应视觉社区(例如视觉语言和空间感知视觉感知)。如图2和图3所示,指导模板定义如下:
在我们的模板中,用户输入被分为四个部分。第一种包括图像补丁,如ViT中所做的那样。第二个涉及指令输入,如用于视觉基础的语言表达。对于第三和第四部分,针对高效的对象和像素级视觉感知,如传统对象检测中同时预测多个边界框,我们通过网格采样将任务划分为N个并行的局部子流程,如图2所示。每个子流程都使用一个本地图像标记和一个纯文本任务标识符,本地图像标记是通过双线性插值基于其网格点位置的图像特征创建的,纯文本任务标识通过文本和词汇表外表示转换为单个标记。对于视觉语言任务,我们将N设置为1,而对于以视觉为中心的任务,如检测和分割,N是可调整的,以匹配所需的预测分辨率。这些设计使我们的方法能够灵活地处理几乎所有的二维视觉任务。值得注意的是,一些片段是不同任务可选的,例如,图像字幕只需要图像输入和任务提示。
与传统的编码器和解码器设置相比,我们采用各种掩码矩阵来确定令牌表示上下文。如图3所示,我们的方法通过应用双向自关注来处理输入(即图像和指令),类似于典型的编码器。重要的是,我们启用了图像到文本的注意力,以增强其文本调节图像处理的能力(见表7)。对于计算局部和任务提示,以及每个子过程的目标预测,我们使用从左到右的单向注意力来建模因果关系,符合仅解码器的自回归方法。
图像级别。图像级任务(如图像字幕和视觉基础)的定义很简单,与NLP任务非常相似。遵循之前的视觉语言方法,我们将N设置为1,并将图像字幕的标记序列构造为{<image>“图像字幕”:<text>},将视觉基础构造为{<图像><指令>“视觉基础”:<bbox>}。
图4:像素级多重并行解码的说明。考虑一个64×64的图像,分为16个补丁,其中每个补丁为16×16。N=16,每个子过程的解码步骤为16,每个网格点覆盖一个补丁来预测一个4×4的语义图,然后将其上采样4×到原始大小,得到最终结果。
对象级别。开发一个能够熟练管理经典对象级感知任务(包括对象检测和实例分割)的生成框架是一个重大挑战。它需要一个能够同时生成所有边界框和掩码的模型。为了解决这个问题,如图2所示,我们引入了一个基于点的并行解码框架,专为视觉提示感知而设计。它首先对整个网格中的N个点进行采样图像,其中N设置为625,对应于1120×1120图像的25×25采样分辨率。在此之后,我们使用以下格式在每个点进行生成感知:{<图像><局部特征><任务标识符>:<稀疏响应>}<image>是所有网格子流程共享的补丁令牌<稀疏响应>表示我们选择的对象级稀疏表示,详见§3.1。值得注意的是,如果该点位于负数部分,则将预测<background>标记。
网格点的检测示例:{<图像><局部特征>“对象检测”:<c><x1><y1><x2><y2>},其中<c>是类标签,(<x1><y1><x2><y2>)表示框点与网格点的偏移。
像素级别。自回归解码范式[9,65,69]在处理高维输出时遇到了困难,特别是在像在单个序列中计算所有像素语义类别这样的情况下,会产生相当大的计算开销。早期的工作试图通过VQ-VAE[83]使用压缩token来缓解这种情况。然而,这种方法损害了纯语言界面,并引入了复杂的模块。为了解决这个问题,如图4所示,我们将每像素标签转换为语言标记,并将图像进一步划分为N个统一的子区域,就像对象级任务一样。具体来说,对于分割任务,我们将N设置为1764,以实现672×672大小的图像的42×42感知分辨率。每个子流程都独立并行地进行连续的像素级预测,从而提高了效率。
一个包含16个解码步骤的单轨语义分割示例:{<图像><局部特征>“语义分割”:<c1><c2>··<c15><c16>},其中<ci>是每个子区域的第i个类标记。
4 训练
4.1 架构:多层Transformer
通过使用通用语言接口,我们将各种2D视觉任务表示为离散的输入和输出标记序列。这个方法为将大型语言模型中的成功架构(如多层转换器[9,69,84])扩展到统一的视觉建模铺平了道路。
基于视觉基础,我们利用基于窗口的ViT结构[30,53],与SAM中使用的视觉编码器[45]相同,用于语言序列和高分辨率图像。一些全局注意力块被均匀地集成到特征传播模型中。值得注意的是,在窗口关注层内,每个补丁令牌仅与位于同一窗口中的网格点交互。我们的方法可以建立在这种通用结构(即ViT)之上,而无需进行架构更改,从而增强了框架的通用性。
受益于上述设计,我们的架构可以将大部分计算参数(>98%)分配给一般推理,并辅以一些用于不同模态输入的轻量级模块,如表2所示。
4.2 多任务和通用训练
GiT在各种任务和数据集上进行联合训练。我们的目标是评估统一模型同时处理多个任务的能力。因此,尽管之前的研究表明它有提高任务绩效的潜力,但我们还是避免了针对特定任务的微调。
各种任务和数据集。为了为不同的感知和V&L任务构建一个单一的统一模型,我们构建了一个可分析的多任务基准,包括我们之前确定的五个基本任务中最具代表性的数据集,从图像到像素级的视觉理解。为了增强模型的适应性,我们通过整合来自16个公共可访问数据源的27个数据集来增强基准,如表11所示。
联合多任务训练。我们通过混合这些数据集中的样本,在上述多任务基准上联合训练GiT。如表11所示,为了防止在联合训练期间用较小的数据掩盖任务并避免潜在的性能下降,我们从所有任务(1/5)中统一采样,而不管它们的数据大小如何。在任务跨越多个领域的通用设置中,每个任务内的采样在日常生活、室内和室外等场景中是平衡的。在这些领域内,数据集按照其大小的比例进行采样。
关于学习目标,不同的任务需要不同的词汇。例如,视觉基础使用数字坐标,而分割涉及语义概念。为了解决这个问题,如图3所示,我们使用标准的CrossEntropy损失将所有任务视为下一个令牌生成问题,同时使用特定于任务的词汇表。这允许动态控制词汇集,在训练和推理阶段适应每个任务的独特要求。
缩放模型。我们采用类似于SAM[45]的ViT[30]变体,并增加了BERT[43]中使用的六个额外的变换器层和文本嵌入,以改善非视觉模态处理(参见表9)。为了研究性能对模型规模的依赖性,我们引入了基于ViT-B、-L和-H构建的三种不同尺寸的模型,参数范围为131M至756M,详见表2。初始层继承SAM预训练的参数,而新层则从随机初始化开始。
表4:以视觉为中心的标准基准测试结果。“单任务”是指分别在每个任务上训练的模型,而“多任务”表示在所有选定的基准上联合训练的模型。“⋆”表示模型能够完成该任务,但没有报告数字。“-”表示无法完成该特定任务。“†”表示通才模型嵌入了之前的任务特定模型以提高性能。GiT是第一个支持所有列出的视觉任务的多面手模型,在不进行特定任务调整的情况下提供有竞争力的结果。在之后,一些只报告特定任务微调结果的通才模型不包括在内,例如OFA和X-Decoder。我们用粗体突出显示了单阶段多任务通才模型和联合训练改进的前1名。特定的模块计数不包括非计算性的模块计数,如基于索引的文本标记器。
5 实验
5.1 实验设置
多任务数据集。为了便于深入分析和公平评估,我们构建了一个可分析的多任务基准,为每个任务选择一个最具代表性的数据集。为了确保一致性并与VisionLLM进行比较,我们保留了他们用于四个以视觉为中心的任务的相同数据集:COCO2017用于对象检测和实例分割,COCO Caption[23]用于图像字幕,RefCOCO系列[60100]用于视觉接地。对于VisionLLM中未包含的语义分割,我们采用了广泛使用的ADE20K数据集[103]。
扩展数据集。为了展示我们统一框架的普遍性,我们通过整合来自视觉语言和视觉感知的更多标准和公开可用的数据集来增强我们的多任务基准测试(见§4.2)。
训练和评估细节。为了说明我们模型的灵活性和有效性,我们建立了三种训练范式:单任务、多任务和通用设置。在单任务培训中,重点是在个人基准上优化性能。另一方面,多任务训练的目标是在五个选定的数据集中培养普通学习者。根据Uni Percever v2[49]的见解,我们采用了一种非混合采样策略(即每次迭代采样一个任务),以实现更快、更稳定的训练。然而,正如最近的研究所表明的那样,我们的框架也与批内混合策略[59107]兼容。普及培训扩展了我们的方法,纳入了§4.2中引入的27个综合基准。所有模型都利用具有余弦退火计划的AdamW[44]优化器,将初始学习率设置为0.0002,权重衰减设置为0.05。通用设置的最大模型在96个NVIDIA A100 GPU上训练了320k次迭代。
表5:零发射结果。“⋆”和“-”见表4。†是基于mmdetection再现的性能[16]。“universa”通过包含更广泛的数据集来扩展多任务设置,详见第4.2节。
所有实验都使用标准协议和测试分割在选定的数据集上进行评估。由于篇幅有限,更多细节见附录。
5.2 分销基准测试
我们评估了我们的模型在各种以视觉为中心的任务上的分布性能,并将其与特定任务和高级通才模型进行了比较。它仅依赖于堆叠的多层变压器,仅通过指令和后处理更改来适应各种任务。
与专业模型进行比较。我们将单任务模型与表4中完善的专家基线进行了比较。我们的模型展示了在同一框架内单独执行各种以视觉为中心的任务的能力,缩小了与专业模型的性能差距。它在大多数任务中都取得了类似的结果(例如,检测:DeformableDETR[106]的45.1对45.4,语义分割:Mask2Former[25]的47.7对47.2),但在实例分割方面表现稍差。这是基于多边形的方法的典型情况,其结果通常低于掩模方式。我们的模型比基于多边形的领先方法PolarMask[93]提高了+0.9。
值得注意的是,为了保持通用接口,我们的方法只使用基本的标签分配,而不采用最新的增强技术,为性能提升留下了巨大空间。例如,检测中使用的标签分配与可变形DETR[106]非常相似。采用更先进的策略,如DINO的对比去噪[101],可以进一步改善我们的结果。
与一般模型的比较。一些通用模型采用两阶段训练过程,最初利用大规模、与任务相关的数据集,如图像-文本对或不同的感知数据,然后在同一框架内进行单任务或多任务下游调整以提高性能。我们的GiT完全接受在LLM中推广的更具挑战性的单阶段联合训练,该训练将所有数据混合在一起进行统一建模,然后进行直接的下游评估,而无需任何针对特定任务的调整。
表4显示,我们的模型不仅能够熟练地管理密集预测,而且在所有任务中都优于前领先的多面手模型VisionLLM[89],参数减少了50倍,框架也简单得多。
表4,5,6显示,缩放我们的模型可以大大提高多任务、零射击和少射击的性能,有时甚至可以匹配监督方法。关于多任务能力的讨论。表4显示,GiT-Bmulti任务优于GiT-Bsingle任务,在五个标准数据集上进行联合训练后,每个任务都有显著改善。如表3所示,当任务共享相同的能力但效率较低时,多任务训练通常会提高绩效。在检测、视觉基础和实例分割的共享定位能力中可以清楚地观察到这种模式。相反,专业技能,如语义分割中的细粒度密集预测和实例分割中的基于多边形的回归,并没有从多任务中获得显著收益。
5.3 分布外分析
零样本传输。经过大规模多任务训练后,GiT很容易在各种新的数据源上进行评估。为了证明这一能力,我们对五种配置的三个已建立的数据集进行了零样本评估,解决了四个视觉基础之外的视觉任务。这些评估涵盖了一系列背景,户外场景,如城市景观[27],以及日常生活,如夜景[2]。我们报告了用于语义分割和字幕的mIoU和SPICE[5],用于对象检测和实例分割的mAP。
如表5所示,我们的通用模型在几乎所有任务中都取得了最佳结果。在相似的参数下,GiT Buniversal在Cityscapes上超越了X-Decoder[108](+8.9),在语义分割上超越了SUN RGB-D(+3.0),并在实例分割和对象检测方面显示出类似的优势。缩放模型进一步增强了其零样本功能,接近监督性能。BLIP-2[50]在nocaps上的表现优于GiT-H,这可能归因于它与预训练语言模型和广泛的训练数据(129M)的集成。值得注意的是,据我们所知,GiT是第一个在各种领域和任务中实现零样本性能的广义模型。
Few-shot Transfer。GiT展示了对分布外数据源的快速适应。我们对医学成像(即DRIVE[79])、遥感(即LoveDA[87]和ISPRS[39])和以人为中心的场景(即WIDERFace和DeepFashion)中的五个数据集进行了全面的少镜头评估。我们的方法遵循N向K-shot[32]设置(即K=5),并在支持集[10]上直接微调预训练模型。
在我们的分割分析中,我们选择DeeplabV3作为我们的基线,它与用于训练我们的多任务变体的数据集(即ADE20K)相一致。我们观察到,GiT多任务和DeeplabV3在少镜头设置下表现不佳。然而,经过大规模的通用训练后,GiT Buniversal的泛化能力显著提高。这一趋势反映在检测任务中,强调了我们的通用模型结构和训练方法大大提高了泛化能力。
5.4 消融学习
仅解码器架构。我们的模型遵循GPT的纯解码器设计,尽管它相对于编码器-解码器框架的优势还没有得到很好的探索。我们将GiT-B的最初12层转换为图像和文本的编码器,不包括目标标记。表8显示,编码器-解码器范式在所有五个任务中都不如仅解码器模型,特别是在语义分割方面,下降了-0.9。这可能是由于仅解码器的模型分配了更多的层(18层对6层)来处理目标tokens。
图5:任务标记和图像之间的交叉注意力可视化,黄色表示更高的反应。
图6:模型尺寸比例律结果。非均匀分布性能与3个模型尺度处理的令牌的函数关系。
新层数。表9显示,只添加一个新层就可以显著提高性能,将mAP提高2.6,这可能是由于图像输入和语言目标之间的差异。参与更多的层继续改善结果,六层后收益趋于平稳。
形态专家。尽管使用多个FFN作为模态专家是多模态处理的常用做法[6105],但表9显示我们的方法没有显著的性能提升,导致我们排除了这种设计,因为它增加了参数和推理延迟。
文本调节。在我们的图像和文本输入的视觉基础任务中,我们在网络转发过程中实现了图像到文本的关注。表9显示,这种方法显著提高了多任务设置中的性能,这可能是由于它增强了检测和视觉接地任务之间的区分。这两个任务在不同的图像尺度(即1120和224)上起作用,其中前者涉及识别多个框,而后者涉及生成一个由文本引导的单个框。此外,这种方法可以帮助模型捕获图像-文本关系,提高指令遵循能力。
比例定律分析。图6显示了我们的通用模型的分布内性能与其参数计数的关系,提供了对扩展模型容量的潜在增强的见解。我们根据综合得分对所有任务的关键指标进行平均,绘制了三种模型尺寸的性能进展图,显示了在一致的令牌计数下,随着规模的增加,性能显著提高。
6 结论
在本文中,我们介绍了GiT,这是一种简单而强大的视觉基础模型,它只利用普通的ViT通过通用语言界面集成各种视觉任务。GiT反映了LLM中观察到的多任务能力,为通才绩效建立了新的基准。通过在27个数据集上进行训练,GiT成为第一个使用共享参数在不同领域的零射击和少射击任务中表现出色的多面手模型,展示了多层变换器在计算机视觉中的基础作用。
(代码学习中......未完待续)
版权归原作者 想成为PhD的小提琴手 所有, 如有侵权,请联系我们删除。