EoMT:ViT是一种图像分割模型(CVPR2025)

img

论文题目

Your ViT is Secretly an Image Segmentation Model

1简介

Vision Transformers(ViT)在各种计算机视觉任务中表现出了卓越的性能和可扩展性。为了将单尺度ViT应用于图像分割,现有的方法采用卷积适配器来生成多尺度特征,像素解码器来融合这些特征,以及Transformer解码器,该解码器使用融合的特征来进行预测。本文表明,这些特定于任务的组件引入的归纳偏差可以由ViT本身来学习,给定足够大的模型和广泛的预训练。基于这些发现,引入了仅编码器掩码Transformer(EoMT),它重新利用普通ViT架构进行图像分割。通过大规模模型和预训练,EoMT获得了与使用特定任务组件的最先进模型相似的分割精度。同时,由于其架构简单,EoMT比这些方法快得多,例如,使用ViT-L时快4倍。在一系列模型大小中,EoMT展示了分割准确性和预测速度之间的最佳平衡,这表明计算资源更好地用于扩展ViT本身,而不是增加架构复杂性。

本文探讨了如图****1(左上)所示的这些附加组件是否对于获得最先进的性能是真正必要的。假设随着预训练的日益广泛以及ViT规模的增大,这些附加组件的积极作用会减小,使其几乎变得无关紧要。这有两个关键原因:(i)大规模预训练,特别是当与掩码图像建模等目标结合时,能够教会 ViT 提取对分割至关重要的密集、细粒度语义信息。因此期望不再需要额外的组件来帮助 ViT 提取这些信息。(ii) 较大的ViT具有更多的可学习参数。预期这种增加的容量使得大型ViT能够准确地进行图像分割,而无需额外的组件。如果这些假设成立,那么通过移除这些特定于任务的组件,分割模型的简洁性和效率可以得到显著提升,同时仅对它们的分割精度产生最小的影响。

img

为了验证这些假设,通过实验评估了逐步移除上述组件的效果,并结合了几种类型的预训练和不同模型尺寸。这个过程最终引导得到一个概念上简单的模型,其架构与原始 ViT 仅有极小的差异。将此模型称为仅编码器掩码Transformer (Encoder-only Mask Transformer, EoMT)。关键在于,EoMT重新利用ViT块,不仅提取图像特征,还实现了可学习对象查询与图像特征之间的交互,最终为每个查询预测一个掩码和类别标签。这种高度简化的设计如图1(右上)所示。

EoMT的一个关键创新之处在于,与现有的类Mask2Former架构不同,它在推理过程中不需要掩码注意力。模型使用掩码注意力来约束每个查询仅在其预测的中间分割掩码内进行交叉注意力。虽然这提高了分割精度,但由于需要额外的操作,也损害了效率。为了克服这一问题,提出了一种新颖的掩码退火策略,其中掩码注意力在训练初期完全启用,但随后随着训练的进行逐渐淘汰,从而实现高效的、无掩码注意力的推理。

总而言之,EoMT具有以下几个优势:(i)由于不需要额外的组件,并且能够在没有掩码注意力的情况下进行推断,EoMT大大降低了计算需求和延迟。(ii)由于其架构的简洁性,EoMT比使用额外组件的现有方法更容易实现。(iii) 通过完全依赖ViT的Transformer架构,EoMT可以充分且直接地利用与Transformer相关的当前和未来发展,而不会受到额外的非优化模块的瓶颈限制。这不仅适用于FlashAttention等通用改进和专用硬件,也适用于特定于视觉的进步,如token merging和视觉基础模型。

通过实验分析发现,当使用像DINOv2这样的大型预训练模型时,移除特定于任务的组件对分割精度的影响极小,这证实了假设。通过移除这些组件,EoMT在实现与最先进技术相媲美的性能的同时,速度也快得多。如图1所示,EoMT在预测速度和分割质量之间取得了相当好的平衡。为了说明这一点:ViT-Adapter + M2F与ViT-B实现了54.4的Panoptic Quality (PQ),速度为每秒32帧 (FPS)。相比之下,尽管使用了更大的模型,EoMT 在 ViT-L 下的运行速度明显更快,达到 128 FPS,同时实现了更高的 PQ,为 56.0。

贡献如下:

(1)评估了最先进的图像分割模型中特定任务组件的必要性,并发现当扩大模型规模和进行预训练时,这些组件的相关性降低。

(2)提出了仅编码器Mask Transformer (Encoder-only Mask Transformer, EoMT),一个简单而高效的模型,它将ViT块重新用于分割,并在不需要低效的特定任务组件的情况下获得最先进的性能。

(3) 提出了一种掩码退火训练策略,该策略通过消除对掩码注意力机制的需求,从而能够实现显著更快的推理速度。

2背景

视觉Transformer (ViT) 已被证明是一种强大、可扩展且普遍适用于计算机视觉的架构。最近研究表明 ViT 非常适合大规模预训练,从而产生可泛化的模型,在许多下游任务中实现高性能。图像分割是一项研究得尤为充分的任务,例如语义分割、实例分割和全景分割。为了利用 ViT 实现最先进的分割性能,通常需要将它们与若干计算密集型且特定于任务的组件相结合,例如 ViTAdapter 和 Mask2Former (M2F) 。在这些方法中,首先将一个适配器并行地应用于ViT,使用卷积层并与ViT交互以提取多尺度特征。其次,这些多尺度特征被馈送到一个Mask Transformer模块,该模块由一个像素解码器和一个Transformer解码器组成。像素解码器融合并增强跨多个特征尺度的信息。然后,Transformer解码器引入可学习的对象查询,这些查询通过交叉注意力机制关注多尺度特征。这些查询最终用于生成分割掩码和类别预测。

\3. 面向仅编码器的掩码Transformer

3.1. 前言

视觉Transformer。视觉Transformer首先将图像I ∈ R3×H×W×3×H×W×3×H×W分割成N个形状为(p × p)的非重叠图像块,其中H和W是图像的高度和宽度,而p是预先确定的图像块大小。随后,这些图像块被线性投影成图像块令牌X0 ∈ ∈ RRD×N,并通过L个Transformer块进行处理。每个 Transformer 块应用多头自注意力机制 (MHSA) 和一个具有非线性激活函数的两层多层感知机 (MLP)。具体而言,对于每个块 i,

img

其中 Norm 是 Layer Normalization。这个过程的结果是一组最终的 patch tokens XL。对这些 tokens 重新排序会产生空间特征 F vit ∈ RD× Hp × Wp,其中 patch size p 决定了分辨率。

为了利用 ViT 实现最先进的图像分割,最近的研究工作提出了几个组件,这些组件进一步处理生成的图像块令牌,并在不同层级与 ViT 进行交互。

适配器。为了引入卷积偏置并实现多尺度特征提取,适配器与ViT并行应用,以注入和提取特征。具体而言,在这项工作中研究的ViT-Adapter ,首先将CNN应用于输入图像,以提取分辨率为1 4、18、161和321的多尺度特征。随后,ViT-Adapter通过多尺度可变形注意力[71]将这些CNN特征重复注入到ViT中,应用若干ViT块,并将来自ViT的精细特征提取到多尺度CNN特征中。适配器的输出是一组基于多尺度ViT和CNN的特征,{F4, F8, F16, F32},其中Fi ∈ RD× Hi × Wi。

Mask Transformers。为了利用这些特征进行分割预测,目前最先进的模型遵循 Mask Transformer 框架。在这项工作中,研究了最先进的方法 Mask2Former (M2F) 。作为第一步,为了进一步增强 ViT-Adapter 提取的特征,M2F 应用了一个像素解码器。该像素解码器获取特征{F4, F8, F16, F32},并应用一系列多尺度可变形注意力层,输出处理后的特征{Fb4, Fb8, Fb16, Fb32}。在此过程中,来自不同骨干网络层的多尺度特征被处理成一致且特定于尺度的表示。

M2F的最后一个组成部分,即Transformer解码器,生成并输出实际的分割预测。作为输入,它不仅接收来自像素解码器的多尺度特征,还接收一组K个学习到的查询Q0 = {qi0 ∈ RD}K i=1。在Transformer解码器中,每个查询学习表示每个图像的一个独立分割(即,一个stuff类别或一个thing实例)。为此,这些查询经过J个块,其中包含对多尺度特征的交叉注意力以及查询之间的多头自注意力,从而产生处理后的查询QJ。然后,Transformer解码器通过为每个查询qiJ预测一个类别标签和分割掩码来生成分割预测。类别 logits cJ i ∈ RC 通过将一个线性层应用于 qiJ 来预测。掩码 logits mJ i ∈ R H4 × W4 的获得方式是:首先应用一个 MLP 来产生掩码嵌入 qbiJ ,然后计算特征 Fb4 和 qbiJ 之间的点积。通过将每个真实标签分割分配给一个唯一的查询,并监督类别和掩码预测,该模型学习分割任务。

M2F Transformer解码器的一个关键特征是使用了掩码交叉注意力机制。在每个J模块中,在查询和图像特征之间的交叉注意力之前,会预测一个中间分割掩码和类别标签,并使用上述过程对每个查询进行监督。然后,使用预测的掩码来屏蔽注意力,从而使查询只能关注与其预测的分割掩码相对应的图像区域。这种屏蔽的注意力可以提高分割精度。

3.2. 移除特定任务组件

为了研究上述特定任务组件的重要性,逐步移除它们,同时评估对分割准确率的影响。持续移除,直到所有特定任务组件都被移除,最终得到简单的仅编码器Mask Transformer (EoMT)。

