NeurIPS 2024 | Mamba涨点神器!树形SSM来了!清华和腾讯提出GrootVL:多功能多模态框架...

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【Mamba/多模态/扩散】交流群

添加微信号:CVer111,小助手会拉你进群!

扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,及最前沿应用!发论文/搞科研/涨薪,强烈推荐!

bc58b115f014aa21e6435a4c7f103861.png

GrootVL: Tree Topology is All You Need in State Space Model

论文:https://arxiv.org/pdf/2406.02395

代码(已开源):

https://github.com/EasonXiao-888/GrootVL

ab0b6e39f88fa63ec45149a4bbfcd731.png

【Highlight】:

使用递归范式传播特征的状态空间模型展示了与 Transformer 模型相当的强大表征能力和卓越的推理效率。然而,受序列固有几何约束的限制,它在建模远程依赖方面稍显不足。为了解决这个问题,我们提出了 GrootVL 网络,它首先基于空间关系和输入特征动态生成树形拓扑结构。然后,基于该无环图执行特征传播,从而打破原始序列约束以实现更强的表征能力。此外,我们引入了一种线性复杂的度动态规划算法,在不增加计算成本的情况下增强远程交互。GrootVL 是一个多功能的多模态框架,可以应用于视觉和文本任务。大量实验表明,我们的方法在图像分类、目标检测和分割方面明显优于现有的结构化状态空间模型。此外,通过微调大语言模型,我们的方法在较小的训练成本下在多个文本任务中取得了一致的性能提升。

1 回顾状态空间模型   

主流基础模型主要基于 CNN和 Transformer 架构,它们在视觉和语言任务中占主导地位。然而,CNN 的小感受野和 Transformer 的高度复杂性给平衡性能和效率带来挑战。状态空间模型(SSM)试图打破这种僵局,它以循环范式对序列进行建模。与之前的循环神经网络不同,这些方法利用结构参数初始化实现稳定的优化和优越的计算性能。然而,它仍然容易受到循环神经网络共有的内在缺陷的影响,即捕获远程依赖的缺陷。

最近,Mamba[1]提出了一种改进的选择机制来减轻SSM遇到的挑战。这种方法在传播过程中引入了权重调制,扩大了有效感受野,并在 NLP 任务中取得了令人印象深刻的效果。此外,许多研究[2][3][4]旨在通过使用各种人工预定义的策略将 2D 图像特征映射到 1D 序列,从而将 Mamba 扩展到计算机视觉中。

c13dd86452c0191dac391200cbcdd49a.png

图1 视觉和文本信号的不同传播策略的比较。对于视觉任务,之前的策略 (a) 基于固定模式,而我们的方法可以根据输入特征自适应地生成传播拓扑路径。对于文本任务,与之前的方法 (c) 相比,我们的方法 (d) 可以打破文本序列的固有约束,促进远程信息的有效传输。

尽管这些方法成功地将 Mamba 嵌入视觉信号输入,但如图1(a)所示,光栅扫描和局部扫描策略都引入了相邻像素之间的空间不连续,但Mamba中的特征变换依赖于特征关系,因此这种扫描范式会阻碍序列中有效的信息流。此外,连续扫描策略试图通过简单地调整不连续位置的传播方向来缓解这个问题。然而,所有这些方法都依赖于固定的传播轨迹,忽略了固有的空间结构,不能根据输入动态调整拓扑。    

2 基于自适应树形拓扑结构的状态空间模型(Tree SSM)

