跳到正文
AI 知识地图 0.18 · 2026-07-30
关于与纠错文字目录 / Search
理解原理

模型可解释性:从输入归因到因果干预,区分故事、证据与机制

比较特征归因、探针、反事实、激活替换、稀疏特征和电路分析,理解忠实度、稳定性、完备性与“可读不等于真实”。

核心命题 解释方法是对模型行为提出并检验假设。注意力图、显著图或自然语言理由常只与输出相关;更强的机制证据需要干预内部变量并预测行为变化,同时承认一个解释通常只覆盖特定任务和输入。
读完你应该能:区分全局/局部与事后/机制解释;手算简单特征归因;解释相关探针和因果干预差别;识别多义神经元和解释者偏差;设计忠实度、稳定性和完备性验证。
  1. 明确解释用户、问题和可接受证据
  2. 用归因/可视化发现候选假设
  3. 构造输入反事实测行为敏感性
  4. 用探针定位可读信息
  5. 消融、替换或添加内部激活做因果检验
  6. 跨样本预测并测稳定/完备
  7. 声明模型任务与干预范围
  8. 把解释与数据、评测和申诉共同用于决策

1先问解释给谁、支持什么决定问题定义

可解释性并不是一个可以脱离用途来定义的属性。同样一段关于模型如何做出判断的说明,对工程师、审核者、用户和研究者意味着完全不同的东西,也因此应当以完全不同的标准来评判。

工程师拿到解释,通常是为了定位故障来源并修改模型。他们关心的是:在给定输入上,哪一部分计算对错误输出负主要责任,改掉它是否能让行为变好。审核者需要的不是修复线索,而是证据和责任归属——模型是否因为某个受保护属性或某个与任务无关的捷径做出了决定,以及这个决定能否被追溯和说明。用户需要的是可操作的理由:为什么这笔申请被拒绝、为什么这段内容被判违规,以及自己可以改变什么来影响结果。研究者则想知道模型内部真正执行了什么样的计算,而不是一个事后拼凑出来的、听起来合理的叙述。

这些不同目的对应着几组需要区分开来的概念。局部解释针对单个输入,回答“这一次判断为什么是这样”;全局解释概括模型在整个数据分布上的行为模式,回答“这个模型总体上依赖哪些因素”。事后解释是对已经训练好的模型进行拟合,观察输入与输出之间的统计关联来近似地描述行为;机制解释则尝试描述模型内部真实的因果计算,说明哪些组件以什么方式参与了决策。前者的代价低、适用范围广,但不保证反映内部机制;后者的目标是描述真实过程,但获取难度大得多。

之所以要先问“解释给谁、支持什么决定”,是因为不指定用途,“好解释”就没有标准。一个对工程师有用的定位图,可能因为包含太多内部术语而对用户毫无意义;一个让用户安心接受的通俗说法,可能因为掩盖了关键机制而对研究者构成误导。可读性、忠实度、稳定性、完备性和获取成本之间彼此牵制:越贴近真实机制的解释往往越难读、越昂贵,越容易被普通人接受的说法往往越偏离内部计算。任何声称“这是对模型的解释”的产出,都需要先说明它服务的是哪类受众和哪类决策,才能判断它是否合格。

2简单线性模型中的贡献可以精确分解手算

在线性模型中,“每个输入变量对最终得分贡献了多少”是一个可以精确回答的问题,而且答案的推导过程能直接展示后续所有归因方法共同依赖的一个前提:基线选择。

考虑一个评分函数 s = 2x₁ − x₂ + 0.5。给定输入 [3, 1],如果以零向量作为基线,即问“相比所有输入都取 0 的情况,每个变量把得分改变了多少”,那么 x₁ 的贡献是系数乘以取值,即 2 × 3 = 6;x₂ 的贡献是 −1 × 1 = −1;偏置项 0.5 单独记为一笔常数。三者相加得到 6 + (−1) + 0.5 = 5.5,恰好等于直接把 [3, 1] 代入评分函数得到的总分。零基线下的分解之所以如此干净,是因为线性函数对每个变量都是独立的:某一项的贡献就是该项系数与该变量值的乘积,不存在交叉项。