移除适配器。移除适配器会消除 CNN 提供的归纳偏置和多分辨率特征。然而,假设通过充分的预训练,大型 ViT 可以学习这些特征,而无需额外的组件。在没有适配器的情况下,通过对 ViT 输出特征 F vit = F16(patch 大小 16 × 16)进行上采样来构建特征金字塔,以计算 F4 和 F8,并通过对其进行下采样来计算 F32。遵循ViTDet的方法,使用转置卷积进行上采样,使用普通卷积进行下采样。对于特征金字塔的每个尺度,独立地使用一系列操作对F vit进行上采样或下采样。重复以下操作,直到达到所需的尺度:步长为2 × 2的(转置) 2 × 2卷积,GELU激活,深度可分离3 × 3卷积,以及最终的Norm。这种方法以一种更简单的方式模仿了 ViT-Adapter 的多尺度特征提取。

移除像素解码器。如果没有适配器,生成的特征不再源自层级骨干网络的不同阶段,因此不再需要进一步整合。因此,繁重的像素解码器应该可以废弃,将其移除,直接将简化的特征金字塔馈送到 Transformer 解码器。具体来说,我们向Transformer解码器输入{F4, F8, F16, F32},而不是{Fb4, Fb8, Fb16, Fb32}。

移除多尺度特征处理。为了进一步简化,质疑使用多尺度特征的必要性,因为所有特征都源自一个共享的单尺度特征图F vit。因此不生成多尺度特征F8, F32。在Transformer解码器中,查询仅与ViT输出进行交叉注意力F vit = F16。仅将F vit上采样至F4以通过与掩码嵌入qbiJ的点积来计算掩码 logits,从而确保高分辨率的输出掩码。

3.3 仅编码器 Mask Transformer

通过移除先前的特定任务组件,该模型被简化为一个带有单尺度Transformer解码器的ViT。下一步是完全移除解码器。这需要对原始ViT架构进行微小的修改,使其能够在没有专用解码器的情况下执行图像分割。将得到的方法称为仅编码器掩码Transformer (Encoder-only Mask Transformer, EoMT)。

查询ViT以获取掩码。与用于图像分割的标准掩码Transformer 不同,后者采用繁重且复杂的特定解码器,而EoMT仅使用纯ViT的架构,外加一些额外的学习查询和一个小的掩码预测模块。

EoMT的概述如图****2所示。

img

ViT 的前 L1 个 Transformer 编码器块保持不变,仅处理输入图像。在这些编码器块之后,引入一组 K 个可学习的查询,并将它们连接到图像块 (patch) 令牌。然后,这些令牌与图像块令牌一起被剩余的 L2 个 ViT 编码器块共同处理,遵循公式(1)。因此,最后的编码器块必须像以前一样处理图像块令牌,但也要替换处理查询的 Transformer 解码器。

一个标准的Mask Transformer引入了(i)通过自注意力实现的个体查询之间的交互,使得查询能够协调它们应该关注的对象,以及(ii)通过查询到补丁的交叉注意力实现的从视觉tokens到对象查询的信息传递。通常,这些操作是顺序执行的。相比之下,通过使用ViT的MHSA操作,EoMT在单个层中联合执行它们(见图****3)。

img

除了ViT,引入了一个小的掩码模块来预测每个查询的掩码和相应的类别。在此,遵循与M2F相同的设计,通过一个线性层传递查询令牌以预测类别logits,并使用一个三层MLP,然后与上采样的图像特征进行点积 F4 以获得掩码logits。

为了在训练期间实现查询和图像特征之间的掩码注意力(如M2F Transformer解码器中那样),在最后L2个ViT块中的每一个之前,额外应用先前引入的掩码模块,以预测每个查询的中间分割掩码。反过来,这些掩码可以用于在普通的自注意力模块中屏蔽查询到补丁的注意力,从而将每个查询的注意力限制在其预测的分割掩码上。这在图3中进行了可视化。

掩码退火。虽然在训练期间使用掩码注意力可以提高性能,但在推理期间预测中间掩码并将其应用于每个块的自注意力操作在计算上是昂贵且低效的。为了解决这个问题,提出了一种掩码退火方案,该方案在训练过程中逐步淘汰掩码注意力。具体而言,在每个带掩码的注意力模块中,以概率Pmask对每个查询应用掩码,该概率从1.0开始,并在整个训练过程中逐块衰减至0.0,如图****4所示。 这种策略允许模型最初受益于掩码注意力以帮助收敛,同时逐渐学习在没有掩码注意力的情况下运行,从而保持高性能。通过消除推理过程中对掩码注意力机制的需求,最终模型利用了高度优化的普通ViT架构,而无需额外的中间模块或修改后的注意力操作,从而确保了最佳效率。

img

4实验

1)从ViT-Adapter + Mask 2Former到EoMT。在COCO val 2017上进行评估

img

2)预训练。EoMT在高级预训练的情况下表现明显更好

img

3)模型大小。随着ViT模型大小的增加,EoMT的表现明显更好

img

4)用于全景分割的EoMT

img

5)用于语义分割的EoMT

img

6)EoMT用于实例分割

img

7)分布外泛化

img

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值