这篇文章想讲清楚三件事:(1)AI 可解释性目前面临的"死鲑鱼"问题到底是什么;(2)特征归因、探针、稀疏自编码器、电路发现、因果抽象这些工具各自是怎么工作的,又各自怎么翻车;(3)论文提出的"统计–因果重构"是什么意思,为什么作者认为不可识别性是所有病症的共同病根。文中所有图表都可以动手调。

⚡ 一分钟版本

  1. 现象:把一个完全随机初始化的 BERT 拿来做情感分析——PCA 主成分与情感标签"显著"相关,线性探针的交叉验证准确率约 0.72–0.82。模型什么都没学过,"解释"却言之凿凿。特征归因、SAE、电路发现、因果抽象都被报告过类似现象。
  2. 直接原因:大家在跟一个错误的对照组比。"比随机猜测好"是一条极低的基线;正确的对照是"同架构、随机权重的网络"。换掉零假设后,一部分"发现"当场消失,剩下的效应量也被大幅压缩。
  3. 深层病根:不可识别性(non-identifiability)——计算轨迹并不能唯一确定解释。行为层面是欠定(多个解释同样吻合数据),因果层面是超定(多条冗余通路各自充分)。二者都导致:同一个模型可以被讲出多个互不相容却同样"忠实"的故事。
  4. 处方:把可解释性重写成一个显式的统计推断任务。解释 = 代理模型,一个可解释性任务 = \((\mu,\mathcal E,D)\) 三元组(要回答哪些因果查询 / 允许什么形式的解释 / 怎么算错)。然后像所有经验科学一样:明确假设、对照检验、报告不确定性而不是点估计
  5. 态度:作者明确说这个框架是"暂定的、欢迎改进的"。真正的主张不是某个公式,而是一个方法论承诺

2009 年,一条死鲑鱼躺进了核磁共振

2009 年,达特茅斯的 Craig Bennett 等人从超市买了一条大西洋鲑鱼。这条鱼已经死了。他们把它推进 fMRI 扫描仪,给它看人类在各种社交场景中的照片,并"要求"它判断照片里的人在经历什么情绪。

然后他们用当时标准的分析流程处理数据。结果:鲑鱼脑腔的中线位置,出现了一小簇对"社交情绪"有显著反应的体素。

这当然不是死鱼的超自然认知。这是多重比较(multiple comparisons)没有校正的后果。一次全脑扫描要同时对数万个体素分别做统计检验;即使每个检验的假阳性率只有 0.1%,几万次里也必然冒出几十个"显著"。再叠加"相邻显著体素成簇"这类看似稳妥的规则,一簇假阳性就诞生了。这份研究以海报形式出现在 2009 年人类脑成像大会上,后来拿了 2012 年搞笑诺贝尔奖——但它的严肃意义远大于笑点。

关键点:错误不在数据,不在仪器,也不在研究者的诚实度。错误在分析流程本身。任何一个足够灵活的分析流程,作用在纯噪声上,都能产出漂亮的结果。这就是本文标题里"死鲑鱼"的含义——一种在没有信号的地方也能产生"发现"的方法论缺陷

下面这个模拟就是死鲑鱼实验的核心。每个格子是一个"体素",颜色代表它与"情绪标签"的相关强度。默认情况下底层是纯噪声,没有任何真实信号。你可以调阈值、开关校正方法,看看"显著发现"是怎么凭空出现又怎么消失的。

互动 1

多重比较模拟器:如何在纯噪声里"发现"大脑活动

每格 = 一个体素的检验。默认无真实信号。红/橙格 = 被判定为"显著"。
被判显著 · 假阳性 被判显著 · 真阳性 不显著
检验次数
1200
体素总数
判为"显著"
通过阈值的体素
其中假阳性
本来就没信号
真阳性召回
找到的真实信号

这不是孤例:神经科学的连锁反思

死鲑鱼只是导火索。论文在引言里列了一串后续研究,说明神经影像学的统计脆弱性有多少来源:

  • 同一份数据,不同团队,不同结论。Botvinik-Nezer 等人(2020)让多个研究组分析同一个数据集、回答同一个研究问题,结果各不相同。
  • 标准流程本身就抬高假阳性率。Eklund 等人(2016)发现广泛使用的聚类推断方法(cluster inference)严重膨胀假阳性。
  • "巫毒相关"。Vul 等人(2009)指出:先用数据挑出相关性最高的体素、再在同一批数据上报告相关系数,会得到虚高的脑–行为相关。
  • 样本太小。Button 等(2013)、Marek 等(2022):早期研究样本量小,过拟合与虚假关联被放大。
  • 解释是"预测性"的而非"功能性"的。Lyon(2017)批评 fMRI 只能说"这块区域能预测 X",说不出"它是怎么做到的",临床价值有限。
  • 反向推理(reverse inference)问题。Poldrack(2006)、Duncan & Owen(2000):单个脑区并不唯一对应某种认知功能,所以"这块亮了 ⇒ 被试在做 X"这种推断是不成立的。

心理学与社会科学的可重复性危机也走过同样的路,最后拿出的解药是制度性的:预注册、注册报告、提高统计功效、强制多重比较校正。计量经济学则引入因果推断的一整套语言——识别条件、敏感性分析、稳健性检验。

作者的类比是:AI 可解释性现在正需要一次类似的、对自身统计基础的重新审视。不同的是——正如后文会讲的——AI 的问题比死鲑鱼更难修。死鲑鱼是一个可以用多重比较校正修好的技术疏漏;AI 可解释性的困难更根本。

AI 也有自己的死鲑鱼

论文用一个极简实验把问题摆上台面。取一个 BERT,把它的权重全部随机重新初始化——它没有被训练过,不"懂"任何东西。然后拿 300 条 IMDb 影评句子喂进去,取出每一层的 token 表示、沿序列长度取平均,再用两种最常见的可解释性手法去分析它:

随机初始化 BERT 上的死鲑鱼假象
最小死鲑鱼假象。从一个随机初始化的 BERT 中提取 300 条 IMDb 句子的 token 表示并沿序列长度平均。(A) 若干主成分与情感标签呈现"显著"相关(着色格 = \(p < 0.05\))。(B) 在各层表示上训练的简单线性探针取得了"非平凡的"(原文用词)交叉验证准确率——从图中读数约 0.72–0.82,虚线为 0.5 的随机猜测基线。
  • 相关分析:对每层表示做 PCA,检查主成分与情感标签的相关性——好几个主成分"高度显著"。
  • 探针(probing):训练一个线性分类器从表示预测情感——交叉验证准确率约 0.72–0.82,远高于 0.5 的随机猜测。

