图文预训练:Florence,一种新的计算机视觉基础模型

来自微软的Florence

原文地址:https://arxiv.org/abs/2111.11432

https://baijiahao.baidu.com/s?id=1717299047201932749&wfr=spider&for=pc

Florence:一种新的计算机视觉基础模型

Lu Yuan, Dongdong Chen, Yi-Ling Chen, Noel Codella, Xiyang Dai, Jianfeng Gao, Houdong Hu, Xuedong Huang, Boxin Li, Chunyuan Li, Ce Liu, Mengchen Liu, Zicheng Liu, Yumao Lu, Yu Shi, Lijuan Wang, Jianfeng Wang, Bin Xiao, Zhen Xiao, Jianwei Yang, Michael Zeng, Luowei Zhou, Pengchuan Zhang


提交于2021.11

对我们多样而开放的世界的自动化视觉理解要求计算机视觉模型能够很好地进行泛化,并对特定任务进行最小程度的定制,类似于人类视觉。计算机视觉基础模型,它被训练在不同的,大规模的数据集,并可以适应广泛的下游任务,是至关重要的任务,以解决现实世界的计算机视觉应用。虽然现有的视觉基础模型,如CLIP(Radford等人,2021),对齐(JAI等人,2021),和Wu Dao 2(WUD)主要集中在映射图像和文本表示到一个跨模态的共享表示,我们引入了一个新的计算机视觉基础模型,佛罗伦萨,将表示从粗略(场景)扩展到精细(对象),从静态(图像)扩展到动态(视频),从RGB扩展到多种模式(标题、深度)。通过结合Web级图像文本数据的通用视觉语言表示,我们的Florence模型可以轻松地适应各种计算机视觉任务,例如分类、检索、目标检测、VQA、图像标题、视频检索和动作识别。此外,Florence在许多类型的迁移学习中表现出色:全样本微调、线性探测、少样本迁移和零样本迁移,用于新图像和对象。所有这些特性对于我们的视觉基础模型来说是至关重要的,以服务于一般视觉任务。Florence在44个具有代表性的基准测试中取得了最新的最新成果,例如ImageNet-1K零样本分类,top1精度为83.74,top5精度为97.18,COCO微调的mAP为62.4,VQA的mAP为80.36,Kinetics-600的mAP为87.8。

1.导言

类人人工智能不是通过设计特定的模型来解决特定的问题,而是通过整体的、联合的模型来实现的,这些模型可以在不需要太多人参与的情况下同时解决各种现实世界的问题。因此,人们希望有新的人工智能体系结构来学习联合的、基本的表示,以支持范围广泛的下游人工智能任务,而附加的领域知识有限,类似于人类会做的事情。其中一个提议是XYZcode(Huang),它将单语文本(X)、音频和视觉感官信号(Y)以及多语言(Z)有机地结合在一起,以创建能够说、听、看和理解的人工智能模型。另一种方法是Pathways(Dean),这是一种单一的模型,可以推广到数百万个任务。

向这个方向迈进的一个具体步骤是基础模型的发展。基础模型的术语首先被引入(BurMasaI等人,2021)中,指的是任何模型,可以从规模的广泛数据训练,该模型能够适应广泛的下游任务(例如微调)。基础模型由于其令人印象深刻的性能和泛化能力而变得有前景。

它们被许多研究人员和开发者迅速集成并部署到现实世界的人工智能系统中。

虽然基础模型已经在NLP中显示了巨大的影响,例如BERT(德夫林等人,2019),GPT3(Brown等人,2020),在计算机视觉中,对标记数据集如ImageNet(邓等人,2009)预训练模型仍然是标准实践。最近,大规模的预训练方法,如CLIP(Radford等人,2021年)、ALIGN(Jia等人,2021年)和Wudao 2.0(Wud),直接从网络规模的图像-文本对学习,在有效的迁移学习和零样本能力方面取得了非常令人鼓舞的进展。然而,此类模型仅限于图像到文本的映射任务,如分类、检索和标记。

我们提出的问题是:“计算机视觉的基础模型是什么?”首先,为了更好地定义计算机视觉中的“基础”,我们用三个正交轴捕获问题空间中的任务频谱(图1):1)空间:从粗略(例如场景级别分类)到细粒度(例如物体检测),2)时间:从静态(例如图像)到动态(例如视频),3)模态:从仅RGB到多感官(例如标题和深度)。由于视觉理解的多样性,我们将计算机视觉的基础模型重新定义为一个预训练的模型及其适配器,用于解决在这个时间-空间-模态空间中的所有视觉任务,具有可迁移性,例如零/少样本学习和完全微调,

