跳转至

CFM: Language-aligned Concept Foundation Model for Vision

会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/kawi19/CFM
领域: 可解释性 / 多模态 VLM / 语义分割
关键词: 概念瓶颈、局部概念、稀疏自编码器、层级命名、开放词汇分割

一句话总结

CFM 将语言对齐视觉特征分解成有空间位置、层级关系和文本名称的稀疏概念,在基本保留分类、分割与图像描述性能的同时,让下游预测能够被概念化解释和干预。

研究背景与动机

CLIP 一类视觉语言模型把图像和文本放入共享语义空间,因此一套视觉特征可以服务分类、开放词汇分割以及语言模型的视觉输入。 但“特征与某个词接近”并不说明模型具体看到了哪里,也不解释哪部分视觉证据促成了判断。 现有概念瓶颈模型尝试把不可读的向量拆成可命名概念,却常从整图池化特征出发,得到的是全局关联而非局部证据。 例如草地与牛频繁同框,一个所谓“牛”概念可能主要响应背景;即使分类正确,这种解释也没有回答模型是否依据了正确对象。

把概念用到分割或图像描述时,这个缺口更明显:整图概念向量丢失了哪个区域对应哪个概念,难以替代视觉模型的空间 token。 仅仅把概念数量增多也不够,因为粗类别、细物种和对象部件可能混在一起,既没有清楚的关系,也不一定能被同一种命名办法准确描述。 Matryoshka 稀疏自编码器可以鼓励粗到细的表示,但“有不同粒度”不等于“已经知道谁是谁的父概念”。 若细粒度向量只负责补充粗粒度表示遗漏的残差,直接用文本近邻给它命名,还可能得到脱离对象语境的词。

CFM 因而同时处理概念的空间来源、概念之间的关系及名称的语义参照,而不是只优化分类头上的解释文字。 它保留语言对齐空间作为下游接口,让解释来自任务实际使用的概念表示,而非另加一段事后说明。 核心 idea:在语义平滑的局部视觉特征上学习粗到细的稀疏概念,再用同一位置的概念共现发现父子关系,并以父概念补足细概念的命名语境。

方法详解

整体框架

输入图像先经过冻结的 CLIP-DINOiser 骨干,得到仍与文本空间对齐、但局部语义更一致的 patch 特征。 “局部概念编码”将每个 patch 映射为共享字典上的稀疏激活,所有 patch 的激活合起来就是空间概念图。 训练后,“局部关系发现”在数据集上统计同位置共现,“层级感知命名”再将字典及其关系转换成可读标签。 这些关系与名字用于组织解释;实际任务可以直接读取概念激活或其重建特征,不需要先把概念名称写成文本提示。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        Input["图像"] --> Features["冻结骨干<br/>CLIP-DINOiser"]
        Features --> Local["局部概念编码"]
        Local -->|训练后统计| Relations["局部关系发现"]
        Relations --> Naming["层级感知命名"]
        Local -->|推理时| Tasks["概念激活或重建特征<br/>分类、分割、描述"]
        Naming -.->|解释标签| Explain["概念解释与干预"]
        Tasks --> Explain

空间位置并不是从整图分类分数反推出的热图,而是概念编码时就保留下来的索引。 同一个字典神经元可以在不同图像、不同 patch 上被激活,因此概念既可跨样本复用,也可显示其在某张图中的具体位置。 SAE 解码器把稀疏激活线性映射回原视觉空间;这一接口使原来接受视觉嵌入的任务仍然能够使用它。 分类、分割和图像描述采用的读取方式不同,不能把三者理解为同一个无需训练的任务头。

关键设计

1. 局部概念编码:先让局部特征干净,再学习粗到细的概念