注意这里用的是交叉验证准确率,不是训练集准确率。也就是说,这不是简单的过拟合——探针确实在没见过的数据上有效。一个从未训练过的网络,"内部表示"里就已经能读出情感了。

为什么会这样?注意这里连词嵌入矩阵也是随机的,所以信号并不是"从预训练词向量里继承而来"。真正的原因有两条。

其一,随机表示照样携带"哪些词出现过"。每个词被分配了一个随机但固定的向量;把一句话里所有 token 向量做平均,得到的就是这句话的词袋(bag-of-words)在一个随机高维空间中的编码。而情感标签本来就与"出现了哪些词"高度相关——线性探针只要学会"某些随机方向对应某些词",就能把情感读出来。随机的、不改变维度的线性 + 非线性变换基本保留了这种线性可分结构,于是信号一路穿过所有层。("随机投影大体保持几何结构"的直觉来自 Johnson–Lindenstrauss 一类结果;严格说 JL 讲的是降维时的保距,这里只是同一直觉的推广。)

其二,探针问的问题本身就错了。探针问的是"这个概念能不能被读出",而不是"这个概念是否被模型实际使用"。这正是 Ravichander 等人(2021)指出的:探针可以提取仅仅被编码、但推理时根本没用上的特征。

下面这个实验室是上述机制的可运行版本,结构上模仿(不是复现)论文附录的第三个实验:造一批带信号的"词嵌入",让它依次通过 6 个网络层,在每一层都训练一个岭回归探针并做 10 折交叉验证;然后保持嵌入不变、只把各层权重随机化,同样的流程重跑 20 遍作为零分布。(论文的另外两个实验则是把整个模型重新随机初始化,因此连第 0 层也不共享。)

互动 2

随机网络探针实验室:真的在你的浏览器里逐层训练探针

蓝线 = 预训练网络;灰线 = 20 个随机初始化网络(零模型)。下半部分是两种基线下的效应量与显著性,结构模仿论文图 4。
预训练网络 随机初始化(零模型,k=20) 效应量 vs 随机猜测 效应量 vs 随机计算
末层探针准确率
10 折交叉验证
随机网络末层准确率
k=20 的均值
vs 随机猜测
效应量(旧基线)
vs 随机计算
效应量(新基线)
显著层数
\(\hat p\leq0.05\) 的层 / 6
点击"跑实验"开始。第 0 层是共享的"词嵌入",所有网络在这一层完全相同。
默认设置就是死鲑鱼:每一层的探针准确率都在 70–85% 之间,对随机猜测的效应量高达 +0.2 以上,看上去"高度显著"——但没有任何一层能与随机初始化的网络区分开

试试这三个操作:(1)把"每层学到的额外结构"拉到 0——蓝线会掉进灰色带里,甚至比随机网络还差。(2)拉到 0.40 以上——靠后的层会明显抬起来并出现 ***,这才叫"发现"。(3)注意随机网络的灰线是逐层下降的:随机计算只会不断损耗输入里原有的线性可读结构,这与论文图 4(C) 中随机化 Transformer 块让空间线性可读性下降的现象一致。

论文强调,这类失败绝不是个例。已被报告出现在随机神经网络上仍然产出貌似合理解释的方法包括:特征归因(Adebayo 等 2018)、探针分类器(Ravichander 等 2021)、稀疏自编码器(Heap 等 2025)、电路发现(Méloux 等 2025)、因果抽象(Sutter 等 2025)。这几乎覆盖了机制可解释性的全部主流工具。


先补课:这些工具到底是怎么工作的

要理解为什么它们会翻车,得先知道它们怎么运转。下面按论文第 2 节的顺序展开,每个工具讲三件事:它想回答什么问题 / 具体怎么做 / 已被记录的翻车方式。可以逐个展开。

