RealCat

· 47 min read

论文解读:Neural Networks Are Already Clean,可解释性不需要先「解开结」

TL;DR 这是 Nick Cammarata 写的一篇 65 分钟交互式研究长文[1]。核心论点很激进:领域里用来论证「神经元多义性 / 叠加(superposition)」的经典证据——尤其是 InceptionV1 那个著名的「猫 + 车」神经元——被误读了;大部分多义性不是网络在任意打包无关特征,而是一个普通的泛化现象:递归泛化(recursive generalization)——神经元沿一个方向泛化,再沿分支长出子分支,看起来就像「一个神经元干很多不相关的事」。作者的证据链包括:InceptionV1 的 4e:55 其实是共享 V 形的泛化;换用现代架构后最后一层 99–100% 的神经元容易解释;把 InceptionV1 的 3b 层从 480 个神经元压到 10 个,只看到概念变粗、没看到叠加;Qwen3-32B 上约 90% 的神经元极点只有一个主职、7% 有两个相关职责、只有 2–4% 没被理解;GPT-2 XL 的可解释比例从当年不到 2% 提到约 70%;甚至在万亿参数的 Kimi K3 上也能给出可读的 attribution graph。结论是:网络本身就是「可读的」,可解释性应该像普通科学一样直接研究它,而不是先训练一个 SAE 把网络「解开」再研究。原文有 25+ 个交互图表;我在下面重做了其中 3 个最核心的机制(V 形、递归泛化、弱激活),全部用博客原生组件实现,不引入外部依赖。

  • 原文:Neural Networks Are Already Clean,Nick Cammarata(Goodfire),2026;贡献者:Curt Tigges(语言模型神经元研究)、Tarun Gogineni(编辑)。文字版:essay.md;PDF。
  • 引用格式:Cammarata, N., 2026. Neural Networks Are Already Clean. Goodfire.
  • 站内相关:这篇讨论的「注意力把信息存在标点上」「用 attribution graph 读电路」可以和 Transformer 交互解读 对照看;如果你更关心「世界模型怎么用」,可以看 OpenWAM 解读 和 世界模型综述解读。

Goodfire 原文题图:左边是一座城市,右边是同一座城市被铺到一个环面上 题图(Goodfire 原文配图,作者 Nick Cammarata):城市 vs 结。原文用这个比喻说「网络看起来像一团结,可能只是我们没找到读它的方式」——不是网络被缠住了,而是我们还没学会怎么读一座城市。

一、先给结论:这是一篇「反叠加」的可解释性檄文

作者 Nick Cammarata 不是路人:他是 Distill 上 Feature Visualization、Zoom In、Multimodal Neurons、Curve Detectors[2] 等一系列机制可解释性工作的作者之一,2019 年发现后来被叫作「叠加」的那个经典电路的人也是他。这篇文章最有趣的地方在于——他公开推翻了自己参与建立的解释。

文章的主张可以拆成四步:

  1. 网络只有一个学习原则(泛化),不是两个(泛化 + 叠加);所谓叠加,是把「普通泛化造成的局部多义」误读成了「任意打包无关特征」。
  2. 在现代模型和现代工具下,对网络做普通科学(观察、假设、干预、检验)是可行的,而且效果比领域预期的好。
  3. 理解会复利:理解一个神经元会约束周围神经元和电路的解释,像填字游戏一样越填越快。
  4. 高度推测:这可能就是可解释性所需要的大部分东西;可解释性也许比领域以为的更接近可解决——「可解释性的 bitter lesson:在规模上做普通研究,胜过设计聪明的分解方法」。

这不是一篇同行评审论文,而是一篇工作假设(working hypothesis)+ 研究纲领。页面本身就是论证的一部分:它用 25 个以上的交互图表让你自己动手看 V 字、看神经元随训练生长、看弱激活被砍掉之后还剩什么。作者也把配套的技术论文留作后续(语言模型神经元的详细实验)。

读这篇要区分两件事:证据(大量可复现的案例和测量)和主张(「already clean」这个强标题)。前者很有价值,后者是作者自己承认的、尚未完全审计的假设。下面按文章的论证顺序拆。

二、两种解释,方向相反

先看被挑战的解释。叠加(superposition) 的经典版本是:网络需要的特征比神经元多,于是它把「不相关」的特征塞进同一个神经元——因为它们很少同时激活,所以不会互相干扰。按这个逻辑,一个神经元可能同时是「软耳狗」和「拉丁诗歌」,两者毫无关系,只是碰巧不冲突。

