想象你是一位美食评论家,面对的是一位从不开口说话的神秘主厨。他做的菜惊艳四座,可当你问他“为什么给这道菜打高分”时,他只会耸耸肩——这就是深度神经网络:表现优异,却是不折不扣的黑箱。你想知道的不只是“这道菜里盐放多了”,而是更宏观的问题:这位主厨的味觉体系里,到底依不依赖“蒜香”?基于概念的概念激活向量(CAV)与 TCAV,正是为你这样“想听懂黑箱”的人准备的一套“脑电波测谎术”。它的思路简单又巧妙:与其逼问主厨,不如在他品尝“有蒜”与“无蒜”两类菜时扫描脑电波(中间层激活),找到一条能区分两种状态的“蒜香方向”;再轻轻把脑电波沿这条方向推一小步,看他打分的手会不会抖——抖的方向和比例,就是模型依赖概念的证据。本文将从黑箱困境讲起,带你走过激活空间、CAV 训练、TCAV 得分、显著性检验,最后聊到偏见检测与工程实践中的坑。

岗位关联

学会 CAV/TCAV,你就掌握了一套“问黑箱要概念”的通用方法,能胜任模型审计、偏见检测与可信 AI 合规等一线岗位的核心分析工作。

目录
  1. 可视化演示
  2. 黑箱解释困境
  3. 激活空间探索
  4. CAV训练原理
  5. TCAV核心算法
  6. 显著性检验
  7. 应用场景实战
  8. 局限与优化
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

通过CAV构造流程、方向导数计算与TCAV显著性检验,直观展示概念级模型解释方法的核心原理与多概念评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

概念激活向量 加载中

黑箱解释困境

想象你是美食评论家,对面坐着一位从不开口的神秘主厨。他做的菜惊艳四座,可一旦问他“为什么给这道菜打高分”,他只会耸耸肩。这就是深度神经网络:成绩单漂亮,却讲不出任何道理。我们既不能撬开他的脑袋,也不能指望他开口——只能想别的办法“偷听”。

现有的事后解释工具,如 SHAP 和 LIME,相当于逐个品尝每道菜、算出“盐贡献了 30%、辣椒贡献了 20%”。它们回答的是“这一道菜为什么”,却回答不了“主厨整体上到底用不用蒜香”——这是全局的、概念级的问题。CAV 的思路是换个信息源:不分析输入,而是分析模型中间层对样本产生的激活向量。给定输入 x,第 l 层会输出一个高维向量 z,它像一张“脑电波快照”,记录模型这一刻的“理解”。

评论家不再逼问主厨,而是每次上菜时偷瞄脑电波仪。黑箱的壳撬不开,但壳里的“振动”可以测量。下一节,我们就用这张脑电波地图做文章。

z(l)(x)=f(l)(x)∈Rd\displaystyle z^{(l)}(x) = f^{(l)}(x) \in \mathbb{R}^d
通俗说明:把一道菜“翻译”成 d 维脑电波坐标,CAV 的一切分析都发生在这张坐标图上。
  1. 层映射 f^{(l)}神经网络第 l 层对输入 x 的变换,输出中间表示,层数越深抽象程度越高。
    f(l)(x)\displaystyle f^{(l)}(x)
  2. 激活向量 z^{(l)}(x)x 在第 l 层的 d 维输出,即那一瞬间的“脑电波快照”。
    z(l)(x)∈Rd\displaystyle z^{(l)}(x) \in \mathbb{R}^d
  3. 维度 d该层神经元的个数,决定了脑电波地图的坐标轴数量。
    d=len(z(l))\displaystyle d = \text{len}(z^{(l)})

激活空间探索

脑电波地图有一个奇妙性质:同类感受的菜会自然地挤在一起。评论家发现,凡是带蒜的菜,其扫描点总聚在右上角;不带蒜的则沉在左下角——两堆泾渭分明。这说明“蒜香”在脑内有着清晰的地理位置。