用于迁移任务的适配仅限于预训练的基础模型的最小定制,例如持续训练、很少的epoch或很少的层用于微调,而不显著地增加或改变模型参数。

在本文中,我们提出了一个新兴的范式,建立一个视觉基础模型,称为佛罗伦萨。我们用佛罗伦萨的名字作为探索视觉基础模型的线索,也是文艺复兴的诞生地。Florence在嘈杂的网络级数据上接受端到端的训练,使用统一的目标,使模型能够在各种基准上实现best in class性能。构建佛罗伦萨的生态系统包括数据整理、模型预训练、任务适应和训练基础设施,如图2所示。

•数据整理。

多样、大规模的数据是基础模型的生命线。借助互联网上大量公开的图像,自然语言弱监督,我们策划了一个新的9亿图像-文本对数据集进行训练。由于网络爬行的数据通常是嘈杂的自由形式的文本(例如,单词,短语或句子),为了获得更有效的学习,我们考虑 UniCL,一个最近提出的统一图像-文本对比学习目标(杨等人,2022),其表明了对比和监督学习方法的改进。

•模型预训练(表征学习)。

为了从图像-文本对中学习良好的表示,我们使用了

双塔结构,包括图像编码器和语言编码器,常用于CLIP(Radford等人,2021年)和ALIGN(Jia等人,2021年)。对于图像编码器,我们选择了分层视觉Transformer(例如,Swin(Liu et al.,2021a)、CvT(Wu et al.,2021)、Vision Longfer(Zhang et al.,2021a)、Focal Transformer(Yang et al.,2021)和CSwin(Dong et al.,2021))。虽然继承了transformer自注意操作的性能优势(Dosovitskiy et al.,2021b),但这些层次结构模拟了图像的尺度不变性,并具有与图像大小相关的线性计算复杂性,对于密集预测任务(如目标检测和分割)而言,这是一种必不可少的特性。

•任务适应。

由于我们已经定义了计算机视觉基础模型,以适应各种下游任务,这是至关重要的佛罗伦萨可扩展和可转让为此目的。我们使用动态头部适配器(Dai等人,2021a)、时间(从静态图像到视频)和模态(从图像到语言)通过视频CoSwin适配器(Dou等人,2021),沿空间(从场景到对象)扩展学习到的特征表示。Florence旨在通过少样本和零样本迁移学习在开放世界中有效适应,通过少时间的额外训练(例如检索)高效部署。我们的模型可以针对应用程序开发人员可以使用的不同领域进行定制。

•训练基础设施。

对于能源和成本的关注,关键是建立基础模型,以尽可能低的成本。我们开发了可扩展的训练基础设施,以提高训练效率。它包括一些关键技术,如零(Rajbhandari等人,2019)、激活检查点、混合精度训练、梯度缓存(Gao等人,2021),以大大减少内存消耗,从而提高训练吞吐量。

Florence显著优于之前的大规模预训练方法,并在广泛的视觉和视觉语言基准上取得了最新成果。它在12个分类下游任务(win 9/12、ImageNet-1K zeroshot中的SOTA,Top1名的准确度为83.74,Top5名的准确度为97.18)、11个分类下游任务(win 9/11)中的线性探头、图像检索zeroshot(90.9/76.7)中显示了零样本迁移的强度R@1在Flickr30K上,图像到文本/文本到图像,64.7/47.2R@1关于MSCOCO图像到文本/文本到图像)和微调(97.2/87.9)R@1在Flickr30K上,图像到文本/文本到图像,81.8/63.2R@1在MSCOCO图像到文本/文本到图像)、目标检测(COCO上62.4mAP、Object365上39.3mAP、视觉基因组上16.2 AP50)、VQA(80.36文本到视频检索零样本(37.6)R@1在MSR-VTT上),以及视频动作识别(在Kinetics-400/Kinetics-600上,准确度最高为86.5/87.8)。


2.方法

2.1. 数据集整理

我们利用互联网上公开的大量图像文本数据。具体来说,我们构建了一个9亿图像-文本对数据集,名为FLD-900M(FLD代表FLorenceDataset),使用一个程序化的数据整理管道,并行处理大约30亿个互联网图像及其原始描述。选择和后过滤用于确保数据相关性和质量,同时尊重法律和道德约束。为了提高数据质量,我们进行了严格的数据过滤,类似于ALIGN(Jia等人,2021),包括基于简单哈希的近重复图像移除、小尺寸图像移除、图像文本相关性等。此外,我们遵循采样策略引入(Radford等人,2021;RAMESH等人,2021),目的是实现改进的平衡,信息性和可学习性的采样数据集。FLD-900M数据集的最终形式包括9亿张图像和9亿条自由格式文本(从一个单词、阶段到句子)、970万条独特查询,以及总共75亿个标记。