① 特征归因 Feature Attribution — saliency / Integrated Gradients / SHAP
想回答什么
输入的哪些部分对这次预测最重要?(图像的哪些像素、文本的哪些词)
怎么做
梯度型:最朴素的 saliency map 就是把输出对输入求偏导 \(\frac{\partial f(x)}{\partial x}\),梯度大的像素被认为"重要"。Integrated Gradients 改进了这一点:从一个基线 \(x'\)(比如全黑图)沿直线积分到 \(x\),把路径上的梯度累加起来,这样满足"完备性"(所有归因之和 = 预测差值)。SHAP 则来自合作博弈论:把每个特征看成一个"玩家",用 Shapley 值分配"贡献",需要在特征子集上做边缘化(实践中靠采样近似)。
本质上,这类方法在输入点 \(x\) 附近构造了一个可加的线性代理模型:\(f(x) \approx \sum_i e_i(x)x_i\)。
怎么翻车
随机化检验失败:Adebayo 等(2018)的 "sanity checks" 发现,把模型权重逐层随机化之后,很多 saliency map 看上去几乎没变——它们更像是边缘检测器,而不是在反映模型学到的东西。对抗可操纵:Dombrowski 等(2019)证明可以在不改变预测的前提下,通过微小输入扰动把解释图改成任意形状(几何原因:决策面的曲率)。不稳定:Ghorbani 等(2019)显示轻微数据变换就能大幅改变归因。理论不可能性:Bilodeau 等(2024)证明了不存在同时满足若干直觉性质的归因方法。
② 探针 Probing / Diagnostic Classifiers
想回答什么
模型的内部激活里,有没有编码某个概念(词性、句法树、情感、空间坐标……)?
怎么做
冻结目标模型,取第 ℓ 层的激活 \(h^{(\ell)}\),在上面训练一个小分类器(通常是线性/逻辑回归,或浅层 MLP)去预测目标标签 \(y\)。交叉验证准确率高 ⇒ 声称"该层编码了这个概念"。Hewitt & Manning 的 structural probe 更精巧:学一个线性变换 \(B\),让 \(\lVert B(h_i-h_j)\rVert_2^2\) 近似句法依存树上的距离。
怎么翻车
随机嵌入也能探出来:Conneau 等(2018)、Hewitt & Manning(2019)早就发现,从随机化的上下文嵌入里也能以惊人的准确率读出信息。句法探针不泛化:Hall Maudslay & Cotterell(2021)。"编码"≠"使用":Ravichander 等(2021)——探针能提取推理时根本没被用到的特征。补救方向包括容量受控探针、信息论探针(最小描述长度)、以及 amnesic probing(把某个属性从表示里"抹掉"再看行为变不变),但这些只是缓解。
③ 稀疏自编码器 Sparse Autoencoders (SAE) — 字典学习 / 叠加假说
想回答什么
神经元是"多义"的(一个神经元同时参与很多无关概念)。SAE 想把激活拆解成一组稀疏、单义(monosemantic)的"特征"。
怎么做
动机是叠加假说(superposition):模型要表示的特征数远多于维度数,于是把它们以近似正交的方向"挤"进同一个空间。SAE 就是在激活上做过完备字典学习:训练一个编码器把 d 维激活 \(h\) 映射到远大于 d 的隐层 \(z\)(比如 16d),再用解码器重建 \(\hat h=W_{\mathrm{dec}}z+b\),损失 = 重建误差 + 稀疏约束(L1 惩罚;或 TopK——直接只保留激活最大的 k 个分量,属硬约束而非附加惩罚项)。理想情况下每个 \(z\) 分量对应一个人类可命名的概念,解码器的每一列就是那个概念的方向。
怎么翻车
随机 Transformer 也能"拆"出可解释成分:Heap 等(2025)——这是最直接的死鲑鱼证据。跨设置/跨任务不泛化:Heindrich 等(2025)、Kantamneni 等(2025)。对抗脆弱:Li 等(2025)显示 SAE 对输入扰动敏感。根本上,字典学习是无监督表示学习,而这类问题在没有辅助信息时本身就不可识别(Locatello 等 2019;Khemakhem 等 2020)。
④ 概念方法 TCAV / Network Dissection / Concept Bottleneck
想回答什么
模型内部有没有跟"条纹"、"性别"、"医生"这类人类给定概念对齐的方向?该概念对预测有多大影响?
怎么做
TCAV:准备一批"有条纹"的图和一批随机图,在某层激活空间上训练线性分类器,其法向量就是概念激活向量(CAV) \(v_C\)。然后计算目标类别 logit 沿 \(v_C\) 的方向导数,统计有多大比例的样本方向导数为正 ⇒ TCAV 分数。Network Dissection:把每个卷积通道的高激活区域与像素级语义标注做 IoU 匹配,给通道贴标签。Concept Bottleneck:直接把网络设计成"输入→概念→输出"两段式。
怎么翻车
可解释性幻觉:Bolukbasi 等(2021)发现 BERT 里单个神经元看起来编码某概念,其实是假象。分数不一致:Nicolson 等(2025)——概念激活分数会给出互相矛盾的解释。高度依赖概念数据集:Ramaswamy 等(2023)显示泛化差、对用来推断概念的数据极其敏感。高方差:Piratla 等(2024)建议必须配上不确定性估计。
⑤ 因果中介分析 / 激活修补 Causal Mediation Analysis · Activation Patching · Causal Tracing
想回答什么
不只是"相关",而是"因果":某个组件(注意力头、MLP、某层残差流)对模型输出的因果贡献有多大?
怎么做
核心是干预(do 算子)。经典的 activation patching 做三次前向:(1) 干净输入 \(x_{\mathrm{clean}}\) → 记录所有中间激活;(2) 污染输入 \(x_{\mathrm{corrupt}}\)(比如把主语换掉)→ 输出变错;(3) 再跑一次污染输入,但把某个组件的激活替换成第 (1) 步记录的干净值 → 看输出恢复了多少。恢复得越多,说明该组件承载的信息越关键。这在因果推断里叫间接效应的估计。ROME/知识定位、性别偏见的因果中介分析都属此类。
怎么翻车
对实验设计极其敏感:Zhang & Nanda(2024)系统研究了 activation patching 的最佳实践,发现结论会随着"污染方式、度量指标、修补粒度"而改变。Hydra 效应:McGrath 等(2023)——消融掉被判定为"因果重要"的组件,模型行为却没变,因为存在冗余通路自动补位(砍掉一个头,另一个头长出来)。可靠性存疑:Canby 等(2025)记录了因果探测干预的诸多脆弱性与权衡。
论文的定性判断很有意思:中介效应这个估计量本身是可识别的(干预和模型都完全指定了,效应值唯一);不可识别的是那句解释性断言——"效应大的组件就是机制所在地"。
⑥ 电路发现 Circuit Discovery
想回答什么
能不能找到计算图的一个小子图(一组注意力头 + MLP + 它们之间的边),它单独就足以复现模型在某任务上的行为?
怎么做
把 Transformer 看成一张有向计算图 \(G\),寻找子图 \(G' \subset G\),使得只保留 \(G'\)(其余组件用某种基线激活消融掉——置零、均值、或用另一批输入的激活)时,输出分布与完整模型足够接近,常用 KL 散度或任务 logit 差衡量。搜索策略有贪心剪枝(ACDC)、基于梯度的边归因修补(EAP)、可微掩码等。著名案例:GPT-2 small 的 IOI(间接宾语识别)电路。
怎么翻车
超定:如果两条并行通路 A 和 B 各自都能完成任务,那么"只含 A"和"只含 B"的电路都满足忠实度标准——它们都"正确",但互不相容。不泛化:Wang 等(2022)、Li 等(2025)显示电路解释常常在新分布上失效。对实验选择敏感:Méloux 等(2025)。穷举研究的结论最尖锐:在玩具模型上做穷举搜索,会发现大量互不相容的解释同时成立,连随机网络也不例外
⑦ 因果抽象 Causal Abstraction · Interchange Intervention · DAS
想回答什么
能不能证明"这个神经网络实现了某个高层算法"?比如"它真的在做进位加法"。
怎么做
写下一个高层因果模型 \(H\)(比如一段伪代码,含变量 \(Z_1,Z_2,\ldots\)),再给出一个对齐映射 \(\tau\),把网络的低层变量 \(V\)(某层某些维度、某个子空间)映到高层变量 \(Z\)。判据是交换律:先在低层做干预再抽象,应该等于先抽象再在高层做同样的干预。操作上就是 interchange intervention——把高层变量 \(Z_1\) 从另一个样本换过来,同时把对应的低层子空间也换过来,看两边输出是否一致(IIA,interchange intervention accuracy)。DAS 进一步把"哪个子空间对应哪个高层变量"变成可学习的旋转矩阵。
论文把机制可解释性分成两大路线:where-then-what(先找电路,再解读它在算什么)与 what-then-where(先猜高层算法,再去找对齐的神经子空间)——因果抽象属于后者。
怎么翻车
子空间修补制造幻觉:Makelov 等(2023)——干预一个子空间可能只是激活了另一条通路,看起来"对齐"其实是假象,本质仍是超定。对随机网络也能给出解释:Sutter 等(2025)从理论上证明,现有因果抽象方法一般而言可以为随机网络产出解释。作者的评价是:因果抽象方向有希望(在更粗的表示层面工作,超定可以被吸收进抽象变量里),但当前的操作性指标在经验上仍不可识别
⑧ 自然语言解释 / 思维链 Natural Language Explanations · Chain-of-Thought
想回答什么
直接让模型自己说:"我为什么这样回答"。
怎么做
让模型生成自由文本理由(rationale),或用思维链把推理过程写出来。优点是零成本、人类直接可读。
怎么翻车
系统性不忠实:Ajwani 等(2024)——LLM 会为"完全出于另一个原因做出的预测"自信地编出貌似合理的理由。CoT 不等于实际计算:Lanham 等(2023)、Turpin 等(2023)、Arcuschin 等(2025)都记录了思维链与模型真实计算过程脱节的情况(例如把提示中的偏置线索用上了却在 CoT 里只字不提)。根本困难:任何行为事后都能被无穷多个"合理故事"合理化,所以自然语言解释对虚构(confabulation)和假阳性尤其没有抵抗力。
导读者按 这张清单值得慢慢看:它不是在说这些方法没用。论文在引言里同样承认,可解释性方法确实揭示过关键失效模式(它引用的例子包括:胸片模型其实靠"这张片子来自哪家医院"的痕迹在判断——Zech 等 2018;以及模型学出"哮喘病人肺炎风险更低"这种致命捷径——Caruana 等 2015),也确实为缓解偏见提供了抓手。清单在说的是:这些方法目前缺少一个能判断"这次发现是真的吗"的统计程序。工具越强,越需要刹车。

病根之一:欠定(underspecification)

论文第 3 节做了一件很关键的事:它不再逐个批评方法,而是问"这些失败有没有共同的结构"。答案是有,而且分两支。第一支叫欠定

欠定的意思是:多个互不相同的解释,同样好地符合已观测到的数据。数据本身不足以在它们之间做出裁决。

它在行为层面出现

只看输入–输出关系的方法(论文举的例子是特征归因与行为测试)从根上受限于这一点:能复现同一组输入输出模式的假设有很多个。(注意"行为基准测试"不在此列——后面会看到论文把它判为可识别。)这在认知科学里是老问题——正因为纯行为数据无法唯一确定内部机制,脑成像才被发展出来,希望获得"客观、可测量、更可泛化"的神经计算量。

它在内部表示层面同样出现

AI 可解释性走了类似的轨迹:从行为转向分析内部计算。但基于内部状态的预测型方法(探针、SAE)继承了机器学习的标准病灶——过拟合与泛化差。用论文的语言说,这些都是欠定的实例:许多预测模型都能同样好地拟合训练数据,却说不清哪一个才假设了可泛化的因果机制。

互动 3

同一批数据,无穷多个"解释"

所有曲线都完美穿过同样的观测点(黑点),在观测范围内无法区分;但在观测范围之外(灰色区域),它们的预测彻底分道扬镳。
观测区内最大分歧
拟合无法区分
观测区外最大分歧
泛化任意分叉

把"观测点"换成"你的探针训练集"、把"曲线"换成"候选解释",这张图就是欠定本身。多加几个观测点(增大 n)能收窄一点,但只要假设类足够灵活,永远还剩一整族解释。


病根之二:超定(overdetermination)与 Hydra 效应

因果方法的出现,正是为了修复预测型方法的短板。给定干预,因果效应看上去是客观的、可泛化的。但论文指出,因果方法遇到了一个相反方向的麻烦。

神经网络是大规模、分布式、组件高度交互的系统,天然产生冗余且依赖上下文的因果通路。于是出现超定多个互不相同的因果机制,各自都独立充分地产生了同一个行为。

这是哲学里研究了很久的问题("两个刺客同时开枪,都致命"——谁是死因?)。在神经网络里,它有个更形象的名字:

Hydra 效应(McGrath 等,2023):你用因果分析找到了"最重要"的注意力头,把它消融掉——然后模型行为几乎没变。因为其他组件立刻补位了。砍掉一个头,长出另一个头。

后果是:干预实验揭示的往往不是"某个简单机制",而是超定的因果结构本身
互动 4

Hydra 效应与"两个都忠实的电路"

点击任意节点消融它(再点一次恢复)。观察输出是否还正确;下方给出两个候选电路的忠实度。
正常 已消融 候选电路 A 候选电路 B
模型输出
正确
行为是否保持
电路 A 忠实度
100%
只保留 A 的通路
电路 B 忠实度
100%
只保留 B 的通路

这个玩具例子里,通路 A 和通路 B 各自都能把输入正确送到输出。于是:

  • 消融单个节点,行为不变 → 因果重要性度量给出"这个组件不重要"的错误结论(Hydra 效应)。
  • "电路 = {A}" 和 "电路 = {B}" 都通过忠实度检验 → 电路发现返回哪一个,取决于搜索算法的初始化、剪枝顺序、超参数,而不是取决于网络本身。

论文的措辞很犀利:在复杂计算系统里找到一个机制故事变得太容易了——许多不同的、互不相容的解释都能被"发现"出来解释同一个现象。


合并诊断:不可识别性(non-identifiability)

欠定与超定殊途同归,指向同一个统计学概念。

什么是可识别性?

在统计推断里,一个模型是可识别的,如果不同的参数一定诱导出不同的观测分布:

\[ \theta \ne \theta' \;\Longrightarrow\; \mathbb{P}_{\theta}^{V} \ne \mathbb{P}_{\theta'}^{V} \]

