入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!

这篇具有很好参考价值的文章主要介绍了入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文首发: AIWalker

在Transformer如日中天时,一个称之为“Mamba”的架构横冲出世,在语言建模上与Transformers不相上下,具有线性复杂度,同时具有5倍的推理吞吐量!一时之间,被给予厚望“下一代架构”~

就在今日,华中科技大学王兴刚团队首次将“Mamda”里面引入到CV领域而得到Vim公开了,比DeiT精度更高、速度更快,还节省GPU显存,神了,估计后续会出现各种变种,DeiM、PvM,哈哈~

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

https://arxiv.org/abs/2401.09417
https://github.com/hustvl/Vim

最近,具有高效硬件感知设计的状态空间模型(State Space Models, SSM)曼巴,已显示出在长序列建模方面的巨大潜力。虽然基于SSM构建高效和通用的视觉骨干是一个有吸引力的方向。但是,由于视觉数据的位置敏感性、视觉理解所需要的全局上下文依赖性,表示视觉数据对于SSM而言是一项具有挑战性的任务。因此,我们提出了一个新的基于双向曼巴块(Vim)的通用视觉骨干,该模型通过位置嵌入标记图像序列并通过双向状态空间模型压缩视觉表示
在ImageNet分类、COCO检测和ADE20K语义分割任务上,Vim实现了与成熟ViT(如DeiT)相比更高的性能,同时显著提高了计算和内存效率。例如,与DeiT相比,在对分辨率为1248×1248的图像进行批量推理时,Vim快了2.8倍同时可节省86.8%的GPU内存。这些结果表明,Vim具有克服ViT处理高分辨率图像时的计算和内存限制的潜力,并有可能成为下一代视觉基础模型。

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

本文方案

本文所提Vim(Vision Mamba)旨在将陷阱的SSM模型(如Mamba)引入到CV领域,故先对SSM进行简要介绍,然后再介绍如何结合CV任务特性进行Vim模块设计,最后呈现所提Vim架构细节。

Preliminaries

SSM类模型(如S4)与Mamba灵感源自于连续系统,它通过隐状态 h ( t ) ∈ R N h(t) \in \mathbb{R}^N h(t)RN将1D函数或序列 x ( t ) ∈ R x(t) \in \mathbb{R} x(t)Ry映射到 y ( t ) ∈ R y(t) \in \mathbb{R} y(t)R,即 x ( t ) ∈ R ↦ y ( t ) ∈ R x(t) \in \mathbb{R} \mapsto y(t) \in \mathbb{R} x(t)Ry(t)R。该系统采用 A ∈ R N × N \mathbf{A} \in \mathbb{R}^{N \times N} ARN×N表示进化参数, B 1 × N , C ∈ R 1 × N \mathbf{B}^{1\times N}, \mathbf{C} \in \mathbb{R}^{1\times N} B1×N,CR1×N则表示投影参数。

h ′ ( t ) = A h ( t ) + B x ( t ) y ( t ) = C h ′ ( t ) \begin{align} h^{'}(t) &= \mathbf{A}h(t) + \mathbf{B}x(t) \\ y(t) &= \mathbf{C} h^{'}(t) \end{align} h(t)y(t)=Ah(t)+Bx(t)=Ch(t)

S4与Mamba均为连续系统的离散版本,它引入时间尺度参数 Δ \Delta Δ将连续参数 A , B \mathbf{A}, \mathbf{B} A,B变换为离散参数 A ‾ , B ‾ \overline{\mathbf{A}}, \overline{\mathbf{B}} A,B。通用ZOH方案描述如下:

A ‾ = e x p ( Δ A ) B ‾ = ( Δ A ) − 1 ( e x p ( Δ A ) − I ) ⋅ Δ B \begin{align} \overline{\mathbf{A}} &= exp(\Delta \mathbf{A}) \\ \overline{\mathbf{B}} &= (\Delta \mathbf{A})^{-1}(exp(\Delta \mathbf{A}) - I) \cdot \Delta \mathbf{B} \end{align} AB=exp(ΔA)=(ΔA)1(exp(ΔA)I)ΔB

带入上述离散参数,前述连续系统搞的离散版本重写如下:

$$
\begin{align}
h_t &= \overline{\mathbf{A}} h_{t-1} + \overline{\mathbf{B}} x_t \
y_t &= \mathbf{C}h_t

\end{align}
$$

最后,通过全局卷积计算模型输出:

K ‾ = ( C B ‾ , C A B ‾ , ⋯   , C A ‾ M − 1 B ‾ ) y = x ∗ K ‾ \begin{align} \overline{\mathbf{K}} &= (\mathbf{C}\overline{\mathbf{B}}, \mathbf{C}\overline{\mathbf{A}\mathbf{B}}, \cdots, \mathbf{C}\overline{\mathbf{A}}^{M-1}\overline{\mathbf{B}}) \\ \mathbf{y} &= \mathbf{x} * \overline{\mathbf{K}} \end{align} Ky=(CB,CAB,,CAM1B)=xK

注:M为输入序列x的长度, K ‾ ∈ R M \overline{\mathbf{K}} \in \mathbf{R}^M KRM表示结构化卷积核。

Vision Mamba

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

上图给出了所提Vim示意图,标准Mamba是针对1D序列而设计。为更好的处理视觉任务,我们首先将2D图 t ∈ R H × W × C t \in \mathbb{R}^{H \times W \times C} tRH×W×C变换为2D块 x p ∈ R J × ( p 2 ⋅ C ) \mathbf{x}_{p} \in \mathbb{R}^{J \times (p^2 \cdot C)} xpRJ×(p2C);然后,我们对其进行线性投影到D维并添加位置嵌入 E p o s ∈ R ( J + 1 ) × D \mathbf{E}_{pos} \in \mathbb{R}^{(J+1)\times D} EposR(J+1)×D

T 0 = [ t c l s ; t p 1 W ; t p 2 W ; ⋯   ; t p J W ] + E p o s \mathbf{T}_0 = [\mathbf{t}_{cls}; \mathbf{t}_p^1 \mathbf{W};\mathbf{t}_p^2 \mathbf{W};\cdots;\mathbf{t}_p^J \mathbf{W}] + \mathbf{E}_{pos} T0=[tcls;tp1W;tp2W;;tpJW]+Epos

受启发于ViT与BERT,我们同样采用类别Token(即 t c l s \mathbf{t}_{cls} tcls)表示完整块序列。我们将Token序列( T l − 1 \mathbf{T}_{l-1} Tl1)送入到第 l l l个Vim编码器并得到输出 T l \mathbf{T}_{l} Tl。最后,我们对 T L 0 \mathbf{T}_{L}^0 TL0进行规范化并送入到MLP头得到最终预测 p ^ \hat{p} p^

T l = V i m ( T l − 1 ) + T l − 1 f = N o r m ( T L 0 ) p ^ = M L P ( f ) \begin{align} \mathbf{T}_l &= \mathbf{Vim}(\mathbf{T}_{l-1}) + \mathbf{T}_{l-1} \\ \mathbf{f} &= \mathbf{Norm}(\mathbf{T}_L^0) \\ \hat{p} &= \mathbf{MLP}(\mathbf{f}) \end{align} Tlfp^=Vim(Tl1)+Tl1=Norm(TL0)=MLP(f)

注:Vim表示所提模块,L表示层数,Norm表示规范化层。

Vim Block

原始Mamba模块针对1D序列而设计,不适合需要空域位置感知的视觉任务。针对此,我们引入了Vim模块,它为视觉任务引入了双向序列建模机制。Vim处理流程还是看代码吧~

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

架构细节

总体而言,所提Vim架构有四个超参:模块数L,隐状态维度D、扩展状态维度E以及SSM维度N。

延续ViT与DeiTy,我们首先采用 16 × 16 16\times 16 16×16核投影层得到1D非重叠块嵌入序列,然后直接堆叠L个Vim模块。默认信息,设置L=24,N=16。为对齐DeiT系列,Tiny版本的D=192,E=384;Small版本的D=384,E=768.

本文实验

ImageNet分类

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

上表给出了所提Vim与其他方案的性能对比,可以看到:

  • 相比ResNet,Vim具有优异性能。如Vim-Small取得了80.3%,高出4.1%;
  • 相比ViT,Vim在参数量与分类精度方面以显著优势胜出;
  • 相比DeiT,Vim以相当参数量取得更高精度,如Vim-Tiny比DeiT-Tiny高出0.9%;
  • 相比SSM类方案,Vim取得了相当精度,但参数量少3倍。

ADE20K语义分割

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

上表为ADE20K语义分割任务上不同方案性能对比,可以看到:

  • Vim在不同尺度均优于DeiT,Vim-Ti比DeiT-Ti高出1.0mIoU、Vim-S比DeiT-S高出0.9mIoU。
  • 相比ResNet101,Vim-S以更少的参数量取得了相当的分割精度。
  • 下图从FPS与GPU占用维度进一步验证了所提方案的高效性。

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

COCO检测分割

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习

