VMamba: Visual State Space Model论文笔记

文章目录

  • VMamba: Visual State Space Model
    • 摘要
    • 引言
    • 相关工作
    • Preliminaries
    • 方法
      • 网络结构
      • 2D-Selective-Scan for Vision Data(SS2D)

VMamba: Visual State Space Model

论文地址: https://arxiv.org/abs/2401.10166
代码地址: https://github.com/MzeroMiko/VMamba

摘要

  • 卷积神经网络(CNN)和视觉Transformer(ViT)是视觉表示学习的两种最流行的基础模型
  • CNN表现出卓越的可扩展性和线性复杂度。
  • ViT在图像分辨率方面超过了CNN, 但是复杂性确实二次方。Vit通过结合全局感受野和动态权重实现了卓越的视觉建模性能。
  • 作者在继承上述组件的情况下引入了状态空间模型,提出了视觉状态空间模型(VMamba)。该模型在不牺牲全局感受野和动态权重的情况下实现了线性复杂度。
  • 通过引入交叉扫描模块(CSM)解决方向敏感问题。
  • 实验证明,VMamba在各种视觉任务表现良好,并且随着图像分辨率的提高而表现出更明显的优势。

引言

  • 视觉表示学习是计算机视觉领域最基本的研究课题之一。深度基础模型主要分为卷积神经网络(CNN)和Vision Transformer(ViTs)两个主要类别。

  • 然而,注意力机制在图像大小方面需要二次方的 复杂度,这在处理下游密集预测任务时计算开销昂贵。为了解决这个问题,人们投入大量的经历通过限制计算窗口的大小或步幅来提高注意力的效率。但是这种是以限制感受野的规模为代价的。因此,作者设计了一种具有线性复杂度的心得视觉基础模型,同时仍然保留与全局感受野和动态权重相关的优势。

  • 引入了视觉状态空间模型(VMamba), 用于高效的视觉表示学习。它通过继承自选择性扫描性状态序列模型(S6)。但是因为无法估计和未知扫描补丁的关系,直接使用这种策略会导致接受域受限。作者称这种问题为"方向敏感"问题,并引入交叉扫描模块(CSM)来解决。CSM采用四向扫描策略,即从整个特征的四个角开始扫描映射到相反的为止。如下图所示。该策略保持特征图中的每个元素集成自不同方向的所有其他位置的信息,从而在不增加线性计算复杂度的情况下呈现全局感受野。
    0

  • VMamba的Tiny、Small、Base分别包含22M、44M、75M参数量。能够在FLOPs稳步增加的情况下获得与ViT相当的性能。

  • 贡献:

    • 提出了VMamba, 一种具有全局感受野和动态权重的视觉状态空间模型,用于视觉表示学习。
    • 引入交叉扫描模块(CMS)是为了弥补一维阵列扫描和二维平面扫描之间的差距,促进S6在不影响接受范围的情况下扩展到视觉数据
    • 证明VMamba在图像分类、目标检测和语义分割等各种视觉任务具有强大的潜力。

相关工作

具体内容略,主要为卷积神经网络(CNN)、Vision Transformer(ViTs)和状态空间模型(SSMs), 状态空间模型详解可参考Mamba

Preliminaries

状态空间模型与相关工作一样可参考Mamba
连续时间的SSM可以表示为线性常微分方程(ODEs, linear ordinary differential equations):
h ′ ( t ) = A h ( t ) + B μ ( t ) , y ( t ) = C h ( t ) + D μ ( t ) , \begin{aligned} h'(t)&=\mathbf{A}h(t)+\mathbf{B}\mu(t),\\ y(t)&=\mathbf{C}h(t)+D\mu(t), \end{aligned} h(t)y(t)=Ah(t)+Bμ(t),=Ch(t)+Dμ(t),
其中, A ∈ R N × N , B ∈ R N × 1 , C ∈ R 1 \mathbf{A}\in\mathbb{R}^{N\times N}, \mathbf{B}\in\mathbb{R}^{N\times1}, \mathbf{C}\in\mathbb{R}^1 ARN×N,BRN×1,CR1是权重参数

SSM的离散化: 状态空间模型(SSMs)作为连续时间模型,需要进行离散化才能更好的集成到深度学习算法中。可以参照Mamba中S4的部分。