直觉:如果两组不同的参数会产生一模一样的数据分布,那么无论收集多少数据你都无法把它们分开——推断问题本身是病态的(ill-posed)。可识别性通常是自然科学中可靠推断的前提条件;统计学、无监督学习、因果推断都投入了大量工作去刻画可识别条件、设计可识别的任务。

论文的核心主张是:对于常见的可解释性查询,计算轨迹并不能唯一确定解释。换句话说,可解释性任务大多是不可识别的。而不可识别性正好解释了那一长串"统计脆弱性"症状:

症状为什么不可识别性会导致它
泛化差当多个解释同样好地拟合已观测数据时,它们的解释性断言在未见数据上可以任意分叉。到底选哪一个,取决于很少被验证过的归纳偏置。
对设计选择敏感不可识别意味着存在一整片"拟合良好"的解释流形。不同的数据集、优化程序、超参数会以不同方式在这片流形上游走,于是给出不同的解释。
假发现当解释不可识别时,"碰巧拟合上数据的虚假解释"被找出来的概率,会随着假设空间的规模和复杂度上升。假设空间越大越容易讲故事——这正是死鲑鱼。
作者很克制的一句话:目前"可识别性"在可解释性里还只是一个概念类比,因为可解释性还没有被形式化成一个显式的统计推断任务。做出这个形式化连接、把可解释性查询写成良定义的统计估计问题,是"让方法的局限与假设可以被明确刻画"的必要第一步。这也就引出了论文的第 4 节。
导读者按 注意这里的论证结构:论文并没有声称"可解释性不可能"。它声称的是"当前大多数可解释性任务的提法不可识别",而可识别性不是模型的内在属性——它是查询集合 \(\mu\)、假设类 \(\mathcal E\)、误差度量 \(D\)、模型 \(f\) 与目标行为 \(P_U\) 这五者交互的属性。这留下了一条积极的出路:换一种问法,就可能换来可识别性。

