【论文阅读】Vision Mamba:双向状态空间模型的的高效视觉表示学习

这篇具有很好参考价值的文章主要介绍了【论文阅读】Vision Mamba:双向状态空间模型的的高效视觉表示学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


论文地址:
Vision Mamba

Vision Mamba:双向状态空间模型的的高效视觉表示学习

摘要

在这篇文章,我们展示对于视觉表示学习,不再依赖自注意力,提出一个新的泛用的视觉backbone基于双向Mamba块,通过位置嵌入来标示图片序列,通过双向状态空间模型压缩视觉表示。结果表示,Vim有能力解决在高分辨率图片上应用tranformer类型所导致计算和存储限制,有潜力成为下一代视觉基础模型的backbone。

介绍

最近的工作,Mamba引入时变参数到SSMM而且提出一个硬件感知算法以保持其高效训练和推断,Mamba优秀的缩放表现表明在语言建模是Transformer的有前景的替代。
然而,纯基于SSM的主干网络还没有被探索用于处理视觉数据,例如图片和视频。

相比于卷积神经网络,ViT的核心优势是ViT可以为每张图片切片提供数据\切片依赖的全局上下文信息通过自注意力。不同于卷积核对于所有的位置应用相同的参数。另一个优势是模态不可知建模通过将一张图片当作一系列切片而没有引入2D归纳偏置,使其更适应多模态应用。在同事,Transformer的自注意力机制导致了速度和内存使用的挑战,在处理长距离视觉依赖,例如处理高分辨率图片时。

然而,Mamba有两个主要的挑战,即单向建模和缺乏位置感知。为了解决这些挑战,我们提出了视觉Mamba模型,它结合了用于数据相关的全局视觉上下文建模的双向SSM和用于位置感知视觉识别的位置嵌入。我们首先将输入图片切分为块然后线性映射它们为向量输入Vim。图片块在Vim块中作为序列信息被处理,通过提出的双向选择状态空间模型高效压缩视觉表示。更进一步,Vim块的位置嵌入提供了空间信息的感知,使得Vim对于密集预测任务更加鲁棒。在当前阶段,我们使用ImageNet数据集在有监督图片分类任务上训练Vim模型,之后将预训练Vim作为backbone,为下游密集预测任务即语义分割,目标检测和实例分割实现序列视觉表示学习。如同Transformer,Vim可以在大规模无监督视觉数据集上预训练以获得更好的视觉表示。得益于Mamba更好的效率,Vim可以以更低的计算代价实现。

相比于其他为视觉任务设计的基于SSM模型,Vim是一个纯SSM方法并且以序列风格建模,对于通用高效的backbone来说更有前景。

我们主要的贡献总结如下:

  • 我们提出了视觉Mamba(Vim)结合数据依赖的全局上下文建模的双向SSM和位置感知视觉理解的位置嵌入结合。
  • 不需要attention。
  • 我们在ImageNet分类和密集预测下游任务上完成了大量的实验,展示相比于大家接受和高度优化的plain视觉Transformer例如DeiT的优越性。

相关工作

用于视觉应用的状态空间模型

Long movie clip classification with state-space video models.

使用1D S4处理视频分类的长距离时序依赖

S4nd: ´ Modeling images and videos as multidimensional signals with state spaces.

更近一步拓展1D S4来处理多维数据包括2D图片和3D视频。

Efficient movie scene detection using state-space transformers

结合了S4和自注意力的优势建造了TranS4mer模型,在视频场景检测取得SOTA

Selective structured state-spaces for long-form video understanding

为S4提出了一种新的选择机制,大大提升了S4在长格式视频理解中的表现

Diffusion models without attention

抛弃了注意力机制,使用一个更可缩放的基于SSM的backbone来生成高分辨率图像和在可负担的计算条件下处理细粒度表达。

U-mamba: Enhancing long-range dependency for biomedical image segmentation.

提出了U-Mamba,一个混合CNN-SSM结构,在生物医学图像上处理长距离依赖。

上述的工作要么是应用SSM到特定的视觉应用或者建立一个结合SSM和卷积或注意力的混合结构。和它们不同,我们建立了一个纯-SSM模型,可以作为一个通用视觉backbone

方法

准备

基于SSM的模型即状态空间序列模型(S4)和Mamba受连续系统启发。这一部分介绍和离散化参见

【论文翻译】Mamba 中的状态空间模型背景-CSDN博客

【论文翻译】MODELING SEQUENCES WITH STRUCTURED STATE SPACES 附录A.1-CSDN博客