本文试图探索一个新的视角:为状态空间模型中的特征传播引入输入感知的拓扑网络。为了实现这一点,我们开发了一个树状态空间模型如图2所示,并提出了一个称为 GrootVL 的新框架,该框架根据输入特征自适应地生成树拓扑结构,然后在其上执行特征传播。具体来说,我们分别为视觉和语言任务设计了两个子网络 GrootV 和 GrootL,如图 1(b) 和图 1(d) 所示。对于视觉任务,我们首先基于相邻特征之间的差异在四连通平面图上构造一个最小生成树。这个过程可以自适应地将空间和语义信息编码到树结构中。然后,我们迭代地遍历每个像素,将其视为根顶点,并使用 Mamba 的状态转移方式聚合其他像素的特征。直观地说,此操作需要对整个像素集进行两级遍历,导致相对于视觉像素级输入信号不可接受的二次复杂度。然而,鉴于树图是非循环的,我们提出了一种动态规划算法来实现线性复杂度的传播。通过这种输入感知树拓扑,我们的方法能够实现更有效的远程交互,并保持与 Mamba 一致的线性复杂度。此外,我们的方法还可以通过基于标记特征之间的差异构建树结构来应用于语言任务,这克服了文本序列的几何约束。使用与 GrootV 类似的聚合过程,GrootL 可以显着提高预训练大语言模型的语言表征能力。

2.1 树拓扑扫描算法

具体来说,对于输入特征 57f1a058ec4362dc541762b0cfb4906f.jpeg,其中5524b2d4554615fce139cc7afc75ba8c.jpeg是序列长度(或输入像素的数量)。我们为该特征构建一个无向 bc904ec155ed680f02b6cc0d80363b57.jpeg 连通图 429a0368354682802c7c538ca4feea6e.jpeg。其中,e33ec32da5d4a91262046d34f5bddd21.jpeg 是一个超参数,表示邻节点的数量。在视觉任务中 93e137aaae37fab30a3194434a61c458.jpeg 预设为4,表示每个像素都与其四个相邻像素相连。对于语言任务,我们默认设置 a0c9cd5e0749202319bbcfa066a1e953.jpeg,表示每个标记都与前三个标记相连。此外,顶点 60c12f9abe6472f9013bfffc6d21162a.jpeg 表示像素(或标记)嵌入集,b3591d51db0e421c10e4b955fc2c0e5c.jpeg 表示图的边集。边权重由相邻顶点之间的特征相异性计算得出。此外,顶点之间的距离度量默认使用余弦距离。我们使用收缩Boruvka算法来修剪具有显著差异的边,从而获得一个最小生成树 (MST),其差异权重之和在所有生成树中最小。在传播过程中,我们迭代遍历每个顶点,将其视为根,并聚合剩余顶点的特征。直观地讲,在这样的几何配置中应用状态传播会优先在空间和特征距离较小的顶点之间进行交互。参考Mamba,我们使用与数据相关的转换矩阵进行状态传播。对于顶点a073400c7bb4f5001bc7dc49965c9e2a.jpeg,我们对其向父节点的转换矩阵表示为 62686226683b9e451ce1702f152efb86.jpeg 。因此,第 857e42465422dacd2dc6cbbe92ac4054.jpeg 个顶点的状态聚合过程可以表示为:   

9983e65c583937cd2d4a08eb1fcb4c57.png

其中0b59007e387681fbfc356aa699e3dd2a.jpeg表示树中所有顶点的索引集。62a77ca5a91143ba2700635b6bbae6ad.jpeg 表示超边 27540b06148f5e14e5649d95397f81a9.jpeg 从MST中第 13124eb3306757ae0c201ecd18d73b13.jpeg 个顶点到第 b5a25b2a2b9481655cb6de3bd2fb5ec4.jpeg 个顶点的路径权重,c1a3f88b57aa5d881f2998048a3d137c.jpeg 表示此超边上所有顶点的索引集。对于视觉任务,我们迭代每个顶点,将其视为生成树的根,并聚合来自其他顶点的状态,从而获得变换后的状态 68a547d291acc8def099f899da52d2f5.jpeg。对于文本任务,由于大型语言模型中的因果预测范式,我们仅将最后一个标记作为根,并从其他标记中进行聚合。为了实现端到端训练,我们推导出输出隐藏状态 02cf157f7ad74440dc6b09d90411ea5c.jpeg 对输入变量 3fe17e3545a815d319bed72fafb32557.jpeg362d70a3b5e72e15af36355d824d377f.jpega60048489588042e49904921320e554d.jpeg 的导数,如下所示:

7af4cd14127a0ebe20864338a7715b00.png

其中 4a2ce4cd227eab5890307f9aa9400b78.jpeg 表示以顶点 a943672097f83af47a759aa2e0bda936.jpeg 为根且为顶点 7e7e5dbe9ebf3ffd26fe9fe3e69d6f50.jpeg 的子孙节点集合,f266e3648bf28607cffad8a7b9426b87.jpeg 顶点为 10739ab2e76e2d379546edd3cb580b55.jpeg 的父节点。最后,输出特征 1a4badf6a6c0b5783134916440a26a43.jpeg 可以表示为:

eb5ec05705e60b9292067bbcb424a1c5.png

其中 6849b49dcfa1dd7bd6d5a81d61c2e59c.jpeg6878ca5519b9a81ca889c2f1c5cf9f96.jpeg7d5929ddce707a31b46a6ea331f995d7.jpeg 分别表示 20dda18a7d79aee61d655f233f552d7b.jpeg15182c1146a79c618ef3c43f734e0ef1.jpegf900a62b0e43839bf3950e462a4d7e21.jpeg。⊙ 代表元素乘法(哈达玛积)。

c8256bd6d30935145059a1705a095e20.png

图2 树状态空间模型示意图。

2.2 适应于视觉和文本信号的高效部署

对于视觉任务,树扫描算法需要对整个像素集进行两级遍历,导致相对于像素数量不可接受的二次复杂度25d9900f5f8b52e270f8ff9fdd6a930a.jpeg。为了缓解这个问题,我们利用动态规划过程来加速推理和训练过程,如算法1(图3)所示,其实现了线性复杂度3bf5d2d89a8685de041d16ada04ce3fe.jpeg的传播,从而在保持计算效率的同时,实现更有效的远距离建模以及空间感知。对于文本任务,我们按照语言的因果性质执行单向聚合方法如算法2(图4)所示。此外,我们为视觉树扫描和语言树扫描过程提供了反向传播过程以进行端到端的训练,其详细证明见论文附录C。   

ab6ebfe11d1f7b27e815801ae7ca8376.png

图3 视觉树拓扑扫描算法

bd597f0ec663e857a1725571c6683608.png    

图4 文本树拓扑扫描算法

2.3 子网络架构设计

基于上述基础算子,我们可以将其有效应用于各类视觉和文本任务。

GrootV. 对于一个形状为5bb65502dc010367c81490f9c4a97993.jpeg的输入图像信号,我们的目标是为下游任务获得其高质量的视觉特征。为此,我们提出了一种有效的视觉架构 GrootV 如图5所示,它由Stem module、Basic Block和Downsample Layer组成。我们在三个尺度上开发了GrootV,即GrootV-Tiny、GrootV-Small和GrootV-Base。

44c45dffba7006f8f509d9465991e76d.png

图5 GrootV框架示意图。

GrootL. 我们基于树扫描算法提出了一种有效的应用于预训练Mamba的微调范式。具体来说,基于树的拓扑分支与单向滚动通过调制因子来合并。值得注意的是,这种范式不会引入任何额外的训练参数。相反,它利用预训练的状态转换参数通过结合拓扑结构以进行语义聚合。实验结果表明了我们方法的有效性。

3 实验结果与分析 

3.1 视觉任务

我们在图像分类,目标检测,实例分割与语义分割下游视觉任务上进行验证。如图6、7、8中结果所示,我们的方法显著优于各类基于状态空间模型的方法,并能与最先进的基于CNN或者Transformer架构的方法相媲美。   

1310a3a16f01d558306abb8f8c286f47.png

