17、论文阅读:VMamba:视觉状态空间模型

前言

设计计算效率高的网络架构在计算机视觉领域仍然是一个持续的需求。在本文中,我们将一种状态空间语言模型 Mamba 移植到 VMamba 中,构建出一个具有线性时间复杂度的视觉主干网络。VMamba 的核心是一组视觉状态空间 (VSS) 块,搭配 2D 选择性扫描 (SS2D) 模块。通过沿四条扫描路径遍历,SS2D 帮助弥合一维选择性扫描的有序特性与二维视觉数据的非顺序结构之间的差距,从而便于从不同来源和视角收集上下文信息。基于 VSS 块,我们开发了一系列 VMamba 架构,并通过一系列架构和实现上的优化来加速其运算。大量实验证明了 VMamba 在各种视觉感知任务中的优异表现,尤其在输入规模的效率方面,相较于现有的基准模型显示出显著优势。代码链接

介绍

视觉表示学习是计算机视觉中的一个基础研究领域,随着深度学习的兴起,该领域取得了显著进展。为了表示视觉数据中的复杂模式,提出了两类主要的主干网络,即卷积神经网络 (CNN)视觉 Transformer (ViTs),并在多种视觉任务中得到了广泛应用。相比于 CNN,ViTs 由于融合了自注意力机制,通常在大规模数据上的学习能力更强。然而,自注意力机制对于标记数的二次复杂度在处理具有大空间分辨率的下游任务时带来了巨大的计算开销。

为应对这一挑战,已有大量研究致力于提升注意力计算的效率。然而,现有方法要么限制了有效感受野的大小,要么在多任务中表现出明显的性能下降。这促使我们开发一种新的视觉数据架构,保留原始自注意力机制的固有优势,即全局感受野和动态权重参数。

最近,在自然语言处理 (NLP) 领域中,Mamba 作为一种新颖的状态空间模型 (SSM) 出现,为长序列建模提供了一种具有线性复杂度的高效方法。受此进展的启发,我们提出了 VMamba,一种集成基于 SSM 模块的视觉主干网络,用于高效的视觉表示学习。然而,Mamba 的核心算法,即并行化的选择性扫描操作,主要用于处理一维序列数据。当将其应用于视觉数据时遇到挑战,因为视觉数据本质上缺乏顺序排列的组件结构。为了解决这一问题,我们提出了二维选择性扫描 (SS2D) 模块,一种为空间域遍历而设计的四向扫描机制。与自注意力机制相比,SS2D 确保每个图像块仅通过沿相应扫描路径计算的压缩隐藏状态获得上下文信息,从而将计算复杂度从二次降低为线性。

基于 VSS 块,我们开发了一系列 VMamba 架构(即 VMamba-Tiny/Small/Base),并通过一系列架构优化和实现上的改进来加速其运行。与基于 CNN(ConvNeXt)、ViT(Swin 和 HiViT)和 SSM(S4ND 和 Vim)构建的基准视觉模型相比,VMamba 在 ImageNet-1K 上各个模型规模的图像分类准确率均优于基准模型。具体而言,VMamba-Base 达到了 83.9% 的 top-1 准确率,比 Swin 提高了 0.4%,吞吐量也大幅领先 Swin 超过 40%(646 vs. 458)。VMamba 在多种下游任务中表现优越,其中 VMamba-Tiny/Small/Base 在 COCO 上的目标检测(1× 训练)中达到了 47.3%/48.7%/49.2% 的 mAP,分别超越 Swin 4.6%/3.9%/2.3% 和 ConvNeXt 3.1%/3.3%/2.2%。在 ADE20K 上的单尺度语义分割中,VMamba-Tiny/Small/Base 实现了 47.9%/50.6%/51.0% 的 mIoU,分别超越 Swin 3.4%/3.0%/2.9% 和 ConvNeXt 1.9%/1.9%/1.9%。此外,与 ViT 模型在输入标记数增加时复杂度呈二次增长不同,VMamba 在保持类似性能的同时实现了 FLOPs 的线性增长,展现了其在输入规模扩展方面的先进性。

