打开网易新闻 查看精彩图片

2024年,一篇论文引爆了可解释性研究圈。Arditi等人发现,大语言模型里存在一个单独的方向,只要往这个方向推一把,模型就会放弃拒绝回答敏感问题。这篇论文被广泛引用,被当作线性表征假说的经典证据。

但这里有个问题很少有人注意到。

同一篇论文里,研究者用同一个向量做了两件不同的事:一次是把它直接加到激活值上做干预,没有做归一化处理;另一次是把它归一化之后,投影去掉它的方向分量。两次操作都有效,都被写进论文当作证据,支持同一个结论:存在一个单一的拒绝方向。

问题是,这两次操作根本不是在同一个数学空间里做的。

第一种用法里,向量的长度是有意义的,长度变了效果就变。第二种用法里,只有向量指向的方向重要,长度乘以任何正数结果都一样。这就好比你说"我家离超市3公里远"和"我家在超市的东北方向",听起来都在描述位置关系,但一个依赖精确的距离数字,一个只依赖方向。如果你把这两句话混着用去证明"我家和超市之间有一条确定的路径",逻辑上是有漏洞的,因为距离和方向根本不是一回事,虽然它们都能用一个箭头表示出来。

这篇来自香港中文大学团队的论文《线性表征假说需要一个群作用》,就是奔着这类问题去的。他们的核心主张很直接:线性表征假说根本不是一个假说,而是一整个家族的假说,家族里每个成员的区别,取决于你怎么定义"两个表征算作相同"。

这件事听起来抽象,但一旦你意识到它,会发现整个可解释性研究领域里到处都是这种悄悄换了假设却没说清楚的操作。

表征相不相等,这事儿谁说了算

先说清楚这篇论文想解决的核心矛盾是什么。

搞可解释性研究的人,本质上都想说一句话:"模型内部存在某个方向,代表了某个概念。"比如"存在一个方向代表拒绝回答","存在一个方向代表真假判断","存在一个方向代表空间位置"。这些说法背后有个共同的假设,叫线性表征假说。

线性表征假说:认为神经网络内部的语义特征可以用激活空间中的线性方向(或子空间)来表示,这是当前可解释性研究里探针、转向干预、稀疏字典学习等一大批方法的理论基石。

但这里藏着一个从未被明确回答的问题:当你说"存在一个方向"的时候,这个方向活在哪个数学空间里?如果你把模型的参数做一次等价的变换(模型输出的结果完全不变,只是内部计算方式换了个写法),这个方向还在不在,会不会变成另一个东西?

打个比方。你有一份地图,上面标着"从公司到家,走这条路"。这份地图是用什么坐标系画的,很重要。如果换成另一个坐标系(比如把地图旋转45度,或者把比例尺放大两倍),这条路径的描述方式会完全变化,但走的还是同一条路。可如果你换的不是坐标系而是地图本身的投影方式,比如从平面地图换成球面地图,那"直线"这个概念本身可能都不成立了,一条在平面地图上笔直的线,投影到球面上就弯了。

如果不问清楚"我们在哪种地图上讨论方向",两个研究者完全可能拿着看起来一样的箭头,其实在说两件不搭界的事情,还互相引用对方的结果当作自己的证据。这就是论文开篇提出的危机:不同的分析步骤,可能悄悄地在指代不同的表征概念,但最终结论却被写得好像它们全程指的是同一个东西。

三种表征,三种活法

论文接下来做的事,是把"线性表征"这个笼统的说法拆解成几种截然不同的数学对象,说明它们分别活在哪儿,能承受什么样的变换。

第一种叫位移式表征。经典例子是词向量里那句著名的"国王减去男人加上女人约等于女王",这种关系用的是向量之间的差值。差值构成的向量,属于原始的激活空间V,如果你对整个空间做一个仿射变换(线性变换加上平移),这个差值向量会跟着线性变换的部分一起转,但平移的部分会自动抵消掉,因为差值本身消除了平移。

第二种叫线性可解码性,也就是探针方法用的对象。探针是一个从激活值里读出某个属性的线性函数,它活在对偶空间V*里,不是原来的激活空间。

对偶空间:给定一个向量空间V,它的对偶空间V*是所有从V映射到实数的线性函数组成的空间,虽然维度和V一样,但两者是不同的数学对象,除非额外引入一个度量(比如内积),否则不能直接互相转换。