但这个“精确”是有条件的。如果把基线从零向量换成均值 [2, 2],也就是问“相比一个典型输入,各变量偏离了多少”,那么 x₁ 的相对贡献变成 2 × (3 − 2) = 2,x₂ 的相对贡献变成 −1 × (1 − 2) = +1,基线本身的得分是 2 × 2 − 1 × 2 + 0.5 = 2 + 0.5 = 2.5。新的分解是 2 + 1 + 2.5 = 5.5,总分不变,但每一项的数值都变了,连 x₂ 的符号都从负翻成了正。两次分解都“正确”,因为它们只是在回答不同的反事实问题:一次问“从零开始这个变量带来了什么”,一次问“相对平均水平这个变量偏离了多少”。

这一现象可以用一个一般形式概括:f(x) = f(x₀) + Σ(各变量的贡献),其中 x₀ 是基线。左边是完整预测,右边第一项是基线输入本身的预测值,求和项是各变量从基线到当前输入的增量贡献。只要函数是线性的,这个等式对任何基线都严格成立;改变基线只是在 f(x₀) 与各贡献项之间重新分配同一个总分。

问题在于,真实的深层网络充满非线性和特征之间的交互,上述分解不再唯一。一旦存在 x₁ × x₂ 这样的交叉项,就无法再把交叉项的效应无争议地划给 x₁ 或 x₂ 任何一方,不同归因方法会给出不同答案,而这些差异归根到底源于各自隐含的反事实参照不同。因此,基线不是一个可以随便忽略的技术细节,而是归因问题中必须显式说清的语义选择:你正在问“相对什么而言”的贡献。选零基线、选均值、选某个特定的正常样本,都会得到同样合法的数值,但它们回答的是不同的问题。

f(x)=f(x)+Σcontribution;解释依赖基线选择

3归因方法回答“改变输入附近会怎样”而非完整推理过程方法

热图上某个词语被标成最亮,人们很容易脱口而出“模型是因为这个词才这么回答的”。这类说法需要谨慎对待,因为它把一种输入级别的敏感性估计当成了对模型内部推理过程的描述,而这两者并不是一回事。

梯度归因、Integrated Gradients、遮挡法和 SHAP 这些常见方法,输出的是输入特征对当前预测的局部贡献估计。它们共同的机制是:围绕给定输入,观察输出如何随着输入改变而变化,再把变化量分配到各个特征上。梯度法看的是输出对每个输入维度的瞬时敏感度;Integrated Gradients 沿一条从基线到当前输入的路径累积梯度,试图让分配满足相加性;遮挡法直接删掉或遮盖某个词、某块像素,看预测分数掉了多少;SHAP 则基于博弈论中的 Shapley 值,把每个特征在所有可能子集上的边际贡献做加权平均。它们各自对基线、对非线性如何线性化、对特征之间是否独立做了不同的假设,因此数值大小和符号可能彼此不一致。

即使数值一致,热图也不等于推理轨迹。原因至少有三。第一,相关特征可以互相替代:如果模型同时看到了“糟糕”和“烂”两个同义线索,遮掉其中一个,另一个立刻补位,被遮词单独看贡献为零,但它并不是无关的。归因把增量记在恰好存活的那个特征上,而不是记在模型真正依赖的抽象概念上。第二,遮挡会制造分布外输入。删掉一个词得到的不再是自然句子,模型遇到这种从没见过的畸形输入时,行为变化可能反映的是它对异常的应激反应,而不是该词在正常句子中的作用。第三,敏感度与充分性不是同一件事:一个词被标得高,只能说明改它会影响输出,不能说明它单独就足以造成这个输出,也不能说明它是模型决策链条上的那一环。