视觉Mamba

图二展示了Vim的概览,标准的Mamba是为1-D序列设计的。为了处理视觉任务,我们首先将2-D图像 t ∈ R H × W × C t\in \mathbb R^{H\times W\times C} tRH×W×C到展平的2-D切块 x p ∈ R J × ( P 2 ⋅ C ) x_p\in{\mathbb{R}^{J\times(P^{2}\cdot C)}} xpRJ×(P2C),其中 ( H , W ) (H,W) (H,W)是输入图像的尺寸, C C C是通道的数量, P P P是图片切片的尺寸。接着,我们将 x p x_p xp象形映射为一个长度D的向量

并加入位置嵌入 E p o s ∈ R J + 1 × D E_{pos} \in \mathbb{R}^{J+1\times D} EposRJ+1×D如下:
T 0 = [ t c l s ; t p 1 W ; t p 2 W ; t p J W ] + E p o s T_0 = [t_{cls};t_p^1W;t_p^2W;t_p^JW]+E_{pos} T0=[tcls;tp1W;tp2W;tpJW]+Epos
其中 t p j t_p^j tpj t t t的第 j j j个切片, W ∈ R P 2 ⋅ C × D W\in \mathbb{R}^{P^2\cdot C \times D} WRP2C×D是可学习的映射矩阵。受ViT和BERT启发,我们也是用类别token表示整个patch序列,表示为 t c l s t_cls tcls。我们之后将token序列 T l − 1 T_{l -1} Tl1送入Vim编码器第 l l l层,然后得到输出 T l T_l Tl。最后,我们归一化输出类token T L 0 T^{0}_{L} TL0并将其送入MLP得到最后的预测 p ^ \hat{p} p^如下:
T i = V i m ( T l − 1 ) , f = N o r m ( T L 0 ) . p ^ = M L P ( f ) T_i = Vim(T_{l-1}),\\ f = Norm(T_{L}^{0}).\\ \hat{p} = MLP(f) Ti=Vim(Tl1),f=Norm(TL0).p^=MLP(f)
Vim是提出的视觉mamba块, L L L是层的数目, N o r m Norm Norm是归一化层

Vim块

原始的Mamba块是为1-D序列设计的,并不适宜用于需要空间感知理的解视觉任务。在这个部分,我们提出里Vim块,包含为视觉任务设计的双向序列建模。Vim块如图二

visual mamba推导,视觉状态空间模型,论文阅读

特别的,我们在算法31展示了Vim块的操作。输入token序列 T l − 1 T_{l-1} Tl1首先被归一化层归一化。接着我们以E维度线性投影归一化序列到x和z。之后我们从前向和后向方向处理x。对于每个方向,我们首先在x应用1-D卷积得到 x o ′ x_{o}^{'} xo。我们接着线性投影 x o ′ x_{o}^{'} xo B o , C o , Δ o B_o, C_o,\Delta_o Bo,Co,Δo Δ o \Delta_o Δo被用于变换 A ‾ o , B ‾ o \overline{A}_o,\overline{B}_o Ao,Bo。最后我们通过SSM计算 y f o r w a r d y_{forward} yforward y b a c k w a r d y_{backward} ybackward之后被变量z门控,并相加得到输出的token序列 T 1 T_1 T1

visual mamba推导,视觉状态空间模型,论文阅读

结构细节

总结,我们结构的超参数如下:

L:块的数目

D:隐藏状态的维度

E:扩展的状态维度

N:SSM维度

追随ViT和DeiT,我们首先应用一个16x16的映射层得到一个无重叠的切块嵌入的1-D序列。之后,我们直接堆叠 L L L个Vim块。在默认情况下,我们将 L L L设置为24,SSM维度 N N N为16。来对齐DeiT系列的模型大小,对于tiny变种我们将隐藏状态模型D设置为192并且将扩展状态维度 E E E设置为384。对于small变种我们将隐藏状态模型D设置为384并且将扩展状态维度 E E E​设置为768.

高效分析

传统的基于SSM的方法应用了快速傅里叶变换来加快等式4所示的卷积操作。遂于数据依赖的方法,例如Mamba,SSM操作不再等价于卷积。为了解决这个问题,Mamba和我们提出的Vim选择一个现代硬件友好的方式确保高效。这个优化的关键想法在于避免IO和存储限制。

计算效率