激活空间正是这样一张高维地图:上千维坐标里,语义相似的样本距离近,语义不同的样本距离远。研究者发现,很多概念(条纹、肤色、性别、蒜香)的样本在激活空间中呈现簇状分布,并且簇与簇之间往往可以“一刀切”——这被称为线性可分。可分意味着存在一个超平面把“有蒜”与“无蒜”分开,这个超平面有一条法线方向,沿它移动,就能从无蒜走到有蒜。

这个概念方向可用余弦相似度来刻画样本与它的对齐程度:

地图上“两堆颜色”和“一条斜轴”给了评论家灵感:只要精确画出这条轴,就能定位蒜香在脑内的坐标。问题来了——这条轴该怎么画?

cos⁡θ=z⋅v∥z∥⋅∥v∥\displaystyle \cos\theta = \frac{z \cdot v}{\lVert z \rVert \cdot \lVert v \rVert}
通俗说明:余弦值越接近 1,说明这道菜的脑电波越“面朝”蒜香方向。
  1. 内积 z·v把激活向量 z 投影到概念方向 v 上,投影值越大,蒜香读数越高。
    z⋅v=∑j=1dzjvj\displaystyle z \cdot v = \sum_{j=1}^{d} z_j v_j
  2. 模长归一化除以两个向量的长度,让结果只看方向、不看强弱。
    ∥z∥⋅∥v∥\displaystyle \lVert z \rVert \cdot \lVert v \rVert
  3. 余弦值域取值在 [-1, 1],1 为完全同向,-1 为完全反向。
    cos⁡θ∈[−1,1]\displaystyle \cos\theta \in [-1, 1]

CAV训练原理

画轴的方法朴素得可爱:评论家端上两批菜,一批蒜香扑鼻,一批完全无蒜,扫出两组脑电波,然后让助手玩“猜蒜游戏”——只看脑电波,猜哪道菜有蒜。猜得最准的那套判断规则,本身就藏着蒜香的方向。

这正是 CAV 的训练过程:收集概念集 X_C(含概念的样本)与中性集 X_N(不含概念的样本),分别过模型得到激活向量;再训练一个线性 SVM 二分类器去区分两组。SVM 学到的最优权重向量就是 CAV——它垂直于分类超平面,指向“蒜香增强”的方向。

形式上,CAV 是下列线性 SVM 优化问题的解:

助手玩了几百轮“猜蒜游戏”后,画出一条得分最高的分割线。评论家把它的法线记下来,命名为“蒜香轴”——任何一道菜都可以在这根轴上读数,读出脑内的蒜香浓度。

vC(l)=arg⁡min⁡v,b12∥v∥2+C∑i=1nmax⁡(0,  1−yi(v⊤zi+b))\displaystyle v_C^{(l)} = \arg\min_{v, b} \frac{1}{2}\lVert v \rVert^2 + C \sum_{i=1}^{n} \max\left(0,\; 1 - y_i (v^{\top} z_i + b)\right)
通俗说明:训练的目标是在“把两类分开”与“保持边界简单”之间找平衡,平衡点处的法线就是概念方向。
  1. 解 v_C^{(l)}第 l 层上针对概念 C 训练出的权重向量,归一化后即为 CAV。
    vC(l)∈Rd\displaystyle v_C^{(l)} \in \mathbb{R}^d
  2. 正则项惩罚过大的权重,让分类边界平滑,防止在脑电波噪声上过拟合。
    12∥v∥2\displaystyle \frac{1}{2}\lVert v \rVert^2
  3. 铰链损失样本被自信且正确分类(间隔 ≥ 1)时损失为 0,否则按偏移程度惩罚。
    max⁡(0,  1−yi(v⊤zi+b))\displaystyle \max\left(0,\; 1 - y_i (v^{\top} z_i + b)\right)
  4. 标签 y_i概念集样本记为 +1,中性集样本记为 −1。
    yi∈{+1,−1}\displaystyle y_i \in \{+1, -1\}

TCAV核心算法

有了蒜香轴,真正的问题才登场:主厨打分时,到底用没用这根轴?评论家设计了一次“轻推实验”:在脑电波坐标上,沿蒜香轴方向推一小步,然后观察主厨的“美味评分”是上涨还是下跌。