这就是为什么论文特别强调,探针权重和转向向量虽然都存成了一串同样长度的数字,看起来像同一种东西,但它们的变换规律完全不同。如果你不加说明地把探针的权重直接拿去当干预方向使用,相当于默认了存在某种"翻译规则"能把对偶空间的东西转成原空间的东西,而这种翻译规则只有在你引入了内积这种额外结构之后才成立。

第三种叫叠加表征,这是可解释性研究里"稀疏字典学习"和"稀疏自编码器"背后的理论基础。这种表征把一个激活值写成若干个特征方向乘以各自系数再求和的形式,这套框架天然带有仿射协变性,但同时也带有另一种独立的模糊性:即使你知道最终的激活值,也未必能唯一确定拆解出来的每个特征方向具体是什么,除非加上额外的约束(比如强制系数尽量稀疏)。

这三种表征方式,是不是都叫"线性"?是的。但它们活在不同的空间里,遵守不同的变换规则。这就是论文标题想说的核心事实:线性表征假说这个说法本身太粗糙,遮盖了背后至少三种彼此不能随意互换的具体假设。

群作用:给"等价"下一个精确定义

那怎么把这件事说清楚呢?论文借用了数学里"群作用"这个工具。

群作用:一种数学结构,用来精确描述"哪些变换应该被算作无关紧要的重新描述,而不是真正的改变",比如把一张照片旋转90度,照片里的内容没变,只是描述角度变了,这种"旋转"操作的全体就构成一个群,作用在照片空间上。

论文提出,要完整地陈述一个表征方面的主张,必须同时讲清楚四件事:这个特征活在哪个数学空间里;这个空间上允许哪些变换被认为是等价的(也就是选定一个群);用什么样的方法从原始数据里把这个特征提取出来;以及最终宣称这个特征满足什么性质。

这四件事里最容易被忽略的是第二件,也就是选群这一步。论文里给出了一个有代表性的层级:等距群(只允许旋转和平移,长度和角度都保持不变)、相似群(额外允许整体缩放)、仿射群(允许任意可逆的线性变换加平移)。这三个群一个比一个宽松,一个比一个能容忍更多的变换被视为"无关紧要"。

选择哪个群,直接决定了你能对表征说出多强的话。比如余弦相似度这种量,只有在相似群下才有意义,因为它依赖角度不变,但角度在仿射变换下是会被拉伸变形的。这就好比你用一把橡皮尺子量东西,橡皮尺子可以随意拉伸,你量出来的"长度"这个数字就没意义了,但两个点之间"谁在谁前面"这种顺序关系还是保留的。仿射变换就是那把橡皮尺子,它能保留顺序、保留线性关系,但保留不了角度和长度。

这里有个特别精妙的地方,论文用一个数学命题说明了探针(活在对偶空间)和转向向量(活在原空间)之间的关系:只有当你引入一个度量(内积)时,才能在等距群的意义下把这两个空间等价起来;如果进一步把方向投影到"只看朝向不看长度"的射影空间,这种等价关系可以放宽到相似群。但如果什么额外结构都不加,在最宽松的仿射群意义下,压根不存在一个能把对偶空间里的向量映射回原空间的等价映射,这是论文用严格数学证明确立的一个否定性结果。

这意味着什么?意味着"探针权重可以直接拿来当转向向量用"这句话,本身就隐含了一个没有被说出口的假设:你已经默默选定了一个内积。如果没有这个假设摆在台面上,这个操作在数学上就是不成立的。

架构本身也在设定底线

这篇论文还指出了一个更深层的约束,叫架构地板。

这个想法是说,选群这件事不是完全自由的。神经网络的架构本身,就已经内置了一些"重新参数化但功能不变"的操作,这些操作构成的群,是你分析时能选的群的下限,你选的群必须包含它,不能比它还小。

论文举了一个很扎实的例子,来自Transformer里的注意力机制。查询矩阵和键矩阵之间存在一种数学上的对称:只要把查询矩阵乘以某个可逆矩阵,同时把键矩阵乘以这个矩阵的逆转置,整个注意力打分函数的结果完全不变。这不是一个假设,这是Transformer架构本身内置的事实。

论文进一步分析发现,在残差流这个位置读取表征,这种对称变换的效果是"透明的",也就是说不会排除任何角度类的结论。但一旦你把读取位置换到查询或键的具体子空间里去看,这种对称群就变成了完整的一般线性群,而这个群不允许存在任何非零的、能保持不变的双线性型,也就是说,在这个位置上,余弦相似度、范数这些依赖固定内积的量,统统失去了作为模型本身性质的资格。

这个结论直接打在一篇具体工作上。有一篇论文叫KeyDiff,提出了一种基于键向量余弦相似度来决定丢弃哪些缓存条目的方法,用来节省大语言模型推理时的显存开销。这个方法本身效果是好的,但论文指出,它用来解释这个方法为什么有效的那些几何量(余弦、范数、主成分分析、行列式对数),全都是在查询和键这个具体子空间里算出来的,而这个子空间恰好就是架构对称性最强、几乎不留任何角度不变量的地方。换句话说,这些用来"解释"方法有效性的几何指标,本身就不是模型计算过程真正不变的东西,它们依赖于你恰好训练出来的那一组具体参数,换一组功能完全等价的参数,这些指标的数值就会变。

这就好比你想解释一场篮球比赛为什么某支球队赢了,你搬出了一堆关于场馆灯光角度和座椅颜色的统计数据。这些数据可能确实和某场具体的比赛录像对应得上,但换一个场馆打同样的比赛,这些数据全变了,比赛结果却还是一样的赢。你解释的东西压根不是决定比赛结果的原因,只是这场比赛恰好发生的那个具体场景里的偶然细节。如果你不检查这一层,你写出来的"解释"其实只是在描述你手头这次实验偶然选中的参数长什么样,而不是模型真正在做的计算。

论文也没有把话说死,它同时给出了一个"怎么修正"的例子。既然查询和键的乘积在这个变换下是不变的,那真正能站得住脚的量,应该是从这个乘积出发构造出来的东西。论文构造了一个新的度量,用查询向量的二阶矩去加权两个键向量的差值,证明了这个量在架构允许的所有等价参数化下都保持不变,而且它衡量的东西也更贴近实际,因为它直接对应替换一个键会给注意力打分带来多大的平均变化。当查询分布恰好是各向同性的特殊情况下,这个新度量会退化成普通的欧氏距离,也就是说原来的方法只是在一种特殊假设成立时凑巧有效的特例。

多阶段流水线:每一步都要检查

现实中的表征分析很少是一步到位的,往往是好几个步骤串起来的流水线:先估计一个方向,再用某种相似度比较,再用某个数值校准。论文强调,整条流水线的有效性不能靠"每一步单独看都没问题"来保证,必须检查整体组合起来是否依然满足不变性。

论文给了一个特别直观的反例。假设你的数据先做了中心化处理(减去均值),再计算余弦相似度。中心化这一步会把原本对平移敏感的余弦相似度,变得对平移不敏感了,因为减去均值这个操作本身就抵消了整体平移的影响。这说明每加入一个处理步骤,整条链路容许的等价变换范围都可能发生变化,绝不能简单地把每一步单独的适用范围取交集就完事。

这就像做菜时候的调味顺序。你先放盐再放糖,和先放糖再放盐,最后尝出来的咸淡甜度可能完全不一样,因为糖和盐在不同浓度下会互相影响彼此的味觉感知。你不能说"我这道菜用了盐,也用了糖,所以它应该同时具备高盐菜和高糖菜的所有特性",真正决定味道的是这两种调料按什么顺序、什么方式组合在一起,脱离了具体顺序去谈论单独一种调料的效果是没有意义的。

论文还举了一个真实案例来说明这个陷阱多容易踩中。SVCCA是一种比较两个神经网络内部表征相似度的经典方法,它的核心步骤CCA本身是仿射不变的,也就是允许在很宽松的仿射群下依然成立。但SVCCA在CCA前面加了一步奇异值截断(先做降维),这一步操作本身不是在任意可逆线性变换下保持不变的。结果就是,虽然CCA这一步骤单独看是稳健的,但截断预处理这一步已经把整条流水线的适用范围缩小了,后面的CCA步骤没办法把丢失的那部分不变性找回来。

这个例子特别值得记住,因为它说明了一个反直觉的事实:你不能通过"我用的方法里有一步是理论上很稳健的"来给整个流程背书,流水线的强度取决于最薄弱的那一环,而不是最强的那一环。

柏拉图表征假说:同一个问题换了个战场

论文最后把这套框架延伸到另一个热门话题,柏拉图表征假说。

柏拉图表征假说:由Huh等人在2024年提出,认为不同架构、不同训练目标的神经网络,随着规模增大,会逐渐收敛到某种共享的、类似"柏拉图理想形式"的表征结构,这一假说和线性表征假说是两码事,但都涉及"表征相似性"这个核心问题。

这个假说想说的是,不同模型之间的表征会越来越像。但论文指出,这里同样藏着一个没被说清楚的选群问题。不同宽度的模型,它们的表征甚至连维度都不一样,没法直接放在同一个空间里比较,只能通过它们在共享输入上诱导出的结构(比如邻域关系、相似度矩阵)来间接比较。这个比较过程本身依赖你选择用哪种输入分布、哪种相似度定义,而这些选择恰恰对应着论文里反复强调的那个群。

论文引用了一个很有说服力的已有结果:如果表征的维度足够高(高于采样点数),而且激活矩阵满秩,那么一种在任意可逆线性变换下都保持不变的相似度衡量方式,根本无法区分这两组表征,不管它们实际上有多不同。这意味着如果你选的等价群太宽松,几乎任何两个高维表征在这种衡量标准下都会显得"一样",这种"收敛"的结论其实是空的,是选群选得太宽松导致的数学上的必然结果,而不是模型真的学到了什么共同的东西。

这就像你说"所有身高超过160厘米的人穿的都是同一种衣服尺码",如果你把"同一种尺码"的判定标准定得极其宽松(比如只要衣服能穿上身就算同一种尺码),那这句话在这种宽松标准下当然是对的,但这跟"这些人的身材真的很相似"完全是两回事。

写在后面

读这篇论文最触动我的地方,不是它提出了什么新方法,而是它做的是一件"打扫房间"的工作。可解释性研究这几年发了海量论文,探针、转向向量、稀疏字典、表征相似度比较,每一种方法背后都默认了一套关于"什么算相同"的假设,但几乎没有论文愿意花一段话把这个假设明确写出来。

这篇论文里最扎心的一个细节,是那个KeyDiff案例的分析。这不是在批评一篇论文的方法没用,KeyDiff这个方法本身的实验效果是真实有效的。论文批评的是解释层面的错位:用来"证明"这个方法有效的几何图像,恰恰是在架构对称性最强、最不该被信任的那个位置上算出来的。这提醒我,一个方法有效和一个方法背后的解释站得住脚,是两件独立的事情,工程上的成功不能自动倒推出解释的正确性。

还有一点值得单独说一说。论文里提到,如果你坚持认为"我训练出来的这一个具体模型,它的几何性质就是事实,不管群作用怎么说",这个立场论文并没有反驳,反而承认它是对的。但论文补充了一句很关键的话:这样的主张只是关于这一次训练结果的陈述,而不是关于模型这个函数本身的陈述,如果你想说后者,就欠了一笔债,需要证明这个几何性质在不同随机种子、不同训练轮次下都保持稳定。这个区分挺重要的,它把"这次跑出来的模型长什么样"和"这一类模型本质上是什么样"两件事彻底分开了,而绝大多数论文写作的时候,都在悄悄地把前者偷换成后者。

如果一个方向能不能被称为"模型的表征",取决于你换个训练种子它还在不在,这件事有多少篇已发表的可解释性论文真正做过这个检验?

Q&A

Q1:线性表征假说到底存在什么问题?

A:线性表征假说并不是单一明确的主张,而是一个笼统的说法,不同研究者用它时其实在讨论不同的数学对象(比如位移向量、探针权重、叠加系数),这些对象活在不同空间里,遵守不同的变换规则,如果不明确说清楚是哪一种,容易导致看似同一结论实则指代不同事物。

Q2:探针权重能不能直接当作转向向量使用?

A:不能直接等同。探针权重活在对偶空间,转向向量活在原始激活空间,论文用数学证明说明这两者之间不存在天然的等价映射,只有引入内积这样的额外结构后,才能在特定等价群(比如等距群或相似群)下建立联系。

Q3:这篇论文对KeyDiff方法提出了什么质疑?

A:论文没有质疑KeyDiff方法本身的有效性,而是指出用来解释其有效性的余弦相似度、主成分分析等几何指标,恰好是在架构对称性最强的位置计算的,这些指标本身不是模型计算真正不变的性质,论文同时给出了一个真正满足不变性的替代度量。