Vim块中的SSM和Transformer中的自注意力都在自适应提供全局上下文中扮演关键角色。给定一个视觉序列 T ∈ R 1 × M × D T\in R^{1\times M\times D} TR1×M×D和默认设置 E = 2 D E = 2D E=2D,自注意力和SSM的计算复杂度为:
Ω ( s e l f − a t t e n t i o n ) = 4 M D 2 + w M 2 D Ω ( S S M ) = 3 M ( 2 D ) N + M ( 2 D ) N \Omega(self-attention) = 4MD^2+wM^2D\\ \Omega(SSM) = 3M(2D)N+M(2D)N Ω(selfattention)=4MD2+wM2DΩ(SSM)=3M(2D)N+M(2D)N

实验

图片分类

visual mamba推导,视觉状态空间模型,论文阅读

语义分割

visual mamba推导,视觉状态空间模型,论文阅读

目标检测和实例分割

visual mamba推导,视觉状态空间模型,论文阅读

得益于SSM相对于序列长度的线性复杂度,在输入分辨率提高的情况下,其相对于平方复杂度的Transformer类模型会展现出极大优势。

消融实验

双向SSM

visual mamba推导,视觉状态空间模型,论文阅读

为了全面评估在ImageNet上学习到的表达能力,我们使用一个简单的只有两层的Segmenter头来实现在语义分割上的迁移学习。我们研究了这些双向策略:

  • None。我们直接采用Mamba block的前向方向来处理视觉序列
  • 双向序列。在训练过程中,我们随机翻转视觉序列,类似于数据增强。
  • 双向块。我们将堆叠块配对。每对的第一个块以前向方向处理视觉视觉序列,第二个块以后向方向处理视觉序列
  • 双向SSM,对于每个块我们添加了额外的SSM来以后向方向处理视觉序列
  • 双向SSM+Conv1d。基于双向SSM,我们进一步在后向SSM前增加了后向Conv1d

如表4所示,直接应用Mamba块在分类中取得了良好的表现。然而,其不自然的非方向性的方式为下游密集预测任务造成了挑战。特别是,原始的使用双向块的双向策略在分类上低了2.3个点,但相比于原始的无方向性Mamba块在语义分割上提升了1.3mIoU。通过加入二外的后向SSM和Conv1d,我们实现了更好的分类准确性和巨大的分类提升。我们使用双向SSM+Conv1d作为Vim块的默认设置。

分类设计

visual mamba推导,视觉状态空间模型,论文阅读

我们在Vim的分类设计上进行了消融实验。我们研究论下列分类策略:

  • 平均池化
  • 最大池化 我们首先在视觉序列中的每个token上调整分类头,接着在需略上应用最大池化得到预测结果
  • 头类别token 跟随DeiT,我们拼接视觉序列地头部的类别token,并进行分类
  • 双类别tokrn 基于头部类别token策略,我们在视觉序列的尾部额外添加了一个类别token
  • 中类别token 我们在视觉序列的中部添加了一个视觉序列之后再最后的中部类别token上进行分类。

如表格五所示,实验表明,中部类别token策略可以完整的利用SSM天然的循环性和ImageNet的中心物体先验,展示了最好的top-1准确度76.1。

总结和未来工作

我们提出里视觉Mamba(Vim)来探索最近高效的状态空间模型,即Mamba,作为一个通用的视觉backbone。不像先前为视觉任务设计的的状态空间模型使用了混合结构或者等价于全局2D卷积核,Vim实现了数据依赖的全局视觉上下文并且拥有和Transformer一般的建模能力,但拥有更小的计算复杂度。受益于Mamba的硬件感知设计,推理速度和内存使用显著优于ViT在处理高分辨率的图片情况下。实验结果证明了Vim的建模能力和高效,展示了Vim在成为下一代视觉backbone方面的巨大潜力。

在未来的工作,位置编码的双向SSM建模Vim对于例如掩膜图像建模预训练和由相似结构的Mamba可以适合多模态任务例如CLIP类型的预训练。基于预训练的Vim权重,探索在高分辨率医学图像,遥感图像和长视频方面,即下游任务Vim的用处,是显而易见的。文章来源地址https://www.toymoban.com/news/detail-841959.html