急救方案:跟"随机计算"比,而不是跟"随机猜测"比

在讲大框架之前,论文先给了一个立刻能用的补丁。思路直白得几乎让人不好意思:

把你的分析方法,原封不动地作用在
同架构、但权重随机化的网络上。
如果它在那儿也给出同样漂亮的结果,那么你在训练模型上得到的结果说明不了什么。

怎么把它做成一个正式的假设检验

论文在附录里给出了完整程序。设 \(\mathbb C=(f,P_U)\) 是"模型 + 目标行为"这个组合,可解释性方法 \(M\) 从有限观测里产出解释 \(\hat e=M(\mathcal T_n)\)。

  1. 构造零模型族 \(P_{\widetilde{\mathbb C}}\)。它要保留网络的架构性质,但破坏掉我们想解释的那个具体计算机制。可选的做法:全权重随机化对表示做随机正交变换、或打乱标签(后者退化成标准的置换检验)。
  2. 定义检验统计量 \(T(\hat e,\mathbb C)\),用来量化"解释拟合得有多好"。探针方法可以用测试准确率;电路发现可以用行为忠实度;归因方法可以用"归因分数与真实干预效应的相关性"。
  3. 跑 B 次。对每个零模型 \(\widetilde{\mathbb C}^{(b)}\) 应用同一个方法 \(M\),得到 \(\widetilde e^{(b)}\) 与零统计量 \(T_{\mathrm{null}}^{(b)}\)。
  4. 算蒙特卡洛 p 值。
\[ \hat p = \frac{ 1 + \sum_{b=1}^{B} \mathbf{1}\!\left\{ T_{\mathrm{null}}^{(b)} \ge T_{\mathrm{obs}} \right\} }{B+1} \]
其中 \(T_{\mathrm{obs}}=T(\hat e,\mathbb C)\) 是在真实模型上观测到的统计量
分子分母各加 1 不是笔误。这是置换检验里的标准做法,它保证了 Type I 错误控制:\(\Pr(\hat p\leq\alpha\mid H_0)\leq\alpha\)。如果不加这个 1,当 \(B\) 次抽样里恰好一次都没超过 \(T_{\mathrm{obs}}\) 时你会得到 \(\hat p=0\),这是一个不可能诚实的数字——你只跑了 \(B\) 次,凭什么断言概率是 0。

论文的一句话点出了这个方案的下限保证:只要随机化包含了完整的权重重初始化,死鲑鱼假象在设计上就不可能残留。

三个真实实验:换掉零假设之后发生了什么

作者在三个探针任务上跑了这个检验,每次都用 \(k=20\) 个随机化模型作为零模型、10 折交叉验证(前两个实验重新初始化整个模型,第三个实验只随机化 Transformer 块、保持嵌入不变)。

三个探针实验:对照随机计算的假设检验结果
(A) 情感分析:在预训练 BERT 上的探针 vs 在随机计算上的探针。(B) 同样的实验,改为预测句法标签(POS 词性)。(C) 复现 Gurnee & Tegmark(2024)关于"世界模型"的第一个实验,在 pythia-160m 上探测地理空间表示。每组图上半部分是各层准确率曲线(蓝 = 预训练,灰 = 随机重初始化),下半部分是效应量:橙色 = 对照旧基线(随机猜测 / 多数类)灰色 = 对照随机初始化*** 表示显著,ns 表示不显著。

A · 情感分析(IMDb, BERT-base)

每层取平均句子嵌入,训线性探针预测二分类情感,1000 条句子。结果:预训练模型的每一层都以巨大效应量超过随机猜测——但没有任何一层能与随机重初始化区分开(灰色柱全是 ns)。不过靠后的层,相对随机模型的效应量呈现清晰的上升趋势

B · 句法结构(POS 标注, CoNLL-2003)

逐 token 的上下文嵌入 + 逻辑回归探针,每层一个探针,500 条句子。结果:与既有工作一致,POS 准确率在中间层达到峰值。但改用随机计算作零假设后,只有中间层仍显著高于偶然水平,且效应量大幅缩水。

C · 世界模型(空间, pythia-160m)

复现 Gurnee & Tegmark(2024)Table 2 的第一个实验:取地名 token 的平均残差流激活,用岭回归预测经纬度,R² 评估。零模型:Transformer 块权重随机化但嵌入保持不变结果:第 0 层的原始嵌入本身就带有潜在的空间结构,显著优于随机猜测(论文报告 \(R^2\approx0.12\)、\(Z\approx100\));把嵌入送过随机化的块会削弱线性可读性(\(R^2\approx0.38\));而预训练模型逐层提升,到最后几层显著超过随机基线(\(Z\approx25\))——模型确实学会了在嵌入固有几何之外显式编码空间
(读数提示:论文正文这两个 R² 数字与图 4(C) 的曲线不完全吻合——图中第 0 层约 0.44、随机化后约 0.37、预训练末层约 0.53。此处保留论文正文的原始数值。)