作者把它和泛化(generalization) 对照:

泛化叠加
分组依据共享的模式(相似的东西放一起)不相关(只因为不干扰)
分组位置局部:相似的东西在附近非局部:越不相关越适合放一起
一个被压小的网络会怎样概念变粗(车 → 交通工具)出现不相关的混合(狗 + 拉丁诗)
对可解释性的含义分组本身是线索,能学到网络怎么想分组没有信息,必须先解开
怎么验证看神经元随训练怎么长、做干预只能靠「解释不了」这个症状

这个对比的关键在于两者预测几乎相反,而且可以观察:如果网络是叠加的,那么把一个层压小(比如把 480 个神经元压到 10 个)应该会看到「不相关的东西挤在一起」;如果网络是泛化的,只会看到概念变粗。作者后面正是用这个实验来判决。

三、猫/车神经元:一个 V 字

这是全文最漂亮的案例,也是整个领域最著名的「多义神经元」:InceptionV1[3] 的 4e:55,看起来同时响应猫脸和汽车前部。从 2017 年的 Feature Visualization[4] 到 2020 年的 Zoom In[5],它一直被当作「神经元不是好单位」的证据——Zoom In 甚至明确写过它「不是在响应猫和车的某种共同点」。

作者重新打开那张看了几百遍的猫/车图片网格,问了自己一个以前没问过的问题:如果只能用「一个东西」来描述它,那是什么? 答案几乎是瞬间出现的:V 形(或双侧尖形)。猫和狐狸的尖脸、汽车前部的 V 形引擎盖、V 形的火焰、消防船喷出的 V 形水柱、台球桌的三角框、新干线的车头……都共享这个形状。它的负极点是一个 O 形——圆的东西把它压下去,尖的东西把它推上去。

进一步看电路:它连接的上游是猫、狐狸、汽车的检测器,但它把这些检测器聚在一起的原因是共享的 V 形;这不是「把车藏进狗神经元的高维空间里」,而是「泛化 + 构图」:它把共享形状的东西放在一起,好让下游的读者继续用。作者推测,视觉模型里可能有上百个这种广义姿态(generalized pose)神经元,只是以前没人注意到;在比 InceptionV1 大十倍、晚了近十年的 DINOv2 里,这类神经元依然存在。

还有一个方法论上的坑:深层 feature visualization 会被reward hacking。优化器想找「让神经元最大激活的图」,但它会走最省力的路径——InceptionV1 训练数据里狗很多、狗神经元也很多,于是优化很容易掉进狗的画法里。把可视化稍微偏向自然图像的路径,最能激活 4e:55 的就变成了车,以及同时有狗和车的图(因为共享姿态)。也就是说,我们看到的「混乱」有一部分是显微镜的错。

作者由此提出一个很实用的判断法:如果一个神经元看起来多义,先别用名词列表描述它;问自己「如果不能用名词,我会怎么描述它?」 多数时候一个共享模式会跳出来(V、姿态、方向、句法角色……)。他说,神经元更像动词或门(gate),而不是名词:它的工作不是给输入命名,而是在正负极之间做一个区分,把激活流向不同的下游。

下面这个部件把「语义读法」和「形状读法」放在一起。点按钮切换,看同一组东西是怎么被一个 V 串起来的:

这个案例的意义不只是「一个神经元被解释清楚了」。它说明:多义性的描述本身可能是错的。用名词列表描述一个共享模式,当然会得到一个多义神经元;换一个描述层次(形状、姿态、句法角色),它可能就是一个干净的单义检测器。作者认为这是中层神经元里「被误判的多义性」最大的来源。

四、显微镜的错误:网络和工具都需要调

作者把可解释性的历史概括成一句话:我们一次次发现,显微镜下的东西比我们以为的好;只是显微镜没调对,而且调的地方往往很微妙。

最早的 feature visualization[4](把神经元最响应的图像用梯度上升画出来的「迷幻图」)一开始也很糊。后来研究者补上变换鲁棒性(对平移、旋转、尺度等做正则),同样的神经元立刻变清晰。到了更深的层,可视化又坏了两个原因:一是上一节说的 reward hacking,二是正则化设置不够对。修好之后,同样的神经元能看清到深得多的层。