2.2. 统一的图文对比学习

CLIP(Radford et al.,2021)隐式假设每个图像-文本对都有其唯一的标题,这允许将其他标题视为负面示例。然而,在网络规模的数据中,多个图像可以与相同的标题相关联。例如,在FLD-900M中,有350M个图像-文本对,其中有多个图像对应于一个相同的文本,在对比学习中,与相同文本相关的所有图像都可以被视为正对。

为了解决这个问题,我们使用了统一的图像-文本对比学习(UniCL)(Yang等人,2022年),Florence在图像标签描述空间中接受了预训练。给定一个图像-文本对,我们通过文本哈希表生成一个三元组(x,t,y),其中x是图像,t是语言描述(即哈希值),y是语言标签(即哈希键),指示数据集中唯一语言描述的索引。请注意,我们只将相同的语言描述映射到相同的哈希键,即语言标签。因此,在我们的通用图像-文本对比学习中,所有映射到同一标签y的图像-文本对都被认为是正样本的。其他人仍然被认为是负样本的。公共图像标签描述空间中的统一学习目标统一了两种流行的学习范式——将图像映射到标签,用于学习区别性表示(即监督学习),并为每个描述分配一个唯一的标签,用于语言图像预训练(即对比学习)。

我们的实验表明,内容丰富的长语言描述比短描述(例如一个或两个单词)更有利于图像-文本表征学习。我们必须通过生成提示模板来丰富简短描述,例如“单词的一张照片”、“单词的一张裁剪照片”,作为数据扩充。在训练过程中,我们随机选择一个模板,为每个简短的语言描述生成t。继UniCL(Yang等人,2022年)之后,我们分别将fθ和fφ表示为图像编码器和文本编码器。u和v分别是归一化的视觉特征向量和语言特征向量,其中和v

τ是一个可学习的温度。给定一个小批量B,我们使用图像和语言描述之间的双向监督对比学习目标来训练模型:

这个目标包含两个对比术语:监督图像到语言的对比损失

以及监督语言对图像对比的损失

哪里

生成的语言提示不是对图像的精确描述,通常不像来自互联网的相关文本描述那样信息丰富。虽然包含生成的语言提示可能不会影响分类精度,但会影响检索和visionlanguage任务的性能。为了减轻强化提示带来的负面影响,我们将训练分为两个阶段。在第一阶段,我们使用所有数据,包括增强文本进行训练;而在第二阶段,我们排除了所有用于继续训练的增强数据。我们在第一阶段训练了1M次迭代,在第二阶段连续训练了180K次迭代。Adam优化器具有解耦的权重衰减正则化,用于模型训练。图像大小为224×224,最大语言描述长度被截断为76。批量大小为24576。我们进一步以384×384的更高分辨率训练了80K迭代,以提高性能,这符合现有的预训练方法。


2.3. 基于Transformer的预训练模型

我们的Florence pretrained模型使用双塔结构:12层Transformer(Vaswani等人,2017年)作为语言编码器,类似于CLIP(Radford等人,2021年),分层视觉Transformer作为图像编码器。分层视觉Transformer是一种改进的带有卷积嵌入的SWNTransformer(Liu等人,2021a),称为CoSwinTransformer。具体而言,我们用CvT(Wu等人,2021)中所述的卷积嵌入层替换了Swin Transformer(Liu等人,2021a)中的patch嵌入和patch合并模块。我们使用具有全局平均池的CoSwin Transformer来提取图像特征。在图像编码器和语言编码器的顶部添加两个线性投影层,以匹配图像和语言特征的尺寸。我们的Florence pretrained模型共有893M参数,包括256M参数的语言Transformer和637M参数的CoSwin-HTransformer。该型号在512个NVIDIA-A100 GPU上训练需要10天,每个GPU有40GB内存。

2.4. 对象级视觉表征学习

我们扩展了Florence预训练模型,以学习细粒度(即对象级别)表示,这是密集预测任务(如对象检测)的基础。为此,我们在预训练图像编码器(即CoSwin)中添加了一个适配器动态头(Dai等人,2021a)(或动态DETR(Dai等人,2021b)),这是检测头的统一注意机制。我们可以继续从粗糙(场景)到精细(对象)的视觉表征学习。

基于图像编码器CoSwin-H的层次结构,我们可以从不同的尺度级别得到输出特征金字塔。特征金字塔的缩放级别可以连接并缩小或放大为具有级别×空间×通道维度的三维张量。动态头部的关键思想(Dai等人,2021a)是部署三种注意机制,每一种都在张量的一个正交维度上,即水平方向、空间方向和通道方向。与在这个张量上建立一个单一的自注意机制相比,动态头部使计算变得更经济,并实现更高效的学习。以上三种注意机制是按顺序应用的,我们可以有效地将由这三个注意层组成的多个块堆叠在一起。图3显示了动态头部构建块。在这项工作中,动态头是用一阶段的ATSS框架进行训练的。

我们构建了一个大规模的对象检测数据集,称为FLOD-9M(用于FLorence对象检测数据集),用于对象检测预训练。我们合并了多个著名的目标检测数据集,包括COCO(Lin等人,2015)、LVIS(Gupta等人,2019)、OpenImages(Krasin等人,2016)、Object365(Shao等人,2019)。此外,我们在ImageNet-22K数据集(Deng等人,2009)上通过以下方式生成伪边界框(Zoph等人,2020),这进一步扩大了我们的数据。最后,FLOD-9M由8967286个图像、25190个对象类别和33408237个边界框组成,包括注释和伪标签。然后,我们对动态头部模型进行12个阶段的预训练,批量大小为128,在128个NVIDIA-A100 GPU上需要7天。

2.5. 细粒度V+L表示学习

我们使用METER(Dou等人,2021年)适配器扩展到细粒度视觉语言表示。在visionlanguage领域,例如视觉问答(VQA)和图像字幕,细粒度表示(即objectlevel)是必不可少的。因此,对象检测器已经是用于图像特征提取的阿德事实工具,其次是在许多作品中用于预测的融合网络(乔林等人,2018;Li等人,2020;张等人,2021B;王等人,2020;Fang等人,2021;陈等人,2020D)。最近,有越来越大的趋势(黄等人,2021;薛等,2021;王等人,2021;基姆等人,2021;Dou.et,2021)的端到端方法以减少对对象边界框的依赖性,而将基于网格的特征表示视为V+L任务的细粒度特征。

在Florence V+L自适应模型中,我们将METER的图像编码器(Dou等人,2021年)替换为Florence预训练模型CoSwin,并使用预训练的Roberta(Liu等人,2019年)作为语言编码器,如图4所示。Florence pretrained语言编码器可用于此适配器,因为它使用基于BERT的体系结构。然后,将这两种模式融合在一起,通过基于共注意的Transformer网络学习语境表征。共同注意模型(图4)允许将文本和视觉特征分别提供给两个Mco层Transformer,每个顶层Transformer编码层由一个自注意块、一个交叉注意块和一个前馈网络块组成。我们首先利用图像文本匹配损失和屏蔽语言建模损失对模型进行训练。然后,我们在下游任务上微调模型,例如VQA(Goyal等人,2017)任务。


2.6. 适应视频识别

Transformer中基于自注意的设计使图像和视频识别系统的统一成为可能。我们的视频CoSwin适配器可以从CoSwin借用图像编码器,用于视频域,改动最小,类似于之前的工作(Liu等人,2021b)。首先,将图像标记化层替换为视频标记化层。因此,video CoSwin将CoSwin的标记化层(第2.3节)从2D卷积层替换为3D卷积层,将每个3D管转换为一个标记。作为3D卷积权重的初始化,CoSwin预训练的2D卷积权重沿时间维度复制,并除以时间核大小,以保持输出的均值和方差不变。其次,video CoSwin使用基于3D卷积的patch合并运算符,而不是中使用的2Dpatch合并运算符(Liu等人,2021b)。这种重叠的令牌合并可以增强令牌之间的空间和时间交互。第三,我们遵循之前的工作(Liu等人,2021b),用自注意层中的3D移位局部窗口取代2D移位窗口设计。我们从预训练好的CoSwin沿时间维度复制二维相对位置嵌入矩阵来初始化三维位置嵌入矩阵。这样,2D相对位置嵌入对于每个时间偏移都是相同的。此外,所有其他层和权重(包括自关注、FFN)都可以直接从预训练的CoSwin继承。为了缓解视频训练中的内存问题,我们采用了动态窗口大小策略,即在CoSwin的早期阶段采用相对较小的窗口大小,在后期阶段采用较大的窗口大小。

2.7. 可扩展的训练基础设施

为了在大规模数据集上训练Florence模型,我们的可扩展训练基础设施面临两个主要挑战:降低每个GPU上的内存成本和提高吞吐量。通过降低内存成本,我们可以向每个GPU提供更多数据,并使用更大的批量,这已被证明对对比学习是有效的。增加吞吐量可以显著加快整个训练过程,从而减少碳排放。我们开发了几种技术,可以结合起来实现两个目标:

零冗余优化器(零)

ZeRO技术(Rajbhandari et al.,2019)将优化器状态、梯度和参数划分到GPU上,每个划分只在本地更新。因此,内存消耗大大减少。

激活检查点

对于检查点模型组件,例如多头注意,它会在向后传递期间重新运行向前传递。这样,组件中的内部梯度就不需要存储在向前传球中,从而减少了训练中的内存开销。

混合精度训练

在混合精度训练中,使用不同的数值精度(即float-32或float-16)训练各种操作。Float-32用于数值上不太稳定的操作,例如层标准化;而float-16用于其他操作。这样的组合提高了训练吞吐量并保持了模型性能。

梯度缓存梯度缓存技术(Gao等人,2021年)能够在一个训练步骤中增加总批量大小。在以前的工作中,大批量学习有助于学习更好的表示。然而,它受到可用GPU内存的限制。为了解决这个问题,我们通过将大批量梯度更新分解为几个可以放入GPU内存的子更新来考虑对比损失。它使我们能够训练大批量的大型号。多亏了以上这些优化,我们可以在不同数量的NVIDIA-A100上减少可变批量大小的GPU内存,从而实现一致的改进,如图5所示。

3.实验

3.1. 分类中的零样本迁移

在计算机视觉中,零样本学习通常指通过描述性文本定义的预测类的研究。作为视觉基础模型,佛罗伦萨可以直接用于预测图像和文本片段是否在任务数据集中语义匹配。我们采用相同的CLIP方法(Radford等人,2021年)来执行

零样本分类。对于每个数据集,我们使用数据集中所有类的名称作为潜在的文本对集,并根据Florence预测最可能的(图像、文本)对。我们通过语言编码器计算CoSwin图像的特征嵌入和可能文本集的特征嵌入。然后计算这些嵌入之间的余弦相似性,然后我们对所有类别的相似性得分进行排序,以选择Top1或Top5个类别作为预测类别。在这里,我们不需要像(Radford et al.,2021)中那样计算标准化余弦相似性,因为它不会影响最终结果的排名顺序。

我们在ImageNet-1K数据集和11个下游数据集上评估我们的佛罗伦萨模型,这些数据集来自于(Kornblith等人,2019年)引入的经过充分研究的评估套装。请注意,我们的基准将Birdsnap(Berg等人,2014年)数据集从(Kornblith等人,2019年)中引入的12个原始分类数据集中排除,因为作者提供的20%的图像URL无效。我们遵循之前在(Radford et al.,2021)中提出的相同提示模板和工程,以及ensembling来评估零样本性能。对于本文中的所有零样本任务,我们遵循CLIP(Radford et al.,2021)和ALIGN(Jia et al.,2021)中的设置,从训练数据中删除几乎重复的测试图像。表1显示了这12个数据集的结果,与CLIP ResNet和Vision Transformer模型以及并行工作FILIP(Yao等人,2021年)实现的最佳性能进行了比较。与最先进的方法相比,Florence在9/12任务上表现出色。我们在ImageNet-1K上的零样本迁移方面取得了显著的改进——第一名的准确率为83.74%(比SOTA结果高出5.6%),第五名的准确率为97.18%

3.2. 线性探针在分类中的应用

线性探测作为评估表征质量的另一个主要指标,已在最近的研究中使用,包括自监督学习(Chen等人,2020b;c)、与高噪音学生的自训练(Xie等人,2020)和对比学习(Radford等人,2021)。我们遵循CLIP(Radford et al.,2021)的相同设置和实现进行线性评估,其中图像编码器(或视觉主干)被冻结,并且只有附加的线性层可以在下游数据集上进行微调。我们使用公开的模型(如表10(Radford等人,2021年)所示)来验证我们自己实现的正确性。对于每项任务,我们重现的结果和他们报告的结果之间的差异为±0.1。我们的线性评估考虑了11个分类基准,这些基准也用于我们的零样本分类迁移。我们将我们的结果与最先进的方法及其最佳性能模型进行了比较,包括表2中的SimCLRv2(Chen等人,2020c)、ViT(Dosovitskiy等人,2021a)、嘈杂的学生(Xie等人,2020)和CLIP(Radford等人,2021)。除了两个数据集:CIFAR10和CIFAR100,我们的结果始终优于现有的最新结果。在这两个数据集上,输入图像分辨率非常低(即32×32)。使用更高分辨率的训练肯定会提高性能,例如与在低分辨率图像上训练的所有其他方法相比,高效-L2(Xie et al.,2020)可以实现最佳精度。

3.3. ImageNet-1K微调评估

Florence可以很容易地进行调整,以支持目标分类任务的持续微调。我们不会在架构中更改或添加任何内容,而是使用相同的训练前损失(如等式1所示)继续训练特定于任务的数据。我们将类名提供给Florence的文本编码器,以获得文本特征嵌入。我们使用与ImageNet(邓等人,2021;JAI等人,2021)相同的提示模板来扩展对Radford(邓等人,2009)类名的描述。

我们在ImageNet ILSVRC-2012基准上评估了持续微调的性能(Deng等人,2009年)。我们的图像编码器CoSwin-H在512×512的分辨率下进行了微调,批量大小为8192,适用于10个时代。我们使用了一个具有500个预热步骤和0.00002峰值学习率的余弦学习率衰减调度器。与最新结果的比较如表3所示。我们的模型比BiT(Kolesnikov等人,2020年)的模型尺寸更大,并且ALIGN(Jia等人,2021年)在Top1名和Top5名精度方面从更多数据中训练。我们的结果略差于SOTA(Dai等人,2021c),但他们的模型和数据规模都比SOTA大3倍。

3.4. 少样本跨域分类

跨域少样本学习基准(Guo等人,2020)用于衡量算法适应下游少样本目标任务的能力,包括与典型消费者照片不同程度的域。基准中的数据集包括:CropDisease(Mohanty et al.,2016)(植物叶片图像,超过14种植物的38种疾病状态)、EuroSAT(Helber et al.,2019)(RGB卫星图像,10类)、ISIC 2018(Codella et al.,2019;Tschandl et al.,2018)(皮肤病变的皮肤镜图像,7种疾病状态),和ChestX(Wang等人,2017年)(胸部X光,16种情况)。每个数据集的示例图像显示在表4的顶部。评估方案包括5发、20发和50发的5向分类。每一集的课程和样本都是随机抽样的,每种方式和样本有600集。报告了所有事件的平均准确率。

为了预测类别,我们在图像编码器CoSwin中添加了一个线性层作为适配器头。每集的训练时间超过100个epoch。我们使用带有动量的SGD,CoSwin的学习率和动量值分别为0.9/0.0002,适配器头的学习率和动量值分别为0.99/0.01。水平数据翻转增强用于训练和测试,在图像编码器和分类器头部之间使用0.5的差分。

表4显示了将我们的模型调整到CDFSL基准的结果,与挑战基准的获胜者(Liu等人,2020年)相比,挑战基准采用了ensembes和跨导学习。相比之下,我们采用单一模型,没有对测试数据进行转换,但我们在没有任何“钟声”的情况下获得了更高的结果。

3.5. 图像文本检索

表5显示了Florence在Flickr30k(Plummer et al.,2016)和MSCOCO(Lin et al.,2015)数据集上进行文本和图像检索时的零样本迁移和微调性能。

对于零样本检索,我们将输入的文本(或图像)提供给Florence的语言(或图像)编码器以获得特征嵌入,并通过图像(或语言)编码器计算可能的图像(或文本)集合的特征嵌入。然后,我们计算这些嵌入的余弦相似性,并对测试集的相似性分数进行排序,以选择Top1名或Top5名的结果。Zero-shot Florence在这两个数据集上匹配或优于之前的所有Zero-shot结果。

对于微调检索,我们不断地在目标图像-文本对数据上训练我们的语言和文本编码器,以及分类微调(如第3.3节所示)。我们对我们的模型进行了微调,批量大小为3072,分12个时代。我们使用的余弦学习率衰减调度器有200个预热步骤,峰值学习率为0.00002。我们的结果优于之前对这两个数据集的所有微调结果。此外,我们对检索的微调效率更高,Flickr30k和MSCOCO上ALIGN(Jia等人,2021年)的微调时间分别只有大约6%和8%。

3.6. 目标检测和零样本迁移

目标检测是计算机视觉中最重要的应用之一。与现有的大规模预训练模型(例如CLIP(Radford et al.,2021)、ALIGN(Jia et al.,2021)、WuDao 2.0(Wud))相比,Florence更适合于对象检测,因为它的自适应有助于学习对象级别的视觉表示。我们通过微调的目标检测和零样本迁移任务来评估它在目标级视觉表现方面的性能。

微调