数学上,“轻推后评分的变化率”就是方向导数:模型对类别 k 的输出 h_k 在当前激活点处的梯度,与 CAV 的点积。导数为正,说明“顺着蒜香方向走,评分会涨”,即模型在这个样本上借用了蒜香线索;为负则相反。

但单个样本说明不了全局。TCAV 的做法是对概念集里所有样本统计“导数大于 0 的比例”:

轻推实验在 100 道蒜香菜上做了 100 次:75 道推完后评分上涨。评论家在笔记本上写下结论——“该主厨的味觉系统存在明显的蒜香依赖,TCAV = 0.75”。

SC,k(l)(x)=∇hk(f(l)(x))⋅vC(l)\displaystyle S_{C,k}^{(l)}(x) = \nabla h_k\left(f^{(l)}(x)\right) \cdot v_C^{(l)}
TCAVC,k(l)=∣{x∈Xk:SC,k(l)(x)>0}∣∣Xk∣\displaystyle \text{TCAV}_{C,k}^{(l)} = \frac{\left| \left\{ x \in X_k : S_{C,k}^{(l)}(x) > 0 \right\} \right|}{|X_k|}
通俗说明:第一行算“每道菜的蒜香敏感度”,第二行统计“有蒜的菜里,多少比例因为蒜香而评分上涨”。
  1. 梯度 ∇h_k模型对类别 k 的置信度在当前激活点的变化方向,相当于“推哪里评分涨得快”。
    ∇hk(f(l)(x))∈Rd\displaystyle \nabla h_k\left(f^{(l)}(x)\right) \in \mathbb{R}^d
  2. 方向导数 S梯度与 CAV 的点积,衡量沿蒜香轴轻推一步的评分变化速率。
    SC,k(l)(x)=∇hk⋅vC(l)\displaystyle S_{C,k}^{(l)}(x) = \nabla h_k \cdot v_C^{(l)}
  3. 计数集合从概念集 X_k 中筛出方向导数为正的样本。
    {x∈Xk:SC,k(l)(x)>0}\displaystyle \left\{ x \in X_k : S_{C,k}^{(l)}(x) > 0 \right\}
  4. TCAV 得分该比例落在 [0, 1],越高说明模型越依赖概念 C,且不依赖梯度绝对值大小。
    TCAVC,k(l)∈[0,1]\displaystyle \text{TCAV}_{C,k}^{(l)} \in [0, 1]

显著性检验

评论家是严谨的人。他忽然想:万一主厨的脑电波本来就会乱抖,随便指一个方向去推,也可能“碰巧”有一大半菜上涨呢?0.75 会不会只是运气?于是实验手册里多了一条规矩:做随机对照。

具体做法:保持概念集不变,把中性集随机打乱、或者用随机标签训练一批“假 CAV”(随机方向),与真实 CAV 的得分反复对比。如果真实 CAV 稳定地高于随机基线,才能排除巧合。这就是 TCAV 论文强调的多次实验与显著性检验。

设真实 TCAV 在 m 次重复中胜过随机方向的次数为 r₀,在“五五开”零假设下,出现这样结果的累积概率为:

评论家又做了 20 组“乱指方向”的安慰剂实验,蒜香轴赢了 18 次,p 值远小于 0.05。他这才放心在报告上盖章:蒜香依赖,成立。

p=∑j=r0m(mj)(12)m\displaystyle p = \sum_{j=r_0}^{m} \binom{m}{j} \left(\frac{1}{2}\right)^{m}
通俗说明:等价于抛硬币——如果随机方向也经常赢,说明真实得分只是运气;p 值越小,结论越硬。
  1. 重复次数 m实践中常取 10~50 次,每次都重新采样中性集并训练随机 CAV。
    m∈{10,20,50}\displaystyle m \in \{10, 20, 50\}
  2. 胜场 r₀真实 CAV 在重复中击败随机 CAV 的次数。
    r0=∑i=1m1[TCAVreal(i)>TCAVrand(i)]\displaystyle r_0 = \sum_{i=1}^{m} \mathbb{1}\left[\text{TCAV}_{\text{real}}^{(i)} > \text{TCAV}_{\text{rand}}^{(i)}\right]
  3. 累积概率零假设下出现 r₀ 次以上胜场的概率,即 p 值。
    ∑j=r0m(mj)(12)m\displaystyle \sum_{j=r_0}^{m} \binom{m}{j} \left(\frac{1}{2}\right)^{m}
  4. 判定标准通常 p < 0.05 时拒绝零假设,认为概念依赖显著。
    p<0.05\displaystyle p < 0.05

应用场景实战

有了这套“脑电波测谎术”,评论家开始外出接活:帮医院检查 AI 影像系统有没有“看人下菜碟”,帮银行看看贷款模型里是否藏着不该有的偏好。

用法一,偏见检测:把“性别”“肤色”当作概念,分别构建概念集并计算各层 TCAV。若敏感概念的得分显著高于正常特征,说明模型在系统性利用该属性。用法二,模型调试:若模型对“天空”概念的依赖远高于“障碍物”,说明它学到了背景捷径,需要重新训练。

跨层对比也能给出丰富信息。不同层对概念的编码强度不同,我们可以比较同一层上两个概念谁更被看重:

医院案例里,评论家发现“肤色”概念的 TCAV 显著高于“病灶特征”,团队随即重训数据、消除隐患。一把脑电波尺子,从此成了 AI 质检员工具箱里的常客。

ΔTCAV=TCAVC1(l)−TCAVC2(l)\displaystyle \Delta\text{TCAV} = \text{TCAV}_{C_1}^{(l)} - \text{TCAV}_{C_2}^{(l)}
通俗说明:同一层上“概念甲 vs 概念乙”的依赖度之差——谁在脑内更占分量,一减便知。
  1. 概念对比在贷款场景里取“性别”与“收入稳定性”作对比,看哪个概念驱动决策。
    C1,  C2\displaystyle C_1, \; C_2
  2. 固定层 l两个 TCAV 必须来自同一层,否则层间差异会污染比较。
    ΔTCAV(l)\displaystyle \Delta\text{TCAV}^{(l)}
  3. 方向解读差值明显大于 0,说明模型更依赖 C₁;实际使用时要结合显著性检验。
    ΔTCAV>0\displaystyle \Delta\text{TCAV} > 0

局限与优化

测谎术并不总是灵验。评论家遇到一位脑电波特别“混沌”的主厨:有蒜与无蒜的菜在扫描图里完全叠成一团,想画蒜香轴都无从下手。这不是主厨不用蒜,而是大脑的编码方式不支持“一刀切”。

CAV 的根本假设是概念在激活空间中线性可分。若两簇严重交叠,SVM 勉强画出的方向充满噪声。为此应先用线性探针的回判准确率做质量门槛;另外,概念集的纯净度同样关键——若“有蒜”的菜恰好都配了红酒,CAV 会混入红酒方向。

定义概念质量评估分数,作为“这根轴画得靠不靠谱”的度量:

评论家在手册末尾写下三条提醒:先确认脑图画得出轴;再检查菜谱里有没有“隐形配料”;最后,不同层的轴要分开验证。测谎术虽好用,但严谨才是它的灵魂——这也是 CAV/TCAV 从论文走向工程必须守住的底线。

Acc(vC)=1n∑i=1n1[yi(vC⊤zi+b)>0]\displaystyle \text{Acc}(v_C) = \frac{1}{n} \sum_{i=1}^{n} \mathbb{1}\left[ y_i \left( v_C^{\top} z_i + b \right) > 0 \right]
通俗说明:用训练好的 CAV 线性模型回判“有没有蒜”,正确率越高,蒜香轴越可靠。
  1. 回判标记把样本的激活向量代回线性模型,符号与真实标签一致则记 1,否则记 0。
    1[yi(vC⊤zi+b)>0]\displaystyle \mathbb{1}\left[ y_i (v_C^{\top} z_i + b) > 0 \right]
  2. 平均对所有概念/中性样本取平均,得到 0~1 的准确率。
    1n∑i=1n\displaystyle \frac{1}{n} \sum_{i=1}^{n}
  3. 门槛判断工程上常要求 Acc ≥ 0.8,否则应换层、补数据或重新定义概念。
    Acc(vC)≥0.8\displaystyle \text{Acc}(v_C) \ge 0.8