但问题不只在工具。InceptionV1[3] 的最后一层当年确实几乎不可解释,有人估计接近 0%,作者自己估计 5%。后来他们用同样的参数量、同样的数据集,但加上 residual、LayerNorm 等现代改进重训,最后一层就变得非常干净。数字很能说明问题:

  • 2014 年的原模型 + 当年的工具:约 5% 可解释;
  • 同一模型 + 更好的工具(修好的 feature visualization、attribution 可视化等):约 50%;
  • 同样的架构 + 更合理的现代正则重训:约 70%;
  • 同尺寸的 ConvNeXt:约 99%。

所以「网络本身不可解释」这个结论,至少有一部分是模型没训好 + 显微镜没调好造成的。作者还训练了三个相差约 300× 的 ConvNeXt(92K、7.06M、28.6M 参数)来观察规模效应:在小模型里神经元更「粗」(一个神经元覆盖更宽的概念),大模型里更窄;但无论大小,神经元都保持可解释。这直接挑战了「模型越大、叠加越严重」的直觉——至少在他们的视觉模型里,规模帮助了可解释性,而不是相反。

这一节的方法论含义是:当你看到一个「多义神经元」,先别急着宣布网络在叠加;先问是不是工具、架构、训练数据或观察层的问题。 作者说,他后来遇到的多义案例里,大多数都能被这四个原因之一消解。

五、递归泛化:泛化是分形的

如果说第四节回答「为什么以前看起来乱」,第五节回答「那些多义性到底在干什么」。

作者重新训练 InceptionV1,并在训练过程中观察一个神经元的形成。它一开始只对黄色的花(油菜花田)有反应;然后沿着照片里的其他侧面长:其他自然景物、绿色的球状物、后来是狗;再后来继续长,直到「花田」几乎消失。ConvNeXt 上也能看到同样的生长,只是走得没那么远。

这被命名为递归泛化(recursive generalization):一个神经元先沿一个轴泛化,然后从这些点上再长出分支,分支再长分支。它不是「第二种学习原则」,就是普通泛化在多个方向上的叠加——只不过泛化是分形的,所以长到最后看起来像「一个神经元干很多不相关的事」。

最清楚的例子来自语言模型:一个对 "iy" 敏感的神经元,先响应 Miyazaki 里的 iy,然后长出 "diy",再长出 "do it yourself"——后者已经完全不含 iy 了。类似的还有「地质学神经元」长到 Cesium(一个地质学 JavaScript 库),「敌人神经元」长到一首关于敌人的俄语诗。这些分支大多又轻又小,而且和主职相关;作者认为,把它们叫「多义」会掩盖一个事实:它们讲述的是网络如何一步步建立概念的故事。

Multimodal Neurons[6] 里其实早就描述过类似现象(当时叫 conjoined features),只是没人提出它可能是 InceptionV1 最后一层混乱的一般解释——因为那时候没有 checkpoint,看不到神经元怎么长。

下面这个部件把「iy 神经元」的生长过程做成时间轴。拖动滑块看分支怎么长出来,注意最后那个分支已经和 iy 没关系了:

这个机制解释了为什么「跟着噪声走」是有回报的:如果多义性来自递归泛化,那些看起来奇怪的分支其实带着关于网络如何组织概念的信息;如果来自叠加,分支之间就没有可学的结构。作者反复强调,这个区别决定了可解释性应该「继续读网络」还是「先把网络拆开」。

六、叠加为什么被高估:从「空白处的解释」说起

第六节是全文火药味最重的部分。作者复盘了「叠加」是怎么成为默认解释的:

  • 2019 年他发现的电路:一个「车」特征似乎流进了一堆「狗」神经元。当时他和 Chris Olah 把它理解为「把车藏进高维空间里,下游需要时再读出来」,于是有了叠加式解释。后来发现真相是共享姿态:车和狗因为朝向相同被组合在一起,视觉模型里有上百个这种 generalized pose 神经元。
  • Zoom In[5] 把「特征」引入电路研究,也把叠加从「向量相加」扩展成「网络的学习原则」;此后 SAE/字典学习路线兴起(Towards Monosemanticity[7] 是最有影响力的代表),目标变成「先把网络分解成可解释特征,再研究」。
  • 2022 年 SoLU 论文其实写过一句很诚实的话(本轮综述里也提到,叠加在玩具模型里确实会出现[8],但真实网络是另一回事):「在机制可解释性社区,叠加经常被当作默认假设,只是因为它直觉上更吸引人,但证据很少。」作者说,据他所知,自他那个(后来被证明是误读的)电路之后,没有人在真实网络里找到过第二个正确的叠加电路。

他把「看起来多义」的原因列成五类,并给了一个很好用的诊断顺序:

可能原因怎么检验
工具不好(可视化被 reward hacking、分辨率/正则不对)换更好的工具,看神经元是否变干净
解释不好(用错了描述层次,比如只用名词)换描述(形状/姿态/句法角色)再试
学习不好(架构/数据/正则有问题)用现代架构重训同一任务,看是否变干净
递归泛化(泛化长出了分支)有 checkpoint 就观察它怎么长
叠加(任意打包无关特征)最后才考虑;它唯一的症状是「解释不了」

作者讲了一个自己经历的例子:在语言模型里看到一个神经元,主要响应 pr,还响应一堆 Base64 URL 字符串和孟加拉语。他以为终于抓到一个「任意混合」了;结果把 URL 解码,都是 pr 开头的词;把孟加拉语转写出来,也是 pr。还有一个被自动解释工具标成「多义逗号神经元」的 Qwen 神经元,仔细看是一个科罗拉多(Colorado)神经元:电话号码、本地俚语、相关神经元都指向科罗拉多,逗号只是注意力存放「当前上下文摘要」的位置。再比如长上下文神经元,早期只看两段文本时看起来乱七八糟,把上下文拉长就清楚了。

所以他的核心批评是统计功效和假设顺序的问题:叠加被当成了零假设(null hypothesis),而它其实应该是最后一个假设——因为它最激进、最难证伪,而且它的唯一证据是「我解释不了」。而「解释不了」也可能是工具、学习、递归泛化或数据覆盖的问题,这些都可以主动检验。作者甚至说,自己当年是「叠加的坚定信徒」,把太多反例解释掉了。

这一节还回应了两个常见反驳:

  • 「特征比维度多」不等于叠加。 一个完全单义的网络也满足「特征数 > 维度数」,因为它会组合。真正的问题是「神经元把无关的东西放在一起」这个学习原则,而不是线性代数意义上的「超完备」。
  • 「弱激活里藏着特征」 是叠加最后的避难所。作者用后面的弱激活实验和归因图来反驳(见第八节)。

到这里,文章的论证结构已经很清楚了:先把「多义」拆成五类原因,再把叠加从默认假设降级为最后假设,然后用视觉和语言模型的系统实验逐一排除前四类。

七、图像模型上的系统证据

前面大多是案例,第七节开始上系统实验。作者选择视觉模型,理由很直接:它们小、能看清、有 feature visualization 这种好用的工具;而原始担忧正是从视觉模型来的。

他训练了三个 ConvNeXt,参数量相差约 300×(92K / 7.06M / 28.6M),再加上 InceptionV1 作为历史对照。核心实验是压小再重训:

  • 把 InceptionV1 的 3b 层(就是 Curve Neurons、High-Low Frequency 那个层)从 480 个神经元压到 10 个,而且这个模型没有 residual stream,神经元没法「绕过去」,相当于把容量压掉 48 倍;
  • 如果网络切换到叠加,应该能看到「曲线 + 橙色螺旋 + 蜘蛛网」这种不相关混合;实际看到的是概念变粗:一个「曲线与环」神经元代替了十种曲线检测器,两个圆检测器代替了多种圆;
  • 再在这个压扁的层上训练 SAE,希望把「藏起来的曲线」找回来——没有找到(这也回应了 Missing Curve Detectors[9] 那类「SAE 发现了神经元缺失的曲线」的观察:作者检查后发现,SAE 的曲线大多由已有曲线神经元组合而成)。SAE 的特征是宽而挤的,不像原始曲线神经元;
  • 在 7M 的 ConvNeXt 上做同样的事(最后一层 1024→13,并阻止 residual 旁路),结果一样:变粗,不变叠加。

这组实验是全文对叠加最直接的反驳:如果容量不足会让网络切换到叠加,那么在极端压小的层上应该最容易看到;但看到的是泛化变粗。

第七节还检查了「字典(SAE)会不会找到神经元没有的基本构件」:

  • 在最后一层,约 88% 的 SAE 活动是单个神经元的近似复制;把「匹配不到任何神经元」的字典方向删掉,准确率基本不变;少数会翻转的答案本来也就是近似平局;
  • 如果在一层里搜索「让少数几个单元承载最多活动」的旋转,从随机旋转出发,最后会回到神经元本身——每个 block 都如此;
  • SAE 额外找到的东西,多是已有神经元按上下文的松散组合(比如「水面上的动物」「苍白块状食物」),没有看到「神经元完全缺失的基本构件」。作者的态度是:SAE 对「图里有什么」有帮助(尤其在小模型),但在「理解网络」这件事上,他没看到 SAE 抓住神经元没抓住的根本结构。