选择扫描机制: 为了解决LTI SSMs(SSMs原始公式)获取上下文信息的局限性,Gu等人提出了一种新的SSMs参数化方法, 该方法集成了一个输入依赖的选择机制(S6)。然而,在选择性SSMs的情况下,卷积不适应动态权重导致时变加权参数对隐藏状态难以进行有效计算。而离散化可以使用线性复杂度的关联扫描算法有效地计算出 y b y_b yb

方法

网络结构

作者在三个尺度上开发了VMamba: VMamba-Tiny(VMamba-T)、VMamba-Small(VMamba-S)和VMamba-Base(VMamba-B)。VMamba-T架构的概述如下图中的a所示。首先将输入图像 I ∈ R H × W × 3 I\in\mathbb{R}^{H\times W\times 3} IRH×W×3分割成多个patch, 得到一个维度为 H / 4 × W / 4 H/4\times W/4 H/4×W/4的2d的特征图空间。随后,使用多个网络阶段创建分辨率为 H / 8 × W / 8 , H / 16 × W / 16 , H / 32 × W / 32 H/8\times W/8, H/16\times W/16, H/32\times W/32 H/8×W/8,H/16×W/16,H/32×W/32的分层表示。每个阶段都包括一个下采样层(第一阶段除外),然后是一个堆叠的视觉状态空间(VSS)块。
1

VSS块是Mamba块(上图的b)的视觉对应部分。新提出的2d选择扫描模块(SS2D)替换VSS块的初始架构(上图的c)作为Mamba的核心的同时实现全局接受域,动态权重(即选择性)和线性复杂度。

为了进一步提高计算效率,消除了整个乘法分支(上图c中的红框部分),因为门控机制的影响是通过SS2D的选择性来说实现的。因此,生成的VSS块(上图的d)由一个包含两个残差模块的单一网络分支组成,模仿了一个普通transformer的架构。

2D-Selective-Scan for Vision Data(SS2D)

S6中的扫描操作的顺序性质难以用于视觉数据。因为视觉数据本质上是非顺序的,包含空间信息(如局部纹理和全局结构)。为了解决该问题, S4ND用卷积运算重新指定了SSM, 通过外积将内核从一维扩展到二维,然而这种修改使得权重无法独立于输入,从而限制了捕获上下文信息的能力。因此,作者基于选择性扫描方法提出了了2D选择性扫描模块(SS2D),在不影响其优势的情况下使S6适应视觉数据。
2

如上图所示,SS2D中的数据前向包含三个步骤: 交叉扫描、S6的选择性扫描和交叉合并。给定输入数据,SS2D首先沿着输入patch沿着四个不同的遍历路径展开成序列(即交叉扫描),使用单独的S6块并行的处理每个patch序列,然后对合成序列进行重构和合并, 以形成输出映射(即交叉合并)。通过采用互补的以为遍历路径,SS2D使图像中的每个像素能够有效地整合其他所有像素的信息,从而促进在二维空间中建立全局接受域的过程。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

axios的基本使用和vue脚手架自带的跨域问题解决