结论:这个检验并不"杀死一切"

实验 A 说明很多"发现"经不起正确的对照;实验 B 说明检验会保留下真正稳健的结构(中间层的句法);实验 C 说明真正的发现依然能通过检验——模型确实逐层构建了超出嵌入几何本身的空间表示。好的对照组不是用来否定一切的,是用来区分真假的。

但作者立刻泼了一盆冷水:"直接修正死鲑鱼假象,对可解释性而言是一条非常低的及格线。"目标应该是解决产生这些失败的深层统计问题。假设检验只是把门槛从"比瞎猜好"抬到了"比随机计算好"——它没有回答"那么,什么才算一个好的解释"。

根本方案:把可解释性重写成统计–因果推断

这是论文的正面主张。它分三步搭建。

8.1 第一步:神经网络就是一个结构因果模型(SCM)

这一步在机制可解释性里其实已经是标准做法了,论文只是把它写清楚。给定计算系统 \(f\)(通常是神经网络)和输入分布 \(P_U\),二元组 \((f,P_U)\) 自然定义一个 SCM \(\mathbb C=(\mathcal G,V,U,f,P_U)\):

SCM 的成分在神经网络里对应什么
内生变量 V网络的计算变量:隐状态、注意力模式、logits、输出
外生变量 U从 \(P_U\) 采样的输入——它编码了"我们想解释哪个行为"
结构赋值 f定义网络计算的确定性函数:各层、注意力机制、非线性
因果图 \(\mathcal G\)就是网络的计算图
\[ V_i=f_i(\operatorname{PA}_i,U_i),\qquad i=1,\ldots,d. \]
\(\operatorname{PA}_i\) 是 \(V_i\) 在图 \(\mathcal G\) 中的父节点

这么写有一个实实在在的好处:SCM 自动定义了干预分布和反事实分布。硬干预 \(\operatorname{do}(V_I=v_I)\) 就是把这些变量的结构赋值替换成常数,覆盖掉它们原本的因果机制——这正是 activation patching 在做的事,只不过现在它有了名字和数学。

于是因果查询 \(q(\mathbb C)\) 可以是关于这个 SCM 的任何良定义的可测泛函:"如果把激活 \(V_i\) 强制设为 \(v\),网络会输出什么分布?"、"注意力头 \(V_a\) 对正确的事实回忆有多大因果贡献?"

神经网络与目标行为构成一个 SCM
目标行为 \(P_U\) 与带有内部组件的计算系统,二者共同构成一个 SCM。下半部分展示的是同一个网络在不同输入(行,\(u_0,\ldots,u_k\))× 不同干预(列,从“无干预 \(\varnothing\)”到 \(\operatorname{do}(V_i=v_i)\))下的完整干预分布族。可解释性方法能看到的"数据",就是从这张巨表里采样出来的计算轨迹。

8.2 第二步:解释就是"代理模型"

这是论文最核心的概念转换。一个解释不是"关于网络的真相",而是一个为了回答某类因果查询而构造的、更简单的计算描述。可解释性因此成了一种模型压缩:找一个简单模型,在我们关心的查询上忠实近似复杂系统的行为。

在这个视角下,每一个可解释性方法都由三样东西刻画

可解释性任务的三个要素
一个可解释性任务由三个要素定义:\(\mathcal E\) 假设空间(图中以"电路"为例);\(\mu\) 关于该 SCM(模型 + 行为)的因果查询分布;\(D\) 误差度量(图中以"消融后网络与完整网络输出分布之间的 KL 散度"为例)。
要素是什么它编码了什么
\(\mu\)(查询分布)要回答哪些因果查询我们的解释目标。它决定“\(\mathbb C\) 的哪些方面需要被解释”。注意:标准因果推断通常只盯一个查询(如平均处理效应),而可解释性要回答一整个分布的多样查询。
\(\mathcal E\)(代理类)允许什么形式的解释电路、稀疏子图、线性探针、概念向量、因果图……解释能长什么样。
D(差异度量)怎么算"答错了"代理对查询给出的答案与真实答案之间的距离。KL 散度、分类损失、效应差……

有了这三样,就可以把每个候选解释 \(e\in\mathcal E\) 看成一个查询应答映射 \(S_e:\mathcal Q\to\mathbb R\),然后定义它的总体风险

\[ L_\mu(e)=\mathbb{E}_{q\sim\mu}\!\left[D\!\left(q(\mathbb C),S_e(q)\right)\right] \]
理想解释就是最小化这个风险的那一个:\(e^\star\in\arg\min_{e\in\mathcal E}L_\mu(e)\)

而现实中我们只有有限数据:只能采到有限个查询 \(q_1,\ldots,q_n\sim\mu\),每个查询下也只能采到有限条计算轨迹。于是可解释性方法 \(M\) 就是一个估计量

\[ \hat e := M(\mathcal T_n) \]
\(\mathcal T_n\) = 查询–轨迹对的完整数据集;自然的估计量就是经验风险最小化
这一步的收益是什么?一旦 \(M\) 被看成估计量,统计学的整套词汇立刻可用:偏差(平均而言能不能恢复正确参数)、方差(换个数据集结果变多少)、相合性(\(n\to\infty\) 时会不会收敛到正确参数)、置信集(有限样本下的不确定性量化)。这些词今天在可解释性论文里还远未成为标配——尽管已有少数先声(Senetaire 等 2023 把特征归因写成统计推断;Shi 等 2024、Méloux 等 2025 探索了电路发现的假设检验与不确定性量化)。

8.3 第三步:可识别性,现在有了严格定义

论文把三元组 \((\mu,\mathcal E,D)\) 称为一个可解释性任务。它可识别,当且仅当 \(L_\mu\) 在 \(\mathcal E\) 上有唯一的最小化解(可以容许预先声明的对称性,比如表示空间里的旋转不变性)。

