跳转至

Hierarchical Concept-based Interpretable Models

会议: ICLR 2026
arXiv: 2602.23947
代码: 无
领域: 可解释AI / 概念模型
关键词: 概念嵌入模型, 层级概念, 概念分裂, 子概念发现, 概念干预

一句话总结

HiCEMs引入层级概念嵌入模型,通过Concept Splitting方法在预训练CEM的嵌入空间中自动发现细粒度子概念(无需额外标注),构建层级概念结构,使模型能在不同粒度层次进行测试时概念干预以提升任务性能。

研究背景与动机

现代深度神经网络因其潜在表征的不透明性而难以解释,阻碍了模型理解、调试和去偏。概念嵌入模型(CEM)通过将输入映射到人类可理解的概念表征来解决这个问题。然而,CEM存在两个根本性局限:(1) 无法表示概念间的关系——将所有概念视为扁平的、独立的,忽略了概念天然的层级结构(如"羽毛颜色"→"胸部红色"/"翅膀蓝色");(2) 需要不同粒度级别的概念标注来训练层级模型,标注成本极高。核心矛盾是:层级概念结构对深入理解和精准干预至关重要,但获取多层级标注数据不切实际。本文的核心idea是:通过Concept Splitting在已有CEM的嵌入空间中自动发现子概念,无需任何额外标注即可构建层级概念结构。

方法详解

整体框架

概念嵌入模型(CEM)把每个概念学成一个高维向量,但它把所有概念当作扁平、独立的,要训出"父概念→子概念"的层级模型就得另外标注多个粒度的概念,成本极高。本文的关键观察是:CEM 的嵌入空间里其实早已隐含了比标注更细的子概念结构(比如带"含蔬菜"标注训出来的嵌入,会自发编码出"含洋葱""含胡萝卜"这类没标过的子概念)。于是 HiCEMs 走两阶段:先训一个标准 CEM 拿到可靠的概念嵌入,再用 Concept Splitting 在这个嵌入空间里无监督地挖出子概念(不需要任何新标注),最后在挖出的层级上训一个 HiCEM——它的概念瓶颈层不再吐扁平向量,而是逐概念同时给出"父概念 + 正/负子概念"的层级化预测,标签层据此分类,并支持测试时在任意粒度做概念干预。为了在可控环境里验证这套层级机制,本文还合成了 PseudoKitchens 数据集作测试场。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
    X["输入图像 x"] --> CEM["训练标准 CEM<br/>抽每个概念的嵌入"]
    subgraph CS["Concept Splitting(设计 1)"]
        direction TB
        CEM --> PART["按 CEM 预测分桶<br/>正嵌入 / 负嵌入"]
        PART --> SAE["两桶各训 BatchTopK SAE"]
        SAE --> SUB["SAE 特征=一个子概念<br/>得正/负子概念伪标签"]
    end
    subgraph HI["HiCEM 架构(设计 2)"]
        direction TB
        BB["骨干 ψ(x)→潜码 h<br/>→父概念正/负嵌入"] --> MOD["正/负子概念模块<br/>soft-max 聚合出父概率"]
        MOD --> BN["拼接所有概念嵌入<br/>→线性标签预测器 f"]
    end
    X --> BB
    SUB --> BB
    BN --> Y["任务标签<br/>+ 层级概念解释"]
    INT["测试时多粒度干预"] -.->|改父级联子<br/>改子只动局部| MOD

关键设计

1. Concept Splitting:用稀疏自编码器在嵌入空间里挖出没标过的子概念

子概念发现能不靠额外标注,前提是概念表征里本就藏着比标注更细的信息,而这正是 CEM 相对 CBM 的差别——CBM 把每个概念压成一个 0/1 标量、丢光了细粒度语义,CEM 则把概念学成高维嵌入 \(\hat{c}_i\),连续向量里保留了"翅膀是条纹还是纯色"这类标注里没有却视觉可分的差异。Concept Splitting 就在这个空间里动刀:先在标注训练集上跑训好的 CEM \(M\),存下每个样本、每个待拆概念 \(c_i\) 的嵌入 \(\hat{c}_i\) 与预测概率 \(\hat{p}_i\);再用 \(M\) 自己的预测把 \(c_i\) 的嵌入分成两桶——\(\hat{p}_i>0.5\)(概念在场)的正嵌入集 \(E_i^{true}\) 与概念不在场的负嵌入集 \(E_i^{false}\)。关键一步是借鉴 SAE 能在神经网络表征里找出可解释特征的发现,在这两桶上分别训一个 BatchTopK 稀疏自编码器(保留批内 top 激活):\(E_i^{true}\) 上的 SAE 找出"\(c_i\) 在场时才出现"的正子概念,\(E_i^{false}\) 上的找出负子概念,每个 SAE 特征即一个被发现的子概念,按特征是否激活给样本打上子概念伪标签。整个过程没引入一条新标注,只是把 CEM 训练时已隐式学到、却从未被显式利用的子概念结构挖了出来;发现的子概念再用"强激活它的训练样本"(原型)让专家事后赋予语义名。