图6 ImageNet-1K验证集上的图像分类结果。T、C 和 S 分别表示 Transformer、CNN 和 SSM 的模型类型。所有模型都以c75bcdaa08cadf948d3a5f71c74aef42.jpeg的图像尺寸作为输入。

dc73265f9251c3826ead7089d1c95002.png

图7  COCO val2017数据集的结果。

4e208960ec31c0684394f12f9b5f0ce7.png

图8  ADE20K val数据集结果。输入图片都剪裁为fcaebb15e5d417c4d7a39c10fed43674.jpeg。SS和MS分别表示单尺度和多尺度测试。

3.2 文本任务

我们将130M参数量的 Mamba作为基础模型。为了验证我们的 GrootL 在自然语言理解中的有效性,我们首先用相同的训练设置在Alpaca 数据上分别通过LoRA 和 GrootL对预训练Mamba进行微调。接着在公开lm-evaluation-harness项目中对多个NLP benchmark进行zero-shot验证,结果如图9所示。

6aa438e54409d89ef4634c1dc9e5de0b.png

图9  文本下游任务验证结果。

3.3 消融实验

我们对树拓扑算法中多个配置进行消融实验。我们首先验证了树拓扑扫描相对于人工预设的光栅扫描和交叉扫描方式的优越性。接着,我们探索了相邻节点间边权重的刻画方式,尝试了曼哈顿距离,欧式距离和余弦距离三种方式。最后,我们仅针对单个节点进行状态聚合进行了实验从而验证了每个节点均需获取来自其余顶点信息的必要性。   

0bdf04e1023bdf143b5432980d3b5bf1.png

图10 消融实验

3.4 定性分析

为了更好地说明我们的扫描策略的优越性,我们可视化了每个输入图像中红色十字标记的不同位置的亲和图。例如,当我们设置天空左上角的锚点,如图11(a)第二行所示。我们的方法可以很容易地识别白色房屋、旗杆和天空,光栅扫描则无法实现。这证明了我们的算法具有保留详细结构信息的能力。更多的对比结果可见于论文的附录D中。

f25435a0247c64d59ce550531fc8172f.png

图11 特定位置的Affinity Map,位置由输入信号中的红色十字标记。TP Scan代表树拓扑扫描算法与光栅扫描 (c) 相比,它能准确捕获更详细的结构信息。

[1]Gu, Albert, and Tri Dao. "Mamba: Linear-time sequence modeling with selective state spaces." arXiv preprint arXiv:2312.00752 (2023).    

[2]Liu, Yue, et al. "Vmamba: Visual state space model." arXiv preprint arXiv:2401.10166 (2024).

[3]Huang, Tao, et al. "Localmamba: Visual state space model with windowed selective scan." arXiv preprint arXiv:2403.09338 (2024).

[4]Yang, Chenhongyi, et al. "Plainmamba: Improving non-hierarchical mamba in visual recognition." arXiv preprint arXiv:2403.17695 (2024).

 
 

何恺明在MIT授课的课件PPT下载

 
 

在CVer公众号后台回复:何恺明,即可下载本课程的所有566页课件PPT!赶紧学起来!

ECCV 2024 论文和代码下载

在CVer公众号后台回复:ECCV2024,即可下载ECCV 2024论文和代码开源的论文合集

CVPR 2024 论文和代码下载

在CVer公众号后台回复:CVPR2024,即可下载CVPR 2024论文和代码开源的论文合集

Mamba、多模态和扩散模型交流群成立

 
 
扫描下方二维码,或者添加微信号:CVer111,即可添加CVer小助手微信,便可申请加入CVer-Mamba、多模态学习或者扩散模型微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF、3DGS、Mamba等。
一定要备注:研究方向+地点+学校/公司+昵称(如Mamba、多模态学习或者扩散模型+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

 
 
▲扫码或加微信号: CVer111,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集上万人!

▲扫码加入星球学习
 
 
▲点击上方卡片,关注CVer公众号
整理不易,请赞和在看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值