因此,把归因热图当作一个需要进一步验证的线索,而不是当作心理故事的脚本。可以换多个基线看结论是否稳定,用多种扰动方式交叉检查,检查贡献的符号方向是否与直觉一致,并做充分性与必要性测试:只给这个词,模型是否仍做出该判断;去掉这个词,模型是否改变判断。只有当这些证据相互印证时,才能比较有把握地说某个输入特征确实驱动了这次预测。归因方法回答的是“在输入附近改变会怎样”这一反事实问题,而不是“模型内部如何一步步推理”的机制问题。

4完整示例:情感分类器把演员名当成正面捷径案例推演

从一张归因热图到一个可信的因果结论,中间需要一条逐步收紧的证据链。情感分类器的例子能完整展示这个过程。

假设某条影评被判为正面,归因图显示演员名“李某”对正面分数的贡献异常高,远超过句中真正表达好恶的形容词。这本身只是一个线索:它说明改变这个名字会显著改变预测,但不能证明模型在“利用”这个名字做出判断。要走到因果结论,需要依次做几类不同的验证。

第一步是构造反事实并观察系统变化。保持句子其余部分不变,把“李某”替换成其他多个演员名,看预测是否随名字改变而发生系统性翻转。如果换成别的演员名正面分数稳定下跌,而换回“李某”又回升,就说明这个特定名字而非“演员名”这个位置在起作用。这一步把“相关性”推进到“可操纵性”。

第二步是排除混杂。检查训练数据里“李某”与正面标签的共现频率,同时排除分词方式、名字长度、词频等可能同时影响模型的其他因素。如果该名字在训练集中压倒性地与好评共现,那么模型学到这个捷径就有了数据层面的来源;反过来,如果共现并不明显,就需要怀疑是不是其他隐藏变量在起作用。

第三步是检验信息在模型内部的存续。训练一个线性探针,用中间层的表示去预测输入中出现了哪个名字。如果探针能以显著高于随机的准确率读出名字身份,就说明名字信息确实被编码进了这些层。但这一步只能说明“信息存在”,不能说明下游计算读取了它。存在与使用是两回事。

第四步才是内部因果干预。定位那些对名字敏感的特定特征或神经元,做激活替换或消融实验:把该神经元在“李某”输入下的激活替换成另一个中性名字下的激活,或直接将其归零,看正面分数是否按预期方向变化。如果干预这些内部单元能可控地改变输出,就建立了从内部组件到行为之间的因果联系。

第五步是防止单例过拟合。把上述结论放到不同句子模板、不同名字、不同负面语境中重复验证,确认它不是一个只对特定句子成立的特例。

最后一步是闭环。移除数据中的这个捷径,或通过正则化重新训练后,确认相应内部电路与行为捷径共同减弱。如果模型不再利用名字、内部组件也不再编码名字,就形成了从数据来源到内部机制再到输出行为的完整因果链。

这个例子说明了证据强度的递增逻辑:可视化给出候选,反事实给出可操纵性,探针给出信息存在性,内部干预给出因果性,跨样本验证给出稳健性,最终通过修改训练来闭合回路。每一步都在缩小“故事”与“机制”之间的差距。

5原创图:解释证据从相关观察升级到因果干预可视化

可解释性研究中一个反复出现的误区,是把“信息可以被读出”当成“模型实际使用了这条信息”。一张示意图可以把不同证据类型的强度排成阶梯,直观地展示这个误区落在哪个环节。

图 1 描绘的是一条解释证据阶梯,从低到高依次是:可视化相关、输入反事实、线性探针、内部消融与激活替换,再到跨样本预测与机制验证。每一级都比前一级提供了更强的因果承诺。

阶梯最底层是可视化相关。归因热图、注意力权重、特征可视化都落在这里。它们显示某个输入区域或某个内部单元与输出存在统计上的关联,但关联不等于驱动。往上一步是输入反事实:主动改变输入并观察输出变化,这能建立“输入层面的可操纵性”,但仍停留在行为表面。再往上是线性探针:训练一个简单分类器,看某个中间层表示能否预测目标信息。探针的高准确率回答的是“这层表示里是否编码了该信息”,它完全不回答“下游计算是否读取并使用了它”。信息可以存在却不被使用,正如一份写着答案的便签可能一直躺在抽屉里。