⚠️ 论文正文用 SAE(BatchTopK)做拆分;基于聚类找互斥子概念是附录 A 的替代方案,不是主方法。

2. HiCEM 架构:把子概念接回预测,父概率由子概率聚合而来

挖出层级后还得有个架构真正用上它,否则发现的子概念无处落地。HiCEM 沿用 CEM"每个概念学正、负两个嵌入"的设定:骨干 \(\psi(x)\) 出潜码 \(h\),父概念嵌入生成器据此产出中间嵌入 \(\hat{c}_i^{+0}, \hat{c}_i^{-0}\),再分别送进正、负子概念模块。每个模块内部为该父概念的每个子概念学一个子嵌入 \(\hat{c}_{kj}^{+}\),用共享打分函数 \(s(\cdot)\) 算出各子概念概率 \(\hat{p}_{kj}^{+}\),父概念的正嵌入 \(\hat{c}_k^{+}\) 就是这些子嵌入按概率的加权混合。父概念是否在场不再单独预测,而是从子概念概率聚合出来:用一个可微"软最大"取最强的正子概念概率作 \(\hat{p}_k^{+}\)(实践中把概率从 \([0,1]\) 缩放到 \([-10,10]\) 再过 softmax,逼近真 max),最终 \(\hat{p}_i = \tfrac{1}{2}(\hat{p}_i^{+} + (1-\hat{p}_i^{-}))\),概念嵌入 \(\hat{c}_i = \hat{p}_i\hat{c}_i^{+} + (1-\hat{p}_i)\hat{c}_i^{-}\)。这种"父概率由子概率推出"的设计天然保证了层级一致——父概念只有在某个正子概念在场时才可能在场。所有概念嵌入拼成瓶颈、过一个线性标签预测器 \(f\) 出任务标签;预测同时给出父、子两级概念概率作解释。也正因为父子被显式连起来,测试时可在任意粒度做干预:改父概念会级联到子概念,改某个子概念只动局部,这是后面细粒度干预更高效的来源。

3. PseudoKitchens 数据集:造一个层级天然可控的测试场

真实数据里很难精确控制概念的层级组合,难以干净地检验模型是否真用上了子概念结构。本文用 3D 厨房渲染合成了 PseudoKitchens,里面的厨具与食品概念带天然层级,渲染时可逐项控制每个概念出现与否,从而为"层级概念是否被有效利用"提供一个可控实验场。

损失函数 / 训练策略

训练分两阶段:先把标准 CEM 训到收敛、跑 Concept Splitting 定下层级,再在该层级上训 HiCEM。HiCEM 的目标是任务预测与概念预测交叉熵的加权和 \(\mathcal{L} = \mathbb{E}_{(x,y,c)}\big[\mathcal{L}_{task}(y, f(g(x))) + \alpha\,\mathcal{L}_{CE}(c, \hat{p}(x))\big]\),超参 \(\alpha\) 调节概念准确率与任务准确率的相对权重;其中 \(\hat{p}(x)\) 已含父、子两级概率,层级一致性由上面"父概率从子概率聚合"的架构保证、无需额外正则项。为提升干预效果,训练时沿用 CEM 的 RandInt 策略:以概率 \(p_{int}\) 随机对概念做独立干预。

实验关键数据

主实验

数据集 指标 HiCEM 标准CEM CBM 说明
MNIST-ADD Task Acc ~高 基线 较低 数字加法任务
SHAPES Task Acc ~高 基线 较低 形状属性识别
CUB-200 Task Acc 竞争力 基线 较低 鸟类细粒度分类
AwA2 Task Acc 竞争力 基线 较低 动物属性预测
PseudoKitchens Task Acc 最优 基线 较低 新提出的3D厨房数据集

