在人工通用智能(AGI)系统的世界里,一个重要的转变正在发生,那就是利用多功能的、预先训练好的表征,在各种应用中表现出与任务无关的适应性。这种转变始于自然语言处理(NLP)领域,现在也开始进入计算机视觉领域。这就是 Florence-2 的用武之地:它是一种视觉基础模型,旨在应对计算机视觉和视觉语言任务中的任务多样性挑战。
背景
人工通用智能(Artificial General Intelligence)的目标是创建能在各种任务中表现出色的系统,就像人类表现出各种能力一样。最近,在 NLP 领域,预先训练好的多功能模型取得了成功,这为计算机视觉领域的类似方法提供了灵感。虽然现有的大型视觉模型在迁移学习方面表现出色,但它们在面对各种任务和简单指令时往往会陷入困境。挑战在于如何处理各种视觉相关任务中固有的空间层次和语义粒度。
主要挑战包括综合视觉注释的可用性有限,以及缺乏一个统一的预训练框架和一个无缝集成空间层次和语义粒度的单一神经网络架构。为专门应用定制的现有数据集严重依赖于人工标注,这限制了能够捕捉错综复杂的视觉相关任务的基础模型的开发。
Florence-2:预览
为了应对这些挑战,Florence-2 模型通过多任务学习和广泛的视觉注释,成为一个通用的骨干。这就为不同的视觉任务提供了统一的、基于提示的表示方法,有效地解决了综合训练数据有限和缺乏统一架构的难题。
Florence-2 模型由微软公司开发,采用序列到序列架构,集成了图像编码器和多模态编码器-解码器。这种设计适用于各种视觉任务,无需对特定任务的架构进行修改,符合 NLP 界以一致的底层结构进行多功能模型开发的理念。
Florence-2 凭借其前所未有的零拍摄和微调能力脱颖而出,在字幕、物体检测、视觉接地和指代表达理解等任务中取得了最先进的新成果。即使在使用公共人类标注数据进行微调后,Florence-2 仍能与更大型的专业模型相媲美,树立了新的标杆。
技术深度
Florence-2 经过精心设计,克服了传统单一任务框架的局限性,采用了从序列到序列的学习范式,在一个共同的语言建模目标下整合了各种任务。
让我们深入了解构成这一创新模式架构的关键组成部分。
任务制定 (Task Formulation )
Florence-2 采用序列到序列框架,以统一的方式处理各种视觉任务。每个任务都被视为一个翻译问题,模型接收输入图像和特定任务提示,并生成相应的输出响应。
任务可以涉及文本或区域信息,模型会根据任务的性质调整其处理过程。对于特定区域的任务,标记化器的词汇表中引入了 __cpLocation 标记,以适应各种格式,如方框表示法、四方框表示法和多边形表示法。
视觉编码器(Vision Encoder)
视觉编码器在处理输入图像时发挥着关键作用。为此,Florence-2 采用了 DaViT(数据高效视觉转换器)作为视觉编码器。DaViT 将输入图像转换为扁平化的视觉标记嵌入,同时捕捉空间和语义信息。生成的视觉标记嵌入与文本嵌入连接起来,以便进一步处理。
多模态编码器-解码器转换器(Multi-Modality Encoder-Decoder Transformer)
Florence-2 的核心在于其基于变换器的多模态编码器-解码器。这一架构可同时处理视觉和语言标记嵌入,实现文本和视觉信息的无缝融合。多模态编码器-解码器有助于生成反映对输入图像和任务提示的全面理解的响应。
优化目标(Optimization Objective)
为了有效地训练 Florence-2,我们采用了标准的语言建模目标。鉴于输入(图像和提示的组合)和目标输出,该模型在所有任务中都使用了交叉熵损失。这一优化目标可确保模型学会在各种视觉相关任务中生成准确的反应。
Florence-2 架构证明了多任务学习以及文本和视觉信息无缝整合的强大功能。让我们简要讨论一下多任务学习设置。
多任务学习设置
多任务学习是 Florence-2 的核心功能,需要大规模、高质量的注释数据。该模型的数据引擎 FLD-5B 可自主生成一个全面的视觉数据集,其中包含 1.26 亿张图像的 54 亿个注释。该引擎采用自动图像注释和模型完善的迭代策略,摒弃了传统的单一和人工注释方法。
多任务学习方法包含三个不同的学习目标,每个目标都针对不同的粒度和语义理解水平:
- 图像层面的理解任务:Florence-2 擅长通过语言描述理解图像的整体背景。任务包括图像分类、字幕和视觉问题解答(VQA)。
- 区域/像素级识别任务:该模型有助于在图像中对物体和实体进行详细定位,捕捉物体与其空间环境之间的关系。这包括物体检测、分割和指代表达理解等任务。
- 细粒度视觉语义对齐任务:Florence-2 解决了文本与图像之间细粒度对齐的复杂任务。这涉及定位与文本短语(如对象、属性或关系)相对应的图像区域。
通过将这些学习目标纳入多任务框架,Florence-2 能够熟练处理各种空间细节,区分理解层次,并实现视觉任务的通用表征。
绩效与评估
Zero-Shot 和 Fine-Tuning 能力
Florence-2 的零镜头性能给人留下了深刻印象,它在各种任务中都表现出色,无需对特定任务进行微调。例如,Florence-2-L 在 COCO caption 上的 CIDEr 得分为 135.6,超过了拥有 800 亿个参数的 Flamingo 等模型。
在微调方面,Florence-2 表现出了高效和有效。在 RefCOCO 和 TextVQA 等任务中,其简单的设计优于采用专门架构的模型。Florence-2-L 在各种任务中都表现出了具有竞争力的先进性能,突显了它的多功能性。
与 SOTA 模型的比较
Florence-2-L 在各种视觉模型中脱颖而出,表现出强大的性能和效率。与 PolyFormer 和 UNINEXT 等模型相比,Florence-2-L 在 RefCOCO REC 和 RES 等任务中表现出色,展示了其跨任务级别的通用性。
在图像级任务中,Florence-2 在 COCO Caption karpathy 测试拆分中获得了 140.0 的 CIDEr 分数,超过了参数更多的 Flamingo 等模型。包括物体检测和分割在内的下游任务凸显了 Florence-2 卓越的预训练能力。即使在冻结模型阶段,Florence-2 仍能保持极具竞争力的性能,这充分体现了它的有效性。
Florence-2 在 ADE20k 数据集上的语义分割任务中的表现也很突出,超过了之前最先进的模型,如 BEiT 在 ViT-B 上的预训练模型。
定性评估和可视化结果
Florence-2 就以下任务进行了定性评估:
详细图片说明
Visual Grounding
开放式词汇检测
OCR
地区到细分
与 SOTA LMM 的比较
在详细的字幕任务上,Florence-2 与 GPT 4V、LLaVA 和 miniGPT-4 等其他大型多模态模型(LMM)进行了对比评估。
总结
总之,Florence-2 是一个开创性的视觉基础模型,展示了多任务学习以及文本和视觉信息融合的巨大潜力。它为各种任务提供了高效的解决方案,而无需进行大量的微调。
该模型能够处理从图像级理解到细粒度视觉语义配准等各种任务,标志着向统一视觉基础迈出了重要一步。Florence-2 的架构体现了序列到序列学习的威力,为综合表征学习树立了新的标准。
展望未来,Florence-2 为未来的视觉基础模型铺平了道路。它的成功强调了在训练中考虑不同任务和粒度水平的重要性,从而有望建立适应性更强、更稳健的机器学习模型。在我们探索不断发展的人工智能领域时,Florence-2 的成就开辟了一条探索之路,促使研究人员更深入地研究多任务学习和跨模态理解领域。
参考
Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks
我会定期在CSDN分享我的学习心得,项目经验和行业动态。如果你对某个领域感兴趣,或者想要了解更多技术干货,请关注我的账号,一起成长!