线性表示假说与 CAV

分类: 推理与评估 · 难度: 中级 · 关联讲座: L15

线性表示假说(Linear Representation Hypothesis)是可解释性研究的核心假设之一,它认为神经网络在高维激活空间中以近似线性的方式编码可解释概念。基于这一假设,Kim et al. (2018) 提出了概念激活向量(TCAV),提供了一种无需修改模型即可量化”概念对分类决策的贡献度”的方法。


📐 线性表示假设与 CAV(概念激活向量)

线性表示假设:神经网络的内部表示在高维空间中近似线性地编码可解释概念。

Concept Activation Vectors(TCAV, Kim et al. 2018)

给定一个概念 CC(如”斑纹”),收集正例集合 PCP_C 和负例集合 NCN_C,在激活层 ll 上训练线性分类器:

hl:Rdl{0,1}h^l : \mathbb{R}^{d_l} \to \{0, 1\}

概念激活向量 vClv_C^l 是分类器的权重方向(法向量)。

TCAV 分数:衡量概念对类别 kk 的影响:

STCAV(k,C,l)={xXk:fl(x)h(fl(x))vCl>0}XkS_{TCAV}(k, C, l) = \frac{|\{x \in X_k : \nabla_{f_l(x)} h(f_l(x)) \cdot v_C^l > 0\}|}{|X_k|}

  • 分子:在类别 kk 的样本中,沿概念方向移动激活值会增加类别 kk 得分的样本数量
  • 意义:STCAV>0.5S_{TCAV} > 0.5 说明该概念对该类别有正相关性

Probing Classifiers(探测分类器):在冻结的预训练模型激活上训练简单线性分类器,检测某语言属性(如词性、句法角色)是否被编码:

P(labelfl(x))=σ(wTfl(x)+b)P(\text{label} | f_l(x)) = \sigma(w^T f_l(x) + b)

高准确率 → 该层编码了该属性;低准确率 → 没有编码。

🔢 具体示例:TCAV 检测 Inception 中的”斑纹”概念

目标:检测 Inception v3 在识别”斑马”时是否依赖”斑纹”概念。

  1. 收集斑纹图像(PCP_C)和随机图像(NCN_C)各 50 张
  2. 在 mixed_10 层提取激活,训练线性 SVM 得到 vClv_C^l
  3. 计算 STCAV(zebra,stripes,mixed_10)0.98S_{TCAV}(\text{zebra}, \text{stripes}, \text{mixed\_10}) \approx 0.98(接近 1)

结论:模型几乎总是通过斑纹方向来分类斑马——该概念是模型决策的核心特征。

对比:STCAV(cat,stripes,mixed_10)0.52S_{TCAV}(\text{cat}, \text{stripes}, \text{mixed\_10}) \approx 0.52(接近随机),说明斑纹概念对猫的分类几乎没有影响。

💡 为什么要做可解释性?

可解释性不是”锦上添花”,而是安全关键系统的刚需。在医疗诊断中,“为什么模型认为这是肿瘤?“和”模型是否因为 X 光机型号决策?“是完全不同的问题。

深层原因:神经网络是高维函数逼近器,我们知道它能做什么,但不知道为什么能做。可解释性研究试图架起”行为”与”机制”之间的桥梁。

Agentic Interpretability 的逻辑:手动分析激活需要大量专家时间 → 让 AI agent 自动假设、设计实验、验证假设,将解释性从”每次手动”变为”持续自动化发现”。

⚠️ 常见误区

  1. 误区:探测分类器准确 → 模型用这个特征做决策 → 正确:相关 ≠ 因果。高准确率只说明信息被编码,不代表模型依赖它做决策(可能存在更短路径)。

  2. 误区:TCAV 分数高 → 概念一定重要 → 正确:需要统计检验(随机 baseline vs. 真实概念,p < 0.05),排除随机线性方向也能给出高分的可能性。

  3. 误区:可解释性与准确率之间必然存在 trade-off → 正确:Pareto 前沿上存在同时提升两者的方向,尤其是概念级表示可能比纯参数优化更样本高效。