it编程 > 硬件开发 > fpga开发

VMamba: Visual State Space Model论文笔记

70人参与 2024-08-03 fpga开发

vmamba: visual state space model

摘要

引言

相关工作

具体内容略,主要为卷积神经网络(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使图像中的每个像素能够有效地整合其他所有像素的信息,从而促进在二维空间中建立全局接受域的过程。

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

数字IC面经汇总(32篇)

08-03

FPGA - 以太网UDP通信(一)

08-03

基于FPGA的数字信号处理(15)--定点数的舍入模式(6)向0取整fix

08-03

FPGA:我的零基础学习路线(2022秋招已上岸)持续更新中~

08-03

FPGA零基础入门学习路线

08-03

VIVADO中FFT核的使用(FPGA计算FFT和IFFT)

08-03

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论