点击下方卡片,关注
「AI视界引擎」
公众号
( 添加时备注:方向+学校/公司+昵称/姓名 )
Transformer已成为视觉任务(如目标检测、语义分割和视频理解)的基础,但其注意力机制中的二次复杂度带来了可扩展性的挑战。
为了解决这些限制,Mamba架构利用状态空间模型(SSM)实现线性可扩展性、高效处理和增强的上下文感知能力。
本文探讨了Mamba架构在视觉领域应用及其近期进展,包括视觉Mamba(ViM)和视频Mamba,它们引入了双向扫描、选择性扫描机制和时空处理来提升图像和视频理解能力。
诸如位置嵌入、交叉扫描模块和分层设计等架构创新进一步优化了Mamba框架,以实现全局和局部特征的提取。这些进步使Mamba成为计算机视觉研究和应用领域有前景的架构。
深度学习彻底改变了人工智能(AI)领域,并在推动计算机视觉发展方面发挥了关键作用,显著提升了机器从世界中理解和解释视觉信息的能力。通过利用神经网络的力量,尤其是卷积神经网络(CNNs)[1],[2]以及近期兴起的视觉Transformer(ViTs)[3]-[5],深度学习实现了在图像分类[6]、目标检测[7]、语义分割[8],[9]以及时空视频理解[10],[11]等任务中开发出复杂、高度精确的模型。Transformer最初在自然语言处理(NLP)[4]领域受到欢迎,已在视觉任务中展现出巨大的潜力。如视觉Transformer(ViTs)[5]和混合模型[12],[13]等架构利用其捕捉复杂依赖关系的能力,实现了最先进的成果。
在这些进步的核心是具有大量参数的模型,能够捕捉数据中的复杂模式。尽管Transformer取得了成功,但由于注意力计算的二次复杂性,它面临着挑战,导致推理过程耗时。Mamba是一种新型架构,灵感来源于状态空间模型(SSMs),为构建基础模型提供了一种有希望的替代方案[14]。Mamba在序列长度和硬件高效处理方面具有近似线性的可扩展性,最近已应用于计算机视觉任务,包括图像和视频处理。Vision Mamba(ViM)[15]和VideoMamba[16]等模型展示了Mamba在处理长距离依赖关系的同时,能够解决基于Transformer的模型在视觉领域面临的计算和内存 Bottleneck 。
本文对应用于视觉任务的Mamba架构进行了全面综述,突出了它们在解决各种挑战中的相似性、差异和有效性。作者的调查仅关注Mamba在视觉任务中的作用,与涵盖文本、推荐系统和医学成像等应用领域的更广泛的Mamba调查相区别[17]-[20]。虽然之前的工作[21]、[22]考察了Mamba在视觉中的应用,但本文独特地聚焦于ViM和VideoMamba作为核心模型。作者评估了包括位置嵌入、交叉扫描模块和层次化设计在内的架构改进,为优化Mamba进行局部和全局特征提取提供了新的见解。
此外,作者还提供了图像分类、语义分割和目标检测等领域的比较性能分析,为选择最适合各种视觉任务的架构提供了实际建议。这种针对特定任务的比较使作者的工作与一般的Mamba调查有所区别,并为基于视觉的研究提供了有价值的指导。
Mamba通过将参数设置为输入函数,增强了传统状态空间模型(SSM)的上下文感知能力。图1展示了原Mamba架构块,该块适用于一维序列数据,如语言 Token 。SSM通过一个隐藏状态
将一维函数或序列
映射到输出
。使用参数
,连续系统由图1所示的Mamba块架构中的选择性状态空间模型定义。
对于由输入
定义的分立序列,其中
表示输入序列的维度,必须使用步长
对式(1)中的连续系统参数进行离散化。在文献[15]、[16]、[24]中,采用零阶保持(ZOH)[23]作为最简单且最可靠的离散化方法。利用步长
,连续系统参数
转换为
。
该离散化系统方程可以表示为:
传统序列状态模型在处理密集文本和数据时难以保持上下文感知。Mamba通过引入一种选择机制,该机制能够根据输入数据动态调整,过滤掉无关信息,同时无限期地保留相关数据。Mamba的创新之处在于其选择性扫描机制(S6)[14],将SSM的参数
、
、
变为输入数据的函数,即
、
、
。这一目标是通过线性变换实现的。
在数学公式中,
表示
属于实数域
上的一个三维数组,其中
代表输入序列的长度,
表示批量大小,而
表示通道数。
原始的Mamba块[14]引入了一种硬件感知算法,以高效地计算选择性的SSM参数。这些参数用于SSM方程式(1)和(3)中,以计算潜在隐藏状态和输出。这种机制允许Mamba根据输入序列的相关性有选择地保留或丢弃信息。
图2:图(a)中展示的 Patch 嵌入上的单方向扫描机制遵循了原始的Mamba架构。双向选择性扫描(图b)作为ViM的一个创新贡献被引入。
图3:三维时空双向扫描。VideoMamba [16] 提出了一种改进的扫描机制,用于3D输入数据,将空间数据与时间数据相结合。
视觉Mamba架构将Mamba架构扩展,以应对视觉数据的复杂性。它通过引入位置嵌入来处理位置敏感性,这些嵌入与ViT[5]中使用的类似。为了捕捉全局上下文,ViM采用了双向序列到序列模型(SSMs),如图2所示,这使得每个序列元素能够访问前继和后续元素的信息[15]。
原始的Mamba块采用单向扫描,适用于因果序列。然而,视觉数据是非因果的。ViM采用双向扫描,正向和反向处理序列,以有效地捕捉依赖关系,如图2所示。对于视频理解,时空扫描扩展了这一概念。VideoMamba采用3D双向块来捕捉时空依赖关系,如图3所示。除了这些策略,研究行人还探索了各种时空方法,如空间优先与时间优先扫描,以及扫掠扫描、连续扫描和局部扫描技术,以进一步提高ViM的性能和效率。第IV节概述了这些方法如何在关键架构中得到应用。
本节将Vision Mamba模块与更复杂的VideoMamba模型进行比较,重点 注意力模块 设计、扫描模式和内存管理。
图4:Mamba架构在2D图像应用中的比较;(a)Vision Mamba,(b)Vmamba,(c)LocalMamba是一组多方向块,可用于其他Mamba架构,(d)PlainMamba,(e)SpatialMamba,(f)Famba-V引入了token融合的概念,可应用于其他Mamba架构,(g)Hi-Mamba,用于提取高分辨率图像特征和高分辨率图像恢复。
如图4(a)所示的ViM模块是对Mamba模块的一种改进,旨在通过双向扫描/序列建模处理视觉数据。与原始的单向Mamba模块不同,ViM模块通过同时使用正向和反向序列建模来处理展平的视觉序列,以捕捉空间上下文。
输入序列是通过将2D图像转换为添加了位置嵌入和类别 Token 的展平2D图像块来生成的;后者代表整个图像块序列。
归一化序列输入被线性映射,生成两个转换后的表示:
(用于主要处理)和
(随后用于门控)。
转换后的表示在正向和反向方向上均进行处理(类似于双向RNN或Transformer)。对于每个方向:
一维卷积应用于
,随后进行SiLU激活,得到
;如图4(a)中的“正向卷积与反向卷积1d”模块所示。在SSM模块内部,三个独立的线性投影将
转换成:
。缩放因子
应用于转换
。
SSM随后计算前向扫描(yforward)和后向扫描(ybackward)的输出特征,这些特征经过门控和平均处理后生成最终的输出。
输出(yforward 和 ybackward)通过应用于
的 SiLU 激活进行调制;这充当了一个门控机制,控制每个方向的作用。门控输出被相加,并通过最终的线性变换,其中通过残差连接(将原始归一化序列输入加回)确保保留了有用的原始信息。
这种双向处理与原始的Mamba块的关键区别在于,它允许ViM块同时考虑过去和未来 Token 的上下文,因为图像数据本身是非因果的,未来序列段中的一个 Token 可能对当前评估的图像 Token 的上下文具有重大相关性。ViM块通过引入位置嵌入来保留空间信息,解决了原始Mamba缺乏空间感知能力的问题,因为它是为1维序列设计的。此外,ViM块内部正向和反向扫描方向使用共享参数。通过结合双向SSM和位置嵌入,ViM及其所有变体旨在达到与Transformer相当的模式化能力,同时保持线性内存复杂性和高效压缩视觉表示,使其适用于各种视觉任务。尽管ViM效果显著,但它面临以下独特的局限性:
存在错误:一项研究表明,ViM特征图可能包含错误,这可能会影响性能[25]。这些错误需要进一步优化架构以提高结果。使用Mamba
缓解错误:为了解决错误,研究行人提出了Mamba
,该模型战略性地在 Token 序列中均匀地引入“寄存器 Token ”。这些 Token 随后在网络末尾连接,以生成全面的图像表示。Mamba
有效减少了错误,使模型更加专注于语义相关的图像区域,并在准确性和可扩展性方面超越了先前模型[25]。限制全局和局部表示同时存在:研究行人指出,传统ViM架构的单向性质可能限制了其有效捕捉全局表示的能力,这可能会降低需要全面空间上下文的任务的性能[26],[27]。
已经出现了几种ViM变体,旨在解决这些具体挑战,以及更多旨在提升跨不同任务性能的改进:
Vmamba:该模型引入了交叉扫描模块(CSM),旨在专门解决图像的二维特性。通过考虑二维平面上的空间关系,如同其他模型所做的那样[28],Vmamba旨在提升视觉处理的效率[24]。
LocalMamba和EfficientVMamba:这两种变体专注于优化Mamba架构内部的扫描策略。LocalMamba采用窗口扫描和动态扫描方向[27],而EfficientVMamba则集成了基于扩张的选区扫描和双路径模块,以实现高效的全局和局部特征提取[29]。VSSD Mamba:该模型解决了将传统SSD/SSM架构的因果性质适应本质上非因果视觉任务的基本挑战[30]。
它通过忽略隐藏状态和 Token 之间交互的幅度,仅保留它们的相对权重来克服这一挑战。这种技术与多扫描策略相结合,实现了扫描结果的非因果集成,显著提高了视觉应用中的性能[26]。
VideoMamba专为视频理解设计,旨在解决视频数据中局部冗余和全局依赖带来的挑战。它扩展了ViM块以适用于3D视频序列,引入了双向的Mamba块,并采用诸如空间优先、时间优先和时空扫描等多种扫描方法,以有效处理时空信息,如图3所示。该模型采用线性复杂度算子来高效处理长期依赖,并包含自蒸馏技术,其中较小模型充当教师,指导较大模型的训练以提升可扩展性。
VideoMamba[16]从视频中提取关键帧,并将它们作为连续输入序列进行处理。然而,其在视频基准测试中的表现不及基于Transformer的方法,这表明仍有改进的空间[31]。
在VideoMamba的基础上[32],解决了“历史衰减”和“元素矛盾”的限制问题。 Mask 反向计算缓解了历史衰减问题,使网络能更好地处理历史 Token 。VideoMamba模型的扩展[32]、[33]通过实现残差连接来优化 Token 之间相似性的表示。这些改进显著提升了VideoMamba在视频动作识别基准测试中的性能,使其成为Transformer模型的强劲竞争对手。
虽然这两种模型都利用了双向时态序列模型,VideoMamba将这种能力扩展到时空处理,并融合了独特的扫描方法、 Mask 建模策略和自蒸馏技术,以提升性能。
图5展示了两个VideoMamba模型的架构。VideoMamba及其改进版本已在动作识别、视频理解以及多模态任务等任务上对视频 Transformer 架构进行了测试[16]。VideoMamba与基于 Transformer 的模型之间的比较效率分析显示,在可扩展性和性能方面有显著提升。[11]、[16]、[31]和[34]强调了Mamba在处理大量帧的视频时的速度优势,这使得Mamba特别适合于大规模视频处理应用。
图5:(a)VideoMamba模块和(b)VideoMambaPro架构。两者采用了相似的架构,其中(a)与文献[15]中的架构相同,但针对3D数据进行适配,(b)则采用了残差SSM(自编码器-自相似模型)和反向方向上的 Mask 修补块的概念,以提升(a)架构的性能。
ViM[15]和VideoMamba[16]都将Mamba状态空间模型(SSM)[14]应用于视觉任务。ViM作为一个通用的视觉 Backbone 网络,旨在取代传统的卷积和基于注意力的网络[4]。它将图像处理为一系列 Patch 序列,利用双向扫描高效地捕捉空间上下文。ViM对输入 Token 进行归一化处理,应用线性投影,并采用带有位置嵌入的双向SSM来增强空间信息表示。
VideoMamba扩展了ViM至三维视频序列,融合了多种扫描方法,包括空间优先、时间优先以及时空扫描。与ViM不同,它采用了一种纯SSM(状态空间模型)架构,类似于标准的ViT[5],不使用下采样层。VideoMamba还引入了一个线性复杂度算子,以有效建模长期依赖关系,使其特别适合处理视频任务中的时空数据。这两个模型已在图像分类[35]、目标检测[36]、语义分割[37]-[39]等多个视觉任务[34]、[40]上进行了评估。
本质上,ViM作为一个通用的图像处理 Backbone 网络,而VideoMamba则针对高效的视频理解进行了专门设计,其架构调整旨在解决各自数据类型和任务所特有的特点和挑战。
本节总结了基于视觉/视频Mamba研究的最新进展,从关键架构创新的角度进行分析。图6展示了以下描述的架构变体所采用的附加选择性扫描机制。每种新颖的扫描策略都经过配置,以补充Mamba在二维和三维应用(如空间关系建模、局部表示的局限性以及不同方向的扫描以改善视觉上下文特征)中的应用。图4展示了用于图像任务的一些关键架构的视觉块表示,以及这些块与图1中的原始Mamba块的比较。
图6:扫描机制;(a)和(b)分别应用于前向和后向的 Patch 上,其中(a)采用光栅扫描,这会丢失来自彼此垂直放置的 Patch 的因果信息;(b)则保留了这些信息。(c)的局部扫描将图像划分为局部段,以改善局部表示。图(d)和(e)中显示的扫描机制不常使用,但它们是(a)和(b)的有效替代方案。
选择性状态空间模型(SSMs):这是Mamba架构的基础。SSMs,尤其是S6模块,提供了全局感受野和与序列长度成线性复杂度的特性,使其成为传统Transformer的计算高效替代方案。
Mamba引入了一种选择机制,使模型能够根据输入有选择地保留或丢弃信息,从而增强基于上下文的推理[14]、[41]。
该架构使模型能够通过使SSM参数成为输入的函数,执行基于内容的推理。这允许模型在序列长度上有选择地传播或遗忘信息,过滤掉无关信息,并保持对相关信息长期记忆。
为了克服Mamba因果性质带来的局限性,这种性质对于图像处理并不理想,图4(b)中的VMamba、图4(c)中的LocalMamba和图4(d)中的PlainMamba等模型都采用了多路径扫描机制。这使得模型能够更有效地捕捉局部和全局特征[15],[27],[43]。
LocalMamba[27]通过将图像分割成不同的局部窗口来提升图像扫描效率,确保相关 Token 紧密排列,以更好地捕捉局部依赖关系,同时保持空间一致性。为了融入全局上下文,该方法在四个方向上集成了一种选择性扫描机制:原始的两个方向及其翻转的对应方向,允许进行正向和逆向的 Token 处理,如图6(c)所示。
c) 结构感知SSM层:在SpatialMamba中引入的该层包含一个结构感知状态融合(SASF)分支和一个乘性门控分支,如图4(e)所示。这使得模型能够捕捉到局部和全局的空间依赖关系[44]。与依赖多个扫描方向的前期方法不同,Spatial-Mamba将状态变量融合成一个新的结构感知状态变量[44]。一旦输入图像被展平为1D的 Patch ,并确定了状态参数后,这些 Patch 会被重新塑形为2D,然后应用SASF来整合局部依赖关系,在生成最终输出之前。
d) 跨层Token融合:Famba-V技术旨在提升视觉Mamba(ViM)模型训练效率,它融合了三种跨层Token融合策略[45]-[48]。
在ViM块中应用了 Token 融合,如图4(f)所示的最终线性投影操作之前。 Token 根据余弦相似度进行分组和配对,并通过平均进行融合。[45]中实现了三种 Token 融合策略,包括上层 Token 融合,在第五节中展示的视觉任务上取得了最佳结果。
交错 Token 融合——从第二层开始,对交替层进行融合,以保持效率而不过度融合。底层 Token 融合——仅对底层进行融合,利用早期效率提升,同时保持高级推理。高级层 Token 融合——仅对高级层进行融合,假设高级特征可以融合而不显著影响性能。
enables efficient capture of multi-scale visual context [49].
e)分层Mamba架构(Hi-Mamba):如图4(g)所示,该架构旨在进行图像超分辨率处理,引入了一个分层Mamba模块(HMB),该模块由具有单向扫描的局部和区域SSM组成。这种设置旨在有效地捕捉多尺度视觉上下文[49]。该设置能够有效地捕捉多尺度视觉上下文[49]。
方向交替分层Mamba组(DA-HMG):在Hi-Mamba内部,该组进一步增强了空间关系建模。它将单向扫描分配到级联的HMB中,在不增加计算成本或参数的情况下提高了性能[49]。
非因果状态空间对偶性(NC-SSD):类似VSSD的模型引入了非因果状态空间对偶性,消除了Mamba2[30]中状态空间对偶模型(SSD)中的因果 Mask 。这一架构创新使得Mamba能够更灵活地应用于本质上非因果的数据,如图像[15]、[26]、[29]、[50]。
VSSD块[26]通过引入深度卷积(DWConv)[51]、用于更好通道通信的 FFN (FFN)以及用于改进局部特征提取的局部感知单元(LPU),增强了Mamba2 SSD在视觉任务中的应用。四阶段分层VsSD模型在第一阶段至第三阶段使用VSSD块,在最后一阶段使用多头自注意力(MSA),在视觉应用中平衡了效率和性能[4]。
h) 基于隐藏状态混合器(HSM-SSD)的SSD:高效ViM模型具备这一层,它将通道混合操作从图像特征空间转移到隐藏状态空间。这种设计旨在缓解标准SSD层的计算 Bottleneck ,同时不损害模型泛化能力[29]。
在视觉Mamba架构中注册 Token :Mamba
引入了注册 Token ,即输入无关的 Token ,到视觉Mamba架构中。这些 Token 均匀地插入到输入中,并在最终预测时进行回收,旨在减轻伪影并增强模型对语义上有意义的图像区域的关注[25]。
j) 马赛克反向计算:VideoMambaPro在双向Mamba过程中融合了马赛克反向计算技术,有效缓解了历史衰减问题,并使模型能更充分地利用历史信息[16]、[32]。
元素残留连接:Video Mamba Pro还引入了残留连接到Mamba的矩阵元素,解决了元素矛盾的问题,即在计算过程中序列中的元素可能会产生冲突。这增强了模型在视频数据中提取和处理复杂时空特征的能力[16],[32]。
许多这些创新集中于提高基于Mamba模型的视觉任务中的效率和性能,同时保持相较于传统Transformer的线性复杂度优势。
为了对各种数据集和任务中不同模型的性能进行系统性比较,本节对比了在常见数据集基准测试中[14]-[16]、[24]-[27]、[29]、[30]、[32]、[43]-[45]的结果。展示的模型仅限于在研究者提供了“小型”、“基础”或“大型”模型变体的情况下,具有相似规模的模型。结果按任务分类;针对ImageNet-1k数据集进行图像分类[35]、[52],针对ADE20K数据集进行语义分割[38]、[53],针对MS-COCO数据集进行目标检测[54],以及针对视频理解基准测试中的人体动作识别,对比Kinetics-400[55]、[56]和Something-Something-V2[57]数据集。
表1比较了在ImageNet-1k数据集[52]上用于图像分类的各种Mamba模型[10]、[35],强调了扫描机制、准确性和效率方面的差异。从结果来看,SpatialMamba-S(
Top-1 ACC)[44]表现最佳,它利用了结构感知状态融合技术,而Vmamba-S(
)[24]和应用于Vmamba-S的LocalMamba(
)[15]、[27]也通过交叉扫描和局部扫描取得了强劲的成果。Famba-V应用于ViM-S(
)[15]、[45]表现最差,尽管它在不同的数据集上进行了测试,表明双向扫描与 Token 融合在图像分类中效果较差。在效率方面,EfficientViM-M4(参数量21.3M,4.1 GFLOPS,
ACC)[29]提供了极佳的准确性与计算之间的权衡,使其非常适合资源受限的应用。
研究结果表明,高级状态空间融合(SpatialMamba-S)和战略扫描机制(VmambaS、LocalMamba)显著提高了准确性,而轻量级架构(EfficientViM-M4)[29]能够有效平衡效率和准确性。
注:由于“Semantic Segmentation”是一个AI领域的专业术语,直接翻译为“语义分割”在中文中已经能够准确传达该概念。如果需要进一步解释或 Query 该术语的具体含义,请告知。
表eII对比了在ADE20K[37]-[39],[53]语义分割任务上评估的Mamba模型。结果显示,Vmamba-S[24]和Spatial-Mamba-S(50.6 mloU)[44]表现最佳,它们利用了交叉扫描和结构感知状态融合技术,尽管计算成本较高(分别为1028G和992G FLOPS)。将LocalMamba应用于Vmamba-S(50.0 mIoU,1095G FLOPS)也取得了良好的效果[27],强调了局部扫描的优势。MambaR-S(45.3 mloU)表现最差,表明注册 Token Embedding 对分割的效果较差[25]。VSSD-T(47.9 mIoU),尽管仅使用模型的小型版本进行了测试,但通过非因果状态空间二重性实现了准确性和效率的平衡[26]。
研究结果突显了扫描机制、mIoU(平均交并比)与效率(参数量和浮点运算次数,简称Params和FLOPS)之间的权衡。这种分析表明,高性能模型依赖于先进的扫描技术,但需要相当大的计算资源,而轻量级模型,如PlainMambaL2 [43],为了提高效率而牺牲了部分准确性。
表1评估了在MSCOCO[51]、[54]上的目标检测模型[36],比较了基于与真实标签重叠75%的边界框的准确率(AP_{bb}^{75})和效率(参数量和FLOPS)。
空间Mamba-S
表现最佳,得益于Sweeping Scan与结构感知状态融合,尽管其计算需求较高(315G FLOPS)[44]。VSSD-S (53.1
) 接踵而至,利用非因果状态空间对偶性,在准确性和效率之间取得平衡(325G FLOPS)[26]。应用于Vmamba-S
的LocalMamba也表现良好,强调局部扫描的优势[27]。表现最差的为EfficientViM-M4 (41.1
),尽管其效率高(4.1G FLOPS),但为了降低计算成本,牺牲了准确性[29]。依赖于跨扫描和双向光栅扫描的Vmamba-S (48.7
) 和Vision Mamba (49.6
) [15],[24]表现中等,但不如结构感知或局部扫描方法有效。PlainMamba-L2 (50.1
,542G FLOPS) [43]取得不错的结果,但计算成本高昂。这一分析表明,Spatial Mamba-S和VSSD-S在准确性方面领先,而EfficientViM-M4则牺牲性能以优先考虑效率。
表4比较了在Kinetics400[55]和SsV2 [57]数据集上测试的VideoMamba-S [16]和VideoMambaPro-S [32]模型。VideoMambaPro-S成为表现更优的模型,其在Kinetics-400上实现了最高的准确率88.5%,同时使用的参数数量(24M vs 26M)比VideoMamba-S更少。这两个模型在Kinetics-400上的表现均优于SSV2。参考文献[32]采用了一种增强的扫描机制,该机制包括额外的ResidualSSM和Masked Backward Residual SSM组件[32]、[51]、[58],这些组件有助于在两个数据集上都获得更好的性能。尽管SsV2实验的计算成本(FLOPS)显著低于Kinetics400(1500-1620G),但表现最差的配置是SSV2中的VideoMamba-S,其准确率为67.6%。总的来说,Pro版本显示出其更复杂的架构在略微提高效率的同时,能够带来更好的结果。
本文概述了视觉Mamba,详细介绍了其架构、应用和挑战。视觉Mamba作为通用视觉 Backbone ,通过双向扫描将图像处理为一系列 Patch ,以有效地捕捉空间上下文。
视频Mamba将此方法扩展到3D视频序列,在空间和时间维度上同时运作。尽管取得了重大进展和关键架构发展,但在完全实现Mamba在视觉任务上的潜力方面仍存在挑战。
未来的研究应聚焦于优化这些架构,扩大Mamba在更广泛视觉模态上的适用性,开发高效的 Token 融合技术,并提升其在实际部署中的可扩展性。
参考
[1]. A Survey on Mamba Architecture for Vision Applications .
点击上方卡片,关注
「AI视界引擎」
公众号