可识别性刻画的是:\(\mu\) 所认为"相关"的那些查询,原则上能不能把代理类 \(\mathcal E\) 中的成员区分开。如果不能,多个互不相容的解释达到相同的总体风险,推断在根本上是模棱两可的。而论文第 2 节的综述表明:最常见的那些任务都不可识别。

互动 5

可识别性的两个旋钮:查询丰富度 × 假设类容量

每个点是一个候选解释。蓝色 = 与已有查询一致(无法被排除)。目标是让存活集合收缩到唯一一点。
存活解释数
等价类大小
解释的不确定性
存活集合的分散程度
所需干预数据量
查询越多越贵
论文在 5.2 节讨论的正是这两个旋钮的权衡:
查询丰富度。\(\mu\) 支撑集里的查询必须足够有区分力,才能把 \(\mathcal E\) 里的候选解释分开。但区分力与样本效率之间存在根本权衡——\(\mu\) 铺得太开,准确估计 \(L_\mu\) 需要的干预数据量会高到不可行;\(\mu\) 集中在太少的查询上,又挑不出唯一解释。
表达力 vs 简约性。假设类必须有足够容量去近似查询(低偏差),但又不能灵活到"许多不同解释都达到低误差"(大等价类、高方差、不可识别)。这就是经典的偏差–方差权衡换了个马甲,也指向了同样的标准解药:对假设类做正则化。
人类认知约束。还有第三个约束常被忽略:可解释性的目的是人类理解。实证研究表明人只能在脑内模拟很少几个交互组件。超出这个结构上限的解释可能技术上"正确"却无法带来洞察

8.4 用新框架重读旧问题

论文特别强调:这个框架不规定研究者该选哪个 \((\mu,\mathcal E,D)\)。它提供的是一种共同语言,让假设变得显式、可分析。下表是论文附录 Table 1 的可交互版本——点击任一方法,看它在这个框架下被翻译成什么。

互动 6

把现有方法翻译成 \((\mu,\mathcal E,D)\)

左侧选择方法,右侧显示它隐含假设的假设类、因果查询类型与误差准则(取自论文附录 Table 1),以及可识别性判断。
方法族可识别性判断论文的理由
行为基准测试可识别"在给定任务分布与误差度量下模型表现如何"是一个良定义的问题。这是最简单形式的可解释性,也驱动了 AI 的大部分进展。它的用处取决于基准怎么构造,但推断问题本身是良设的
概念型方法(探针、SAE、CAV)不可识别这些方法假设内部状态 \(v\) 由可解释概念 \(z\) 通过 \(v=g(z)\) 生成——这是(因果)表示学习的一个实例,而它在没有辅助信息时本身就不可识别。难怪提出的改进(容量控制、交叉验证)恰好就是机器学习里对付欠定的标准手段。
因果中介分析一半一半中介估计量可识别(干预与模型都完全指定)。但"效应大的组件就是机制所在地"这个解释性断言不可识别,因为因果结构是超定的。
电路发现不可识别Hydra 效应 + 超定。若并行通路 A 与 B 都充分,那么只含 A 的电路与只含 B 的电路都满足忠实度标准。即使是正确的因果方法,也会恢复出许多不同却与同一行为一致的解释。
因果抽象方向有希望它在更粗的表示层面工作,超定可以被吸收进抽象后的表示里——这是有前途的方向。但当前的操作性指标在经验上仍表现出不可识别。

这个框架能带来什么

把"解释什么"和"用什么解释"分开

借用科学哲学的术语,框架天然地区分了 explanandum(被解释项,编码在 \(\mu\) 里)与 explanans(解释项,编码在 \(\mathcal E\) 里)。研究者在两边都有相当大的自由。论文说得很直白:不存在唯一"正确"的神经网络解释——恰当的描述类型取决于你的目的。

  • 想要描述性理解?那是关于观测分布的查询。
  • 想要预测?那需要代理模型能泛化到新输入分布的查询。
  • 想要控制与干预?那需要关于反事实/干预分布的查询。

但——这是关键的转折——一旦 \((\mu,\mathcal E,D)\) 被固定下来,解释就成了一个客观的推断问题。最优代理 \(e^\star\) 是使 \(L_\mu(e)\) 最小的那一个,它是系统本身与该可解释性任务的属性,不再取决于研究者的品味。如果任务可识别,这个解释还是唯一的(至多相差可容许的对称性)。

这一步调和了两件常被认为对立的事:关于解释目标的多元主义(你可以关心不同的问题)与关于解释断言的严格性(在给定目标下,答案是客观的)。

报告置信集,而不是点估计

论文认为这可能是最关键的一条。统计化的框架要求可解释性方法不只报告一个点估计,而要报告置信集或(在贝叶斯框架下)解释上的后验分布

作者用了一个很有力的类比:正如我们不会信任一个只报告效应量、不报告置信区间的临床试验,我们或许也就不该信任没有不确定性量化的可解释性断言。(原文用的是 "we may not trust",是一句留有余地的表述,不是绝对禁令。)

而且不确定性的大小本身就是诊断信息:当解释不可识别时,这个不确定性会很大;当任务可识别时,不确定性随观测积累而收缩。

未来方向

① 刻画可识别性条件

系统性地刻画什么样的 \((\mu,\mathcal E,D)\) 三元组是可识别的——就像因果推断里做的识别性理论、无监督学习里做的可辨识性研究那样。表示空间里哪些对称性和不变性是不可避免的?"只识别到这些等价类"什么时候是可接受的?构建一个可识别可解释性任务的分类学,会给实践提供直接可操作的指引。

② 贝叶斯可解释性 + 主动查询选择

在解释类 \(\mathcal E\) 上指定先验 \(\pi(e)\)(编码稀疏性、模块化等结构偏好,或来自相关研究的先验信息),用似然 \(P(\mathcal T_n\mid e)\) 描述给定解释下计算轨迹如何生成,然后按贝叶斯法则更新后验 \(\pi(e\mid\mathcal T_n)\propto P(\mathcal T_n\mid e)\pi(e)\),用可信集量化不确定性。不可识别时后验在等价类上保持弥散——这正好如实反映了根本的模糊性。反过来,观测到更有区分力的查询时后验会收缩,这就给出了主动选择查询的原则性框架:挑那些最能降低后验不确定性的查询。

③ 元分析与累积科学