直接对 CLIP 的局部 token 学概念,会遇到局部特征噪声和空间语义不稳定的问题。 CLIP-DINOiser 利用 DINO 自监督特征体现的语义亲和性进行引导池化,让语义相似的 patch 互相支持,而不是把整幅图像混成一个向量。 原文将其比作局部语义“投票”:同类区域共同增强稳定信息,降低孤立噪声的影响。 为了使推理高效,其已有机制用在 patch token 上训练的小型 \(3\times3\) 卷积近似 DINO 亲和图,不要求每次推理都独立运行完整 DINO 分支。 CFM 在这种平滑后的末层 patch 特征上训练 SAE,既保留语言对齐,也提高对象部件和局部属性形成稳定概念的机会。

SAE 的仿射编码器把每个 patch 的特征映射到高维概念空间,仿射解码器负责重建原特征。 Matryoshka 训练并非只要求完整字典重建成功,而是让多个由前若干神经元组成的嵌套前缀分别重建完整输入。 最小前缀容量有限,因而倾向承担粗粒度信息;更靠后的神经元可以补充细粒度残差。 这里的“倾向”是结构性训练诱导,不是人工给每个神经元预先指定一个语义层级。 BatchTopK 稀疏约束允许不同样本分配不同数量的有效概念,比每个 patch 固定保留相同数量更灵活。 因此主文的 \(K=12\) 应理解为稀疏度设置,不能据此声称每个 patch 在所有阶段都恰好具有 12 个非零激活。

2. 局部关系发现:用有方向的同位置共现识别父子候选

有了概念图以后,作者考察“子概念出现的位置是否也有父概念”。 例如“龟壳”激活时,“龟”也应在相应局部区域激活;反过来,出现“龟”未必就能看到龟壳。 这种方向不对称性比普通共现计数更适合表达部分关系或细分类关系。 设 \(A_{jp}\) 是概念 \(j\) 在 patch \(p\) 的激活强度,\(B(p)\) 是该位置超过激活阈值的概念集合,式 (2) 定义:

\[ C_{ij}=\frac{\sum_{p:\,i,j\in B(p)}A_{jp}}{\sum_{p:\,j\in B(p)}A_{jp}}. \]

分母统计子候选 \(j\) 的有效激活总量,分子只保留其中父候选 \(i\) 同时出现的位置。 当 \(C_{uv}\geq\tau\) 时,模型将 \(u\) 视为 \(v\) 的父概念候选,得到有方向的关系图。 用子概念激活强度加权,可以让强证据比微弱响应更影响关系判断。 关键在于统计单位是 patch 而非整图,这能减少“田野”和“牛”仅因同框而被错误连边的问题。 这种关系仍然来自观察统计,不等价于因果关系,也没有保证所有关系构成唯一、无误的语义树。

3. 层级感知命名:把细概念的残差放回父概念语境

普通自动命名会在候选词表中寻找与 SAE 解码字典向量最接近的 CLIP 文本嵌入。 这种办法对最粗的 Matryoshka 概念较自然,却可能误读后续神经元,因为后者不是独立完整对象,而是在已有粗表示上提供补充。 CFM 因而在为子概念检索名称前,引入发现的父概念字典向量,恢复其所处的语义语境。 这相当于让一个表示龟壳细节的方向与“龟”的表示一起参与命名,而不是要求一个残差方向单独对应自然语言名词。 作者还扩展了可供匹配的细粒度词汇,使类别、部件和属性不受狭小标签表限制。

需要区分命名和识别:名称只是对已学习神经元的文字描述,不是用这些名称重新监督 SAE。 多个父概念可以影响命名,关系图也能把同一预测的贡献整理成粗概念及其细概念,而非展示互不关联的词列表。 这有助于解释概念之间为何同时出现,但不能保证每个名称都准确或每个神经元都只有单一含义。 缓存中式 (1)、(3)、(4) 的运算符或排版损坏,因此这里依据相邻正文解释前缀重建与父向量修正,不猜补偏置符号或精确公式。 主文引用的附录未包含在缓存中,词表具体规模、关系阈值和更细训练设置也不作补写。

一个完整示例

