Vision Mamba:将Mamba应用于计算机视觉任务的新模型

Mamba是LLM的一种新架构,与Transformers等传统模型相比,它能够更有效地处理长序列。就像VIT一样现在已经有人将他应用到了计算机视觉领域,让我们来看看最近的这篇论文“Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Models,”

对于VIT来说,Transformers虽然功能强大,但通常需要大量的计算资源,特别是对于高分辨率图像。Vision Mamba旨在通过提供更有效的替代方案来解决这个问题。

Vision Mamba vs Transformers

这篇论文主要由华中科技大学、地平线机器人、北京人工智能研究院的研究人员贡献,深入研究了Mamba 是如何处理视觉任务的。Mamba的效率来自于它的双向状态空间模型,与传统的Transformer模型相比,理论上可以更快地处理图像数据。

处理图像本质上比处理文本要复杂得多。因为图像不仅仅是像素的序列;它们还包含复杂的模式,变化的空间关系,以及理解整体环境的需要。这种复杂性使得视觉数据的有效处理成为一项具有挑战性的任务,特别是在规模和高分辨率下。

Vision Mamba (Vim)

Mamba块是Vim的一个关键特性,通过使用位置嵌入标记图像序列,并使用双向状态空间模型压缩视觉表示,Vision Mamba可以有效地捕获图像的全局上下文。这种方法解决了可视数据固有的位置敏感性,这是传统Transformer模型经常遇到的一个关键问题,特别是在更高分辨率下。

Vision Mamba Encoder

Vim模型首先将输入图像划分为小块,然后将小块投影到令牌中。这些令牌随后被输入到Vim编码器中。对于像ImageNet分类这样的任务,在令牌标记序列中添加了一个额外的可学习分类标记(这个标记是重BERT开始一致这样使用的)。与用于文本序列建模的Mamba模型不同,Vim编码器在正向和反向两个方向上处理标记序列。

还记得双向LSTM么,Vim的一个突出特点是它的双向处理能力。与许多以单向方式处理数据的模型不同,Vim的编码器以向前和向后的方向处理标记。双向模型允许对图像上下文进行更丰富的理解,这是准确图像分类和分割的关键因素。

基准测试结果及表现

在ImageNet分类、COCO对象检测和ADE20K语义分割方面,Vim不仅表现出更高的性能,而且还表现出更高的效率。例如,在处理高分辨率图像(1248 × 1248)时,Vim比DEIT快2.8倍,同时节省了86%的GPU内存。考虑到在高分辨率图像处理中经常遇到的内存限制,这是一个非常大的进步。

与VIT的比较分析

这篇论文并没有仅仅停留在比较VIM和DEIT。它还包括与VIT的比较。虽然VIT确实是一个强大的模型,但VIM在效率和性能上仍然超过它,特别是随着分辨率的增加。这种比较为评估VIM的能力提供了更广泛的背景。

高分辨率图像处理

论文还强调了高分辨率图像处理在各个领域的重要性。例如在卫星图像中,高分辨率对于详细分析和准确结论至关重要。同样在PCB制造等工业环境中,在高分辨率图像中检测微小故障的能力对于质量控制至关重要。VIM在处理此类任务方面的也非常有可比性。

总结

论文介绍了一种将Mamba用于视觉任务的方法,该方法利用双向状态空间模型(ssm)进行全局视觉上下文建模和位置嵌入。这种方法标志着传统的注意力机制可能会退出历史的舞台,因为VIM展示了一种有效的方法来掌握视觉数据的位置上下文,而不需要基于transformer的注意机制。

VIM以其次二次的时间计算和线性内存复杂性与Transformer模型中典型的二次增长形成鲜明对比。这一点使得VIM特别适合处理高分辨率图像。

通过对ImageNet分类等基准的全面测试,验证了VIM的性能和效率,证明可以将其应用在计算机视觉领域强大模型的地位。

论文地址:

https://avoid.overfit.cn/post/7171ae82866d4b07853266073485e8cb

作者:azhar

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

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

相关文章

Kubernetes operator(一)client-go篇【更新中】

云原生学习路线导航页(持续更新中) 本文是 Kubernetes operator学习 系列第一篇,主要对client-go进行学习,从源码阅读角度,学习client-go各个组件的实现原理、如何协同工作等参考视频:Bilibili 2022年最新k…

程序员裁员潮:技术变革下的职业危机

程序员裁员潮:技术变革下的职业危机 一对来自中国的工程师夫妻在美身亡,疑因谷歌裁员致悲剧发生。在技术变革下,裁员对于程序员的影响到底有多大?快来和我们分享一下你的看法吧~ 哎,这是悲哀,让我又想起来…

pod的亲和性和反亲和性

pod的亲和性和反亲和性 调度策略: 匹配标签 操作符 拓扑域 调度目标 node的亲和性 主机标签 In Notin exists doesexists Gt Lt 不支持 指定主机 pod的亲和性 pod的标签 In Notin exists doesexists 支持 pod和指…

【无标题】JavaScript 高阶 Promise篇

1、什么是Promise Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。(ps:关于原型:JavaScript高级 构造函数与原型篇) Promi…

什么是 Web3.0