用元分析方法跨研究聚合证据,处理 \(\mu\)、\(\mathcal E\) 与实验条件上的异质性。标准化的效应量度量、分析的预注册、以及公开共享收集到的计算轨迹,能让可解释性变成一门知识可以系统累积的科学。神经科学和心理学在危机之后拿出的那套解药,现在对可解释性也可用了。

④ 为什么这件事有紧迫性

论文在谈这项工作的影响时点明了动机:机制可解释性正被越来越多地用于安全审计、模型对齐与合规监管。在这些场景下,方法能否产出稳定且统计有效的解释是关键的。依赖不稳定的点估计,会导致对一个模型的安全属性或内部机制产生不合理的信心


批判性阅读:这篇论文的边界在哪里

以下是导读者的评述,不是论文的主张

1. 它是一篇立场论文,不是方法论文。核心贡献是概念框架与一个显式的假设检验程序。真正的算法工作——如何高效估计 \(L_\mu\)、如何在真实规模的模型上算后验、如何构造有区分力又采样可行的 \(\mu\)——基本还没做。作者自己也说框架是"暂定的(tentative)而非定论的"。

2. "随机初始化"零假设不是万能的。它有一个具体的代价:这个零模型把"输入本身携带的结构"也算进了基线。实验 C 就展示了这一点——原始嵌入已经有相当的空间线性可读性,所以随机化的 Transformer 块反而成了一个很高的门槛。这在检测"模型是否学到新东西"时是对的,但如果你的问题是"这个模型现在是否使用空间信息",这个零假设可能过度保守。零模型族的选择本身就是一个需要论证的实质性建模决策,而不是一个技术细节。

3. 从"不可识别"到"没有用"之间还有距离。论文并不主张不可识别的解释一文不值——但读者容易滑到这个结论上。一个不可识别的解释仍然可能有工程价值(比如能可靠地定位并修复某个 bug),只是不该被当作"关于模型的唯一真相"来宣称。论文选择的实用主义立场(解释是"为特定目的服务的实用性计算摘要")恰恰是为了保留这条退路。

4. 与机制可解释性的科学实在论传统存在张力。论文明确指出,机制可解释性体现的是一种科学实在论——追求发现"那个唯一真实的解释算法"。而本文站在实用主义一边(解释是有用的模型,服务于预测、操纵、控制)。这不是一个可以靠实验裁决的分歧,而是哲学立场的分歧。读者应该意识到,接受这套框架同时意味着接受一个关于"解释是什么"的立场。

5. 落地成本很高。要求每篇可解释性论文都写清 \((\mu,\mathcal E,D)\)、跑 k=20 个随机初始化、报告置信集——在大模型上这个计算成本是巨大的。神经科学花了十几年才建立起预注册与多重比较校正的规范,AI 领域的迭代速度更快、竞争更激烈,制度性改革会不会跟上是个开放问题。


术语小抄

术语英文一句话解释
死鲑鱼假象dead salmon artifact方法在本该没有信号的系统(死鱼、随机初始化网络)上仍然产出"显著发现"。
多重比较multiple comparisons同时做大量统计检验时,假阳性数量随检验次数线性增长,必须校正。
可识别性identifiability不同参数一定诱导不同的观测分布 ⇒ 参数原则上可以从数据唯一恢复。
欠定underspecification多个不同解释同样好地拟合已观测数据,数据无法在它们之间裁决。
超定overdetermination多条冗余的因果通路各自独立充分地产生同一行为。
Hydra 效应hydra effect消融被判为"因果重要"的组件,行为却不变——冗余通路补位了。
结构因果模型SCM变量 + 因果图 + 结构赋值函数 + 外生噪声分布,支持干预与反事实推理。
硬干预do(V = v)把某变量的结构赋值替换成常数,切断它原本的因果来源。activation patching 的数学形式。
代理模型surrogate model为回答某类因果查询而构造的、更简单的计算描述——论文对"解释"的定义。
可解释性任务\((\mu,\mathcal E,D)\)查询分布 + 假设类 + 误差度量,三者共同定义一个良设的推断问题。
总体风险population risk \(L_\mu(e)\)解释 \(e\) 在查询分布 \(\mu\) 下的期望误差;最优解释就是最小化它的那个。
蒙特卡洛 p 值Monte Carlo p-value用有限次零模型抽样估计的 p 值,分子分母各加 1 以保证 Type I 错误控制。
叠加superposition模型把远多于维度数的特征以近似正交方向挤进同一表示空间——SAE 的动机。
交换干预interchange intervention把高层变量与对应低层子空间同时从另一样本换入,检验因果抽象是否成立。
反向推理reverse inference从"这个区域/组件被激活"倒推"系统在执行某功能"——在功能不唯一对应时不成立。

如果你想继续读下去

论文本身引用了近 150 篇文献。下面挑出与本文论证最直接相关的几条主线:

死鲑鱼与神经科学的反思

Bennett 等(2009)原始海报;Botvinik-Nezer 等(2020, Nature)"同一数据不同团队";Eklund 等(2016, PNAS)聚类推断的假阳性;Vul 等(2009)巫毒相关;Poldrack(2006)反向推理。

可解释性方法的"随机化检验"

Adebayo 等(2018)saliency 的 sanity checks;Ravichander 等(2021)探针探到的是"编码"还是"使用";Heap 等(2025)SAE 能解释随机初始化的 Transformer;Sutter 等(2025)因果抽象也能解释随机网络。

超定与多重解释

McGrath 等(2023)hydra effect;Makelov 等(2023)子空间修补的可解释性幻觉;Méloux 等(2025)穷举搜索揭示的多重不相容解释;Bilodeau 等(2024, PNAS)归因方法的不可能性定理。

可识别性理论

Locatello 等(2019)无监督解耦表示的不可能性;Khemakhem 等(2020)VAE 与非线性 ICA;Shpitser & Pearl(2008)因果层级的完备识别方法;Casella & Berger 的《Statistical Inference》。

可解释性的哲学

Lipton(2018)"模型可解释性的神话";Rudin(2019)"别再解释黑箱了";Páez(2019)实用主义转向;Williams 等(2025)"机制可解释性需要哲学";Potochnik(2017)理想化与科学理解。

统计化的先声

Senetaire 等(2023, ICML)把特征归因写成统计推断;Shi 等(2024)电路假设的假设检验;Méloux 等(2025)把机制可解释性当作统计估计问题;Piratla 等(2024)概念解释的不确定性估计。