到了这里,关于【论文阅读】Vision Mamba:双向状态空间模型的的高效视觉表示学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文阅读笔记】Mamba模型代码理解

    官方实现:state-spaces/mamba (github.com) 最简化实现:johnma2006/mamba-minimal: Simple, minimal implementation of the Mamba SSM in one file of PyTorch. (github.com) 直接实现:alxndrTL/mamba.py: A simple and efficient Mamba implementation in PyTorch and MLX. (github.com) 官方代码做了大量优化,目录层级较多,对于理解模型含

    2024年04月13日
    浏览(70)
  • 《Vision mamba》论文笔记

    [2401.09417] Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Model (arxiv.org) Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Model 我们提出了 Vision Mamba (Vim), Vim是一种基于纯SSM的方法,并以序列方式对图像进行建模 ,它结合了 双向 SSM 用于数据

    2024年04月15日
    浏览(43)
  • 论文阅读 Vision Transformer - VIT

    通过将图像切成patch线形层编码成token特征编码的方法,用transformer的encoder来做图像分类 解决问题: transformer输入限制: 由于自注意力+backbone,算法复杂度为o(n²),token长度一般要512才足够运算 解决:a) 将图片转为token输入 b) 将特征图转为token输入 c)√ 切patch转为token输入 tra

    2024年02月01日
    浏览(43)
  • 【长文阅读】MAMBA作者博士论文<MODELING SEQUENCES WITH STRUCTURED STATE SPACES>-Chapter2

    Gu A. Modeling Sequences with Structured State Spaces[D]. Stanford University, 2023. 本文是MAMBA作者的博士毕业论文,为了理清楚MAMBA专门花时间拜读这篇长达330页的博士论文,由于知识水平有限,只能尽自己所能概述记录,并适当补充一些相关数学背景,欢迎探讨与批评指正。内容多,分章节

    2024年01月20日
    浏览(42)
  • 【长文阅读】MAMBA作者博士论文<MODELING SEQUENCES WITH STRUCTURED STATE SPACES>-Chapter1

    Chapter1 Gu A. Modeling Sequences with Structured State Spaces[D]. Stanford University, 2023. 本文是MAMBA作者的博士毕业论文,为了理清楚MAMBA专门花时间拜读这篇长达330页的博士论文,由于知识水平有限,只能尽自己所能概述记录,并适当补充一些相关数学背景,欢迎探讨与批评指正。内容多,

    2024年01月19日
    浏览(56)
  • Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models ----论文阅读

    Vary 的代码和模型均已开源,还给出了供大家试玩的网页 demo。感兴趣的小伙伴可以去试试 主页:https://varybase.github.io/ 部分内容参考:https://mp.weixin.qq.com/s/Sg_yHAVVN-yAYT61SNKvCA 官网:https://openai.com/research/clip (要了解的建议看这个,篇幅少点,论文中大量篇幅是介绍实验的) 论

    2024年02月03日
    浏览(51)
  • EfficientViT: Memory Efficient Vision Transformer withCascaded Group Attention论文阅读

    高效的记忆视觉transformer与级联的群体注意 摘要。 视觉transformer由于其高模型能力而取得了巨大的成功。然而,它们卓越的性能伴随着沉重的计算成本,这使得它们不适合实时应用。在这篇论文中,我们提出了一个高速视觉transformer家族,名为EfficientViT。我们发现现有的tran

    2024年01月22日
    浏览(47)
  • 论文阅读《Vision-Language Pre-Training with Triple Contrastive Learning》

    本文是2022年CVPR上的一篇 多模态 论文,利用对比学习和动量来进行图片与文本信息的上游预训练。 作者提出问题 简单的跨模态比对模型无法确保来自同一模态的相似输入保持相似。(模态内部语义信息损失) 全局互信息最大化的操作没有考虑局部信息和结构信息。 对于上

    2024年04月13日
    浏览(52)
  • 【论文阅读笔记】A Recent Survey of Vision Transformers for Medical Image Segmentation

    Khan A, Rauf Z, Khan A R, et al. A Recent Survey of Vision Transformers for Medical Image Segmentation[J]. arXiv preprint arXiv:2312.00634, 2023. 【论文概述】 本文是关于医学图像分割中视觉变换器(Vision Transformers,ViTs)的最新综述。文中详细回顾了ViTs及其与卷积神经网络(CNNs)结合形成的混合视觉Trans

    2024年02月02日
    浏览(66)
  • 【论文阅读】FIGSTEP: JAILBREAKING LARGE VISION-LANGUAGE MODELS VIA TYPOGRAPHIC VISUAL PROMPTS

    提出了一种针对视觉语言模型的新型越狱框架  论文地址:https://arxiv.org/abs/2311.05608 代码地址: GitHub - ThuCCSLab/FigStep: Jailbreaking Large Vision-language Models via Typographic Visual Prompts  1.Motivation VLM可以分为三个模块: 语言模块:是一个预先训练的LLM, 已经安全对齐 。 视觉模块:是

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包