要越过“存在”与“使用”之间的鸿沟,必须进入内部干预:直接消融某个神经元,或用另一组输入下的激活替换它,观察输出是否按预期方向变化。这一步才开始建立内部组件与行为之间的因果联系。最高一级是跨样本预测与机制验证:把关于某个内部电路的假说拿到训练分布之外的新样本上做预测,看是否成立,并检验修改训练数据或模型后,电路与行为是否共同变化。能在新情形下做出正确预测,是机制解释具备真正解释力的标志。

图 1 传达的方法论主张是:解释研究应当先用观察提出假说,再用干预和预测去检验假说。观察只能产生候选故事,干预才能约束故事,而跨样本的预测能力是区分“拟合出来的叙述”与“真实机制描述”的最终裁判。把探针准确率直接当成“模型用了该信息”的证据,等于停在了阶梯的第三级,却宣称已经到达了因果的层面。

热图/注意力相关线索输入反事实行为敏感性探针/特征信息可读消融/替换内部因果跨样本预测范围/完备性证据更强不等于完全解释;每一级都需对照与范围声明
图 1 解释研究应从观察提出假设,再用干预和预测检验。

6线性探针证明信息存在,不证明下游读取它探针边界

假设在某个中间层训练一个线性探针,它能以 99% 的准确率从激活中预测出输入样本的性别。很多人会立刻得出结论:模型在做决策时用了性别。这个推理跳过了关键的一步,因为线性探针证明的是“信息存在于表示中”,而不是“下游计算读取并使用了这条信息”。

要理解为什么,需要先看高维表示的一个特性。一个深层网络的中间激活通常是几百到几千维的向量,而线性分类器在这样的高维空间里有很大的拟合容量。许多与任务完全无关的信息也会因为表示空间的富余而被线性编码出来——模型可能在处理句法、语义时,顺带把性别、年龄、字体、位置等大量属性编码进了向量,即便这些属性与它最终的行为毫无关系。探针的高准确率可能反映的是表示“顺便包含了”这条信息,而非模型“依赖”这条信息。

更麻烦的是,探针本身可能通过自身容量提取出模型从未使用的微弱信号。一个足够强的探针可以放大概率极小的方向分量,把噪声里的微弱相关放大成一个漂亮的分类器。因此,单看探针准确率无法区分“模型主动编码并依赖的信息”和“探针强行从富余空间里挖出来的信号”。

要做出更可靠的判断,需要一组控制实验。第一,控制探针复杂度:用最简形式(如线性探针)并与随机标签、随机表示做基线对比,确认它的成功不是单纯靠拟合容量。第二,做干预测试:沿探针学到的那条方向修改表示——例如把表示中的性别方向移除或替换——观察目标行为是否随之改变。如果改变这条方向对下游预测没有任何影响,那么无论探针读得多准,都无法证明模型使用了该信息。

在报告结果时,“可读性”和“因果使用”必须分开陈述。“这一层可以线性读出性别”与“这一层用性别做决策”是两种不同强度的论断,前者是相关性陈述,后者是因果陈述。此外还有一个边界需要注意:从表示中删除探针找到的信息,并不能保证所有非线性编码都被移除了。探针只找到它那一类线性结构,表示里可能还残留着探针没看到的非线性编码,因此“删除后行为不变”的证据也需要配合多类探针与多方向的检查才能解读。

7激活替换和路径修补测试内部组件的因果作用机制实验

要判断某个内部组件——比如一个注意力头——是否真的负责传递某条信息,而不仅仅是碰巧与该信息同时活跃,观察是不够的。需要用干预实验直接改变它的行为,再看输出如何变化。激活替换和路径修补是两类核心工具。

激活替换的基本做法是准备一对输入:一个“干净”输入和一个被扰动过的输入。假设扰动输入删掉了或篡改了关键信息,导致模型输出受损。此时在某层把受损运行的激活,替换成干净输入在同一层产生的激活,然后观察输出是否恢复。如果替换某个特定层的激活能让输出显著回到干净状态,就说明这层原本承担着传递这条信息的因果职责;如果替换后输出毫无改善,那么这层虽然可能包含相关信息,却并不在这条因果通路上。