本研究的贡献总结如下:

  • 我们提出了 VMamba,这是一种基于 SSM 的视觉主干网络,用于视觉表示学习,并具有线性时间复杂度。通过一系列架构设计和实现细节上的改进,提高了 VMamba 的推理速度。
  • 我们引入了二维选择性扫描 (SS2D) 模块以弥合一维数组扫描与二维平面遍历之间的差距,使得选择性 SSM 能够扩展到视觉数据处理
  • 在没有额外技巧的情况下,VMamba 在图像分类、目标检测和语义分割等多种视觉任务中表现出色。同时,它在输入序列长度方面展示了显著的适应性,实现了计算复杂度的线性增长。

相关工作

卷积神经网络 (CNNs)。自 AlexNet 起,大量研究致力于提升 CNN 模型在多种视觉任务中的建模能力和计算效率。提出了更复杂的算子,例如深度卷积和可变形卷积,以增强 CNN 的灵活性和效果。近期,受 Transformer 成功的启发,现代 CNN 通过引入长距离依赖关系和动态权重,在架构设计中表现出色。

视觉 Transformer (ViTs)。作为代表性开创性工作,ViT 探讨了基于原始 Transformer 架构的视觉模型的有效性,揭示了大规模预训练对图像分类性能提升的重要性。为减少 ViT 对超大数据集的依赖,DeiT 引入了教师-学生蒸馏策略,将 CNN 模型中的知识迁移至 ViTs,强调了感知中的归纳偏置的重要性。沿此思路,后续研究提出了层次化 ViTs。

另一研究方向专注于提升自注意力机制的计算效率,这是 ViTs 的核心。通过将自注意力表示为核特征映射的线性点积,线性注意力利用矩阵乘法的结合性来将计算复杂度从二次降为线性。GLA 进一步提出了硬件高效的线性注意力变体,平衡了内存移动与并行化的关系。RWKV 也利用线性注意力机制结合了 Transformer 的可并行训练与 RNN 的高效推理。RetNet 通过添加门控机制提供了并行化计算路径,而 RMT 则将时间衰减机制引入空间域以增强视觉表示学习。

状态空间模型 (SSMs)。尽管 ViT 架构在视觉任务中得到了广泛应用,自注意力的二次复杂度在处理长输入序列(如高分辨率图像)时带来了挑战。为提升扩展效率,SSMs 作为 Transformer 的替代方案引起了研究界的关注。Gu 等人展示了基于 SSM 的模型在长程依赖处理方面的潜力,通过 HiPPO 初始化实现了这一点。为了提高实际可行性,S4 提出了将参数矩阵规范化为对角结构。随后,出现了各种结构化 SSM 模型,分别引入了不同的架构改进,包括复对角结构、多输入多输出支持、对角加低秩操作的分解以及选择机制。这些进展也被集成到更大的表示模型中,进一步展示了结构化状态空间模型在各种应用中的多样性和可扩展性。尽管这些模型主要集中在将 SSM 应用于文本和语音等长序列数据,但关于将 SSM 应用于具有二维结构的视觉数据的探索仍然有限。

准备工作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

VMamba:视觉状态空间模型

网络架构

在这里插入图片描述

在这里插入图片描述

视觉数据的 2D 选择性扫描 (SS2D)

尽管 S6 中扫描操作的顺序性非常适合处理涉及时间数据的 NLP 任务,但在应用于视觉数据时却带来了很大挑战,因为视觉数据本质上是非顺序的,并包含空间信息(例如局部纹理和全局结构)。为了解决此问题,S4ND [45] 通过卷积操作重新定义了 SSM,将核从 1D 直接扩展到 2D,通过外积实现。然而,这种修改导致权重不再与输入无关,从而限制了对上下文信息的捕捉能力。因此,我们仍采用选择性扫描方法 [17] 来处理输入,并提出二维选择性扫描 (SS2D) 模块,以适应视觉数据的 S6,同时保持其优势。

如图 2 所示,SS2D 的数据传递包括三个步骤:交叉扫描、使用 S6 块的选择性扫描和交叉合并对于给定的输入数据,SS2D 首先沿四条不同的遍历路径展开输入块序列(即交叉扫描),然后并行地使用单独的 S6 块处理每个块序列,最后将结果序列重新整形并合并形成输出图(即交叉合并)。通过采用互补的一维遍历路径,SS2D 使图像中的每个像素能够有效地从不同方向整合所有其他像素的信息,从而在二维空间中建立全局感受野。

加速 VMamba

在这里插入图片描述

实验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/912562.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux常用的100个命令

掌握常用的Linux常用命令是作为码农的基本素养,无论你从事软件开发或者运维的的哪个细分领域。本文言简意赅,可作为指导书收藏。 Linux常用命令的分类: 基本文件操作权限与用户管理文件搜索与系统状态网络管理压缩与打包系统管理与维护磁盘与…

【系统架构设计师(第2版)】五、软件工程基础知识

5.1 软件工程 20世纪60年代,为了解决软件危机,提出了软件工程的概念。 软件危机的具体表现: 软件开发进度难以预测;软件开发成本难以控制;软件功能难以满足用户期望;软件质量无法保证;软件难以…

深度学习——多层感知机MLP(一、多层感知机介绍)

目录标题 一、多层感知机1.1 隐藏层1.1.1 为什么需要隐藏层1.1.2 在网络中加入隐藏层1.1.3 从线性到非线性 1.2 激活函数1.2.1 ReLU函数1.2.2 sigmoid函数1.2.3 tanh函数 最简单的深度神经网络成为多层感知机。多层感知机由多层神经元组成,每一层与它的上一层相连&a…

多个NVR同时管理EasyNVR多品牌NVR管理工具/设备:IP常见问题解决方案

随着视频监控技术的不断发展,NVR(网络视频录像机)已经成为现代安防系统的重要组成部分。而为了更高效地管理多个品牌的NVR设备,EasyNVR这一多品牌NVR管理工具应运而生。然而,在实际使用过程中,尤其是在多个…

CocoaPods安装步骤详解 - 2024

引言 CocoaPods的安装,如果有VPN就一直开启,会让整个流程非常顺畅。 在现代 iOS 开发中,依赖管理变得越来越重要,CocoaPods 成为开发者们首选的依赖管理工具。它不仅可以简化库的安装与更新,还能帮助开发者更高效地管…

基于RMD算法模型的信号传输统计特性的matlab模拟仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于RMD算法模型的信号传输统计特性的matlab模拟仿真。参考的文献如下: 即通过RMD随机中点位置模型算法,实现上述文献的几个仿真图。 2.…

Axure设计之三级联动选择器教程(中继器)

使用Axure设计三级联动选择器(如省市区选择器)时,可以利用中继器的数据存储和动态交互功能来实现。下面介绍中继器三级联动选择器设计的教程: 一、效果展示: 1、在三级联动选择器中,首先选择省份&#xff…

清华大学提出Mini-Omni2:开源多模态模型,功能与GPT-4o媲美!

🌐 在人工智能领域,多模态模型的发展正如火如荼。今天,我们要介绍的是由清华大学提出的Mini-Omni2,这是一个开源的多模态语言模型,它在功能上与GPT-4o相媲美,能够理解和生成视觉、听觉和文本内容&#xff0…

Diffusion Policy——斯坦福刷盘机器人UMI所用的扩散策略(含Diff-Control、ControlNet详解)