以原文图 8 的海边风筝图为例,图像中的风筝、海面与沙地先分别形成局部稀疏概念激活。 在分割时,SAE 将这些激活重建成语言对齐向量,再与任务给定的类别词嵌入计算余弦相似度。 基础版本先获得 patch 级预测再双线性上采样;AnyUp 版本先把概念激活上采样到像素级,再解码并计算类别相似度。 两者改变的是空间恢复路径,而不是另行训练一套封闭类别的像素标注分类器。 图 8 中风筝分割区域的前三个概念贡献为 Sport Kite 32.0%、Kite String 26.9%、Sail Boats 5.0%。 这是一张图的解释示例,不是风筝类别的总体准确率;Sail Boats 的出现也提醒读者,局部概念仍可能有混淆。

图像描述采用另一条接口:空间输出 token 经 MLP 适配器送入 Gemma-2-2B Instruct,而不是直接把分割标签串成描述。 图 7 展示将选定概念激活置零后,可以去除描述中的蛋糕内容并保留饮品内容,或反向操作。 这种干预发生在语言模型使用的视觉表示上,因此比仅编辑生成后的句子更接近改变视觉证据。 不过该例证明的是可操作性,不是所有场景都能只删掉目标语义、完全不影响其他内容的保证。

损失函数 / 训练策略

主实验使用 CLIP ViT-B/16,以 CC12M 的视觉特征无监督训练 SAE,默认字典含 8192 个概念,稀疏度参数为 \(K=12\)。 核心优化是多层嵌套前缀的特征重建配合 BatchTopK,而不是监督学习一套人工概念标签或分割掩码。 骨干的语言对齐能力来自既有预训练;“无监督概念学习”不表示整个视觉语言系统从未使用图文配对数据。 分类实验在 patch 概念激活的最大池化与平均池化表示上训练线性头,精确聚合细节被原文放在未提供的附录中。 图像描述沿用 LLaVA 式设置,在 CC12M DreamLIP 长描述上同时微调适配器和语言模型。 开放词汇分割则直接比较重建特征与类别文本,不需要新增固定类集的像素级监督。 关系发现与命名是在概念表示学好之后进行的解释构建步骤,不能误画成每次预测都要重新遍历训练集。

实验关键数据

主实验

下表节选主文表 1(第 13 页),指标为 mIoU,越高越好;Avg 是原表全部 8 个设置的均值,不是此处所选列的均值。 VOC20、C59 和 ADE 不使用背景提示,VOC 使用背景提示;骨干基线由作者为推理一致性重新运行。

方法 VOC20 C59 ADE VOC(含背景) Avg
CLIP-DINOiser 80.8 36.0 20.5 62.2 41.4
CFM 80.7 36.5 20.7 62.2 41.3
CLIP-DINOiser + AnyUp 81.6 37.2 20.9 64.0 42.2
CFM + AnyUp 81.8 37.6 21.1 63.6 41.9

CFM 的平均 mIoU 比对应骨干低 0.1,加入 AnyUp 后低 0.3;证据支持“接近骨干”,而不是全面超越不可解释模型。 分类方面,图 6(第 11 页)报告 OpenAI CLIP 版本的 CFM 在 ImageNet / Places365 上为 78.9 / 55.4,标准 CLIP 线性探针为 80.2 / 55.1。 描述方面,图 7(第 12 页)的 CFM 与 CLIP-DINOiser 的 CLIPScore 均为 0.72,CAPTURE 均为 0.35;RefCLIPScore 则为 0.72 对 0.73。 这些描述结果的完整评测设置被放在附录中,当前缓存不能进一步核实,故只按主图报告而不扩展泛化结论。

消融实验

下表节选表 2(第 14 页);分类使用 OpenCLIP CLIP ViT-B/16,不能与图 6 的 OpenAI 权重结果直接当作同一组容量消融。 Loc. 为 PartImageNet 上按标注部件评估的概念定位分数,C2 衡量 DINOv2 特征空间中的归因一致性;二者均越高越好。