axios的基本使用和vue脚手架自带的跨域问题解决 1. axios 1.1 导入axios npm i axios1.2 创建serve1.js serve1.js const express require(express) const app express()app.use((request,response,next)>{console.log(有人请求服务器1了);console.log(请求来自于,re…

go Channel 原理 (一)

Channel 设计原理 不要通过共享内存的方式进行通信,而是应该通过通信的方式共享内存。 在主流编程语言中,多个线程传递数据的方式一般都是共享内存。 Go 可以使用共享内存加互斥锁进行通信,同时也提供了一种不同的并发模型,即通…

AI奏响未来乐章:音乐界的革命性变革

AI在创造还是毁掉音乐 引言 随着科技的飞速发展,人工智能(AI)正在逐渐渗透到我们生活的每一个角落,音乐领域也不例外。AI技术的引入,不仅为音乐创作、教育、体验带来了革命性的变革,更为整个音乐产业注入了…

顺序表应用——通讯录

在本篇之前的顺序表专题我们已经学习的顺序表的实现,了解了如何实现顺序表的插入和删除等功能,那么在本篇当中就要学习基于顺序表来实现通讯录,在通讯录当中能实现联系人的增、删、查改等功能,接下来就让我们一起来实现通讯录吧&a…

grpc学习golang版( 五、多proto文件示例 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件2.1 公共proto文件2.2 语音唤醒proto文…

基于局域网下的服务器连接、文件传输以及内网穿透教程 | 服务器连接ssh | 服务器文件传输scp | 内网穿透frp | 研究生入学必备 | 深度学习必备

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 📌本篇博客分享的是基于局域网下的服务器连接🔗、文件传输以及内网穿透教程,内容非常完备✨,涵盖了在服务器上做深度学…

树莓派3B读写EEPROM芯片AT24C256

AT24C256是一个Atmel公司的EEPROM存储芯片,容量是256K个bit(也就是32K字节),I2C接口,而树莓派正好有I2C接口,如下图蓝框中的4个IO口, 把AT24C256和这4个口接在一起,这样硬件就准备好…

Django 页面展示模型创建表的数据

1,添加视图函数 Test/app8/urls.py from django.shortcuts import render from .models import Userdef create_user(request):if request.method POST:username request.POST.get(username)email request.POST.get(email)# ... 获取其他字段的值# 创建用户实例…

【Python学习篇】Python实验小练习——异常处理(十三)

个人名片: 🎓作者简介:嵌入式领域优质创作者🌐个人主页:妄北y 📞个人QQ:2061314755 💌个人邮箱:[mailto:2061314755qq.com] 📱个人微信:Vir2025WB…

【教程】5分钟直接了解随机森林模型

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、什么是随机森林模型1.1.随机森林模型介绍1.2.为什么随机森林要用多棵决策树 二、怎么训练一个随机森林模型2.1.训练一个随机森林模型 随机森林模型是机器学习中常用的模型之一,它是决策树模型的一…

Node.js全栈指南:静态资源服务器

上一章【认识 MIME 和 HTTP】。 我们认识和了解了 MIME 的概念和作用,也简单地学习了通过浏览器控制台查看请求和返回的用法。 通过对不同的 HTML、CSS、JS 文件进行判断,设置不同的 MIME 值,得以让我们的浏览器正正确地接收和显示不同的文…

八爪鱼现金流-031,宽带到期记一笔负债

到期了,新弄的网络,记录一下负债包。 八爪鱼现金流 八爪鱼

英英词典(汇编实验)

功能要求: 1.单词及其英文解释的录入、修改和删除 (1 ) 录入新单词,把它插入到相应的位置(按词典顺序),其后跟英文解释、同义词、反义词;(此功能要求在文件中完成,其它功能可以将单词放在数据段中&#xf…

数据库原理之数据库基本概念

目录 前言 基本概念 数据库完整性 前言 今天我们来看看数据库的基本概念,帮助大家对数据库有一点点最基本的了解 基本概念 4个基本概念 数据data:描述事物的符号,数据库中存储的基本对象。 数据库Database:长期存储在计算机…

山东大学多核并行2024年回忆版

2024.6.13回忆版 矩阵向量乘不可整除代码 集合通信与点对点通信的区别 块划分、循环划分、循环块划分(14个向量,4个进程) 按行访问还是按列访问快 SISD系统问题 循环依赖问题 问题:为什么不能对这个循环并行化&#xff0…

Python逻辑控制语句 之 综合案例

需求: 1. 提示⽤户输⼊登录系统的⽤户名和密码 2. 校验⽤户名和密码是否正确(正确的⽤户名:admin、密码:123456) 3. 如果⽤户名和密码都正确,打印“登录成功!”,并结束程序 4. 如果⽤户名或密码错误,打印“⽤户名或密码错误!”…

Django 对模型创建的两表插入数据

1,添加模型 Test/app8/models.py from django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email models.EmailField(uniqueTrue)password models.CharField(max_length128) # 使用哈希存储密码first_name …

DM 的断点续传测试

作者: 大鱼海棠 原文来源: https://tidb.net/blog/4540ae34 一、概述 DM有all、full、incremental三种数据迁移同步方式(task-mode),在all同步模式下,因一些特殊情况,需要变更上游MySQL的数…

LDO产品的基础知识解析

低压降稳压器 (LDO)是一种用于调节较高电压输入产生的输出电压的简单方法。在大多数情况下,低压降稳压器都易于设计和使用。然而,如今的现代应用都包括各种各样的模拟和数字系统,而有些系统和工作条件将决定哪种LDO最适合相关电路&#xff0c…