路径修补把这个思路细化到组件级别。不是整层替换,而是逐一替换某个注意力头、某个 MLP 神经元或某条连接,看哪一部分是恢复输出所必需的通道。通过逐组件修补,可以定位出一条从输入到输出的必要路径。消融实验与之互补:移除一个组件,看输出是否受损,回答的是必要性;反过来,激活添加实验(在组件原本不活跃时强行注入它的激活)看输出是否出现目标行为,回答的是充分性。必要性与充分性一起,才构成对“该组件导致该行为”的完整描述。

这类干预有一个共同的隐患:被替换或移除的激活可能让模型进入它从未见过的分布外状态。一个组件被消融后,剩余组件可能启动异常补偿,或者整体计算滑入不自然的区域,此时观察到的行为变化未必反映该组件在正常输入下的真实作用。此外,模型内部普遍存在冗余——多个组件承担重叠的功能,单独移除一个往往只产生微弱影响,因为其他组件立刻补位。这会让“不重要”的假阴性经常出现。

要抵御这些干扰,需要多种手段并用:施加不同强度的干预并画出剂量曲线,观察输出是否随干预强度单调变化;设置对照位置,确认只有干预到目标位置时才有效果,而干预附近的其他位置无效;最后在不同样本上复现同一结论,排除单例偶然性。只有当一个组件的因果作用在多强度、多位置、多样本的干预下都稳定成立时,才可以说它确实在传递这条信息。

8神经元常多义,稀疏特征尝试把叠加表示分解特征

某个神经元同时被“DNA 序列”“引号”和“德语文本”这几类看似毫不相干的输入强烈激活,并不意味着这个神经元没有语义,也不意味着模型内部是一片无法理解的混沌。它指向的是表示方式上的一个根本事实:单个神经元并不是天然的概念单位。

深层网络的表示空间维度是有限的,而模型需要编码的概念数量远超维度数。一种经济的方式是把多个特征叠加(superposition)进同一组维度里——让同一个神经元同时参与多个特征的表示,通过不同特征在不同输入下的组合方式加以区分。于是单个神经元看起来“多义”,实际上是在多个特征之间共享容量。把它理解成“一个神经元对应一个概念”的失败,是一种视角上的错误。

稀疏自编码器是应对这种叠加的一种工具。它的目标是学习一个把激活分解成更多、更稀疏特征的重建器:用数量远大于原维度的稀疏特征向量去重建每一层的激活,让每个特征方向尽量只对应一个较单义的概念。输入是某层的激活向量,输出是重建后的激活以及一组稀疏特征系数;训练约束是既要让重建尽量忠实于原激活,又要让激活的特征尽量少。稀疏度与重建忠实度之间存在取舍:特征越稀疏、越单义,重建就往往越失真;重建越精确,特征又容易退回多义。

这套方法有一个重要的边界。特征的含义不是自动给出的,而是靠查看每个特征激活最强的那些输入样本来人工命名的;命名依赖示例的选择和解释者的判断,可能被自动标签偏差或主观先验影响。所谓“可解释特征的比例”也高度依赖阈值设定和标签方式,并不是一个客观固定的数字。最关键的一点是,即便一个稀疏特征看起来对应一个清晰的概念,也不能自动推出模型的行为由它控制。要确认这个特征是否真的驱动了某个输出,仍然必须回到干预实验:人为激活或抑制该特征,看行为是否按预期变化。稀疏特征把“神经元多义”的问题缓解为“特征较单义”,但可读性到因果性之间的鸿沟依然存在。

9注意力权重展示信息路由偏好,不等于最终贡献常见工具

注意力热图是最容易获取、也最容易被误读的可解释性工具之一。一个 token 被分配了很高的注意力权重,人们常据此断言“模型在关注这个词”,进而推论“这个词决定了输出”。但这个推论在机制上并不成立,因为从注意力权重到最终输出之间还隔着若干道会改变信号强度的运算。