AI 应用场景

医疗影像的性别偏见审计

阶段:模型评测与部署前审计

解决的问题:传统上用分组指标对比(如男女各算 AUC)只能发现“结果有差异”,却无法定位模型是否在“脑内”使用了性别概念。把“性别”作为概念,在卷积网络高层激活上计算 TCAV 得分并做显著性检验,可直接量化模型对性别的依赖,还能定位到具体网络层。

具体案例:某肺病筛查模型在真实数据上表现优异,审计团队构建“男性/女性”概念集(用姿态、发型均衡的胸片),在倒数第二层算得 TCAV = 0.82 且 p < 0.01,说明模型显著依赖性别线索。团队随后用重采样与对抗去偏修复,消除了隐患。

自动驾驶模型的虚假相关调试

阶段:模型错误分析与调试

解决的问题:自动驾驶模型常在雨天翻车,但传统误差分析很难定位“模型把晴天当成了安全线索”。把“天空亮度”“路面纹理”等设为概念分别计算 TCAV,就能找出异常高依赖的混淆概念,为数据增强提供方向。

具体案例:雨天事故分析发现,模型对“天空灰暗”概念的 TCAV 高达 0.91,而对“障碍物轮廓”只有 0.2。定位到背景捷径学习后,团队用域随机化数据增强重训,雨天召回率显著回升。

金融风控的合规可解释

阶段:监管审计与客户申诉

解决的问题:监管要求解释“为什么拒绝贷款”,但 LIME/SHAP 只能给特征级解释;监管更关注“模型是否依赖敏感概念(性别、种族)”。TCAV 给出概念级全局结论,与局部方法组合成双层证据链。

具体案例:某消金公司用 TCAV 评估“性别”概念依赖,得分 0.51 且未通过显著性检验(p = 0.34),从而向监管证明模型在概念层面无系统性性别依赖,顺利通过合规审查。

Python 演示

python59 行
import numpy as np  def make_activations(n=60, seed=42):    rng = np.random.default_rng(seed)    X1 = rng.normal([2.0, 1.0], 0.6, size=(n, 2))    X0 = rng.normal([-1.0, -1.0], 0.6, size=(n, 2))    X = np.vstack([X1, X0])    y = np.array([1] * n + [-1] * n)    return X, y  def train_linear_svm(X, y, C=1.0, lr=0.05, epochs=400):    w = np.zeros(X.shape[1])    b = 0.0    for _ in range(epochs):        margins = y * (X @ w + b)        idx = np.where(margins < 1)[0]        if len(idx):            grad_w = w - C * np.mean(y[idx, None] * X[idx], axis=0)            grad_b = -C * np.mean(y[idx])            w -= lr * grad_w            b -= lr * grad_b    return w, b  def logit(z):    # 模拟黑箱模型的打分: 美味评分    return 3.0 * np.tanh(z @ np.array([1.2, -0.4]) + 0.2)  def numerical_gradient(f, z, eps=1e-3):    g = np.zeros_like(z, dtype=float)    for i in range(len(z)):        e = np.zeros_like(z, dtype=float)        e[i] = eps        g[i] = (f(z + e) - f(z - e)) / (2 * eps)    return g  def main():    X, y = make_activations()    w, b = train_linear_svm(X, y)    cav = w / np.linalg.norm(w)     concept_mask = y == 1    derivatives = []    for z in X[concept_mask]:        grad = numerical_gradient(logit, z)        derivatives.append(grad @ cav)     tcav = np.mean(np.array(derivatives) > 0)    print("CAV 方向:", np.round(cav, 3))    print("线性探针准确率:", np.mean((X @ w + b) * y > 0))    print("TCAV 得分:", tcav)  if __name__ == "__main__":    main()
目的:用合成激活数据完整走一遍“训练 CAV → 计算方向导数 → 统计 TCAV 得分”的最小可运行流程。
  1. X, y = make_activations()生成“有蒜/无蒜”两组的激活值样本,相当于主厨的脑电波坐标。
  2. w, b = train_linear_svm(X, y)训练线性 SVM 区分两组,学习“猜蒜游戏”的最优规则。
  3. cav = w / np.linalg.norm(w)把权重归一化成单位向量,得到“蒜香轴”方向。
  4. def logit(z):模拟黑箱模型:给定脑电波坐标,输出“美味评分”。
  5. grad = numerical_gradient(logit, z)数值计算评分对激活的梯度:逐个坐标轻推,看评分涨跌。
  6. derivatives.append(grad @ cav)方向导数:沿蒜香轴轻推一步的评分变化速率。
  7. tcav = np.mean(np.array(derivatives) > 0)对概念集统计“导数大于 0”的占比,即 TCAV 得分。