字典容量 ImageNet Places365 OVS Avg Part Loc. C2
4k 78.2 55.5 41.1 43.9 0.488
8k(默认) 78.6 55.6 41.3 44.3 0.465
16k 78.6 56.0 40.8 44.6 0.418

容量翻倍不必然改善所有指标:从 8k 到 16k,Places365 增加 0.4,而 OVS Avg 下降 0.5,C2 下降 0.047。 这里证明的是字典容量与任务性能、解释一致性的取舍;它没有独立隔离局部编码、关系发现或命名模块各自的贡献。 原文表示更多结构消融见附录 B,但缓存没有该附录,不能据此编写去模块后的数值。

关键发现

  • 图 3(第 7 页)的 PartImageNet 定位分数:CFM 为 44.3,PatchSAE 为 32.2,SALF-CBM 为 16.4;局部概念质量的改善比下游精度增益更鲜明。
  • 同图的 ImageNet C2 分数为 0.465、0.295、0.298,支持作者关于概念一致性的主张,但这些代理指标不等价于因果忠实性。
  • 人类研究覆盖 1000 个概念、每项 5 位标注者;主文称超过 80% 的标注给出至少 3 分的一致性评价,不应改写成超过 80% 的概念完全正确。

亮点与洞察

  • 把概念瓶颈放到 patch 层,让空间位置成为表示本身的一部分。这使同一概念层既能回答“是什么”,又能回答“在哪里”。
  • 层级不仅用于可视化,还反过来修正名称。残差特征需要上下文才能被人读懂,这是对 Matryoshka 表示结构的针对性利用。
  • 重建接口把可解释表示接回原来的视觉语义空间。读者启发是:构建解释模块时,可以优先保住下游接口,再检验信息损失,而非为每个任务另造一套概念系统。

局限与展望

  • 作者承认概念命名仍不完善,且无监督概念解释缺乏统一、充分适用的评测框架;更大、更具多样性的数据和 VQA 应用是其未来方向。
  • 局部条件共现能减轻整图伪相关,但不能排除对象纹理、遮挡或上下文带来的局部混淆;关系图应视为经验语义组织,而非真实世界本体。
  • 图像描述干预目前主要由定性例子说明。读者建议增加干预成功率与无关内容保持率,检验概念删除是否具有稳定的选择性。
  • 主文对“所有下游任务”的措辞强于实际验证范围:这里看到的是分类、描述与开放词汇分割,不是任意视觉推理任务的普遍保证。
  • 当前全文缓存缺少附录,部分公式抽取损坏;本文只记录可读主文的机制与数字,没有声称完成精确实现级复现。

相关工作与启发

  • vs DN-CBM / LF-CBM:这些概念瓶颈主要解释图像级分类;CFM 保留局部概念图,并把概念表示用于空间任务和语言模型输入。
  • vs PatchSAE:两者都关注局部 SAE 概念;CFM 结合语义平滑、粗到细字典和关系感知命名,图 3 展示更好的空间定位与一致性。
  • vs CLIP-DINOiser:后者是局部语言对齐骨干而非可读概念系统;CFM 在其上增加概念分解,表 1 衡量的是这种解释能力所伴随的性能代价。
  • vs Matryoshka SAE:嵌套重建先提供粒度差异,CFM 再从局部激活中发现显式关系;两者不能混称为“预先给定概念树”。

评分

  • 新颖性: 4/5。把局部概念表示、数据驱动关系和结构感知命名联成可跨任务使用的系统。
  • 实验充分度: 4/5。主文覆盖三类任务、解释代理指标和人类研究,但当前缺少附录,无法核验全部结构消融。
  • 写作质量: 4/5。方法主线清晰,部分重要实现和评测边界依赖附录,公式缓存也影响复现阅读。
  • 价值: 4/5。适合研究视觉基础模型的可解释接口,不宜把名称与关系直接当成可靠因果解释。