注意力权重的真正含义是路由偏好:它说明在计算当前位置的表示时,模型倾向于从哪些其他位置读取信息。但读取到的信息有多少真正进入输出,取决于后续一连串计算。第一,注意力输出是 value 向量按权重加权求和的结果。即使某个 token 的权重很高,如果它对应的 value 向量本身幅度接近零,或者携带的信息与当前任务无关,那么高权重乘以近零的 value,实际注入的信息量仍然很小。第二,多个注意力头求和之后,一个头的高权重可能被其他头的贡献抵消。第三,残差连接和后续的 MLP 层会进一步加工、甚至覆盖前面层的信号:后续层完全有能力把某个高注意力位置的贡献改写掉。

反过来,一个低注意力权重的 token 也可能对输出至关重要。如果它经由一条高幅值的 value 路径传播,权重虽小但 value 很大,两者的乘积可能相当可观;又或者它通过残差连接绕开注意力路径直接影响了后续计算。因此,注意力权重与最终贡献之间不存在单调的对应关系。

正确使用注意力图的方式,是把它当作产生结构假设的起点,而不是结论本身。看到某个头对某类 token 对表现出稳定的注意力模式,可以提出“这个头可能在传递某类关系”的假说,然后结合 value 向量的内容、输出投影矩阵、残差连接的实际贡献,以及消融实验来检验。只有当消融或替换该头确实改变输出时,注意力图上的模式才获得了因果支撑。把“注意力权重高”直接等同于“该 token 对输出贡献大”,也就是把“attention is explanation”当作普遍成立的命题,是一种需要明确拒绝的过度解读。

10自然语言自我解释可能是合理化,不是内部轨迹读取叙述边界

当模型流利地输出“因为 A,所以 B”这样一段理由时,很容易让人觉得它正在报告自己的内部推理。但自然语言理由与真实计算轨迹之间没有必然的对应关系,两者需要被分开对待。

模型生成的理由是受提示和语言先验共同塑造的文本产物。语言模型在训练中学会了“人们期待什么样的理由”,因此它倾向于给出符合社会惯例、前后连贯的解释,而不是逐字转述内部的激活或计算。这带来两个可观察的现象。其一,在答案完全不变的情况下,换一种提示方式或改一个问法,模型给出的理由可以显著不同——如果理由真的是对固定内部计算的忠实读取,它不应该如此随提示漂移。其二,模型可以为错误的答案也编出滴水不漏的连贯故事,理由的流畅程度与答案的正确性彼此独立。这说明生成理由在很大程度上是事后对“已经给出的答案”做合理化包装,而非对“如何得出答案”的复述。

这一区分对实践有直接影响。对用户沟通而言,自然语言解释仍然有真实价值:它把复杂的判断翻译成用户能理解和回应的语言,帮助建立可操作的对话。但若把它当作机制证据,就混淆了三种不同性质的东西。“可理解的说明”是对结果的通俗转述,服务于沟通;“决策依据证据”需要通过实验证明某因素确实改变了结果;“内部机制”则是模型内部真实的因果计算描述。三者不能互相替代。

要判断一段自然语言理由是否忠实于模型的实际行为,唯一可靠的办法是用干预去检验:操纵理由中提到的那类因素,看输出是否如理由所预言的那样变化;在输入中隐藏或删除理由依赖的信息,看理由和答案是否随之改变;构造反事实问题,看模型是否仍给出与理由一致的回应。只有通过这些外部测试,一段自然语言解释才能从“听起来合理”升级为“确实反映了模型依赖的东西”。思维链文本可以被当作一种可检查的行为线索,但它不是计算日志。

11解释需要稳定、忠实、完备和可证伪评测

一张视觉上漂亮的热图本身不构成好的解释。判断一个解释是否可靠,需要一组可以让它接受失败判据的评估标准,而不是只看它是否符合直觉。其中稳定性、忠实度、完备性和可证伪性是最基本的几个维度。