还有一个很关键的「稀有/记忆」实验:稀有类往往更集中(ImageNet 需要很多狗的模式,但一个三角龙神经元就够了);删掉弱激活后没有哪个类特别受损;对抗样本走的是普通语义电路;把随机噪声映射到随机标签的模型,也部分依赖纹理。最漂亮的是「把雨伞照片教成蜜蜂」:模型没有长出一个与世隔绝的隐藏特征,而是在 9 步内把雨伞路由切换到已有的蜜蜂电路上,几乎全部变化发生在最后三个 block;把这三个 block 换回原模型,它就改说「蜜蜂」了。也就是说,记忆也倾向于复用已有的、可读的电路,而不是造一个不可读的暗格。

这些结果合起来给出的图像是:视觉模型里,神经元是「控制流」——正极放行某类模式,负极挡住相邻但不需要的模式;层与层之间在细化区分(出租车和救护车、西兰花和花椰菜、琵鹭和火烈鸟);容量不足时概念变粗;没有看到「不相关特征被任意塞在一起」的系统证据。

八、语言模型上的系统证据

语言模型更难:没有 feature visualization,attention 混杂多种机制,规模巨大。但作者(与 Curt Tigges 合作)还是把同样的故事搬了过去。

神经元层面的统计。 在 Qwen3-32B 上做初步审计:约 90% 的神经元极点只有一个主职(常带小的相关分支),约 7% 有两个相关职责,只有 2–4% 尚未理解。这个数字对阈值、深度、弱激活的判定方式敏感(作者在脚注里专门讨论),但他认为「绝大多数神经元有可读的主职」是稳的。对 GPT-2 XL 的回看更有意思:当年自动可解释性项目里不到 2% 的神经元算「干净」;用现在的工具重做 500 个 neuron papers,约 70% 看起来像一个主职, pristine 的约 5%,剩下的多是两三个相关职责——而 GPT-2 XL 并不是一个「现代架构」的模型。

万亿参数也能读。 他们给出了 Kimi K3(万亿参数级)的 attribution graph:问模型「捡到一个钱包怎么办」,它把钱包、现金、失主 ID 连到「失物招领/诚实」,回答「归还」。作者说,据他们所知这是首个公开的万亿参数模型的归因图;当然,这只是一个图,全面的规模审计还没开始。

架构带来的假象:SwiGLU 的双负号。 现代 Transformer 的神经元有 gate 和 value 两个数,输出是二者相乘。当两个都是负数时,乘积为正——于是一个神经元可以因为「负 × 负」而放电,看起来像它的负极点。作者估计约 4% 的神经元,这种「回声」会占据最响应的顶部;在整个网络上把这些激活去掉,多数 benchmark 反而涨,但一些推理任务会掉。他猜这背后是一个用这种激活来「多想几步」的神经元,但没深挖,并向架构设计者喊话:值得修。

弱激活。 这是叠加最后的藏身之处,也是作者最想拆掉的地方。他们的观察是:

  • 让 1 亿个 token 通过一个 Qwen3-32B 神经元,绝大多数激活都贴近零,只有约 160 个能进入「强的一半」;
  • 把整个网络的弱激活几乎全砍掉,成本很小;损失最大的地方反而是最容易理解的(语言模型最后一层常用「说 or 只想」来抑制单个 token;视觉模型早期层像旋钮);
  • 被砍掉的通常是「网络本来就在犹豫的两个答案之间的细微差别」,而不是「隐藏的无关特征」;
  • 真正强但不到极端的激活,会沿语义向外辐射:CLIP 的 Trump 神经元从特朗普本人,到艺术和与他相关的人,再到 Fox News 演播室——越往外越容易误判,但通常还能沿电路追回去。

下面这个部件把「保留多少弱激活」做成滑块。条形是模拟的激活分布,数字锚定论文里 InceptionV1 的真实实验:

注意力。 作者对 attention 的进展最保守(他也回应了 Anthropic 关于 attention superposition 的短记[10],认为这更像是术语问题:还没人把 attention head 理解到能判断「它是不是另一种叠加」的程度):他说自己不确定有没有人真正理解 attention,因此也不认为「attention 的不可解释性 = 另一种叠加」。但可做的部分不少:注意力看哪里(where)几乎免费,已经能说明很多;它找什么、找到后做什么,可以用神经元来读。比如子痫前期(preeclampsia)的例子:三个第 30 层的 head 从 residual stream 里读到头痛、偏头痛、大脑三个神经元,把信息写到逗号位置的 preeclampsia 神经元上;把这些 head 敲掉,preeclampsia 掉四分之一,但阻止它们看「疼痛」相关的词则没有变化。更一般的「摘要模因(summary motif)」是:注意力喜欢把上下文摘要放在标点(逗号等)上,这解释了很多看似奇怪的逗号神经元。

他们重访了 Finding Neurons in a Haystack[11] 里那个著名的「Social Security」三神经元方向:那个方向其实不被网络使用;真正被使用的是普通的词、名字、短语续写神经元,通过泛化和组合实现检测。

残差流。 原文专门讨论了 residual stream:担心它不是「特征比维度多」,而是连续的「流形互相编织」,即一种连续的打包。作者的态度是:完全排除不可能,但实践中它不是瓶颈——他们能读神经元往流里写了什么、从流里读了什么,attribution graph 也干净;在视觉模型里,多年的可视化问题其实是一个「不被读取的显著维度」造成的(网络把大部分激活质量放在一个未读取的维度上,用来通过 LayerNorm 缩放其他维度),把它拿掉地图就清楚了。把 7M ConvNeXt 的 residual stream 压窄 4 倍/8 倍(最后一层只剩 46 维)后,准确率从 72% 掉到 60%/39%,但地图只是更糊,没有出现「巧妙交织」。他们也提到 Block Sparse Featurizer[12] 这类连续子流形表示是更自然的方向。

归因图与解释的检验。 他们让 agent 审了 10 万张 attribution graph[13],作者自己也看了几千张;绝大多数异常最后都是他没认出的模因。医学诊断的 hub 只有 4 个神经元;圣诞老人的例子更精彩:标准 top-k 自动解释会把某些神经元标成「首都城市」,因为工具忽略了负极点对应的 Santa lore;把 8 个「负极点 = Santa」的神经元去掉,Santa 的概率从接近确定掉到 6%,而把 20 个「标签里就有圣诞/圣诞老人」的神经元去掉,只掉到 76%。他们还做了 near-miss 测试:200 个随机神经元,agent 只看解释,写出 5 个应该强烈激活的例子和 5 个不该激活的近似例子;在 183 个解释描述了正极的神经元里,新例子强烈激活神经元的比例约 76%——解释是「会输的」,不是万能的。

证据关键数字 / 观察
InceptionV1 4e:55猫/车共享 V 形;负极点 O;还连接 V 形火焰、V 形水柱、狐狸尖脸
InceptionV1 最后一层可解释比例旧工具约 5% → 更好工具约 50% → 现代正则重训约 70% → 同尺寸 ConvNeXt 约 99%
3b 层 480 → 10 神经元概念变粗(「曲线与环」),没有不相关混合;SAE 也没找回原始曲线神经元
ConvNeXt 规模92K / 7.06M / 28.6M,约 300×,各尺度神经元都保持可读
SAE / 字典最后一层约 88% 活动是单神经元近似副本;删掉非匹配方向准确率几乎不变
Qwen3-32B约 90% 神经元一个主职、约 7% 两个相关职责、2–4% 未理解
GPT-2 XL旧工具 <2% → 新工具约 70% 像一个主职(pristine 约 5%)
Kimi K3万亿参数模型的第一个公开可读归因图(捡钱包 → 归还)
SwiGLU 双负号约 4% 神经元的顶部响应受「负 × 负」回声影响;去掉后多数 benchmark 涨、部分推理任务掉
弱激活只保留最强约 1/4 正激活,InceptionV1 top-1 从 70.08% 到 69.47%
near-miss 解释测试183 个可解释神经元中,76% 的新例子能强烈激活对应神经元

九、Zooming Out:什么叫「干净」

第九节把整篇文章的哲学讲清楚了。作者说的「clean」不是「每个神经元单义」——虽然按那个标准他也认为比领域预期好得多。他说的是一种更深的东西:网络的部件是「为被读而建」的,也是为下游读者而建的。 用他的比喻:网络几乎是一个分形的解释结构,宏观上有机制,微观上有递归泛化;可解释性的目标是成为网络的另一个读者。