上表给出了COCO实例分割任务上的性能对比,可以看到:

  • Vim-Ti比DeiT-Ti高出1.3boxAp、1.1maskAP。
  • 对于中等大小目标与Vim-Ti指标高出1.6boxAP、1.3maskAP;对与大尺度目标,Vim-Ti指标高出1.4boxAP、1.8maskAP。这进一步验证了Vim具有比DeiT更优的长程上下文建模能力,可参考下图。

入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!,网络架构,Transformer,深度学习文章来源地址https://www.toymoban.com/news/detail-807471.html

到了这里,关于入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【计算机硬件系统设计(华科)——单周期MIPS CPU(Logisim 实现)】

    本章继续讲述计算机硬件系统设计的内容,之前已经大概说明了 ALU 和存储系统的设计,本文讲述CPU的设计。对应的有单周期、多周期 CPU 设计,以及流水线设计,中断处理会在后文中详细说明,本文不进行讲述。 即定长指令周期,机器性能取决于最慢的指令,导致时钟周期

    2024年02月02日
    浏览(53)
  • YoloV8改进策略:InternImage与YoloV8深度融合,动态卷积DCNv3大显神威

    他来了!他来了!他带着氩弧焊的光芒过来了!作为CV的大模型,Int

    2023年04月08日
    浏览(38)
  • 华科信息系统安全作业: 利用ret2libc实现控制流劫持

            main()函数分析         要进行劫持的目标程序如下          主程序这里三段代码的功能都是进行简单的安全防护           我们可以找到 geteuid() 与 setreuid() 函数的相关解释,简单来说,euid(有效用户)是创建程序的用户id,uid(真实用户)是运行程序过

    2024年02月04日
    浏览(36)
  • Mamba 基础讲解【SSM,LSSL,S4,S5,Mamba】

    🔥🔥🔥 在学习完mamba的基础原理后,可以阅读源码,加深理解。 Mamba复现与代码解读 最近非常火的语言模型都是Transformer模型。举几个例子,OpenAI的ChatGPT、谷歌的Gemini和GitHub的Copilot都是由Transformers驱动的。然而,transformer最大的问题是:它们都采用了注意力机制,而注意力

    2024年04月16日
    浏览(51)
  • 阿里入局,通义千问备受期待

    继百度文心一言发布三周之后,4月7日阿里通义大模型终于推出通义千问,阿里正式加入ChatGPT战局。下午市场一片大热,对于深耕NLP多年的阿里,大家有足够的期待。 “你好,我叫通义千问。初次见面,请多指教。”4月7日下午,阿里大模型“通义千问”在阿里云官方微博以

    2023年04月16日
    浏览(48)
  • 《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日
    浏览(42)
  • 再见conda,你好Mamba

    如果你平日使用conda下载Python package、构建环境,明明设置了国内源,依旧很慢,很慢,很慢, 是不是很抓狂,有过类似经历,文末点个赞或在看。本期介绍一个 高效Python包管理器Mamba : 使用 多线程下载 repository data和packages; Mamba使用 libsolv加速解决依赖关系  (减少上面图

    2024年02月15日
    浏览(63)
  • AI论文速读 |(Mamba×时空图预测!) STG-Mamba:通过选择性状态空间模型进行时空图学习

    (来了来了,虽迟但到,序列建模的新宠儿mamba终于杀入了时空预测!) 论文标题 :STG-Mamba: Spatial-Temporal Graph Learning via Selective State Space Model 作者 :Lincan Li, Hanchen Wang(王翰宸), Wenjie Zhang(张文杰), Adelle Coster 机构 :新南威尔士大学(UNSW) 论文链接 :https://arxiv.org/abs/

    2024年04月26日
    浏览(41)
  • 【观察】抢先入局AIGC,新华三底层能力何在?

    2022年11月,智能对话机器人模型ChatGPT上线,其连续对话能力、强大的理解力、回答的准确度和创造性使其迅速走红。数据显示,ChatGPT发布短短两个月时间,全球用户数便突破1亿。 可以说,这项火遍全球的突破性人工智能对话技术,为整个科技行业带来了全新的想象力。而在

    2024年02月11日
    浏览(45)
  • 作为普通人,如何入局人工智能?

    前言: 作为普通人,目前面临着人工智能ai带给就业的挑战,那么如果你不幸的正好是对应的替换行业,该如何入局人工智能,抢占回自己的位置呢? 导语: 人工智能是一门涉及计算机科学、数学、统计学、机器学习等多个学科的交叉领域,它可以让计算机模拟人类的智能

    2024年02月13日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包