小张在街角开了一家手机维修店,手艺很好。这天早上,顾客送来一台名叫“小黑”的智能手机。小黑看起来完全正常——能打字、能翻译,甚至能背唐诗——但它偶尔会把“猫在沙发上”翻译得莫名其妙。更麻烦的是,小黑的主板上没有一块芯片贴着标签,它的所有“思考”都藏在一团深不见底的电路里。小张想判断小黑的“语法能力”到底在哪个环节出了问题,但他不能把芯片拆开——拆了就装不回去了。 于是他想到了一个办法:用万用表。万用表有一根细细的表笔尖,笔尖轻轻碰到某个引脚,就能测出这个点的电压。小张不需要理解整个电路,他只需要在关键节点上“听一听”信号——如果某个与语法相关的电压模式在某个引脚上出现,他就知道这个信息确实存在于这台手机的这一层处理中。 这就是“探针分析”(Probing)的核心思路:在大模型的每个中间层放置一个简单的分类器——就像一支万用表的表笔——让它去“读”这一层输出的向量,看看能否读出某个语言学特征(比如“词性”“时态”“语义类别”)。如果能读出来,我们就说:这个特征在这一层中是可解码的;如果读不出来,说明这一层尚未编码这个信息。本文将带你看清楚:探针到底是什么、不同层藏着什么信息、线性与非线性探针怎么选、如何训练与评估探针,以及它的边界在哪里。
对AI可解释性研究者、安全对齐工程师和模型调试开发者来说,探针是把“模型黑盒行为”转化为可验证证据的最直接工具之一,也是你向团队展示“模型到底学会了什么”的有力武器。
可视化演示
动态演示Probing探针分析的核心机制,通过架构/数据/状态/性能四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
Probing探针分析:探针分析 探针分析的核心原理与工作机制 线性探针与非线性探针的选择权衡 核心机制可视化 Probing探针分析整体架构与关键组件
探针原理
小张将他的万用表校准好,开始了操作。他用表笔接触小黑的某个芯片引脚:“电压0.32伏……嗯,很弱。”接着他把表笔移到另一块芯片上:“这里的电压有1.1伏,而且很稳定。”虽然他不知道小黑内部复杂的电路逻辑,但他能判断:某个信号确实在某处“流经”了这台手机。
在深度学习中,探针(Probe)也是这么一个外接的测量工具。给定一个语言模型,我们把一个句子输入进去,模型每经过一层都会产生一个高维向量,这可以理解为这一层“理解到”的信息快照。探针就是在这个快照上训练的一个小分类器:如果这个分类器能通过学习输入该向量,输出我们关心的标签(比如“这句话的主语是单数”),那么就可以认为:该信息在这一层中存在,且可以被简单函数解码。
更准确地说,探针分析一般分为三步:第一步,前向传播——输入原始文本,在每一层取出隐藏表示;第二步,准备标签——构造一个语言学特征(词性、时态、情感等)作为监督信号;第三步,训练探针——用该层的表示训练一个小型分类器,计算预测与真实标签的差异。这样,我们就像小张记录电压一样,把“哪一层含有哪种信息”记录下来,形成一张模型的内部信息地图。
其中 $x$ 表示输入文本,$g_l$ 是前 $l$ 层的编码过程,$h_l$ 是第 $l$ 层的隐藏表示,$f_{\text{probe}}$ 是我们附加的探针分类器。
小张把电压读数记录到本子上,他并不改动小黑,却能从读数中判断哪条线路承载着语法信息。这就是探针的哲学:只观测,不改动,用外部分类器揭示内部状态。
- 输入文本 x$x$ 是模型接管的原始数据,例如一个单词、一句话或一个段落。探针实验需要固定输入不变,只改变观测层的位置。
- 层编码过程 g_l$g_l$ 代表模型前 $l$ 层的整体变换,把原始输入逐步映射为越来越抽象的内部表示。
- 隐藏表示 h_l$h_l$ 是一个 $D$ 维实数向量,包含了第 $l$ 层之后模型对该输入的“理解”。
- 探针分类器 f_probe探针是一个简单的可学习函数(通常是线性层加 softmax),它读取 $h_l$,输出我们关心的目标标签。
中间层特征
小张想知道小黑哪一块芯片负责“语法”,哪一块负责“语义”。他用表笔从第一块芯片一直测到最后一块,发现不同位置的信号“味道”不一样:靠近输入端的引脚上,信号又细又碎,像是音节;靠近输出端的引脚上,信号整体而稳定,像是语义。他恍然大悟:原来信息的形态会随着电路深度而变化。
大模型中的情况与此惊人地相似。从浅层到深层,模型对文本的抽象程度逐步增加:浅层(第1-2层)主要编码词法层面的信息,比如字母组合、大小写、常见词性;中层(第3-5层)开始出现句法结构,可以探测到依存关系、短语边界、主谓一致;高层(第6层以上)则携带更多语义信息,比如情感倾向、主题类别、跨句推理。
选择哪一层做探针,取决于你要探测的特征。如果你想知道“模型是否编码了名词的单复数”,通常浅层效果更好;如果你想探测“这句话是正面还是负面”,高层往往更可靠。实际操作中,研究者会在每一层都放一个探针,画出一条“准确率—层数”曲线,从而可视化信息在深度方向的分布。这条曲线告诉我们:不同语言学特征在模型中有着不同的“最佳观测层”。
其中 $\text{probe}_l$ 表示在第 $l$ 层上训练的探针,$\text{Acc}$ 是它在测试集上的准确率,$l^*$ 是准确率最高的层号。
小张把这张“信号强度—引脚位置”的图贴在墙上,每一条曲线都代表一种信息在电路中的流动轨迹。探针研究者也是这样做的:画出不同语言学特征的准确率曲线,直观展示模型在哪儿“想起来”了名词,在哪儿“想通了”情感。
- 逐层探测对每一层 $l$ 都独立训练一个探针,得到该层解码目标特征的能力。
- 估计准确率在第 $l$ 层的探针上,用测试集计算预测与真实标签一致的样本比例。
- 选择最优层在所有候选中挑出准确率最高的层,它就是该特征最容易被解码的位置——也就是小张在手机里找到“信号最强引脚”的过程。
线性探针
小张发现有些引脚上的信号非常“干净”,不需要任何放大电路,直接用万用表就能读出标准电平。他把这种模式记作“直连读数”。在探针分析中,线性探针就是这种“直连读数”——它只用最简单的线性变换来解码信息。
线性探针通常指逻辑回归模型。它的设计哲学是:如果某个信息能被线性分类器从表示中解码,说明该信息在表示中“线性可分”——这比用复杂模型解码出信息具有更强的说服力。为什么?因为我们想证明信息不是靠探针强行“挖”出来的,而是本身就以可访问的形式暴露在表示空间里。如果必须用一个庞大的深度网络才能解码,我们就很难判断信息是真实存在于表示中,还是探针自己创造了一种复杂的检索模式。
线性探针还有一个额外好处:它的权重可以直接解释。训练完之后,你可以查看每个输入维度对预测的贡献——哪些维度在支持“过去时”的判断、哪些维度在抑制它。这就像小张不仅知道引脚上有电压,还能通过万用表的刻度知道这个电压的来源方向。
其中 $h$ 是某层的隐藏表示,$W$ 是探针权重向量,$b$ 是偏置,$\sigma$ 是 sigmoid 函数,输出 $p$ 表示“属于正类”的概率。
小张把“直连读数”作为最可信的诊断依据——只有当信号不需要额外放大就能被稳定读取时,他才会在维修单上写下“此引脚承载语法信号”。线性探针在可解释性研究中也扮演着类似的角色:它是最朴素、最可信的检测方式。
- 权重向量 W$W$ 是探针的参数,每个维度表示隐藏表示中的对应分量对预测的贡献程度,训练过程会调整 $W$ 以找到最有利于分类的方向。
- 线性投影 z将隐藏表示 $h$ 投影到决策方向上,得到标量 $z$;$z$ 越大,表示越接近正类。
- sigmoid 函数 σ把任意实数 $z$ 压缩到 $(0,1)$ 区间,作为概率输出。
- 概率含义 p(y=1|h)给定这一层的表示 $h$,模型判定目标特征存在的概率。训练时我们用交叉熵损失来调整 $W$ 和 $b$,使概率与真实标签一致。
非线性探针
不过,有些信号并不是“直连”就能读到的。小张发现某些引脚上的电压幅度忽高忽低,用直连模式完全读不出规律;但当他打开万用表内置的“信号放大模式”后,原本杂乱的电平显现出稳定的模式。他意识到:信息确实存在,但需要非线性处理才能还原。
非线性探针正是这样的“放大模式”。它通常是一个一至两层的 MLP(多层感知机),在预测函数中加入了非线性激活函数(如 tanh 或 ReLU),使探针能够学习更复杂的决策边界。那么什么时候需要它?实践中,线性探针是默认首选。只有在两种情况下考虑非线性探针:一是线性探针在某一层的准确率接近随机,但你仍然想确认信息是否以“非线性编码”的方式存在;二是想探测更抽象的高层语义,这些语义在嵌入空间中往往呈现弯曲的流形结构。
但非线性探针有一个臭名昭著的陷阱:它可能“过度解码”。一个两层 MLP 的拟合能力很强,它可能在训练集上把表示中的随机噪声也当作信号学进去。换句话说,非线性探针的高准确率未必意味着模型真的显式封装了该信息,而可能是探针自己拼凑出了一条复杂通道——小张如果过度依赖放大模式,也会把电路板本身的细微抖动误读成有用信号。
其中 $W_1, b_1$ 是第一层参数,$\tanh$ 是激活函数,$W_2, b_2$ 是第二层参数,$\text{softmax}$ 将得分转换为类别概率分布。
小张很快学会了在万用表的“直连”和“放大”两个模式之间切换:先用直连模式测量,读不到信号时才尝试放大,并且每次用放大模式之前都会先校准一次空白对照。这正是非线性探针的正确打开方式——它是有用的备选工具,但永远需要更严格的验证。
- 第一层线性变换将隐藏表示 $h$ 映射到一个中间“特征空间”。
- 非线性激活$\tanh$ 为模型引入曲线表达能力,使探针可以拟合非线性决策边界。
- 第二层线性变换将中间特征映射为各标签的得分。
- softmax 归一化将得分转换为所有标签上的概率分布,并取概率最大的标签作为预测结果。
训练评估
小张不会只看一次读数就下诊断——他会在同一个引脚上反复测多次,并且每次都要把表笔放到旁边的空焊盘上做一次对照测量。探针评估的逻辑也一样:不能只看探针在训练集上的表现就下结论,因为探针可能过拟合到数据中的随机噪声。
训练探针本身并不复杂。首先,把标注好的数据划分为训练集和测试集;然后,在训练集上拟合探针参数;最后,在测试集上计算准确率。关键在于与随机基线比较:把训练集的标签随机打乱,再训练一个结构完全相同的探针。如果打乱标签后的探针在测试集上也能达到很高的准确率,说明原来的“高准确率”很可能只是探针在拟合虚假模式。只有真实探针的准确率显著高于随机基线时,我们才能说“探测成功”。
除了随机标签基线,研究者还会使用“控制探针”来进一步验证:例如随机替换掉表示中的某一维度,观察准确率是否下降;或者在多个随机种子上重复实验,看结果是否稳定。这些做法的共同目标只有一个——排除探针自身能力带来的假阳性,确保我们看到的“可解码性”真的来自表示中存储的信息。
其中 $\text{Acc}_{\text{probe}}$ 是探针在真实标签测试集上的准确率,$\text{Acc}_{\text{random}}$ 是随机标签基线的准确率,$\Delta$ 是两者的差值。
小张在对照测量后,终于有底气地在维修单上写下“第3号引脚确实存在语法信号”。探针评估给予研究者的,正是这种“有底气的结论”——通过系统性的对照实验,把偶然的信号与真实的信息区分开来。
- 探针准确率在测试集上,探针预测正确的样本比例。
- 随机基线准确率将训练标签随机打乱后,用同样的流程训练并测试探针。在平衡二分类中它通常接近 50%。
- 差值 Δ差值越大,说明探针真正捕捉到了表示中可解码的信息,而不是利用了数据集中的随机关联。
应用场景
小张现在有了可靠的测量工具,他开始用这套方法诊断各种手机故障:有的手机翻译总是出错,有的手机语音助手总是误解指令,还有的手机被怀疑暗中向服务器传输隐私信息。探针分析在 AI 领域也有三个非常实用的应用方向。
第一个应用是因果追踪。 当模型在某个任务上表现不佳时,我们想知道问题出在哪个环节。比如模型翻译被动语态句子时总是出错,我们可以用探针分别检查第4层、第8层、第14层的“时态”特征,看看在哪一层该特征开始变得不可解码。一旦定位到“信息丢失点”,研发团队就能有针对性地调整训练策略,而不是盲目地增大模型规模。
第二个应用是安全审计。 在部署大模型之前,安全团队需要确保模型不会在对抗性输入下产生有害内容。探针可以作为一种内部监控手段:在模型生成危险回复之前,先检查中间层是否已经出现了“仇恨”“暴力”等危险语义的表示。如果探针在早期层就检测到这些信号,系统就能提前拦截,这比等模型输出完整有害内容后再审核要安全得多。
第三个应用是模型能力诊断。 当企业想要评估两个不同模型(比如 GPT 系列和开源模型)到底谁更“懂语法”时,除了看最终分数,还可以用探针比较它们中间层表示的质量。某个特征在模型A的第6层就可解码,在模型B中要到第10层才能解码,这说明模型A的信息组织方式更高效。这种内部视角是传统评测指标给不了的。
小张把每一台手机的“信号图谱”整理成册,成为店里最受欢迎的维修技师。探针分析也让 AI 研究者拥有了类似的“内部检测手册”——从前只能观察输入和输出的黑盒,现在有了可以逐层检查的工具。
局限批判
小张虽然手艺好,但他心里清楚:万用表有它的局限。它能测到“有没有电子从这里流过”,但不能证明这个电子真的被下一级电路使用;它能测到某条线路上的电压,但不能解释这条线路为什么这样设计。探针分析也有同样的问题。
首先是相关性而非因果性。 探针能解码信息,不代表模型在推理时真的使用了这个信息。信息可能只是“路过了”这一层,作为一个未被利用的中间产物存在。就像你在小黑的某个引脚上量到电压,不代表这块电路真的给屏幕供电。
其次是存储不等于使用。 模型可能以某种冗余编码方式把信息“藏在角落里”,探针碰巧发现并解码了它;但这段编码也许完全不参与最终输出。研究者必须警惕:探针成功只能说明“表示中包含该信息”,绝不能推导出“模型依赖该信息做出预测”。
再次是探针本身会引入偏差。 尤其是复杂的非线性探针,可能在表示中强行“解读”出不存在的模式。虽然随机基线可以部分缓解这一问题,但它无法完全消除——因为探针的解码路径可能与模型的实际计算路径完全不同。
最后,探针提供的可解释性有限。它只能告诉你“某特征在某层可解码”,但无法告诉你这个特征是如何被计算的、通过哪些交互产生。为此,如今的研究者开始把探针与因果干预方法结合——例如“因果探针”直接在探针输出上干预表示,“消融探针”移除该特征后观察模型行为是否改变。这些方法把“可解码”升级为“被模型真正使用”,是探针分析未来的演进方向。
小张在维修手册的扉页写道:“万用表告诉我'有什么',但'为什么'和'怎么用'还需要更多的工具。”探针分析的成熟实践者也一样:把它当作众多诊断工具中的一把听诊器,而不是万能钥匙。
AI 应用场景
大模型内容安全审计
阶段:模型部署前的安全评测(红队测试)
解决的问题:传统安全测试只能观察模型最终输出,难以检测“潜伏”的有害表征。探针可在模型内部提前发现危险信号,在内容生成前实施拦截。
具体案例:某安全团队在部署客服对话模型前,用线性探针在第18层检测“仇恨言论”相关特征。在5000条对抗性样本的测试中,探针提前发现了12个高风险内部表征,帮助团队在模型上线前完成了针对性修复。
LLM应用调试与能力诊断
阶段:模型训练与推理阶段
解决的问题:模型在特定语法结构上频繁出错时,传统方法只能靠试错调参。探针可以逐层排查“是哪一层丢失了关键信息”。
具体案例:研发人员发现模型在“被动语态”的英翻中任务上频繁出错。用探针分别检查第4、8、14层的时态特征,发现第8层的时态表示严重退化,团队随即调整了该层的训练权重策略,将翻译错误率降低了35%。
多语言模型语义对齐分析
阶段:多语言模型训练与评测
解决的问题:想知道不同语言(中、英、日)在模型内部是否共享语义空间。探针通过比较各层语义特征的可解码性,提供跨语言对齐的量化指标。
具体案例:某跨国企业的NLP团队用探针检查多语言模型的各层“语义角色”特征,发现中英在高层高度对齐,而日语在高层偏差明显,据此调整了语言归一化策略。
Python 演示
"""探针分析演示:在中间层表示上训练线性探针用随机生成的数据模拟语言模型的中间层输出。"""import numpy as npfrom sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score np.random.seed(42) # ========== 第一步:准备中间层表示 ==========# 真实场景中,这些向量来自BERT/GPT某一层的隐藏状态# 这里用随机向量模拟 N 条样本,每条 D 维N = 600D = 24hidden = np.random.randn(N, D) # ========== 第二步:构造语言学标签 ==========# 人为设定一个"特征"(比如:是否包含过去时标记)# 假设该特征在隐藏表示的维度2和维度5上有明确权重true_weight = np.zeros(D)true_weight[2] = 1.8true_weight[5] = -1.2logits = hidden @ true_weight + 0.4prob = 1 / (1 + np.exp(-logits))label = (prob > 0.5).astype(int) # ========== 第三步:训练并评估线性探针 ==========X_train, X_test, y_train, y_test = train_test_split( hidden, label, test_size=0.3, random_state=0) probe = LogisticRegression(max_iter=1000)probe.fit(X_train, y_train)acc = accuracy_score(y_test, probe.predict(X_test))print("线性探针准确率: {:.3f}".format(acc)) # ========== 第四步:随机基线对照 ==========y_random = np.random.permutation(y_train)probe_rand = LogisticRegression(max_iter=1000)probe_rand.fit(X_train, y_random)acc_rand = accuracy_score(y_test, probe_rand.predict(X_test))print("随机基线准确率: {:.3f}".format(acc_rand)) # ========== 第五步:结论判断 ==========if acc - acc_rand > 0.1: print("结论: 该特征在当前层表示中可被线性解码")else: print("结论: 无法确认特征存在,需检查数据或更换层")
hidden = np.random.randn(N, D)模拟模型某一层输出的 D 维向量,真实场景中应替换为 BERT/GPT 的隐藏状态。true_weight[2] = 1.8人为藏入一个“语言学特征”,模拟真实特征在表示中的分布规律。LogisticRegression(max_iter=1000)这就是线性探针:一个逻辑回归分类器,只学习线性决策边界。np.random.permutation(y_train)随机打乱标签,构造随机基线,用于排除“假信号”。if acc - acc_rand > 0.1用差值判断:真实探针的准确率必须显著高于随机基线,才算探测成功。
常见误区
误区探针准确率高,就说明模型在预测时真的会用到这个特征。既然探针能解码“过去时”,那模型一定也在用“过去时”信息做推理。
正解探针只证明信息“可解码”,不证明模型推理时“会使用”。就像你在小黑的某个引脚上量到电压,不代表这块电路真的给屏幕供电。信息可能只是以中间产物的形式存储在表示中,从未参与最终决策。要确认“被使用”,还需要结合因果干预或消融实验。
为何常见:新手容易把“能通过分类器读出来的信息”和“模型计算路径上实际用到的信息”混为一谈,因为两者在直觉上都表现为“信息存在”。
误区非线性探针准确率更高、能力更强,所以应该优先使用。反正目标是最大化解码性能,复杂的探针肯定更好。
正解非线性探针的能力越强,越容易把表示中的噪声“编”成可解码的信号。探针的核心使命是检验信息的“可访问性”,而非追求最优解码性能。线性探针成功,说明信息以显式、直接的方式存在;非线性探针成功,则无法排除是探针自己硬凑出来的路径。因此实践中线性探针永远是默认首选。
为何常见:人们习惯认为“越大越强的模型越好”,把这种直觉错误地迁移到了探针设计上,忽略了探针的解释性目标。
误区在每个层都套上一个探针,画出准确率曲线,我就能完整解释这个模型的内部计算过程。
正解探针的输出只是间接证据,它告诉我们的只是“某一层能否解码某个特征”,但无法解释这个特征是如何一步步计算出来的。要理解计算过程,还需要与因果干预、消融实验、激活归因等方法结合。小张的万用表能告诉他“信号在哪”,但不会告诉他“信号从哪来、到哪去”。
为何常见:探针的可视化结果(准确率曲线)会给人带来“看到模型内部”的错觉,让大家误以为掌握了完整的解释。
面试题
Q1. 探针(Probe)的本质是什么?
- A.一种给模型补全缺失维度的组件
- B.一种在模型中间层上训练的诊断分类器← 正确答案
- C.一种控制模型生成长度的工具
- D.一种用于数据增强的图像变换
答案:B。探针是在中间层表示上训练的小分类器,用来检验某类信息是否容易从该层表示中被解码,而非参与原模型计算。这就像万用表的表笔不改变电路,只做测量。A、C、D 都是对模型本身的修改或控制,与“探测证据”无关。
Q2. 线性探针相比非线性探针的重要优势是?
- A.准确率一定更高
- B.不需要使用训练数据
- C.更容易判断信息是否线性可解码← 正确答案
- D.只能处理二分类问题
答案:C。线性探针参数少,只能学习线性决策边界;如果在某个表示上线性探针就能成功,说明信息以“显式、可访问”的方式存在于表示中。A搞反了——非线性探针的拟合能力更强;B错误,任何监督探针都需要数据;D错误,线性探针可以用 softmax 做多分类。
Q3. 评估探针是否成功时,合理的手段包括?
- A.将数据划分为训练集和测试集← 正确答案
- B.与随机打乱标签的基线比较← 正确答案
- C.只看训练集上的准确率
- D.在多个随机种子下重复实验← 正确答案
答案:ABD。C 错误,训练集准确率不能反映泛化能力。A、B、D 都是正确评估探针的常见手段;B 尤其关键,随机标签基线可以排除探针学到“假模式”的迷惑结果——就像万用表要放到空焊盘上做对照。
Q4. 探针的准确率高,最正确的解读是?
- A.模型一定会使用这个特征进行推断
- B.该特征可以被从这一层的表示中解码← 正确答案
- C.该层就是模型的输出层
- D.模型已经消除了所有偏见
答案:B。探针只关心“是否可解码”,不回答“是否被使用”。信息可以被编码进表示但不参与最终预测,所以不能导出因果结论。好比电压读数只能说明信号存在,不能说明下游电路确实在用。
Q5. 非线性探针(MLP)可能带来的问题有?
- A.参数过多,在数据量小时容易过拟合← 正确答案
- B.可能把随机噪声拟合出“高准确率”的假象← 正确答案
- C.由于表达能力更强,探针结果更难解释← 正确答案
- D.会显著拖慢原模型的推理速度
答案:ABC。C 是重要的方法论顾虑——非线性探针的决策边界很难归因到具体维度。D 错误:探针不参与原模型本身的推理,不影响模型延迟。A、B 是经典过拟合与虚假解码问题,好比放大模式会把电路自身的抖动误读为信号。
Q6. 随机基线在探针评估中的作用是?
- A.用来去除探针随机初始化的影响
- B.用来判断探针是否在随机噪声上学到假模式← 正确答案
- C.用来加快探针训练速度
- D.用来降低隐藏表示的维度
答案:B。随机标签基线将训练标签随机打乱后重新训练探针,如果此时准确率依然很高,说明探针不是在读取“可解码的信息”,而是在过拟合数据中的随机关联。这就像小张用对照测量确认电压不是表笔抖动造成的。
Q7. 为什么词法特征通常在浅层可解码,到深层反而难以解码?
- A.深层表示不再保留任何词法信息
- B.深层无法被探针访问
- C.深层表示压缩了词法细节,转向抽象语义← 正确答案
- D.模型训练时会主动删除浅层信息
答案:C。深层并不一定“删除”词法信息,而是将大量信息压缩进抽象语义结构中,使得词法细节不再以线性可访问的方式呈现。这也说明层特征具有层次性:不同信息类型的最佳观测层不同。
Q8. 关于探针分析的局限性,正确的理解有?
- A.探针只能提供相关性证据,不能证明因果性← 正确答案
- B.表示中存储的信息不一定被模型实际用于推理← 正确答案
- C.非线性探针可能“强行读出”表示中并不存在的模式← 正确答案
- D.探针可以完全替代消融实验和因果干预
答案:ABC。A、B、C 是探针的经典局限:可解码不等于被使用,非线性探针可能制造虚假可解码性。D 错误——探针只是间接观测工具,要确认变量在模型中的因果角色,必须结合消融、干预等方法,像小张不能只靠电压表就修好所有故障一样。
Q9. 如果要在模型中寻找“该词是否为名词”这种词法特征,通常应在哪一层探测?
- A.网络的最深层
- B.较浅的层← 正确答案
- C.输出层之后
- D.任何一层效果相同
答案:B。词法特征通常靠近输入层的浅层表示中即可被线性解码。层数加深后,模型更关注抽象语义,词法信息被压缩。因此实际研究常在中低层发现词法探针的准确率峰值。
Q10. 标准逻辑回归式线性探针的核心公式是?
- A.p = σ(Wᵀh + b)← 正确答案
- B.p = Wᵀh + b(无归一化)
- C.p = sin(Wᵀh) + b
- D.p = max(0, Wᵀh)
答案:A。逻辑回归探针将隐藏表示 h 与权重 W 做点积并加偏置 b,再用 sigmoid 函数归一化为概率。B 缺少 sigmoid,无法输出概率;C、D 引入了逻辑回归中没有的非线性变换。