这带来两个重要转向:

  1. 从枚举式可解释性到探索式可解释性。 前者想要一张完整特征清单来做审计,担心维度爆炸;后者从问题出发,像 Google Maps 一样在 attribution graph、神经元、attention head 之间缩放,边走边发现新问题。作者认为探索式路线更可行,也更抗多义性——你不需要先证明网络是单义的,才能开始理解它。
  2. 从「单义性」到「模因(motifs)」。 如果按一个按钮能让所有神经元变单义,或者让你理解几个真正关心的问题背后的电路模因,作者会选后者。可解释性的产出不是词典,而是「城市的地图」:你可以不知道每条街,但知道怎么从问题走到答案。

为什么会这样组织?作者给了一个很简洁的猜测:电路生态 / 电路竞速(circuit ecology / circuit racing)。一个区域一旦有了有用的部件和读者,它学下一个相关概念就比从零开始快,于是它先拿到误差信号,长成新的分支;这解释了为什么概念会像树一样长在一起,而不是随机分布。他还做了一个「整网竞速」实验:让一个预训练好的模型和一个空白模型共享目标,预训练模型几乎拿走全部「功劳」,空白模型学不到东西。换句话说,网络的「干净」可能不是巧合,而是训练动力学的一种自然结果:用已有的路更快。

这也能解释「为什么泛化会赢」:网络一次只看一个样本、一个小 batch,从没见过「一组狗」;它本来完全可以记住每一个样本,但共享模式能同时降低很多样本的损失,所以在误差信号里先被找到。作者在「Why Networks Generalize」一节里把这些线索拼在一起:泛化、组合、误差信号,加上电路生态的正反馈,足以解释为什么网络会形成局部、有序、可被下游读取的结构。

他用城市 vs 结的比喻收束全文:在纽约找金融区一分钟就能找到;在小镇里「金融区」这个概念根本不存在。模型越大,地图反而越好用(他们在大 ConvNeXt 里让 agent 找 dog-ear 神经元,比小模型更快;原文的 ConvNeXt atlas 受 Activation Atlas[14] 启发)。所以「网络很大」不等于「网络很难读」。真正的风险不是「隐藏的激活」,而是「就在明处、但我们不会读」——就像一座组织良好的城市,外来者不知道怎么理解它。

最后是「可解释性的 bitter lesson」[15]:深度学习的历史反复证明,简单的办法 + 规模会赢过精巧的设计;可解释性可能也一样——与其设计更聪明的分解目标,不如在规模上做普通科学,用大量 agent 去观察、假设、干预、检验。作者甚至给出了一个乐观的图景:网络已经为「被读」做好了大部分准备,我们只需要成为它的读者。

十、局限与争议

作者在附录里相当坦诚,列了不少反例和未解问题;我在这里分开写「作者承认的」和「我自己补的」。

作者承认的:

  • 没有全面审计。 他明确说没有审计每一个网络,甚至不知道理论上是否可能;「already clean」是一个 change of kind 的强主张,但他给的证据主要是案例和抽样。
  • 递归泛化难以系统性变化。 他们没有彻底证明「所有严重的多义性都是递归泛化」;在完成的模型里看不到生长过程,在大语言模型里也缺少 checkpoint 去观察。
  • 注意力还没被理解。 他不认为 attention 的不可解释性可以归因于叠加,但也没有给出 attention 的完整解释。
  • 规模与叠加的关系仍开放。 他们比较确信自己研究的视觉模型没有叠加,但万亿参数模型是否可能有,仍是一个开放问题;Kimi K3 只给了一个归因图。
  • 特征的定义有歧义。 文章专门讨论了「feature」可以指人关心的东西、网络学到的构件、或二者的混合;这也是他觉得「特征清单」路线别扭的原因。
  • 反面证据。 附录里有 unresolved responses(比如一个收集「捏紧中心形状」的神经元,同时带有语义残留),以及 meta-models、probes、attention superposition 等替代路线的讨论。