注:HiCEM在所有数据集上保持了与CEM相当或更好的准确率,同时提供了更细粒度的解释。

概念干预实验

数据集 干预方式 无干预 粗粒度干预 细粒度干预(HiCEM) 说明
CUB-200 随干预数增加 基线 提升 更大提升 细粒度干预效果更好
AwA2 随干预数增加 基线 提升 更大提升 层级干预的累积效应
SHAPES 随干预数增加 基线 提升 更大提升 尤其在中等干预数量时优势明显

用户研究(User Study)

评估维度 结果 说明
子概念可理解性 用户能为多数子概念赋予有意义的名称 验证了Concept Splitting发现的子概念具有人类可理解的语义
解释有用性 HiCEM的层级解释比CEM的扁平解释更受青睐 层级结构提供了更直观的错误追踪路径
干预效率 细粒度干预需要更少的修正次数 精准定位出错的子概念比修正粗粒度概念更高效

关键发现

  • Concept Splitting发现的子概念具有很高的人类可理解性——在CUB数据集上,"翅膀颜色"被分裂为"翅膀条纹"和"翅膀纯色"等子概念,用户可以直观理解
  • 细粒度概念干预比粗粒度干预更有效:在CUB上,干预5个细粒度子概念的效果优于干预5个粗粒度父概念
  • HiCEM在不牺牲任务准确率的前提下提供了更丰富的解释,打破了"可解释性 vs 准确率"的常见trade-off
  • 在PseudoKitchens上的实验表明,具有天然层级概念的域中HiCEM的优势最为明显
  • CEM嵌入空间中确实存在有意义的子概念结构——这验证了CEM在训练过程中隐式学习了超出标注粒度的信息
  • 不同概念的最优分裂数量不同:有些概念自然地包含多个子概念,有些则是"原子"概念不需要进一步分裂

亮点与洞察

  • 零额外标注的子概念发现:这是本文最大的贡献——仅利用CEM训练过程中自然形成的嵌入空间结构,不需要任何新的标注就能发现细粒度子概念
  • 可解释性的层级化:从"模型使用了哪些概念"到"模型具体使用了概念的哪个方面",这是可解释AI的重要进步
  • 概念干预的精细化:测试时干预从"修正一个概念"进化为"在正确的层级修正正确的子概念",大幅提高了干预效率
  • 新数据集PseudoKitchens:为概念层级研究提供了一个可控的实验环境(3D渲染可精确控制概念组合),填补了领域空白
  • 理论洞察:CEM嵌入空间天然包含比标注更丰富的信息这一发现,启发了对其他representation learning方法的类似探索

局限与展望

  • Concept Splitting的质量高度依赖初始CEM嵌入空间的质量——如果CEM学得不好,聚类出的子概念可能没有意义
  • 目前仅支持一层分裂(父→子),未扩展到多层分裂(由同组Workshop论文"Digging Deeper"探索了多层扩展)
  • SAE 的超参(稀疏度、特征激活阈值)与"哪些特征算有意义的子概念"仍需人工调优与验证
  • 在大规模数据集(如ImageNet)上的可扩展性未验证
  • 层级一致性约束可能过于严格——现实中子概念不一定严格从属于父概念
  • 未与基于注意力的可解释方法(如GradCAM)或特征归因方法(如SHAP)进行系统比较

相关工作与启发

  • Concept Bottleneck Models (CBM): 可解释AI的基础框架,HiCEM在其上引入了层级结构
  • Concept Embedding Models (CEM): HiCEM的直接前身,通过连续嵌入而非二值标量表示概念
  • Digging Deeper (ICLR 2026 Workshop): 同组后续工作,将Concept Splitting扩展到多层次(MLCS),配合Deep-HiCEMs架构
  • Concept Activation Vectors (TCAV): 另一种概念发现方法,但不构建层级结构
  • 启发:概念层级的自动发现思路可以推广到:(1) 公平性分析——发现敏感属性的子群体;(2) 模型调试——定位模型错误的精确概念层级;(3) 数据增强——基于概念层级的结构化采样

评分

  • 新颖性: ⭐⭐⭐⭐⭐
  • 实验充分度: ⭐⭐⭐⭐
  • 写作质量: ⭐⭐⭐⭐⭐
  • 价值: ⭐⭐⭐⭐⭐