常见误区

误区我以为 CAV 就像类激活图,能直接画出一张“蒜香长什么样”的图片,拿来可视化展示。

正解CAV 是激活空间里的方向向量,不在输入空间,不能直接还原成图片。只有当该层激活能与输入建立可逆映射时,才能近似可视化。它更像“脑电波坐标系里的一条轴”,而不是一张照片。

为何常见:类激活图(CAM)等热图工具让初学者产生了“概念可视化 = 图像区域”的直觉联想。

误区只要 TCAV 得分高,就说明模型“真的”在用这个概念做推理,可以放心写进审计报告。

正解TCAV 是相关性度量。若概念集与混淆属性相关(“有蒜”的菜都配了红酒),得分会虚高甚至指错方向;必须配合随机 CAV 对照、显著性检验和多样本验证,才能下因果性结论。

为何常见:人脑天然倾向把“能区分”等同于“被使用”,忽略了数据本身可能携带的混杂因素。

误区线性分类器回判越准,说明模型越依赖这个概念,直接用准确率当依赖度指标。

正解回判准确率只回答“脑图里能不能画轴”(线性可分性),TCAV 回答“打分时用没用这根轴”(方向导数占比)。两步都用到 SVM,但问题完全不同,必须分开测量。

为何常见:CAV 训练与质量评估都涉及 SVM,初学者容易把“两步中的一步”当成全部。

误区我觉得 CAV 就是那条把有蒜无蒜分开的分割线,画出来就完事了。

正解CAV 是分类超平面的法线方向,来自 SVM 的权重向量 w,与分界面互相垂直。真正携带“蒜香指向”信息的是 w,而不是边界本身。

为何常见:可视化时人们习惯先画分割线,线的视觉显著性盖过了法线方向的存在感。

误区深层特征更抽象,所以直接在最后一层算 TCAV,结果一定最可靠。

正解深层更语义化,但概念的线性可分性未必更好,且深层输出可能混合了类别信息。应跨层计算 TCAV,并综合线性探针准确率与显著性检验来判断哪层结论最稳。

为何常见:“深层特征更有语义”的直觉被过度外推,忽略了线性可分性与层间分布差异。

面试题

Q1. CAV 的中文全称是?

单选题 · easy

  • A.概念激活向量← 正确答案
  • B.类别激活向量
  • C.概念归因数值
  • D.上下文感知向量

答案:A。CAV 是 Concept Activation Vector 的缩写,强调“概念”与“激活空间中的方向向量”。选项 B 是 Class Activation Vector(类别激活图),常用于可视化 CNN 关注区域,与 CAV 是两回事;C、D 是干扰项。记住“概念 + 方向”这对关键词就不会选错。

Q2. CAV 在哪个空间中训练?

单选题 · easy

  • A.输入像素空间
  • B.中间层激活空间← 正确答案
  • C.输出概率空间
  • D.损失值的空间

答案:B。CAV 训练用的“脑电波”是模型中间层对样本的激活向量,而非输入像素或输出概率。输入空间线性可分等于“看图猜蒜”,激活空间可分说明“脑内有蒜香领地”,后者才是 CAV 的前提。选择中间层激活空间。

Q3. TCAV 得分的计算方式是?

单选题 · mid

  • A.概念样本正方向导数占比← 正确答案
  • B.支持向量机回判准确率
  • C.激活向量的平均模长
  • D.训练损失的下降幅度