我自己补的:

  • 证据来源集中。 大量结果来自作者团队自己的工具、自家训练的模型和自家挑选的案例;独立复现(尤其是「90% 神经元只有一个主职」这类统计)需要第三方用不同工具和阈值重做。
  • 指标是半定性的。 「可解释」的判断依赖人工/agent 的评分,「90%」对阈值敏感(作者脚注也承认);这和 SAE 社区的自动化指标不是同一套尺子,跨研究比较要小心。
  • 强标题 vs 工作假设。 「already clean」是个很好的传播标题,但作者的证据更支持「比想象中干净得多,而且有很多可操作的下一步」;把后者当成定论会过度外推。
  • 与 SAE 路线的张力。 作者说 SAE 会把 V 拆成「猫特征 + 车特征」,离神经元真正做的事更远;但 SAE 支持者可以说「单义性本来就不是目标,分解是为了可控编辑」。这是路线之争,不是简单的对错。
  • 交互叙事的影响。 这篇文章的交互设计非常有说服力(你亲手拖出 V、看神经元生长);但阅读体验本身也是论证的一部分,容易让人高估证据强度。读 text version 会有不同感受,建议两种都看。
  • 安全含义需要更谨慎。 作者乐观地认为「欺骗会藏在明处、成为读者就能看见」;但如果读网络需要大量专业判断和 agent 工具,误读的代价可能很高。他的「不对称错误」论证(假设干净 vs 假设脏)很有道理,但并不能保证读者一定读对。

十一、结论:可以带走的三件事

  1. 先别把「解释不了」当成「叠加」。 工具、架构、描述层次、数据覆盖、递归泛化,任何一个都能制造多义性;叠加应该是最后一个假设,而不是默认假设。
  2. 跟着噪声走。 如果多义性来自递归泛化,那些奇怪的分支就是网络如何组织概念的线索;如果来自叠加,分支之间没有可学的结构。这个区别决定了可解释性的方法论。
  3. 可解释性可能是「成为读者」,而不是「造一把更好的刀」。 网络已经为下游读者准备了可读的结构;探索式、多尺度、agent 驱动的普通科学,可能比精巧的分解目标更接近答案。

怎么读原文。 原文是交互式的,最好的路径是:

  1. 先读 The Short Version(全文论点浓缩);
  2. 再读 Cars and Animals(V 形案例,全文的钩子);
  3. 然后 Recursive Generalization 和 Superposition of the Gaps(核心机制与对叠加的反驳);
  4. 最后 Zooming Out(哲学与方法论);附录按兴趣挑:SwiGLU、弱激活、残差流、attention、counterevidence、meta-models。
  5. 交互部分至少亲手玩三个:V 形图片网格、神经元生长动画、neuron gallery / microscope。原文顶部的「65-minute read」不是玩笑,建议分两次读。

本文的三个部件是对原文机制的概念性重实现(不是原始数据,也不复制原文代码/CSS),目的是让中文读者在博客里也能动手理解;完整的交互体验、真实图片网格和 25+ 个图表请回原文体验。

参考

  1. Cammarata. Neural Networks Are Already Clean. Goodfire, 2026. 原文
  2. Cammarata, Goh, Carter, et al. Curve Detectors. Distill, 2020. Distill
  3. Szegedy, Liu, Jia, et al. Going Deeper with Convolutions. CVPR 2015. arXiv
  4. Olah, Mordvintsev, Schubert. Feature Visualization. Distill, 2017. Distill
  5. Olah, Cammarata, Schubert, et al. Zoom In: An Introduction to Circuits. Distill, 2020. Distill
  6. Goh, Cammarata, Voss, et al. Multimodal Neurons in Artificial Neural Networks. Distill, 2021. Distill
  7. Bricken, Templeton, Batson, et al. Towards Monosemanticity: Decomposing Language Models With Dictionary Learning. Transformer Circuits Thread, 2023. Transformer Circuits
  8. Elhage, Hume, Olsson, et al. Toy Models of Superposition. Transformer Circuits Thread, 2022. Transformer Circuits
  9. Gorton. The Missing Curve Detectors of InceptionV1: Applying Sparse Autoencoders to InceptionV1 Early Vision. arXiv 2406.03662, 2024. arXiv
  10. Jermyn, Lindsey, Luger, et al. Progress on Attention. Transformer Circuits Thread, 2025. Transformer Circuits
  11. Gurnee, Nanda, Pauly, et al. Finding Neurons in a Haystack: Case Studies with Sparse Probing. arXiv 2305.01610, 2023. arXiv
  12. Fel, Kowal, Jacobs, et al. Uncovering Neural Geometry in Vision Models With Block-Sparse Featurizers. Goodfire, 2026. Goodfire
  13. Lindsey, Batson, et al. On the Biology of a Large Language Model. Transformer Circuits Thread, 2025. Transformer Circuits
  14. Carter, Armstrong, Schubert, et al. Activation Atlas. Distill, 2019. Distill
  15. Sutton. The Bitter Lesson. Incomplete Ideas, 2019. 原文

Comments