这篇文章想讲清楚三件事:(1)AI 可解释性目前面临的"死鲑鱼"问题到底是什么;(2)特征归因、探针、稀疏自编码器、电路发现、因果抽象这些工具各自是怎么工作的,又各自怎么翻车;(3)论文提出的"统计–因果重构"是什么意思,为什么作者认为不可识别性是所有病症的共同病根。文中所有图表都可以动手调。
⚡ 一分钟版本
- 现象:把一个完全随机初始化的 BERT 拿来做情感分析——PCA 主成分与情感标签"显著"相关,线性探针的交叉验证准确率约 0.72–0.82。模型什么都没学过,"解释"却言之凿凿。特征归因、SAE、电路发现、因果抽象都被报告过类似现象。
- 直接原因:大家在跟一个错误的对照组比。"比随机猜测好"是一条极低的基线;正确的对照是"同架构、随机权重的网络"。换掉零假设后,一部分"发现"当场消失,剩下的效应量也被大幅压缩。
- 深层病根:不可识别性(non-identifiability)——计算轨迹并不能唯一确定解释。行为层面是欠定(多个解释同样吻合数据),因果层面是超定(多条冗余通路各自充分)。二者都导致:同一个模型可以被讲出多个互不相容却同样"忠实"的故事。
- 处方:把可解释性重写成一个显式的统计推断任务。解释 = 代理模型,一个可解释性任务 = \((\mu,\mathcal E,D)\) 三元组(要回答哪些因果查询 / 允许什么形式的解释 / 怎么算错)。然后像所有经验科学一样:明确假设、对照检验、报告不确定性而不是点估计。
- 态度:作者明确说这个框架是"暂定的、欢迎改进的"。真正的主张不是某个公式,而是一个方法论承诺。
2009 年,一条死鲑鱼躺进了核磁共振
2009 年,达特茅斯的 Craig Bennett 等人从超市买了一条大西洋鲑鱼。这条鱼已经死了。他们把它推进 fMRI 扫描仪,给它看人类在各种社交场景中的照片,并"要求"它判断照片里的人在经历什么情绪。
然后他们用当时标准的分析流程处理数据。结果:鲑鱼脑腔的中线位置,出现了一小簇对"社交情绪"有显著反应的体素。
这当然不是死鱼的超自然认知。这是多重比较(multiple comparisons)没有校正的后果。一次全脑扫描要同时对数万个体素分别做统计检验;即使每个检验的假阳性率只有 0.1%,几万次里也必然冒出几十个"显著"。再叠加"相邻显著体素成簇"这类看似稳妥的规则,一簇假阳性就诞生了。这份研究以海报形式出现在 2009 年人类脑成像大会上,后来拿了 2012 年搞笑诺贝尔奖——但它的严肃意义远大于笑点。
下面这个模拟就是死鲑鱼实验的核心。每个格子是一个"体素",颜色代表它与"情绪标签"的相关强度。默认情况下底层是纯噪声,没有任何真实信号。你可以调阈值、开关校正方法,看看"显著发现"是怎么凭空出现又怎么消失的。
多重比较模拟器:如何在纯噪声里"发现"大脑活动
这不是孤例:神经科学的连锁反思
死鲑鱼只是导火索。论文在引言里列了一串后续研究,说明神经影像学的统计脆弱性有多少来源:
- 同一份数据,不同团队,不同结论。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 也有自己的死鲑鱼
论文用一个极简实验把问题摆上台面。取一个 BERT,把它的权重全部随机重新初始化——它没有被训练过,不"懂"任何东西。然后拿 300 条 IMDb 影评句子喂进去,取出每一层的 token 表示、沿序列长度取平均,再用两种最常见的可解释性手法去分析它:

- 相关分析:对每层表示做 PCA,检查主成分与情感标签的相关性——好几个主成分"高度显著"。
- 探针(probing):训练一个线性分类器从表示预测情感——交叉验证准确率约 0.72–0.82,远高于 0.5 的随机猜测。
注意这里用的是交叉验证准确率,不是训练集准确率。也就是说,这不是简单的过拟合——探针确实在没见过的数据上有效。一个从未训练过的网络,"内部表示"里就已经能读出情感了。
其一,随机表示照样携带"哪些词出现过"。每个词被分配了一个随机但固定的向量;把一句话里所有 token 向量做平均,得到的就是这句话的词袋(bag-of-words)在一个随机高维空间中的编码。而情感标签本来就与"出现了哪些词"高度相关——线性探针只要学会"某些随机方向对应某些词",就能把情感读出来。随机的、不改变维度的线性 + 非线性变换基本保留了这种线性可分结构,于是信号一路穿过所有层。("随机投影大体保持几何结构"的直觉来自 Johnson–Lindenstrauss 一类结果;严格说 JL 讲的是降维时的保距,这里只是同一直觉的推广。)
其二,探针问的问题本身就错了。探针问的是"这个概念能不能被读出",而不是"这个概念是否被模型实际使用"。这正是 Ravichander 等人(2021)指出的:探针可以提取仅仅被编码、但推理时根本没用上的特征。
下面这个实验室是上述机制的可运行版本,结构上模仿(不是复现)论文附录的第三个实验:造一批带信号的"词嵌入",让它依次通过 6 个网络层,在每一层都训练一个岭回归探针并做 10 折交叉验证;然后保持嵌入不变、只把各层权重随机化,同样的流程重跑 20 遍作为零分布。(论文的另外两个实验则是把整个模型重新随机初始化,因此连第 0 层也不共享。)
随机网络探针实验室:真的在你的浏览器里逐层训练探针
试试这三个操作:(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)和假阳性尤其没有抵抗力。
病根之一:欠定(underspecification)
论文第 3 节做了一件很关键的事:它不再逐个批评方法,而是问"这些失败有没有共同的结构"。答案是有,而且分两支。第一支叫欠定。
欠定的意思是:多个互不相同的解释,同样好地符合已观测到的数据。数据本身不足以在它们之间做出裁决。
它在行为层面出现
只看输入–输出关系的方法(论文举的例子是特征归因与行为测试)从根上受限于这一点:能复现同一组输入输出模式的假设有很多个。(注意"行为基准测试"不在此列——后面会看到论文把它判为可识别。)这在认知科学里是老问题——正因为纯行为数据无法唯一确定内部机制,脑成像才被发展出来,希望获得"客观、可测量、更可泛化"的神经计算量。
它在内部表示层面同样出现
AI 可解释性走了类似的轨迹:从行为转向分析内部计算。但基于内部状态的预测型方法(探针、SAE)继承了机器学习的标准病灶——过拟合与泛化差。用论文的语言说,这些都是欠定的实例:许多预测模型都能同样好地拟合训练数据,却说不清哪一个才假设了可泛化的因果机制。
同一批数据,无穷多个"解释"
把"观测点"换成"你的探针训练集"、把"曲线"换成"候选解释",这张图就是欠定本身。多加几个观测点(增大 n)能收窄一点,但只要假设类足够灵活,永远还剩一整族解释。
病根之二:超定(overdetermination)与 Hydra 效应
因果方法的出现,正是为了修复预测型方法的短板。给定干预,因果效应看上去是客观的、可泛化的。但论文指出,因果方法遇到了一个相反方向的麻烦。
神经网络是大规模、分布式、组件高度交互的系统,天然产生冗余且依赖上下文的因果通路。于是出现超定:多个互不相同的因果机制,各自都独立充分地产生了同一个行为。
这是哲学里研究了很久的问题("两个刺客同时开枪,都致命"——谁是死因?)。在神经网络里,它有个更形象的名字:
后果是:干预实验揭示的往往不是"某个简单机制",而是超定的因果结构本身。
Hydra 效应与"两个都忠实的电路"
这个玩具例子里,通路 A 和通路 B 各自都能把输入正确送到输出。于是:
- 消融单个节点,行为不变 → 因果重要性度量给出"这个组件不重要"的错误结论(Hydra 效应)。
- "电路 = {A}" 和 "电路 = {B}" 都通过忠实度检验 → 电路发现返回哪一个,取决于搜索算法的初始化、剪枝顺序、超参数,而不是取决于网络本身。
论文的措辞很犀利:在复杂计算系统里找到一个机制故事变得太容易了——许多不同的、互不相容的解释都能被"发现"出来解释同一个现象。
合并诊断:不可识别性(non-identifiability)
欠定与超定殊途同归,指向同一个统计学概念。
什么是可识别性?
在统计推断里,一个模型是可识别的,如果不同的参数一定诱导出不同的观测分布:
直觉:如果两组不同的参数会产生一模一样的数据分布,那么无论收集多少数据你都无法把它们分开——推断问题本身是病态的(ill-posed)。可识别性通常是自然科学中可靠推断的前提条件;统计学、无监督学习、因果推断都投入了大量工作去刻画可识别条件、设计可识别的任务。
论文的核心主张是:对于常见的可解释性查询,计算轨迹并不能唯一确定解释。换句话说,可解释性任务大多是不可识别的。而不可识别性正好解释了那一长串"统计脆弱性"症状:
| 症状 | 为什么不可识别性会导致它 |
|---|---|
| 泛化差 | 当多个解释同样好地拟合已观测数据时,它们的解释性断言在未见数据上可以任意分叉。到底选哪一个,取决于很少被验证过的归纳偏置。 |
| 对设计选择敏感 | 不可识别意味着存在一整片"拟合良好"的解释流形。不同的数据集、优化程序、超参数会以不同方式在这片流形上游走,于是给出不同的解释。 |
| 假发现 | 当解释不可识别时,"碰巧拟合上数据的虚假解释"被找出来的概率,会随着假设空间的规模和复杂度上升。假设空间越大越容易讲故事——这正是死鲑鱼。 |
急救方案:跟"随机计算"比,而不是跟"随机猜测"比
在讲大框架之前,论文先给了一个立刻能用的补丁。思路直白得几乎让人不好意思:
同架构、但权重随机化的网络上。
如果它在那儿也给出同样漂亮的结果,那么你在训练模型上得到的结果说明不了什么。
怎么把它做成一个正式的假设检验
论文在附录里给出了完整程序。设 \(\mathbb C=(f,P_U)\) 是"模型 + 目标行为"这个组合,可解释性方法 \(M\) 从有限观测里产出解释 \(\hat e=M(\mathcal T_n)\)。
- 构造零模型族 \(P_{\widetilde{\mathbb C}}\)。它要保留网络的架构性质,但破坏掉我们想解释的那个具体计算机制。可选的做法:全权重随机化、对表示做随机正交变换、或打乱标签(后者退化成标准的置换检验)。
- 定义检验统计量 \(T(\hat e,\mathbb C)\),用来量化"解释拟合得有多好"。探针方法可以用测试准确率;电路发现可以用行为忠实度;归因方法可以用"归因分数与真实干预效应的相关性"。
- 跑 B 次。对每个零模型 \(\widetilde{\mathbb C}^{(b)}\) 应用同一个方法 \(M\),得到 \(\widetilde e^{(b)}\) 与零统计量 \(T_{\mathrm{null}}^{(b)}\)。
- 算蒙特卡洛 p 值。
论文的一句话点出了这个方案的下限保证:只要随机化包含了完整的权重重初始化,死鲑鱼假象在设计上就不可能残留。
三个真实实验:换掉零假设之后发生了什么
作者在三个探针任务上跑了这个检验,每次都用 \(k=20\) 个随机化模型作为零模型、10 折交叉验证(前两个实验重新初始化整个模型,第三个实验只随机化 Transformer 块、保持嵌入不变)。