什么是Web3.0 对于 Web3.0 的解释网上有很多,目前来说 Web3.0 是一个趋势,尚未有明确的定义。我们今天讨论下几个核心的点,就能很好的理解 Web3.0 要解决哪些问题 谁创造数据,这里的数据可以是一篇博客,一段视频&…

Oracle Linux 8.9 安装图解

风险告知 本人及本篇博文不为任何人及任何行为的任何风险承担责任,图解仅供参考,请悉知!本次安装图解是在一个全新的演示环境下进行的,演示环境中没有任何有价值的数据,但这并不代表摆在你面前的环境也是如此。生产环境…

在Vue.js中,什么是mixins?它们的作用是什么?

目录 一、Vue.js介绍 二、什么是mixins 三、mixins的应用场景 四、mixins的优势和作用 一、Vue.js介绍 Vue.js是一种流行的JavaScript前端框架,用于构建交互式的Web界面。它被设计为易于理解和集成的框架,使开发者能够快速构建可复用的组件化应用程序。Vue.js采用了MVVM&a…

如何测试python 版本与 torch 、 torchvision 版本是否对应?

python 版本与 torch 、 torchvision 版本的对应关系如下图所示: 打开 anaconda powershell prompt,输入如下命令: >python>>>import torch>>>c torch.ones((3,1)) //创建矩阵>>>c c.cuda(0) …

云原生周刊:Meshery v0.70 发布 | 2024.1.22

开源项目推荐 flux-cluster-template 该项目用于部署由 Flux、SOPS、GitHub Actions、Renovate、Cilium 等支持的 Kubernetes 集群,专注于使用 GitOps 实践和基础设施自动化。 Kine 该项目可以在 MySQL、Postgres、SQLite、Dqlite 等数据库上运行 Kubernetes&am…

Keepalived + Nginx双主架构

Keepalived Nginx双主架构 环境准备: keepalived_master1服务器nginx:172.20.26.167 keepalived_master2服务器nginx:172.20.26.198 各服务器关闭selinux、防火墙等服务。 开机安装部署nginx 在172.20.26.167服务器上 yum install ngi…

分布式深度学习中的数据并行和模型并行

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

LLMs之Vanna:Vanna(利用自然语言查询数据库的SQL工具+底层基于RAG)的简介、安装、使用方法之详细攻略

LLMs之Vanna:Vanna(利用自然语言查询数据库的SQL工具底层基于RAG)的简介、安装、使用方法之详细攻略 目录 Vanna的简介 1、用户界面 2、RAG vs. Fine-Tuning 3、为什么选择Vanna? 4、扩展Vanna Vanna的安装和使用方法 1、安装 2、训练 (1)、使用…

c#中使用UTF-8编码处理多语言文本的有效策略

使用UTF-8编码处理多语言文本的有效策略 在当今的全球化时代,软件开发者常常需要处理包含多种语言的文本。这不仅涉及英文和其他西方语言,还包括中文、日文、韩文等多字节字符系统。在这篇博客中,我将探讨如何有效地使用UTF-8编码来处理混合语…

项目管理认证 | 什么是PMP项目管理?PMP证书有什么用?

01 什么是项目管理? 项目管理?听起来似乎离我们很遥远。其实不然, 学习了项目管理知识后,你会发现,“一切都是项目,一切也将成为项目”。 你可以把港珠澳大桥的建设、开发一款新型手机、开发一个好用的C…

HarmonyOS 发送http网络请求

好 本文 我们来说 http请求 首先 我们要操作网络内容 需要申请权限 项目中找到 main目录下的module.json5 最下面加上 "requestPermissions": [{"name": "ohos.permission.INTERNET"} ]这里 我在本地写了一个get接口 大家可以想办法 弄一个后…

为什么两个向量的内积等于模长乘夹角?

为什么两个向量的内积等于模长乘夹角? 已知两个向量 a = [ a 1 , a 2 ] a=[a_1,a_2] a=[a1​,a2​]和 b = [ b 1 , b 2 ] b=[b_1,b_2] b=[b1​,b2​],他们的内积为 a b = a 1 b 1 + a 2 b 2 ab=a_1b_1+a_2b_2 ab=a1​b1​+a2​b2​,看书上的定义该内积的值是一个标量,并且等…

RabbitMQ交换机

目录 交换机类型 直连交换机:Direct exchange 主题交换机:Topic exchange 扇形交换机:Fanout exchange 首部交换机:Headers exchange 死信交换机:Dead Letter Exchange 交换机的属性 代码实战 直连&#…

x-cmd pkg | frp - 内网穿透工具

简介 frp(Fast Reverse Proxy)是一个专注于内网穿透的高性能反向代理应用,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 它采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部…

使用torch实现RNN

在实验室的项目遇到了困难,弄不明白LSTM的原理。到网上搜索,发现LSTM是RNN的变种,那就从RNN开始学吧。 带隐藏状态的RNN可以用下面两个公式来表示: 可以看出,一个RNN的参数有W_xh,W_hh,b_h&am…

[AutoSar]BSW_OS 06 Autosar OS_Alarms

一、 目录 一、关键词平台说明一、Timer1.1 配置1.2Periodical Interrupt Timer (PIT)和High Resolution Timer (HRT) 二、Alarm 工作机制三、Code3.1创建一个15ms的runnable3.2mapping到basic task3.3生成代码 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueO…