2022年,一篇论文揭示了一件让很多人重新审视深度学习基础的事情。
你以为神经网络训练完成后,所有知识都被压缩进了那些权重矩阵里。一个线性层,输入乘以权重矩阵,输出结果,这是深度学习最基本的积木。但研究者发现,任何一个用梯度下降训练出来的线性层,其实都可以用另一种完全等价的方式来实现:不存权重矩阵,而是把训练时见过的每一个数据点都原封不动地存下来,推理的时候通过一种叫做注意力的机制,从这堆存货里把答案检索出来。
这两种方式在数学上是完全等价的,输出结果分毫不差。这就是论文里说的"对偶形式"。
这件事听起来有点反直觉。我们一直以为深度学习的本质就是压缩,把海量训练数据压缩进有限的参数里,这是它能泛化、能节省存储空间的根本原因。但这篇论文告诉你,至少对于线性层来说,压缩只是实现方式之一,还存在一种完全不压缩、把所有数据原样留存的等价实现。
这篇来自谷歌 Paradigms of Intelligence 团队(与MIT、耶鲁合作)的论文,就是顺着这个发现往下挖,看看能不能把这种"不压缩、靠检索"的思路做成一种真正能打的深度学习范式。
**这篇论文的核心贡献,是把这个理论发现从一个有趣的数学巧合,变成了一套可以训练、可以验证、在图像分类任务上打赢了传统方法的完整体系。**
这篇论文的名字叫《Retrieval-Centric Deep Learning in Growing Nonparametric Neural Networks》,中文可以翻译成"不断生长的非参数神经网络中的检索中心式深度学习"。他们把这套新范式简称为 RCDL。
这件事难在哪里
先说清楚那个数学巧合具体是什么样子。
考虑一个线性层,输入是x,输出是y=Wx,W就是权重矩阵。训练过程中,我们用梯度下降不断更新W:每看到一个训练样本,就根据误差信号调整一下权重。经过T步训练后,权重矩阵可以写成初始权重加上T个"外积项"的累加,每一项都对应一个训练样本留下的印记。
既然权重矩阵是这些外积项的累加,那么输出y=Wx实际上可以展开成另一种形式:初始权重的贡献,加上每个历史训练样本对当前输入的"贡献度"乘以该样本对应的误差信号,再求和。这个"贡献度"其实就是历史输入和当前输入的点积,这正是最简单的注意力机制,叫做线性注意力。
**线性注意力*:一种不做归一化的简化版注意力机制,用输入向量之间的点积直接作为权重,对历史存储的"值"做加权求和,计算量比标准的softmax注意力小很多。**
换句话说,一个训练好的线性层,等价于一个把每个训练数据点都存成一对"键值对"的记忆系统:键是当时的输入,值是当时的误差信号。推理时来一个新输入,拿它和所有存储的键做点积,算出权重,再用这些权重把所有存储的值加权求和,就是输出。这就是"对偶形式",这个发现最早由 Aizerman 等人在1964年提出雏形,2022年被 Irie 等人重新挖掘并连接到现代深度学习。
那么问题来了:既然线性注意力这么弱,我们知道Transformer里用的softmax注意力比线性注意力强得多,能不能直接把softmax或者其他更强的核函数塞进这个对偶形式里,造出一个更强的"检索式神经网络"?
Irie 等人在2022年的论文里就提出了这个设想,但没有给出答案。这篇新论文发现,**这件事做起来远比想象中麻烦**。直接把学习规则从线性注意力的情形搬到更高级的核函数上,根本得不出一个有理论保证的优化算法。论文里专门用一整个附录(附录B.3)演示了这种"朴素做法"是怎么失败的:换上softmax之后,新加入一个键值对会让分母(归一化项)发生不连续的跳变,不管你往里加的值有多小,这个跳变都存在,没法用梯度下降这种依赖"微小扰动"的方法去优化它。
这就是这篇论文要解决的核心难题:如何给这些更强大的注意力机制,找到一套真正站得住脚的、能最小化损失函数的学习规则。
正定核的情形:相对简单的那一半
论文先处理了一类相对容易驾驭的核函数,叫做正定核。
**正定核*:一类满足特定数学性质的核函数,根据Moore-Aronszajn定理,任何正定核都可以表示成某个(可能是无穷维的)特征空间里两个向量的内积,这个特征空间叫做再生核希尔伯特空间(RKHS)。径向基函数(RBF)核是其中最经典的一种,常用来衡量两个点的"相似度随距离衰减"。**
既然正定核可以表示成某个隐式特征空间里的内积,研究者就可以把原来的核化注意力层,看成一个作用在这个无穷维特征空间上的线性层,权重矩阵同样是无穷维的。
好消息是:对无穷维权重矩阵做标准的梯度下降,推导下来发现它和线性情形完全一致。每来一个新的训练样本,往数据库里添加一对新的键值:键还是原始输入,值还是经过学习率缩放的误差信号的负数。整个推导过程论文在附录A里给得很细,包括权重衰减和动量这两种常见优化技巧,在这套"数据库"视角下也都能找到对应的实现方式,权重衰减对应着给老的键值对按比例"打折",动量则对应着给每个键值对记一个创建时间戳,推理时用这个时间戳动态算出它该有多大的影响力,完全不需要额外存一份"速度"变量。
这就好比你开了一家记账的小店,以前的账本记的是"累计结余",现在改成每笔交易都单独留一张收据。想知道当前余额,不用翻出一本总账,而是把所有收据按权重加起来算一遍。如果不这样做,继续用"总账"的方式去套用更复杂的核函数,你会发现总账这个数字根本没法连续更新,因为新加一张收据会让整个计算方式发生突变,而不是像以前那样温和地叠加一项。
softmax核的真正困境,与"加权softmax"的解法
真正棘手的是 softmax。
现代深度学习之所以离不开 softmax 注意力,是因为它比线性注意力在实践中强得多,Transformer的成功很大程度上建立在这个机制上。但 softmax 有一个归一化分母,这个分母是所有键值对的"总热度"。
论文里做了一次非常诚实的尝试,在附录B.3里一步步演示了如果直接套用线性情形的思路会遇到什么麻烦:当你往 softmax 注意力的数据库里加入一个新的键值对时,分母会立刻发生跳变,哪怕这个新值小到几乎为零,分母的跳变依然存在。研究者试图通过代数技巧把新系统的输出表示成旧系统输出的某种缩放加平移,确实能在"当前这一个输入"上让新旧系统输出一致,但这种一致性没法对所有可能的输入都成立,因为新加的键已经永久性地改变了全局的归一化常数。这意味着没法用"添加一个无穷小的新项"这种梯度下降依赖的逻辑去做局部优化。
这个困境可以想象成一个自助餐厅的评分系统。每道菜的权重是按它被点的次数来算的,你往菜单里新加一道菜,哪怕这道菜一份都没卖出去,整个餐厅的"总点餐量"这个分母也已经变了,所有老菜的相对评分跟着重新洗牌。如果直接在这种系统上做局部微调,你调整的东西永远会牵连到不该被牵连的地方。
论文的解法是引入一个新概念,叫做加权softmax核。
**加权softmax核*:给数据库里每个键值对额外配一个标量权重w,输出变成所有"权重乘以指数相似度乘以值"的加权和,除以所有"权重乘以指数相似度"的加权和。这个额外的权重维度,让新增一个条目可以通过把权重设成一个很小的数来实现"平滑地"加入系统,不再是突变。**
论文接下来做了一件很漂亮的事情:他们证明了,如果把数据库里的每一对键值想象成一个高斯分布的中心,所有键值对混合成一个高斯混合分布,那么由这个连续的高斯混合密度诱导出的softmax函数,和由离散数据库直接定义的加权softmax函数,在数学上完全等价。更妙的是,这个等价关系对任意选取的高斯方差都成立,方差相关的项会在分子分母里互相抵消。这个发现给了研究者一个"背景测度",让他们可以把原本离散的权重函数,转换成一个连续的、定义在希尔伯特空间里的函数,然后在这个希尔伯特空间上严格地做泛函梯度下降。
通过Fréchet可微性的严格证明(附录C给出了完整的ε-δ论证),论文最终推导出了泛函梯度的闭式表达式,并且证明了每一步泛函梯度下降,恰好对应着往数据库里加入一个新的三元组:权重、键、值。新加的键是当前查询向量的一个缩放版本,权重正比于当前预测值和误差梯度的内积,值则正比于误差梯度本身。整个推导的精髓在于,之前那个"加一个条目就会让分母跳变"的障碍,现在被彻底消解了,因为新加条目的权重可以连续地从零开始增长,不再是非零即无的二元状态。
实验结果显示:这套加权softmax的训练在CIFAR-10和CIFAR-100上,用最朴素的SGD优化,就已经显著超过了用SGD训练的传统MLP,甚至超过了用Adam和RMSProp训练的MLP,表现接近用更先进的Muon优化器训练的MLP。
负权重问题与"规范不变性"的巧妙解法
这套加权softmax的学习规则有一个工程上的麻烦:新加入的权重正比于预测值和误差梯度的内积,这个内积有可能是负的。负权重会导致分母里出现正负项互相抵消,数值计算容易变得不稳定,甚至出现分母接近零的情况。
最简单的处理方式是把负权重直接截断成零,论文证明这种截断其实对应着在一个更大的"解耦权重空间"里做合法的梯度下降,理论上站得住脚。
但论文还提出了一个更优雅的方案,叫做规范不变性。
**规范不变性*:加权softmax函数有一个平移对称性:如果把数据库里所有的值向量都统一加上某个偏置b,同时给整个系统的输出也减去b,那么最终函数完全不变。利用这个对称性,可以在每一步训练时动态选择一个"虚拟偏置框架",让新权重在这个框架下必然是正的,然后再把结果转换回标准坐标系。**
论文证明了一个很反直觉的结果:这个转换到虚拟框架、添加新条目、再转换回来的过程,对历史上所有已经存在的键值对来说完全是透明的,它们的数值丝毫不受影响,新加入的只有一个条目。这就像你临时借用一个坐标系去做一次计算,算完之后把坐标系换回来,之前写在纸上的所有数字都原样不动,只是多了一行新记录。
这个设计解决的根本矛盾是:既要保证数值稳定(权重非负),又不想像截断那样粗暴地丢失一部分梯度信息。规范不变性给了一个"借道而行"的办法,既不截断任何信息,又能保证新权重天然为正。
从无限增长到可控规模:混合学习算法
RCDL这套检索式网络有一个显而易见的问题:每训练一步,数据库就多一条记录,内存和计算量随训练步数线性增长。训练得越久,模型越大。
这事儿听着有点像你每天写日记,从不撕掉旧的一页,日记本会无限变厚。如果不加任何管理,几年后你可能需要一个仓库才能存下所有日记本。
论文给出的解法是一个混合算法:把已经存在的键值对当成可学习参数,用标准的Adam或AdamW去持续优化它们,只有当新来的输入和数据库里现有的所有键的距离都超过某个阈值τ时,才真正往数据库里添加一条新记录。换句话说,大部分时候模型靠"打磨已有的记忆"来适应新数据,只有碰到真正意义上"没见过的新东西"才会扩张容量。
实验显示,在CIFAR-10上,这种混合算法能把数据库的最终规模压缩到完全非参数版本的一小部分,同时保持住大部分的性能优势,论文里的图5展示了这种"优雅的性能退化":随着阈值τ调大、最终容量变小,准确率是平滑下降的,而不是突然崩溃。
更先进的线性注意力带来的新优化器
论文的第二条线索走了另一个方向:不是替换线性注意力,而是把线性注意力本身替换成最近几年在序列建模领域出现的更强变体,看看这对传统的、固定大小权重矩阵的神经网络优化会带来什么启发。
这里涉及两个概念。
**MesaNet(也叫mesa层)*:一种不是简单做累加更新,而是在每一步都求解"目前为止看到的所有键值对的最优线性映射"的注意力机制,带有一个正则化项控制权重矩阵的范数。**
**DeltaNet*:一种基于"德尔塔法则"的注意力机制,每次更新不是单纯往记忆里追加新内容,而是先部分擦除旧的、和当前键相关的记忆,再写入新内容,类似于"有选择地覆写"而不是"无脑堆叠"。**
论文证明了,如果把mesa层的思路套进"对偶形式"里,推导出来的权重更新规则,恰好和一个叫FOOF的现有优化器完全一致。FOOF本身是KFAC(一种近似二阶优化方法)的简化版。直觉上,mesa层比普通线性注意力多出来的那个矩阵求逆操作,相当于对输入做了一次"白化"变换,这正是二阶优化方法(比如牛顿法)的核心操作。对浅层线性模型来说,这个额外的求逆直接给出了完整的牛顿更新;对深层网络来说,它给出的是一个近似的二阶更新。
同样地,DeltaNet对应的更新规则,被证明等价于在每一层局部定义的、随时间变化的损失函数上做在线梯度下降,这个局部损失衡量的是"当前预测"和"目标值"之间的差距,学习率就是DeltaNet里的写入强度参数。论文还额外做了一组实验(附录F.8.1),训练一个10层的残差MLP长达2000个epoch,结果显示加入DeltaNet式的衰减机制后,测试准确率从67%提升到74%,提升幅度远超普通的乘法式权重衰减(后者几乎没有改善测试准确率),说明这种"选择性遗忘"机制确实带来了比传统正则化更强的泛化能力。
这就好比两种不同的仓库管理策略。普通权重衰减是每天固定把所有货架上的货物按比例清掉一点,不管这批货是不是和今天的新货相关;而DeltaNet式的衰减是只清理和今天新进货种类重叠的那部分旧货,腾出空间给新货,其他不相关的旧货原封不动。前者是一种"一刀切"的遗忘,后者是一种"有的放矢"的遗忘,实验数据说明后者明显更聪明。
实验结果:数据说话
论文在三类任务上做了验证:合成的师生回归任务、CIFAR-10/100图像分类、以及一个把RCDL模块嵌入Vision Transformer的混合实验。
在师生回归任务里,一个随机初始化的教师网络生成训练数据,学生网络去拟合它。结果显示,加权softmax模型显著超过了一个参数规模和最终数据库大小匹配的"参数化softmax"基线,尽管后者在每一步训练时能够调整所有参数,前者的架构和教师网络也并不完全匹配。
在CIFAR图像分类上,下表是论文报告的几个关键结果(基于论文Figure 2和正文描述):
模型/方法 | CIFAR-10 测试准确率 | CIFAR-100 测试准确率 | 备注
加权Softmax (SGD) | 显著超过SGD-MLP、Adam、RMSProp | 显著超过SGD-MLP、Adam、RMSProp | 训练损失下降最快
RBF核 (SGD) | 与加权Softmax接近 | 与加权Softmax接近 | 略逊于加权Softmax
Mesa/FOOF优化器 | 与非参数模型接近 | **CIFAR-100上表现最好** | 二阶近似优化
Muon优化器 | CIFAR-10上准确率最高 | 强力基线 | 参数化MLP
传统SGD/Adam/RMSProp | 明显落后 | 明显落后 | 基线方法
在只训练一个epoch(单遍扫过训练集,不做数据增强)的场景下,加权Softmax和RBF模型的学习效率最高,超过了包括Muon和Mesa在内的所有参数化方法,论文还特意拿经典的kNN和SVM做了对照,非参数RCDL模型的表现依然领先。
论文还发现一个有意思的现象:把加权softmax模型和同样架构但做成"参数化"版本(把键值矩阵变成普通可训练权重)放在一起对比训练过程,参数化版本拟合训练数据的速度反而更慢,而且随着训练推进,训练准确率和测试准确率之间的差距越拉越大,说明它更容易过拟合。非参数化的RCDL模型完全没有出现这种鸿沟,测试准确率持续走高。这说明把"存储"和"学习"拆解开,让每个数据点独立占据一个检索位置,反而对泛化更友好,而不是像人们直觉上以为的那样会导致过拟合。
论文还做了一个把RCDL嵌入Vision Transformer的小实验:保留标准的自注意力层,把Transformer里的前馈网络模块替换成加权softmax的RCDL层,其他部分照常用梯度下降训练。单epoch训练CIFAR-10,纯参数化ViT达到48.4%准确率,混合模型达到54.4%,提升了6个百分点。
这个思路的局限和未来
论文在讨论部分坦诚地列出了几个还没解决的问题。
最明显的一个是存储和计算随训练数据线性增长,这在实际部署中是个硬伤。论文提到或许可以借鉴Transformer文献里的键值裁剪手段,比如滑动窗口或者token合并,但承认目前还没有针对RCDL的专门解法。
另一个局限是,目前推导出来的学习规则主要对应基础的梯度下降,加上了一些扩展(权重衰减、动量),但还不知道怎么把Adam、Muon这类更先进的优化器移植进来。
这篇论文和1964年Aizerman等人提出的核方法理论、以及更早的支持向量机理论有很深的渊源,论文也坦承这种"用函数式梯度提升来逐步添加新组件"的思路,早在2010年Grubb和Bagnell的工作里就有过类似的雏形,这篇论文做的是把这个思路和现代深度学习的实践结合起来,并且第一次给出了针对softmax这种归一化核函数的严谨推导。
论文作者还提到一个来自神经科学的类比:大脑里存在"沉默记忆"现象,遗忘有时不是因为记忆内容真的消失了,而是因为检索失败了,某些实验里通过光遗传学手段可以重新唤醒看似已经丢失的记忆。RCDL保留所有历史激活的特性,某种程度上呼应了这种"记忆没丢,只是暂时检索不到"的生物学图景。
写在后面
读完这篇论文,最让我意外的不是RCDL的性能数字,而是论文作者那种近乎较真的诚实:他们专门用一整个附录篇幅,详细演示了一种"看起来很自然"的朴素做法是怎么失败的。大多数论文只展示成功的路径,这篇论文却把失败的推导过程也完整呈现出来,告诉你softmax的归一化分母为什么会让"局部添加一个小扰动"这件事变得不可能。这种诚实本身就是一种研究态度上的示范:承认困难,比绕过困难更有价值。
另一个值得单独拎出来说的细节是"规范不变性"那部分的证明。作者证明了,借助一个临时的虚拟偏置框架,可以让新增的权重保证非负,同时对历史上所有旧记录完全不产生任何扰动。这个"只改变一条新记录,老记录纹丝不动"的性质,在工程上意味着这套算法可以增量式地、流式地运行,不需要每加一条新记录就重新计算整个数据库,这对于一个理论上无限增长的系统来说,是能不能真正落地的分水岭。
这篇论文还留了一个没有被明说、但值得多想一步的问题:如果检索式的深度学习真能在存储和算力足够廉价的未来大规模铺开,那"训练"这件事的含义会不会被重新定义。现在我们说"训练一个模型",默认指的是压缩数据、调整参数;但如果主流范式变成"存下数据、设计更好的检索方式",那深度学习研究的重心可能会从"怎么压缩信息"转向"怎么组织和检索信息",这两者需要的数学工具、直觉甚至审美,可能是完全不同的两套东西。
Q&A
Q1:RCDL(检索中心式深度学习)和传统深度学习最大的区别是什么?
A:传统深度学习用固定大小的权重矩阵压缩训练数据,RCDL则为每个训练数据点存一对键值表示,推理时通过注意力机制从这个不断增长的数据库里检索和组合答案,模型规模会随训练数据增长。
Q2:为什么不能直接把softmax套进线性注意力的对偶形式里?
A:因为softmax有一个全局归一化分母,新加入一个键值对会让这个分母发生不连续的跳变,无论新加的值多小都会造成突变,这使得依赖"微小扰动"做优化的梯度下降方法根本无法使用,论文为此专门设计了"加权softmax核"来解决这个问题。
Q3:RCDL在实际图像分类任务上表现怎么样?
A:在CIFAR-10和CIFAR-100上,基于SGD训练的加权Softmax和RBF核的RCDL模型显著超过了用SGD、Adam、RMSProp训练的传统MLP,训练损失下降也明显更快,单epoch场景下学习效率超过了包括Muon在内的所有参数化方法。







