Structuring Sparsity: Block-Sparse Featurizers Capture Visual Concept Manifolds
Thomas Fel, Matthew Kowal, Mozes Jacobs, Dron Hazra, Usha Bhalla, Lee Sharkey, Lucius Bushnaq, Satchel Grant, Tal Haklay, Thomas Icard, Can Rager, Michael Pearce, Daniel Wurgaft, Aiden Swann, Fenil Doshi, Siddharth Boppana, Curt Tigges, Nick Cammarata, Thomas Serre, Vasudev Shyam, Owen Lewis, Thomas McGrath, Jack Merullo, Ekdeep Singh Lubana, Atticus Geiger
cs.CV
2026-06-24
三种块稀疏特征器把概念从单方向抬成子空间。DINOv3 上 MDL 短于 SAE,概念稳定秩落在 2 到 4 维;InceptionV1 曲线检测器被收成一条朝向流形。
稀疏自编码器(SAE)把激活拆成稀疏的方向叠加:一条特征对应一条轴,强度是标量。视觉神经科学和近几年的表征几何工作描述的是另一幅图景。一个概念常常占激活空间里一块低维区域,并且带着内部坐标。兔子的脸不是一条「有没有脸」的轴,鼻子和眼睛落在同一块区域的不同位置。
方向先验对这种结构是错配。SAE 会把一条弯曲流形切成许多花瓣,每个朝向单独占一个原子。真正要的正则是:跨概念稀疏,概念内部允许稠密变化。结构化稀疏里的块稀疏(group sparsity)就是这个先验。
生成假设是流形的加法混合:一次激活等于少数几个低维流形上的点相加(Minkowski 和)。每个流形再被当成一个 b 维子空间,代码按块分组。MAP 推导给出 ℓ₂,₀ 块稀疏惩罚:用块的 ℓ₂ 范数开关整个子空间,块内坐标不计入稀疏。惩罚只看范数,对块内基的旋转无感,原子是子空间本身。
三种实现共享线性解码器,差别只在编码:
代码可正可负,不用 ReLU。ReLU 会把每个块裁成锥,叠加恢复需要整个子空间。读特征分两层:块范数说这个概念在不在;对块贡献做 PCA 之后的坐标,说它落在流形的哪一点。主实验在 DINOv3 ViT-B 末层 patch 激活(d=768)上扫块大小 b、字典宽度 G、块稀疏度 k,对照是 b=1 的 SAE。
合成叠加里有 128 个因子,一半是一维原子,一半是圆、球面、环面等弯曲流形。三种 BSF 的逐块 R² 在 0.93–0.97,oracle 是 0.99。TopK SAE 大约 0.53,把多维因子打散。同期的 SMixAE 约 0.71、MFA 约 0.38;换成有符号代码加块投影,或把 MFA 从凸组合改成加法解码,分别升到约 0.85 和 0.88。
| 方法 | 逐块 R² |
| Oracle | 0.99 |
| 三种 BSF | 0.93–0.97 |
| TopK SAE | ≈0.53 |
| SMixAE / 修复后 | ≈0.71 / 0.85 |
| MFA / 加法解码 | ≈0.38 / 0.88 |
下游任务给出保真度地板。分类和分割把激活量化到重建 R²≈0.8,精度几乎不动;深度估计要 R²≈0.9 才能保住 95%。重建本身随 G、k、b 单调变好,所以不能拿 R² 给方法排名。最小描述长度(MDL)可以:分别计算传哪些块、块内代码、残差、摊销后的字典。块稀疏的支持项是 log₂ C(G,k);SAE 要为 kb 个原子付 log₂ C(Gb, kb)。在 20% 失真地板上,三种 BSF 都比 b=1 更短,最短描述落在 b=2 到 4。稳定秩即使给到 b=16 也饱和在 2 到 4。DINOv3 的概念平均大约三维。
InceptionV1 的曲线检测器(Cammarata 等)和后来的 SAE 原子,各自只覆盖朝向的一小瓣。单个 Grassmannian 块覆盖全部朝向。前三个傅里叶模态占方差 89%(59% / 18% / 12%)。ω=2 对 180° 翻转不变,对上了那些以 180° 而不是 360° 缠绕的神经元。匹配空对照里,k≥2 的模态几乎贴着白噪声地板。
DINOv3 上把每个块当成单概念的 ImageNet 类别检测器,BSF 的 F1 在每个稀疏度都高于 SAE,差距随 b 增大。k=64、b=4 的概念图总变差大约是 b=1 的五分之一。用 Blender 扫太阳方位和高度,能找到跟着场景亮度走的块、跟着投影体积走的块;兔子、猴子、牛、茶壶上都跟光照走,不跟物体身份走。SDXL 上沿 pretzel、帽子、人、咖啡等块做转向,用 Kohonen 图贴在流形上,生成图沿网格平滑变化。
线性探针:代码在 ImageNet 分类上超过直接读原始激活的探针,top-1 落在 0.83–0.84 这一档;ADE20k 分割和 NYUv2 深度接近该探针,但没有超过。
可解释性的分析单元从「一条方向」换成「一块带子空间几何的区域」。训练 SAE 时看到的碎片化,有一部分是先验造成的,不是网络真的把曲线存成互不相关的检测器。
能用的地方:视觉基础模型和扩散模型的激活分解,以及沿着流形而不是沿着一条轴做转向。代码已开源。这是一步方向清楚的渐进改进:按表征几何来选原子。论文没有把块说成万能原子。
作者把流形混合当成工作模型。他们预计,把块稀疏直接套到语言或视频上,会像把方向 SAE 套到视觉流形上一样错配。Grassmannian 每 20 步才做一次 QR 回投影;BatchTopK 留给以后。Group Lasso 靠块数超标才打开 ℓ₂,₁ 项来追目标稀疏度,是工程调度。MDL 最优点来自粗网格上的浅谷,站得住的结论是「结构化更短、适中的 b」,不是某一个最佳 b。
转向实验几乎没有对 SAE 转向的定量对照,也没有保真度或可操控性分数。光照块靠合成渲染排序,没有与人工标注或物理测量的相关。线性探针数字出在图上,正文没有逐点表。合成玩具把因子嵌进随机正交子空间,真实激活里子空间会重叠。