稳定性考察的是:对输入做语义不变的小改动——比如换一个同义词、微调标点或改变无关的格式——解释是否保持一致。如果一句话的语义没变,但热图上的归因分布大幅漂移,说明解释对噪声敏感,可信度低。忠实度考察解释是否反映了真实行为:移除或压低归因最高的那些特征,观察输出是否比移除归因最低的特征下降得更明显。如果高归因特征被拿掉后模型几乎不受影响,那么这个热图就是在描述一个并不存在的依赖关系。完备性考察解释能在多大程度上重构行为:把解释认定的那些组件或特征保留下来,其余置为基线,看能否近似恢复原始输出。如果解释声称找到了关键机制,却只能解释行为的一小部分,那么它的覆盖范围就需要如实标注。

简洁度和人类可用性是另外一类的标准,不能与上述三者混为一谈。一个解释可以很简洁、很好读,却既不忠实也不完备;反之亦然。人类能不能看懂,衡量的是沟通质量,而不是机制正确性。

可证伪性要求解释接受 sanity check 的检验。一类标准的 sanity check 是随机化权重或随机化标签:把模型的权重打乱,或把训练标签打乱后重新训练,再对同一方法得到的“解释”进行评估。如果在这种已经失去真实机制的模型上,方法仍然输出同样漂亮、同样高分的热图,那么这个解释就没有捕捉到任何真实的东西,它的好看只来自方法本身的内在结构。理想情况下,解释质量指标应当在真实模型上显著区别于随机化基线。

把这些标准落到实践中,意味着在研究开始前就预注册假设和评估指标,保留阴性控制组,而不是事后从结果里挑好看的故事。解释若无法预测新输入上的行为,或无法预测干预的结果,就应该被降级为探索性的线索,而不是被当作已确认的机制。让解释接受失败判据,是区分“描述性叙述”与“可检验机制”的分界线。

12机制可在版本、任务和上下文之间失效范围

在小模型上发现的一个机制,不能自动推广为大模型全部行为的解释。机制解释天然带有范围和版本属性,离开这些限定条件,结论就会失效。

这种局限性有几个来源。第一,组件功能可能是分布式的。一个概念往往不是由单一神经元或单一条通路承载,而是分散在许多组件中,且组件之间存在冗余。在小模型上定位到的一条清晰电路,放到更大模型里可能只是众多并行通路中的一条,其余通路承担了大部分工作。第二,功能随规模、训练过程和任务分布变化。模型变大后,某些电路可能被重组或让位于更高效的实现;换一个任务或换一种数据分布,原本稳定的功能也可能被改写。第三,一个电路在合成任务上被证明“充分”,并不意味着它在开放域任务上“完备”。合成任务往往把机制压缩成少数几条通道,而真实任务的机制要复杂得多,充分的组件未必足以解释整体行为。

版本漂移会以更直接的方式破坏解释资产。模型经过微调后,权重发生了变化,隐藏表示也随之发生旋转或重排。原本训练好的探针、找好的特征方向、定位好的神经元,可能在这一版模型上彻底失效——它们指向的坐标在新表示空间里已经不再对应原来的概念。因此,解释不是一次性的发现,而是一份需要跟随模型版本治理的资产。

要让机制解释具有可复现、可迁移的效力,必须显式声明它的适用边界:模型哈希、训练数据、任务设置、提示模板和干预范围。任何一个维度改变,都可能让结论不再成立。验证一个机制是否稳健,需要在不同随机种子、不同模型规模、不同语言上重复实验,看结论是否保持。把这些边界写清楚,既是对当前结论的诚实标注,也是让后来者能够判断该解释在多大程度上可以沿用。

13高风险决策还需数据、流程和申诉,不能由解释免责治理

向一位被拒绝的贷款申请者展示一张特征贡献图,告诉他们“你的拒贷主要是因为收入这一项贡献了负分”,并不能自动让这个决定变得公平或透明。在高风险决策场景里,解释只是证据链条上的一环,它不能为整个决策免责。

首先,归因结果本身可能并不可靠。它可能对输入扰动不稳定,同一份申请换个措辞就给出不同的特征归因;它可能泄露敏感特征——一个看似中性的代理变量(比如邮编或消费习惯)在归因上权重很高,实际上替模型代偿了种族、性别等受保护属性的信息;它甚至可能提供可被操纵的代理,让申请者通过微调某些特征来“刷分”,而不是真正改善自己的信用状况。即便一份归因是忠实的,能准确反映模型依赖哪些特征,它也无法证明目标本身是正当的、训练数据是公平的、或这个决定是合法的。忠实描述一个不公平的过程,不会让过程变得公平。

不同角色需要的东西远不止一张热图。被拒的用户需要的是可操作的理由——自己具体哪一项可以改变、改成什么样才能改变结果——以及纠错和人工申诉的通道,而不是一个无法据以行动的技术分解。审计者需要的是数据谱系(数据从哪来、如何清洗、有哪些偏差)、按人群切片的性能分布(模型在哪些子群体上误差更大)和责任归属(谁为这个决定负责、依据什么标准)。这些是解释无法替代的治理内容。

因此,解释应当被定位为证据之一,而不是治理的替代品。它服务于发现问题和沟通理由,但公平性、合法性和问责制需要靠数据治理、系统评测和权利救济机制来保障。把一张特征贡献图当作合规的终点,是把手段误当成了目的。

15把因果链连起来综合

把前面各章分散的环节连成一条完整的链条,可解释性研究遵循的是一个从问题定义到可验证实践的连续过程,每一步都为下一步提供约束。

起点是明确解释服务谁、回答什么问题、接受什么证据。没有这一步,后面所有的技术选择都失去了评判标准。接着用归因或可视化工具扫描行为,提出候选假说:某个输入特征、某个注意力头或某条电路可能承担了某种功能。这些观察只是假说来源,不是结论。

有了候选,构造输入反事实来测行为敏感性:改变输入中假说指向的那部分,观察输出是否随之系统性变化。这一步确认的是输入层面的可操纵性。随后用探针定位可读信息,判断假说中的信息是否确实被编码在中间表示里;但探针只证明信息存在。要越过存在与使用之间的鸿沟,必须进入内部干预:消融、替换或添加内部激活,看目标行为是否按预期改变。这一步才建立内部组件与行为之间的因果联系。

单一实验容易过拟合,因此要把结论放到训练分布之外的新样本上做预测,并检验它的稳定性和完备性:换模板、换规模、换随机种子,解释是否依然成立,解释认定的组件能否重构大部分行为。同时,任何机制结论都必须声明其适用边界——模型版本、训练数据、任务设置、提示模板和干预范围,因为机制可能在这些维度变化时失效。

最后,回到真实决策场景,把解释与数据治理、系统评测和申诉机制共同使用。解释是证据之一,不能替代治理和权利救济。

这条因果链也可以被组织成一套可复现的验证协议。在模型层面固定什么:明确“模型可解释性:从输入归因到因果干预,区分故事、证据与机制”这一目标,并事先声明观察什么证据、以什么作为反证。在输入层面,固定同一批样本、相同的前处理流程与权限边界,并记录输入哈希、切片标签和拒绝原因,确保对比的公平。在机制层面,只改变一个核心变量,其余配置全部锁定,并记录关键中间状态以及首次偏离预期的位置,以定位因果断点。在输出层面,使用同一套验收规则与资源预算,比较质量、成本、延迟和失败率在不同切片上的分层差异。反证层面,保留一个不启用目标机制的对照组,检验收益是否跨样本与随机种子稳定复现。这样,从最初的问题定义到最终的机制验证,每一步都有可检验的判据,故事、证据与机制才不会被混为一谈。

验证层在“模型可解释性:从输入归因到因果干预,区分故事、证据与机制”中固定什么观察什么证据
输入同一批样本、前处理与权限边界输入哈希、切片标签和拒绝原因
机制仅改变一个核心变量,其余配置锁定关键中间状态及首次偏离预期的位置
输出同一验收规则与资源预算质量、成本、延迟和失败率的分层差异
反证保留不启用目标机制的对照组收益是否跨样本与随机种子稳定复现
资料来源与改编说明
访问日期:2026-07-22