答案:A。TCAV 得分是概念集中方向导数为正的样本占比,是“轻推实验”的统计结果。SVM 回判准确率只反映“能不能画轴”,不代表模型真的用了它;激活模长与损失下降都与概念依赖无直接关系。记牢:得分 = 正导数比例。

Q4. 方向导数中的“轻推”作用于?

单选题 · mid

  • A.输入图像的像素点
  • B.概念集的样本标签
  • C.目标层的激活向量← 正确答案
  • D.模型全部权重参数

答案:C。方向导数衡量“模型输出随某层激活变化”的敏感度,因此轻推发生在目标层的激活向量上。推输入像素属于对抗扰动,推标签没有意义,推模型权重则是训练过程。选 C。

Q5. 显著性检验主要排除什么?

单选题 · mid

  • A.训练数据中的噪声
  • B.随机方向带来的巧合← 正确答案
  • C.模型过拟合的风险
  • D.概念集规模过小

答案:B。随机方向也可能“碰巧”得到高 TCAV,所以要用随机 CAV 做对照并做符号检验,排除偶然性。数据噪声、过拟合、概念集规模问题应分别用数据清洗、交叉验证等常规手段解决,不是显著性检验的目标。

Q6. 概念集与混淆属性相关时会发生什么?

单选题 · hard

  • A.低估概念依赖且假阴性
  • B.因线性不可分而失败
  • C.高估概念依赖且方向混淆← 正确答案
  • D.正则化自动消除偏差

答案:C。若“有蒜”的菜都恰好配了红酒,SVM 找到的方向会混入红酒信息,TCAV 高估甚至指向红酒。这不是线性可分问题,也无法靠正则化自动消除,必须仔细设计概念集,保证两组样本仅相差目标概念。

Q7. 构建概念集与中性集的要点有哪些?

多选题 · mid

  • A.两组仅相差目标概念← 正确答案
  • B.两组样本数尽量均衡← 正确答案
  • C.样本越多越好免清洗
  • D.样本来源尽量多样← 正确答案

答案:ABD。概念集构建要保证两组“仅差目标概念”,样本均衡能减少分类偏差,来源多样可缓解混淆相关。但“越多越好免清洗”是错的:脏数据会把无关属性焊进 CAV 方向里,质量比数量更重要。

Q8. 关于 TCAV 与 LIME/SHAP 的关系,正确的是?

多选题 · hard

  • A.局部方法与全局概念互补← 正确答案
  • B.TCAV 可取代所有局部方法
  • C.两者常组合用于归因分析← 正确答案
  • D.前者在激活空间后者输入← 正确答案

答案:ACD。LIME/SHAP 解释单个样例,是局部方法;TCAV 解释“模型是否使用某概念”,是全局方法。二者互补而非替代:可先用 TCAV 定位关键概念,再用 LIME 细看具体样本。TCAV 在激活空间测量,LIME/SHAP 多在输入空间扰动。B 错在“取代”。

Q9. 概念线性可分性较差时,CAV 的可靠性如何?

单选题 · hard

  • A.CAV 方向依然完全可靠
  • B.方向噪声大需准确率门槛← 正确答案
  • C.TCAV 得分必然为零
  • D.必须换用更深的网络

答案:B。线性可分性差时,SVM 画出的方向噪声大,应以线性探针准确率做质量门槛(如 Acc ≥ 0.8),必要时换层、补数据或重新定义概念。TCAV 不必然为零,但结论不可靠;换更深网络并不能解决线性可分性本身。

Q10. 发布一个严谨的 TCAV 结论需要哪些步骤?

多选题 · extreme

  • A.多随机方向对照并检验← 正确答案
  • B.在多个网络层分别计算← 正确答案
  • C.尽可能压缩概念集规模
  • D.核查概念集的混淆相关← 正确答案

答案:ABD。严谨结论需要随机 CAV 对照与显著性检验(A)、跨层计算与对比(B)、核查概念集与混淆属性的相关性(D)。为省算力而压缩概念集会放大方向估计的方差,反而降低可信度,因此 C 错。