MambaVision
核心速览
研究背景
-
研究问题
:这篇文章提出了一种新的混合Mamba-Transformer骨干网络,称为MambaVision,专为视
觉应用量身定制。研究的核心问题是如何有效地结合Mamba的状态空间模型(SSM)和Transf
ormer的自注意力机制,以提高视觉特征建模的能力。 -
研究难点
:该问题的研究难点包括:Mamba的自回归公式在计算机视觉任务中存在局限性,难以捕捉
全局上下文和长距离空间依赖性;Transformer的二次复杂度使其训练和部署计算开销巨大。 -
相关工作
:近年来,Transformer在不同领域(如计算机视觉、自然语言处理、语音处理和机器人学)
已成为事实上的架构。Mamba通过引入新的选择机制实现了线性时间复杂度,并在不同语言
建模任务中表现优异。现有的Mamba-based视觉任务骨干网络在ImageNet-1K数据集上的表
现仍不如基于ViT和CNN的模型。
研究方法
这篇论文提出了MambaVision,一种混合Mamba和Transformer的架构,用于解决视觉任务中的全局
上下文和长距离空间依赖性问题。具体来说, -
Mamba块的重设计
:首先,重新设计了Mamba块,使其更适合视觉任务。Mamba块的核心公式如下:KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲h^{\prime}(t)&a…
其中, h ( t ) h(t) h(t)是隐藏状态, x ( t ) x (t) x(t)是输入, A A A、 B B B和 C C C是参数。通过离散化处理,进一步提高了计算效率。

-
混合架构
:提出了包含MambaVision混合器和Transformer块的混合架构。具体来说,将图像输入转换
为重叠的补丁,并通过多层卷积和池化操作逐步降低分辨率。在每个阶段的最后,使用自注意
力块来捕捉全局上下文和长距离空间依赖性。

-
MambaVision混合器
:重新设计了原始的Mamba混合器,使其更适合视觉任务。混合器的输出公式如下:KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲& X_ 1=\ope…
其中, Scan \operatorname{Scan} Scan是选择性扫描操作, σ \sigma σ是SiLU激活函数,KaTeX parse error: Undefined control sequence: \operatorna at position 1: \̲o̲p̲e̲r̲a̲t̲o̲r̲n̲a̲ ̲me{Conv}和 Concat \operatorname{Concat} Concat分别表示1D卷积和拼接操作.
实验设计 -
数据集
:在ImageNet-1K数据集上进行图像分类实验,使用标准的训练配方,训练300个epoch,初始
学习率为0.005,使用LAMB优化器,全局批量大小为4096。 -
下游任务:在MS
COCO和ADE20K数据集上进行目标检测、实例分割和语义分割任务。对于目标检测和实例分
割,使用Mask-RCNN头,初始学习率为0.0001,批量大小为16。对于语义分割,使用uperNet
头,初始学习率为 6 e − 5 6e-5 6e−5,批量大小为16。 -
硬件:使用32个A100 GPU进行图像分类任务,8个A100 GPU进行所有下游任务。
结果与分析 -
图像分类
:在ImageNet-1K数据集上,MambaVision模型在Top-1准确率和图像吞吐量方面达到了新的S
OTA性能。与流行的卷积神经网络和Transformer模型相比,MambaVision在某些情况下表现
出显著的改进。例如,MambaVision-B在Top-1准确率上比ConvNeXt-B高出0.4%,同时具有
更高的图像吞吐