*** 表示显著,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\) | 就是网络的计算图 |
这么写有一个实实在在的好处:SCM 自动定义了干预分布和反事实分布。硬干预 \(\operatorname{do}(V_I=v_I)\) 就是把这些变量的结构赋值替换成常数,覆盖掉它们原本的因果机制——这正是 activation patching 在做的事,只不过现在它有了名字和数学。
于是因果查询 \(q(\mathbb C)\) 可以是关于这个 SCM 的任何良定义的可测泛函:"如果把激活 \(V_i\) 强制设为 \(v\),网络会输出什么分布?"、"注意力头 \(V_a\) 对正确的事实回忆有多大因果贡献?"

8.2 第二步:解释就是"代理模型"
这是论文最核心的概念转换。一个解释不是"关于网络的真相",而是一个为了回答某类因果查询而构造的、更简单的计算描述。可解释性因此成了一种模型压缩:找一个简单模型,在我们关心的查询上忠实近似复杂系统的行为。
在这个视角下,每一个可解释性方法都由三样东西刻画:

| 要素 | 是什么 | 它编码了什么 |
|---|---|---|
| \(\mu\)(查询分布) | 要回答哪些因果查询 | 我们的解释目标。它决定“\(\mathbb C\) 的哪些方面需要被解释”。注意:标准因果推断通常只盯一个查询(如平均处理效应),而可解释性要回答一整个分布的多样查询。 |
| \(\mathcal E\)(代理类) | 允许什么形式的解释 | 电路、稀疏子图、线性探针、概念向量、因果图……解释能长什么样。 |
| D(差异度量) | 怎么算"答错了" | 代理对查询给出的答案与真实答案之间的距离。KL 散度、分类损失、效应差…… |
有了这三样,就可以把每个候选解释 \(e\in\mathcal E\) 看成一个查询应答映射 \(S_e:\mathcal Q\to\mathbb R\),然后定义它的总体风险:
而现实中我们只有有限数据:只能采到有限个查询 \(q_1,\ldots,q_n\sim\mu\),每个查询下也只能采到有限条计算轨迹。于是可解释性方法 \(M\) 就是一个估计量:
8.3 第三步:可识别性,现在有了严格定义
论文把三元组 \((\mu,\mathcal E,D)\) 称为一个可解释性任务。它可识别,当且仅当 \(L_\mu\) 在 \(\mathcal E\) 上有唯一的最小化解(可以容许预先声明的对称性,比如表示空间里的旋转不变性)。
可识别性刻画的是:\(\mu\) 所认为"相关"的那些查询,原则上能不能把代理类 \(\mathcal E\) 中的成员区分开。如果不能,多个互不相容的解释达到相同的总体风险,推断在根本上是模棱两可的。而论文第 2 节的综述表明:最常见的那些任务都不可识别。
可识别性的两个旋钮:查询丰富度 × 假设类容量
查询丰富度。\(\mu\) 支撑集里的查询必须足够有区分力,才能把 \(\mathcal E\) 里的候选解释分开。但区分力与样本效率之间存在根本权衡——\(\mu\) 铺得太开,准确估计 \(L_\mu\) 需要的干预数据量会高到不可行;\(\mu\) 集中在太少的查询上,又挑不出唯一解释。
表达力 vs 简约性。假设类必须有足够容量去近似查询(低偏差),但又不能灵活到"许多不同解释都达到低误差"(大等价类、高方差、不可识别)。这就是经典的偏差–方差权衡换了个马甲,也指向了同样的标准解药:对假设类做正则化。
人类认知约束。还有第三个约束常被忽略:可解释性的目的是人类理解。实证研究表明人只能在脑内模拟很少几个交互组件。超出这个结构上限的解释可能技术上"正确"却无法带来洞察。
8.4 用新框架重读旧问题
论文特别强调:这个框架不规定研究者该选哪个 \((\mu,\mathcal E,D)\)。它提供的是一种共同语言,让假设变得显式、可分析。下表是论文附录 Table 1 的可交互版本——点击任一方法,看它在这个框架下被翻译成什么。
把现有方法翻译成 \((\mu,\mathcal E,D)\)
| 方法族 | 可识别性判断 | 论文的理由 |
|---|---|---|
| 行为基准测试 | 可识别 | "在给定任务分布与误差度量下模型表现如何"是一个良定义的问题。这是最简单形式的可解释性,也驱动了 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)\) 最小的那一个,它是系统本身与该可解释性任务的属性,不再取决于研究者的品味。如果任务可识别,这个解释还是唯一的(至多相差可容许的对称性)。
报告置信集,而不是点估计
论文认为这可能是最关键的一条。统计化的框架要求可解释性方法不只报告一个点估计,而要报告置信集或(在贝叶斯框架下)解释上的后验分布。
而且不确定性的大小本身就是诊断信息:当解释不可识别时,这个不确定性会很大;当任务可识别时,不确定性随观测积累而收缩。
未来方向
① 刻画可识别性条件
系统性地刻画什么样的 \((\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)概念解释的不确定性估计。

