MambaOut: 是否真的需要视觉mamba?

论文标题:MambaOut: Do We Really Need Mamba for Vision?
论文地址:https://arxiv.org/pdf/2405.07992

摘要

Mamba 这种基于状态空间模型(SSM)的架构,虽然可以解决自注意力机制的平方复杂度问题,但在视觉任务中的表现并不如顶尖的卷积或注意力机制的模型。

Mamba 更适合具有长序列和自回归特性的任务,但图像分类不符合这两点,所以 Mamba 对于图像分类并不必要。

然而,检测和分割任务符合长序列特性,虽然不是自回归的,因此仍然有探索 Mamba 在这些任务中潜力的价值。

MambaOut 系列模型通过去掉核心的 SSM 模块,验证了 Mamba 在图像分类任务中的不必要性,但对于检测和分割任务,Mamba 仍然表现出较强的潜力

提出假设

Mamba 是否适合视觉任务?文章分析了 Mamba 的机制,指出其适合具有长序列和自回归特性的任务。图像分类任务既不具有长序列特性,也不自回归;检测和分割任务虽然符合长序列特性,但不是自回归的。

本文提出两种假设:

  • 假设1:SSM 对于图像分类并不必要,因为它不符合长序列和自回归特性。
  • 假设2:SSM 可能对目标检测和分割任务有帮助,因为它们符合长序列特性,尽管不是自回归的。

通过实验表明假设都是正确的。

mamba 适合什么任务?

长序列且自回归的任务。

类似于RNN的SSM的本质是因果注意力模型,隐藏状态h可以被视为一个固定大小的记忆卡,存储历史信息,通过更新记忆来更新记忆卡,卡的大小是恒定的。所以可以说SSM本质上记忆是有损的,相比于Transformer,短序列上表现的并不好,但是在长序列上的表现要优于Transformer。

上图(a)展示的是因果注意力模型,每一步都会保存历史的k和v,随着序列变成,计算复杂度也会增加。

(b)展示的是类RNN的模型(SSM),将过去状态压缩到固定大小的hidden state中,记忆大小固定,所以记忆会丢失,计算复杂度不变,更适合长序列。

觉图片识别任务上,并不需要非常长的序列。

在这个分析中,输入的大小为 X ∈ R L × D X \in \mathbb{R}^{L \times D} X∈RL×D,其中 L L L 是 token 长度(即序列长度), D D D 是通道或嵌入的维度。根据这个设定,FLOPs 可以计算为:
F L O P s = 24 D 2 L + 4 D L 2 \mathrm{FLOPs} = 24D^2L + 4DL^2 FLOPs=24D2L+4DL2

这里,第一项表示线性复杂度,第二项是与 L L L 的二次复杂度。

为了比较二次项和线性项的计算负担,引入了一个比率 r L r_L rL: r L = 4 D L 2 24 D 2 L = L 6 D r_L = \frac{4DL^2}{24D^2L} = \frac{L}{6D} rL=24D2L4DL2=6DL

当 L > 6 D L > 6D L>6D 时,二次复杂度的计算负担将超过线性复杂度,这意味着该任务具有长序列特征。

举例来说:

对于 ViT-Small(ViT-S),通道数 D = 384 D = 384 D=384,因此阈值为:
τ small = 6 × 384 = 2304 \tau_{\text{small}} = 6 \times 384 = 2304 τsmall=6×384=2304

对于 ViT-Base(ViT-B),通道数 D = 768 D = 768 D=768,因此阈值为:
τ base = 6 × 768 = 4608 \tau_{\text{base}} = 6 \times 768 = 4608 τbase=6×768=4608

对于 ImageNet 上的图像分类任务,典型的输入图像大小为 22 4 2 224^2 2242,这意味着每个图像分割为 1 6 2 16^2 162 的 patch 后生成 1 4 2 = 196 14^2 = 196 142=196 个 token。显然,196 远小于 τ small \tau_{\text{small}} τsmall 和 τ base \tau_{\text{base}} τbase,这表明 ImageNet 上的图像分类任务并不符合长序列任务的特征。

对于 COCO 数据集上的目标检测和实例分割任务,推理图像的大小为 800 × 1280 800 \times 1280 800×1280,而 ADE20K 数据集上的语义分割推理图像的大小为 512 × 2048 512 \times 2048 512×2048。这些情况下,token 数量大约为 4K。由于 4 K > τ small 4K > \tau_{\text{small}} 4K>τsmall 且 4 K ≈ τ base 4K \approx \tau_{\text{base}} 4K≈τbase,因此这两个任务可以被视为长序列任务。

总的来说,这一分析表明,图像分类任务通常不是长序列任务,而目标检测和语义分割等任务由于图像的高分辨率,具有长序列的特征。

全可见与因果模式的适用性: 在视觉识别任务中,全可见模式允许模型一次性访问所有输入信息,因此对理解任务(如图像分类、物体检测和语义分割)更为合适。而因果模式限制了每个 token 只能访问之前的 token,因此更适合自回归任务(如语言生成)。

因果限制对视觉任务的影响: 对视觉任务施加因果限制会导致性能下降,尤其是对于像 Vision Transformers 这样依赖全局信息的模型。视觉任务不需要因果 token 混合,因为它们并不具有自回归特性。

实验证明

本文设计了实验来佐证假设:

根据图 1(a) 所示,Mamba 模块是基于 Gated CNN 模块构建的。Gated CNN 和 Mamba 的元架构可以看作是 MetaFormer 的 token mixer 和 MLP 的简化集成,类似于 MetaNeXt 。给定输入 X ∈ R N × D X \in \mathbb{R}^{N \times D} X∈RN×D,其元架构公式如下:

X ′ = N o r m ( X ) , Y = ( T o k e n M i x e r ( X ′ W 1 ) ⊙ σ ( X ′ W 2 ) ) W 3 + X , X' = \mathrm{Norm}(X), \\ Y = (\mathrm{TokenMixer}(X'W_1) \odot \sigma(X'W_2))W_3 + X, X′=Norm(X),Y=(TokenMixer(X′W1)⊙σ(X′W2))W3+X,

其中, N o r m ( ⋅ ) \mathrm{Norm}(\cdot) Norm(⋅) 表示归一化操作, T o k e n M i x e r ( ⋅ ) \mathrm{TokenMixer}(\cdot) TokenMixer(⋅) 是用于进行 token 混合的模块, W 1 ∈ R D × r D W_1 \in \mathbb{R}^{D \times rD} W1∈RD×rD, W 2 ∈ R D × r D W_2 \in \mathbb{R}^{D \times rD} W2∈RD×rD 和 W 3 ∈ R r D × D W_3 \in \mathbb{R}^{rD \times D} W3∈RrD×D 是带有 MLP 扩展比 r r r 的可学习参数, σ \sigma σ 是激活函数。Gated CNN 和 Mamba 的 token mixer 分别为:

T o k e n M i x e r G a t e d   C N N ( Z ) = C o n v ( Z ) , T o k e n M i x e r M a m b a ( Z ) = S S M ( σ ( C o n v ( Z ) ) ) . \mathrm{TokenMixer}{\mathrm{Gated\,CNN}}(Z) = \mathrm{Conv}(Z), \\ \mathrm{TokenMixer}{\mathrm{Mamba}}(Z) = \mathrm{SSM}(\sigma(\mathrm{Conv}(Z))). TokenMixerGatedCNN(Z)=Conv(Z),TokenMixerMamba(Z)=SSM(σ(Conv(Z))).

通过比较公式,以及参考图 1(a),Gated CNN 和 Mamba 模块 之间的主要区别在于是否包含 SSM。因此,本文开发了一系列名为 MambaOut 的模型,它基于 Gated CNN 模块而没有使用 SSM。MambaOut 评估 Mamba 在视觉识别任务中的必要性。

具体而言,我们将 Gated CNN 的 token mixer 指定为 7 × 7 核大小的 depthwise 卷积 ,参考 ConvNeXt。此外,为了提高实际速度,我们仅在部分通道上执行 depthwise 卷积 ,参考 InceptionNeXt。如算法 1 所示

Gated CNN 模块的实现既简单又优雅。类似于 ResNet,我们通过在每个阶段堆叠 Gated CNN 模块构建了 MambaOut,如图 4 所示。

每个模型尺寸的配置细节显示在附录中的表 4。

实验结果

1. 图像分类 (ImageNet)

MambaOut在ImageNet图像分类任务中表现优异,超过了包含SSM的Mamba模型。具体结果如下:

MambaOut-Small 模型的Top-1准确率为 84.1%,比 LocalVMamba-S 提高了 0.4%,同时只需要 79% 的MACs计算量。

实验结果表明,MambaOut模型在没有SSM的情况下,仍然能够在ImageNet上取得优异的分类性能,验证了假设1:在ImageNet图像分类任务中,引入SSM是不必要的。

2. 目标检测和实例分割 (COCO)

在COCO数据集上,MambaOut作为Mask R-CNN的骨干网络进行目标检测和实例分割任务。结果表明:

MambaOut-Tiny 在目标检测任务中比 VMamba-T 落后了 1.4 APb 和 1.1 APm,表明在长序列视觉任务中,Mamba的优势仍然存在。

虽然MambaOut在某些情况下超过了部分Mamba模型,但在与最先进的视觉Mamba模型(如 VMamba 和 LocalVMamba)的对比中,仍有性能差距。这验证了假设2:尽管Mamba在图像分类任务中表现不佳,但在长序列视觉任务(如目标检测和分割)中仍然值得进一步探索。

3. 语义分割 (ADE20K)

在ADE20K语义分割任务中,MambaOut与现有的Mamba模型进行对比:

MambaOut-Tiny 模型在单尺度 (SS) 和多尺度 (MS) 评估中的mIoU值比 LocalVMamba-T 分别低了 0.5。

结果表明,MambaOut虽然在某些情况下超越了一些Mamba模型,但在最先进的Mamba模型上,MambaOut依然表现稍逊,验证了Mamba在长序列建模方面的潜力。

总结:

MambaOut在ImageNet分类任务中,成功验证了SSM并不必要,且能有效超越现有的视觉Mamba模型。

在目标检测和语义分割等长序列任务中,Mamba仍然具有优势,MambaOut无法完全达到最先进的Mamba模型的性能。

相关推荐
泰迪智能科技0118 分钟前
高校深度学习视觉应用平台产品介绍
人工智能·深度学习
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
Eric.Lee20211 小时前
Paddle OCR 中英文检测识别 - python 实现
人工智能·opencv·计算机视觉·ocr检测
cd_farsight1 小时前
nlp初学者怎么入门?需要学习哪些?
人工智能·自然语言处理
AI明说1 小时前
评估大语言模型在药物基因组学问答任务中的表现:PGxQA
人工智能·语言模型·自然语言处理·数智药师·数智药学
Focus_Liu1 小时前
NLP-UIE(Universal Information Extraction)
人工智能·自然语言处理
PowerBI学谦2 小时前
使用copilot轻松将电子邮件转为高效会议
人工智能·copilot
audyxiao0012 小时前
AI一周重要会议和活动概览
人工智能·计算机视觉·数据挖掘·多模态
Jeremy_lf2 小时前
【生成模型之三】ControlNet & Latent Diffusion Models论文详解
人工智能·深度学习·stable diffusion·aigc·扩散模型