前言 本文一开始是属于此文《UMI——斯坦福刷盘机器人:从手持夹持器到动作预测Diffusion Policy(含代码解读)》的第三部分,考虑后Diffusion Policy的重要性很高,加之后续还有一系列基于其的改进工作 故独立成本文,且把原属于另一…

AI 写作(五)核心技术之文本摘要:分类与应用(5/10)

一、文本摘要:AI 写作的关键技术 文本摘要在 AI 写作中扮演着至关重要的角色。在当今信息爆炸的时代,人们每天都被大量的文本信息所包围,如何快速有效地获取关键信息成为了一个迫切的需求。文本摘要技术正是为了解决这个问题而诞生的&#x…

一个怀旧,俺的第一个共享软件

今天网友说起了 福彩双色球的程序。俺就想起这个来了,这是俺的第一个共享软件,收入大约15000。在当时来说,速度算是最快的。有些地方用了汇编优化(题外话,最近俺看到新闻,FFmpeg的作者也用汇编优化 性能提升…

【Agent综述】Agent在多模态交互的应用

note 这个工作收集了多模态游戏、机器人和医疗等领域的数据集,包括Minecraft视频数据、虚拟家庭环境数据和医疗图像数据。利用LLMs和VLMs作为智能体,特别是在游戏、机器人技术和医疗保健等领域这篇论文提出了一种新的Agent AI框架,通过结合大…

Kafka - 启用安全通信和认证机制_SSL + SASL

文章目录 官方资料概述制作kakfa证书1.1 openssl 生成CA1.2 生成server端秘钥对以及证书仓库1.3 CA 签名证书1.4 服务端秘钥库导入签名证书以及CA根证书1.5 生成服务端信任库并导入CA根数据1.6 生成客户端信任库并导入CA根证书 2 配置zookeeper SASL认证2.1 编写zk_server_jass…

STM32H503开发(1)----开发板测试

STM32H503开发----1.开发板测试 概述硬件准备视频教学样品申请源码下载产品特性参考程序生成STM32CUBEMX串口配置LED配置堆栈设置串口重定向主循环演示 概述 STM32H503 & SENSOR是一款基于STM32H5系列微控制器的评估套件。该微控制器采用了40nm工艺制造,具有更…

3.1 > Shell

本节概览 在 上一节 中我们了解了 Linux 的桌面环境,包括 GUI 、 TTY 和 VNC 等的介绍和使用。在本节中将介绍 Shell 是个什么东西,我们到底是如何通过 Shell 来操作计算机的,以及一些常见的 Shell 版本有哪些和它们有什么特点。 目录 本节…

C++ -- 多态与虚函数

多态 概念 多态(polymorphishm):通常来说,就是指事物的多种形态。在C中,多态可分为编译时多态(静态多态)和运行时多态(动态多态),这里我们重点讲的是运行时多…

利用游戏引擎的优势

大家好,我是小蜗牛。 在当今快速发展的游戏产业中,选择合适的游戏引擎对开发者来说至关重要。Cocos Creator作为一款功能强大且灵活的游戏引擎,为开发者提供了丰富的工具和资源,使他们能够高效地开发出优秀的游戏。本文将探讨如何…

uniapp配置h5路由模式为history时404

为了不让URL中出现#,让uniapp项目配置h5路由模式为hisory 然而本地好好的,放到服务器上却404了。 解决方法是给nginx配置一个伪静态: location /xxx-html/ {alias /home/nginx_web/xxx_new_html/;try_files $uri $uri/ /xxx-html/index.ht…

架构师备考-概念背诵(软件工程)

软件工程 软件开发生命周期: 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。软件运行和维护:就是…

小白docker入门简介

Dockerfile入门使用分享 一、docker是啥二、镜像仓库三、自定义镜像四、动手做机甲玩偶五、帮我做数学题六、计算功能的写法七、咒语翻译器八、放屁九、解决问题 一、docker是啥 最开始我和你一样,围着镜像、容器、docker的名词团团转,其实没那么复杂。…