-
目标检测和实例分割:在MS
COCO数据集上,使用预训练的MambaVision-T骨干网络进行目标检测和实例分割,结果表明
MambaVision模型在box AP和mask AP方面优于其他竞争模型。例如,MambaVision-T在box
AP上比Swin-T高出0.6%。 -
语义分割
:在ADE20K数据集上,使用uperNet进行语义分割实验,结果表明MambaVision模型在mIoU
方面优于相似大小的竞争模型。例如,MambaVision-B在mIoU上比Swin-B高出1.0%。
总体结论
这篇论文提出了MambaVision,第一种专门为视觉应用设计的Mamba-Transformer混合骨干网络。通
过重新设计Mamba块和引入自注意力块,显著提高了模型捕捉全局上下文和长距离空间依赖性的能力
。MambaVision在ImageNet-1K数据集上达到了新的SOTA性能,并在下游任务中表现出色。这些发现
为进一步研究和开发混合视觉模型奠定了基础。
论文评价
优点与创新1. 重新设计Mamba公式
:论文提出了一种新的Mamba公式,增强了其在视觉特征高效建模方面的能力。 -
混合架构
:引入了包含MambaVision混合块和Transformer块的混合架构,显著提高了捕捉全局上下文
和长距离空间依赖性的能力。 -
ImageNet-1K数据集上的新SOTA性能
:在ImageNet-1K数据集上,MambaVision模型变体在Top-1准确率和图像吞吐量方面达到了
新的SOTA性能。 -
下游任务中的优越表现:在MS
COCO和ADE20K数据集上的目标检测、实例分割和语义分割任务中,MambaVision模型优于
同等大小的骨干网络,表现出更优的性能。 -
全面的消融研究
:对Mamba和Transformer块的集成模式进行了系统的研究,证明了在最后阶段使用自注意力
块可以显著提高模型捕捉全局上下文和长距离空间依赖性的能力。 -
高效的图像吞吐量:混合架构还使得图像吞吐量比纯Mamba或ViT模型更高。
不足与反思 -
局限性
:尽管MambaVision在某些任务中表现出色,但论文指出其设计目标是平衡准确率和吞吐量,
因此在某些情况下可能不如其他模型高效。 -
下一步工作
:论文建议未来的研究可以进一步优化下游任务的超参数调优,以进一步提高MambaVision在
各种视觉任务中的表现。
关键问题及回答
问题1:MambaVision模型在图像分类任务中是如何结合Mamba块和Transformer块的?
MambaVision模型通过在网络的后期阶段(第3和第4阶段)引入多个自注意力块来结合Mamba块和Tr
ansformer块。具体来说,MambaVision模型的设计包括以下几个关键步骤: -
多分辨率架构
:MambaVision模型采用多分辨率架构,前两个阶段使用CNN层进行快速特征提取,后两个
阶段结合MambaVision和Transformer块。 -
MambaVision混合器
:在后期阶段,MambaVision混合器被用来进行快速特征提取。混合器包含一个对称分支和一个SSM(状态空间模型)分支,分别进行选择性扫描和序列处理。最终输出通过一个线性层投
影到嵌入空间。 -
自注意力机制
:在混合器的对称分支中,增加了自注意力机制,以增强对全局上下文和长距离空间依赖性的
捕捉能力。
通过这种设计,MambaVision模型能够在保持较高图像吞吐量的同时,显著提高对全局上下文的理解
和长距离空间依赖性的捕捉能力。
问题2:MambaVision模型在目标检测和实例分割任务中的表现如何?
在MS COCO数据集上,MambaVision模型在目标检测和实例分割任务中表现出色。具体结果如下: -
目标检测:使用Mask
R-CNN检测头,MambaVision-T、MambaVision-S和MambaVision-B模型在box
AP(平均精度)方面分别达到了46.4%、48.1%和49.5%。与ConvNeXt-T和Swin-T模型相比,
MambaVision模型在各项指标上均有显著提升。 -
实例分割:使用Mask R-CNN和Cascade Mask R-CNN检测头,MambaVision模型在mask
AP(平均精度)方面也表现出色,显著优于ConvNeXt-T和Swin-T模型。例如,MambaVision
-B模型在mask AP方面达到了49.5%,比Swin-B模型高出0.9%。
这些结果表明,MambaVision模型在目标检测和实例分割任务中具有较高的检测精度和分割质量。
问题3:MambaVision模型在语义分割任务中的表现如何?
在ADE20K数据集上,MambaVision模型在语义分割任务中也表现出色。具体结果如下: -
mIoU(平均交并比)
:MambaVision模型在mIoU方面达到了49.1%,显著优于同样大小的Swin-T、Swin-S和SwinB模型。例如,MambaVision-B模型的mIoU比Swin-B模型高出1.0%。 -
高分辨率设置
:尽管没有进行广泛的超参数调优,MambaVision模型在高分辨率设置下仍然表现出色,验证
了其作为有前途的骨干网络的可能性。
这些结果表明,MambaVision模型在语义分割任务中具有较高的分割精度和鲁棒性。
相关文章:
MambaVision
核心速览 研究背景 研究问题 :这篇文章提出了一种新的混合Mamba-Transformer骨干网络,称为MambaVision,专为视 觉应用量身定制。研究的核心问题是如何有效地结合Mamba的状态空间模型(SSM)和Transf ormer的自注意力机制…...
MySQLDBA修炼之道-开发篇(二)
四、开发进阶 1. 范式和反范式 范式是数据库规范化的一个手段,是数据库设计中的一系列原理和技术,用于减少数据库中的数据冗余,并增进数据的一致性。 范式 1.1 第一范式 第一范式是指数据库表的每一列(属性)都是不可…...
前端必备的环境搭建
一、nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置) 参考地址:nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)-CSDN博客 说明: 1)关于nodejs目录不显示&a…...
SpringCloud笔记
什么是降级熔断?为什么要进行熔断? 熔断降级是一种分布式系统的保护机制,用于应对服务不稳定或不可用的情况。 熔断是指当某个服务的调用失败次数或异常比例达到一定阈值时,自动切断对该服务的调用,让请求快速失败&…...
优秀的程序员思考数据结构
原文地址:https://read.engineerscodex.com/p/good-programmers-worry-about-data 我最近在这篇很棒的 Stack Overflow 文章中看到了 Linus Torvalds(Linux 和 Git 的创建者)的一句话。(这篇文章回顾了那篇文章中的许多引述。 它…...
「C/C++」C/C++标准库之#include<cstdlib>通用工具库
✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...
Oracle视频基础1.1.3练习
1.1.3 需求: 完整格式查看所有用户进程里的oracle后台进程 查看物理网卡,虚拟网卡的ip地址 ps -ef | grep oracle /sbin/ifconfig要以完整格式查看所有用户进程中的 Oracle 后台进程,并查看物理和虚拟网卡的 IP 地址,可以使用以下…...
python项目实战——多协程下载美女图片
协程 文章目录 协程协程的优劣势什么是IO密集型任务特点示例与 CPU 密集型任务的对比处理 I/O 密集型任务的方式总结 创建并使用协程asyncio模块 创建协程函数运行协程函数asyncio.run(main())aiohttp模块调用aiohttp模块步骤 aiofiles————协程异步函数遇到的问题一 await …...
基于.NET 8.0,C#中Microsoft.Office.Interop.Excel来操作office365的excel
开发环境: Visual Studio 2022 office365 项目模板:WPF应用程序 框架:.NET 8.0 依赖:Microsoft.Office.Interop.Excel 注意: 1.使用Microsoft.Office.Interop.Excel库时,服务器或电脑里面必须安装得…...
使用无线方式连接Android设备进行调试的两种方法
1.使用配对码配对设备方式 手机(或者平板等安卓设备)和电脑需连接在同一WiFi 下;保证 SDK 为最新版本(adb --version ≥ 30.0.0); step1.手机启用开发者选项和无线调试模式(会提示确认ÿ…...
Valgrind的使用
Valgrind 是一个强大的开源工具,用于检测程序中的内存错误、内存泄漏以及线程问题。它广泛应用于 C/C++ 等需要手动管理内存的编程语言中。以下内容将详细介绍 Valgrind 的安装、基本使用方法、常用命令及其输出结果的解析。 1. 什么是 Valgrind? Valgrind 是一个用于内存调…...
微信小程序瀑布流实现,瀑布流长度不均等解决方法
这是一开始实现的瀑布流,将数据分为奇数列和偶数列 <view class"content-left"><block wx:for"{{list}}" wx:key"list"><template isitem-data data{{...item}} wx:if"{{index % 2 0}}"></template&…...
Notepad++通过自定义语言实现日志按照不同级别高亮
借助Notepad的自定义语言可以实现日志的按照不同级别的高亮; 参考: https://blog.csdn.net/commshare/article/details/131208656 在此基础上做了一点修改效果如下: xml文件: <NotepadPlus><UserLang name"Ansibl…...
2024年四川省大学生程序设计竞赛 补题记录
文章目录 Problem A. 逆序对染色(思维树状数组)Problem B. 连接召唤(贪心)Problem E. L 型覆盖检查器(模拟)Problem F. 小球进洞:平面版(几何)Problem G. 函数查询Proble…...
17_事件的处理
目录 绑定事件与解绑事件优化事件的绑定和解绑方式处理不同事件类型的绑定处理同一事件类型多个事件处理函数事件冒泡与更新时机问题 绑定事件与解绑事件 既然要处理事件,那么首先面临的问题是如何在 vnode 中描述这个事件,在 vnode.props 中࿰…...
1FreeRTOS学习(队列、二值信号量、计数型信号量之间的相同点和不同点)
相同点: (1)传递区间 队列、二值信号量、计数型信号量均可用在任务与任务,任务与中断之间进行消息传递 (2) 传递方式 创建队列--发送队列--接受队列 创建二值信号量--发送二值信号量--接受二值信号量 创建计…...
数据库设计与范式及其应用
数据库设计是数据库管理系统(DBMS)中的核心环节,良好的数据库设计不仅可以提高数据存取的效率,还能增强数据的可维护性和一致性。范式(Normalization)是一种设计原则,用于减少数据冗余和提高数据…...
笔记-配置PyTorch(CUDA 12.2)
文章目录 前言一、安装 PyTorch(CUDA 12.2)1. 创建并激活 Conda 环境2. 安装 PyTorch(CUDA 12.2)3. 安装 torch_geometric 及依赖项4. 验证安装 总结 前言 一、安装 PyTorch(CUDA 12.2) 1. 创建并激活 Con…...
[C++]——红黑树(附源码)
目录 一、前言 二、正文 2.1 红黑树的概念 2.2 红黑树的性质 2.3红黑树节点的定义 2.4 红黑树的插入 2.4.1 情况一 2.4.2 情况二 编辑 2.4.3 情况三 2.5 红黑树的验证 三、全部代码 四、结语 一、前言 在上一篇博客中,为小伙伴们进行了AVL树的讲解&#…...
网络文件系统搭建
在CentOS7上搭建网络文件系统(NFS),并让客户端进行挂载,具体步骤如下: 1. 服务器端操作 安装NFS服务器软件包: 执行以下命令安装NFS服务: sudo yum install nfs-utils -y 启动并启用NFS服务&…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
