从状态空间到选择性扫描

一个关于Mamba与VisionMamba架构原理的交互式深度探索,揭示其如何挑战Transformer在序列建模领域的地位。

SSM: 新的序列建模范式

状态空间模型(SSM)源于控制理论,其核心思想是通过一个紧凑的隐状态 h(t) 来压缩无限长的历史信息,从而预测未来。这为解决Transformer在处理长序列时面临的二次方复杂度(O(L2))瓶颈提供了全新的思路。本节将介绍SSM的基础概念,特别是其关键的对偶性。

循环表示 (Recurrent View)

SSM可以看作一个线性RNN。状态 h_k 逐个时间步更新。这种模式在自回归生成任务中极为高效(O(1)/步),但不利于并行训练。

hk = A hk-1 + B uk
yk = C hk

卷积表示 (Convolutional View)

当系统为线性时不变(LTI)时,整个序列的计算可以等价于一次卷积操作。这使得可以利用FFT进行高效的并行训练(O(L log L))。

y = K * u
K = (CB, CAB, ..., CAL-1B)

这种在循环与卷积表示之间切换的能力,是早期SSM模型(如S4)成功的核心,它兼顾了高效训练与快速推理。

S4的演进: 赋予SSM结构

朴素的SSM表现不佳,因为它难以捕捉长程依赖。S4模型通过引入HiPPO理论,为状态矩阵 A 赋予了特殊的结构(DPLR),使其从一开始就具备了原理性的历史压缩能力,从而解决了长时遗忘的问题。

HiPPO理论: 长时记忆的数学原理

HiPPO的核心思想是将历史信息压缩问题,形式化为使用一组正交多项式(如勒让德多项式)来持续逼近整个输入函数的历史。状态向量 h(t) 不再是抽象的隐变量,而是这些多项式基的系数,具有明确的物理意义。这使得模型能够以一种最优的方式“记住”过去。

Mamba的突破: 引入选择性

S4是“时不变”的,它对所有输入一视同仁。Mamba的核心突破是引入“选择性”,让模型参数(特别是步长 Δ, 输入矩阵 B, 输出矩阵 C)可以根据当前输入动态变化。这使得Mamba能够“选择性地”关注或遗忘信息,类似于RNN中的门控机制,但实现方式更具原理性且计算更高效。

交互式演示:选择性复制

想象一个任务:模型需要记住序列中的特定颜色(如 ),并忽略其他颜色。Mamba通过动态调整其内部参数来实现这一点。点击下方按钮,观察Mamba如何“选择性”地处理输入序列。

硬件感知的并行扫描

选择性破坏了LTI属性,使高效的卷积失效。Mamba为此设计了一种硬件感知的并行扫描算法。该算法通过核函数融合,将所有计算都保持在GPU高速的SRAM中完成,最大限度地减少了对慢速HBM的读写,从而在保持选择性的同时,实现了线性的训练复杂度(O(L))。这与FlashAttention的设计哲学如出一辙。

VisionMamba: 让Mamba看见世界

将为一维序列设计的Mamba应用于二维图像是一大挑战。VisionMamba (Vim) 借鉴了ViT的思想,将图像分块、展平,并引入了关键的“双向Mamba块”来捕捉全局视觉上下文。这使得Vim在保持线性复杂度的同时,获得了与Transformer相当甚至更优的性能。

Vim vs. DeiT 性能对比

点击下方按钮,切换不同任务和效率指标,探索Vim相对于强大的视觉Transformer模型DeiT的优势。

未来展望: 融合与权衡

Vim的成功开启了视觉SSM研究的新浪潮。未来的发展方向包括更精巧的二维扫描模式、Mamba与Transformer的混合架构,以及对SSM固有局限性的深刻理解。

更优的扫描模式

后续工作如VMamba提出了交叉扫描(SS2D),从四个方向扫描特征图,更好地捕捉二维空间结构。

核心权衡:压缩 vs. 检索

SSM的效率源于将历史压缩到固定大小的状态,这本质上是有损的。而Transformer保留了完整上下文,擅长精确检索。这是两种架构的根本性差异。

Transformer: 强检索
📚
O(L2) 成本
Mamba: 高效压缩
📦
O(L) 成本