我们评估了三种流行的目标检测数据集的微调:COCO(Lin等人,2015年)、Object365(Shao等人,2019年)和Visual Genome(Krishna等人,2016年)。对于COCO,我们将最大图像边增加到2500,并对12个时期的多尺度训练进行微调。我们遵循现有最先进方法中广泛使用的多尺度测试策略。对于Object365,我们使用与多数据集检测1(Zhou等人,2021)相同的图像输入分辨率(即最大图像侧1333)进行微调。对于视觉基因组,我们将输入分辨率的最大值提高到3000,并通过24个时期的多尺度训练进行微调。为了利用视觉基因组中的属性注释,我们在CoSwin主干的最后阶段插入一个1×1 ROI池,以提取属性学习的特征,这使得目标检测适配器能够针对多任务学习进行优化。

我们将佛罗伦萨与表6中这三个基准的最新结果进行了比较。在目标检测中,标准平均精度(AP)度量用于报告所有数据集在不同IoU阈值和目标尺度下的结果。我们遵循现有最先进方法中使用的指标。对于COCO、Object365和zero-shot transfer基准,我们使用mAP,即多个IOU的平均值(0.5:0.05:0.95)。对于视觉基因组,我们使用IoU阈值为0.5的AP50。正如我们所见,弗洛伦斯在这些主要的目标检测基准中建立了新的结果。

零样本迁移

零样本目标检测比零样本分类更具挑战性,因为在训练期间,下游任务中既看不到目标提议分类,也看不到位置(即边界框回归)。在我们的零样本迁移设置中,对象提议和对象分类被解耦为两个任务。对象建议将对象与背景区分开来,忽略对象类别的语义。另一方面,分类侧重于每个包围盒方案的对象语义。从精神上讲,这种设置类似于R-CNN模型(Girshick等人,2014年)的行为,该模型以前被广泛用于目标检测。利用这种方法,我们可以跟随现有的零样本图像分类工作,在目标检测中实现零样本迁移,以评估新目标识别的可行性。正如ZSD(Bansal等人,2018年)所述,它更接近真实世界的环境。

对于零样本迁移,检测适配器的训练可能不同于微调。具体来说,我们冻结CoSwin主干,通过忽略每个对象边界框的语义,在FLOD-9M上预训练动态头部。我们将目标检测预训练视为通用目标建议训练。请注意,检测预训练仅更新对象适配器,不影响从大规模图像-文本对学习的融合特征表示。在推理过程中,我们将预训练好的CoSwin和Dynamic Head应用于下游数据集,并获得每个图像的对象建议。对于每个对象方案,我们采用零样本分类,如第3.1节所述。

为了评估Florence向新颖、多样和面向应用的任务的可迁移性,接下来(Li等人,2021b),我们策划了一个“开放集项目检测基准”,该基准汇集了Roboflow2的11个公共数据集,涵盖了包括细粒度鱼类/象棋检测、无人机视图检测和热目标检测在内的场景。我们使用他们的分离测试数据集进行评估。表7显示,我们的Florence模型有效地实现了这些任务的零样本迁移。我们使用基线方法ZSD(Bansal等人,2018)的结果作为参考,该方法考虑了类似的设置。在我们的实现3中,我们用最新的SOTA检测器(Dai等人,2021a)取代了他们的监督对象检测器FasterRCNN,并使用预训练好的BERT作为语言编码器。它们都是在Objects365数据集上进行端到端预训练的。由于大规模图像文本预训练,Florence在所有任务上都取得了显著的进步。目标检测中的零样本技术在实际任务中的应用还有很长的路要走。我们进一步比较了Florence zero shot与之前最先进的检测器(Dai等人,2021a)(关于COCO)在这些任务上的精细调谐。我们可以观察到零样本和监督学习之间存在明显的性能差距,尤其是对于训练前数据集可能未涵盖其概念/类别的新场景,例如“BCCD”(血细胞照片)、“棋子”(棋盘照片和各种棋子)。然而,与少数样本微调结果相比,结果令人鼓舞。Florence在7/11任务中的表现优于5次微调,并且在“软件包”数据集上的表现优于全套微调,该数据集只包含26张训练图像。它表明了基础模型的巨大潜力,提高数据效率和降低部署成本的新任务或域。

3.7. V+L表征学习

视觉语言预训练(VLP)是在MSCOCO(林等人,2015年)、概念性说明(CC)(莎玛等人,2018年)、CC12M(昌平约等人,2021年)、SBU(奥多涅兹等人,2011年)和视觉基因组(VG)(克里希纳等人,2016年)上进行的。这些数据集产生了1400万张图像和2000万个相关标题。除了用我们的Florence模型中的CoSwin-H替换图像编码器(Dou等人,2021年),我们还消除了文本嵌入层上的权重衰减和特定于模态的嵌入。VLP采用ITM和MLM,共43个时代,图像输入大小为384。

为了评估性能,我们在具有挑战性的VQA(Goyal et al.,2017)任务中对预训练的模型进行了微调,该任务是根据图像上下文回答问题。该数据集由82K个训练图像和41K个验证图像组成。仅保留1K验证图像,其余图像与训练数据合并以进行微调。作为一种常见做法,该问题被转换为一个分类任务,每个类对应一个答案。最终的池表示被输入一个随机初始化的多层感知器(MLP)网络,以预测超过3129个答案的答案。损失是二元交叉熵损失,推理是选择置信度最高的答案。该模型针对10个时代进行了微调,学习率为8e− 6,并在测试开发和测试标准上进行评估。最终精度在公共服务器5上计算。

图8显示了与现有方法的比较结果。正如我们所看到的,我们实现了新的最先进的性能。与SimVLM(Wang et al.,2021)相比,SimVLM使用了18亿个图像-文本对,我们仅使用900M数据对图像编码器进行预训练,使用20M数据对VLP进行预训练,但取得了更好的效果。这也证明了我们方法的数据效率。

3.8. 零样本文本到视频检索

尽管Florence在图像-文本对方面进行了预先训练,但它可以很容易地适应视频任务(如第2.6节所示),例如文本-视频检索。我们将输入2Dpatch嵌入和位置嵌入扩展到3D,以便编码器可以处理视频输入,如下所示(Arnab等人,2021年)。然后,我们在MSR-VTT(Xu等人,2016)数据集上执行零样本文本到视频评估。我们报告了1K-A测试(Yu等人,2018年)的结果,该测试包含1K视频和标题对。我们使用标准召回指标进行评估,并与表9中现有的最先进方法进行比较。正如我们所见,这两种图像-文本预训练模型CLIP6(Radford et al.,2021)和Florence在性能上大大优于所有最先进的方法R@1米制的它揭示了在这些最先进的方法中用于预训练的视频数据可能不像佛罗伦萨或CLIP中使用的图像文本数据那样丰富或多样。

3.9. 视频动作识别

我们评估弗洛伦斯在微调视频动作识别任务。在Kinectics-400和Kinectics-600数据集上,我们遵循典型的微调设置(Liu等人,2021b),并以384×384分辨率对模型(第2.6节)进行30个时代的微调。我们使用标签平滑、随机增强、较小的学习率0.0002和相对较大的下降路径率0.5来避免过度拟合目标视频数据集。我们与表10中现有的最新方法进行了比较。在Kinectics-400和Kinectics-600上,我们的结果分别比艺术状态好1.1%和1.5%。

4.结论和今后的工作

在本文中,我们研究了一个新的范例,建立一个计算机视觉基础模型,佛罗伦萨,作为一个通用的视觉系统。我们的尝试是朝着构建XYZ代码(Huang)迈出的一步,这是一个集成的人工智能系统,它朝着类人人工智能的方向发展。尽管模型规模仍低于其他几个现有的十亿规模模型,Florence成功地扩展到空间、时间和形态的不同任务,具有很强的可迁移性,并在广泛的视觉基准上实现了新的SOTA结果。在未来的工作中,我们计划包括更多的视觉任务和应用,例如深度/流量估计、跟踪和其他视觉+语言任务。佛罗伦萨的目的是为建立视觉基础模型铺平道路,为数百万真实世界的视觉任务和应用提供动力。此外,零样本分类和目标检测方面的初步进展可能会激发更多的研究,以缩小与监督学习的性能差距。

我们要感谢以下参与讨论的人,感谢他们的宝贵反馈,包括胡晓伟、陈延春、林亮、陈银鹏、李东、魏芙如、韩虎、曹岳、张郑、杨浩、鲍建民、陈东、方文、傅建龙、彭厚文、罗冲、郭百宁。我们还要感谢林清芬、张察对该论文更广泛影响的深思熟虑的反馈。感谢美高、金平帮助对基准基础设施进行评估。我们还感谢整个项目中使用的软件工具包的开发人员,包括Liyang Lu、Robert Gmyr、Felipe Cruz Salinas、Canrun Li、Steven Tsai、Min Gao、Kevin Pan、Shohei Ono、Christina Sun。此外,我们还要感谢整个Deepspeed、AI框架和ITP团队,感谢他们让我们能够以这种规模训练模型

你可能感兴趣的:(图文预训练:Florence,一种新的计算机视觉基础模型)