![]()
这项由清华大学主导完成的研究以预印本形式发布于2026年5月,论文编号为arXiv:2605.01711,感兴趣的读者可通过该编号在arXiv平台查阅完整原文。
在现代人工智能的世界里,有一种叫做"Transformer"的神经网络架构几乎统治了所有领域——无论是让机器读懂文字、识别图片,还是生成视频,它都是核心引擎。这种架构成功的秘密,人们一直认为藏在一个叫做"注意力机制"(Attention)的装置里。然而,清华大学的研究团队对这个"常识"提出了一个颠覆性的疑问:如果我们对注意力机制的理解本身就错了呢?
他们的答案不仅重新解释了注意力机制的工作原理,更在此基础上设计出一种全新的架构——WeightFormer,让AI在处理图像时速度大幅提升,而准确率几乎不打折扣。这项研究的意义,或许不亚于发现了一条比高速公路还快、还省油的新路。
一、为什么原来的"注意力"方法既聪明又笨重
要理解这项研究解决了什么问题,得先从注意力机制说起。不妨用一个课堂场景来理解:有一位老师在批改一张照片里的试卷,想知道"这道题和哪道题最相关"。传统的注意力机制的做法,就是让老师把照片上的每一道题都两两比较一遍——第一题和第二题比,第一题和第三题比,第一题和第四题比……以此类推,把所有可能的组合都过一遍。这个过程叫做"显式注意力计算",用数学语言说,就是计算一个N×N的矩阵,其中N是图片被切成的小块数量(称为"token",可以理解为照片上每一个小格子)。
问题在于,当图片变大,格子数量增多,这种两两比较的工作量会以平方速度爆炸式增长。格子数量翻倍,计算量就变成四倍;格子数量变成十倍,计算量就变成一百倍。这就是所谓的"二次方复杂度"。处理一张普通图片还好,一旦碰到高分辨率图像,或者需要同时处理很多图片,这个开销就变得极其昂贵,就像要求那位老师在期末考试时把全校所有同学的试卷都两两对比一遍。
过去十年,无数研究者绞尽脑汁想办法给这个两两比较的过程"减负"——有人让老师只看部分题目的组合(稀疏注意力),有人让老师把相似题目归堆再比较(低秩近似),有人让老师用更快的近似方法估算相似度(核方法线性注意力)。但所有这些努力,都是在想办法把那张两两比较的大表格算得更快、更省力,而没有人质疑过:这张大表格本身,真的是必要的吗?
这正是清华大学研究团队切入的角度。他们发现,大家一直在优化一道错误方向上的难题。
二、一个改变游戏规则的新视角:注意力其实是一个"动态换装"的神经网络
研究团队做了一件数学上非常精巧的事情:他们重新审视了注意力机制的计算公式,发现从另一个角度看,它的结构和另一种完全不同的东西完全吻合。
注意力机制的核心公式是:先把输入数据分别变换成Q(查询)、K(键)、V(值)三组数据,然后计算Q和K的相似度,再用这个相似度对V进行加权求和,得到最终输出。大多数人看到这里,会把它理解为一个"加权投票"的过程:K和V就像一本百科全书,Q是查询词,系统根据查询词找到最相关的百科条目,把它们加权混合起来给出答案。
但研究团队换了一个角度:对于输入数据中的任意一行(也就是一个格子的特征向量),整个注意力计算过程其实等价于把这个向量送进一个两层的小神经网络(MLP)里走一遍。这个小神经网络的第一层参数是K(键矩阵的转置),激活函数是Softmax,第二层参数是V(值矩阵)。
这听起来可能有点绕,打个比方会更直观。把注意力机制比作一家餐厅的厨房——传统理解是:顾客(Q)先看菜单(K)找到最喜欢的菜,然后厨房根据点单比例把不同食材(V)混合配给顾客。这是"显式点单-备菜"的流程。而研究团队的新理解是:这家餐厅的厨师会先把今天所有顾客的口味喜好(整个输入序列)统计一遍,然后据此现场配制出一套"今日特供食谱"(K和V),每位顾客进门后直接按照这套食谱加工,不需要再做两两的点单比较。K和V不再是让顾客互相比较喜好的工具,而是把今天整体偏好压缩进去的"厨房配置"。
这个洞察的核心在于:K和V是由整个输入序列动态生成的,它们本身就携带了全局信息。当你把任意一个格子的特征向量送进这个"以K和V为参数的小网络"里,输出结果自然就融入了来自全图的上下文信息,而不需要显式地去计算这个格子和其他所有格子之间的相似度。
用这个厨房比喻继续延伸:关键在于菜谱是根据今天全体顾客的喜好动态定制的,所以即使每位顾客都只是"按菜谱吃饭",吃到的味道也已经隐含了全体顾客的集体偏好。全局信息的整合,发生在菜谱制定阶段,而不是每位顾客进门时的两两比较阶段。
三、从理解到行动:如果全局信息可以藏在参数里,那何必还要那张大表格?
这个新理解立刻引出了一个激动人心的问题:既然全局信息可以通过"动态生成参数"的方式隐含地传递,那我们能不能彻底抛开那张昂贵的N×N比较表格,单纯靠动态参数来完成全局建模?
这正是WeightFormer要验证的核心假设。研究团队决定把"动态参数生成"这个思路移植到另一种更轻量的网络结构——卷积神经网络(CNN)中去。CNN本来是处理图像的传统选手,每个卷积操作只看图片的一小块区域,没有天然的全局视野。但如果给CNN的每一层配上"根据整张图片动态调整参数"的能力,它是否也能获得全局感知力?
要实现这一点,首先需要解决一个工程问题:如何把整张图片的信息压缩成一套固定大小的参数?注意力机制在原始设计中,K和V的大小是随图片格子数N变化的(K是d×N大小,V是N×d大小),所以计算量是N的平方。要把复杂度压到线性,就必须让参数生成过程与N无关。
研究团队探索了两大类压缩方案,并围绕每类设计了多种具体策略,在接下来的实验中逐一检验。这些策略应用于两类网络层:线性层(负责在不同通道之间混合特征,不做空间操作)和深度可分离卷积层(负责在空间上捕捉局部纹理和形状,但原本只看小区域)。
四、为线性层动态"换菜谱"的各种方案
先看线性层的动态参数生成。线性层的作用,可以理解为把一张图片每个格子的特征向量乘以一个变换矩阵,相当于对每个格子做相同的线性混合。如果这个变换矩阵是静态的,所有输入图片都用同一套"配方",就缺少了对具体内容的适应性。如果能根据当前图片的整体内容动态调整这个矩阵,就能实现隐式的全局信息整合。
最简单的方案是用全局平均池化(GAP):把图片所有格子的特征向量取平均,压缩成一个单一的向量,再通过一个小神经网络映射成变换矩阵的调整量。这就好比厨师先尝一口今天所有食材混在一起的综合味道,然后据此调整整体的调味策略。这个方法计算极为便宜,但缺点是压缩得太粗暴,细节信息可能大量丢失。
更精细的方案利用"相关矩阵"(X的转置乘以X,即X?X)。这个矩阵的大小是d×d(d是特征维度),与格子数N完全无关,但它捕捉了所有格子之间的特征共现统计——可以理解为一份"今天所有顾客口味偏好的二阶统计摘要"。从这个矩阵出发,研究团队依次尝试了线性映射、加入非线性激活函数的版本、加入低秩分解的深层版本,以及一种被称为"双边激活"的结构——后者把参数预测分成两个互补分支,分别作用在X和X?上,再组合起来。为了进一步降低计算量,在计算相关矩阵之前,还会先用自适应平均池化把空间分辨率缩小一半,过滤掉高频噪声。
实验结果清晰地显示,这些策略都大幅超越了静态参数基线。静态CNN在ImageNet图像分类任务上的准确率是73.3%,而引入双边激活策略后,仅仅让第一个线性层动态化,准确率就提升到了76.4%,而参数量和计算量的增幅非常有限。进一步把两个线性层都动态化,能达到76.7%,但吞吐量(每秒处理的图片数)有所下降,性价比相对较低。
五、为空间卷积层动态"换模具"的各种方案
深度可分离卷积层的动态化,则对应着为图片的空间特征提取换上"动态模具"。卷积操作的本质,是用一个小小的滤波器(比如3×3大小)在图片上滑动,检测局部纹理。这个滤波器如果是固定的,不管什么图片都用同一个模具压;如果能根据图片内容动态调整,那它就能捕捉到更具适应性的特征。
研究团队设计了几种策略。最基础的是全局池化方案:把全图特征压成一个向量,再生成卷积核的调整量,但这种方式丢失了空间结构信息。更聪明的"空间自适应方案"则是先把图片通过自适应池化缩放到目标卷积核同样大小的空间分辨率(比如3×3),再用一个小网络生成卷积核,这样既保留了空间结构的方向性,又与原始分辨率解耦。此外还有一种"幅度-方向解耦"策略,分别预测卷积核的强度(幅度)和形状(方向),再组合,灵感来自权重归一化的思想;以及直接用小型卷积网络处理特征图再池化的方案。
实验表明,空间自适应方案在准确率和效率之间取得了最佳平衡,相比静态基线提升了约1.5个百分点,同时吞吐量损失最小。而把线性层的双边激活和深度卷积的空间自适应策略组合起来,可以在小模型(约740万参数、1.2G浮点运算量)上达到76.8%的准确率,进一步超越单独使用任何一种策略。
研究团队还通过一种叫做"有效感受野"(ERF)的可视化方法验证了全局建模的真实性。感受野可以理解为:图片中某个格子的输出特征,受到了多大范围内其他格子的影响。静态CNN只关注小范围邻域,感受野图像呈现为中心一个亮点,周围完全黑暗。而所有动态参数策略训练完成后,感受野图像都变成了整张图片均匀发光的状态,说明每个格子都能感知到来自全图任意位置的信息。更有趣的是,在训练开始前,动态模型的感受野和静态模型一样局限;训练过后才展开为全局覆盖,说明这种全局感知能力是模型通过学习主动获得的,而不是结构上的硬编码。
六、WeightFormer:把动态参数策略变成一个完整的视觉模型
验证了各种动态参数策略的有效性之后,研究团队把最优策略组合起来,构建了WeightFormer这个完整的视觉架构。架构设计上有一个关键考量:并非所有层都需要动态化。
考虑到动态参数生成本身是有计算代价的,如果每一层都动态化,参数量和运算量都会显著上升,也不利于与其他模型进行公平比较。研究团队做了一系列消融实验,系统测试了设置不同数量动态块(N=4、6、8、11、14、17)时的效果。结果显示:当所有17个块全部动态化时,模型竟然出现了训练不稳定甚至发散的问题,最终准确率只有70.2%;而N=11时准确率最高(76.9%),N=6时在准确率(76.3%)和吞吐量(每秒3515张图片)之间取得最佳平衡,这对应着每三个块中插入一个动态块的"稀疏分布"策略。过多的动态层不仅代价高昂,还会带来优化困难,这个发现本身就颇耐人寻味。
最终的WeightFormer每隔两个静态块就插入一个动态块,动态块内使用空间自适应的动态深度卷积和双边激活的动态第一线性层,其余层保持静态。整个架构的时间复杂度相对于输入序列长度是严格线性的,从根本上突破了传统注意力的二次方瓶颈。
七、WeightFormer在各类视觉任务上的表现
研究团队在多个视觉基准任务上系统评估了WeightFormer,以验证动态参数策略的通用价值。
在图像分类任务上,WeightFormer在ImageNet-1K数据集(包含128万张训练图片、覆盖1000类物体)上与多类主流模型正面交锋。WeightFormer-T(约700万参数,1.1G运算量)达到了76.3%的Top-1准确率,相比同等规模的DeiT-T(72.2%)大幅领先,吞吐量从3661张/秒提升到3515张/秒,相差无几。WeightFormer-S(2700万参数,4.4G运算量)达到81.3%,超越了DeiT-S(79.8%)和ConvNeXt-S(79.7%),且吞吐量更高。特别值得一提的是WeightFormer-B:它在448×448的高分辨率输入下,以2700万参数和17.7G运算量达到了83.4%的准确率,完全不弱于使用224×224输入、参数量高达87M的DeiT-B(81.8%)或ConvNeXt-B(82.0%),而在高分辨率下运行时的吞吐量优势更为突出。
在目标检测和实例分割任务上,基于COCO 2017数据集的测试结果同样令人鼓舞。以WeightFormer-T作为骨干网络,配合Cascade Mask R-CNN框架,检测精度(AP^b)从DeiT-T的44.4%提升到45.0%,分割精度(AP^m)从38.1%提升到38.3%,而总计算量从594G下降到566G,骨干部分的计算量从106G大幅削减到77G。这意味着用更少的算力获得了更好的效果。
语义分割任务(ADE20K数据集,使用UperNet框架)的结果也相当一致。WeightFormer-T以12M参数、38G总计算量(骨干仅7G)达到40.7的mIoU,比同等参数规模的DeiT-T(39.2 mIoU)高出1.5个点,且骨干计算量仅为DeiT-T的64%。WeightFormer-S以47M参数达到45.6 mIoU,超越DeiT-S的44.0,骨干计算量同样更低(27G对35G)。
研究团队还将WeightFormer应用于图像生成任务,基于DiT框架进行类条件图像生成,用FID(Fréchet Inception Distance,数值越低表示生成质量越高)来衡量效果。结果显示,WeightFormer在所有配置下都一致优于DiT和DiG基线,例如WeightFormer-S/2以5.0G运算量获得61.39的FID,优于DiT-S/2(68.40)和DiG-S/2(62.06);WeightFormer-B/2以20.0G运算量获得38.21的FID,优于DiT-B/2(43.47)和DiG-B/2(39.50),而且计算量更低。这说明动态参数策略在生成类任务上同样奏效,不局限于分类、检测等判别性任务。
八、高分辨率下的效率优势有多显著
WeightFormer最具说服力的优势体现在高分辨率场景下。传统注意力机制的计算量随分辨率平方增长,当输入图片变得很大时,内存和时间开销会急剧膨胀。研究团队专门测试了不同分辨率(从512×512到1248×1248)下WeightFormer-T和DeiT-T的吞吐量与显存占用。
在512×512分辨率下,两者差距不大。但随着分辨率上升,差距迅速拉开。到1248×1248(每张图片被切成6084个格子)时,WeightFormer的吞吐量是DeiT的7.7倍,而每张图片占用的显存比DeiT节省了91%。这意味着,用同样的硬件,WeightFormer可以处理多得多的高分辨率图片,或者用低得多的成本完成同等规模的任务。对于需要处理医学影像、卫星图片、高清视频帧等高分辨率任务的实际应用场景,这种优势是极为实用的。
九、动态参数的行为规律:越深处越活跃
研究团队还做了一项颇为有趣的分析:在WeightFormer训练完成后,检测每个动态层的"动态强度"——具体来说,是计算动态调整量(ΔW)和静态基础权重(W?)的范数之比r。这个比值越大,说明动态部分对最终参数的贡献越显著;比值接近1,说明静态参数仍然主导。
结果显示了一个清晰的规律:对于动态线性层,各层深度的比值r都在1附近保持稳定,变化幅度较小,说明动态线性层在整个网络深度上都提供了稳定且适度的全局通道混合调整。而对于动态深度卷积层,情况截然不同:浅层的r值接近1,但随着深度增加,r值急剧攀升,在最深处达到了20-30倍之高。这意味着,越靠近网络末端(语义抽象层次更高的地方),空间自适应卷积的动态调整越激烈,动态参数几乎完全主导了空间特征提取。直觉上这很合理:浅层处理的是低级纹理(边缘、颜色),静态卷积核就已经够用;深层处理的是高层语义(物体形状、场景类型),需要更强的内容自适应能力。
说到底,这项来自清华大学的研究做了一件非常有意思的事情:它没有试图把一个已有的东西做得更快,而是从一个新的角度重新理解它,然后发现其实不需要原来那个东西的全部。注意力机制被重新理解为"动态参数生成+前向传播"的两步走,而这两步里,只有第二步(前向传播)是线性复杂度的,第一步(参数生成)才是二次方开销的来源。一旦意识到这一点,用别的方式完成"参数生成"步骤就成了合理的工程选择。
当然,研究团队也坦诚地指出了目前工作的局限。整个评估都在视觉任务上进行,这套方法是否同样适用于语言模型、语音识别或其他序列建模任务,目前还不清楚。动态参数生成的表达能力和归纳偏置,在理论层面也缺乏深入分析。更值得关注的是,动态参数的输入依赖性会使梯度传播更加复杂,有时会带来训练不稳定的挑战(如所有层都动态化时出现的发散现象)。这些都是未来研究需要面对的课题。
不过,这项研究已经提供了一个重要的概念验证:全局序列建模不是注意力机制的专利,只要能以某种方式把全局上下文压缩进网络参数里,再让输入数据通过这些参数进行变换,同样能实现Transformer级别的全局感知能力——而且可以做到线性复杂度。这条路是否能走得更远,是否能在语言、多模态等领域同样奏效,或许会是接下来几年里颇值得关注的方向。有兴趣深入研究的读者,可以通过arXiv编号2605.01711找到原论文,代码也已在GitHub的LeapLabTHU/WeightFormer仓库公开。
Q&A
Q1:WeightFormer和普通Transformer相比,速度到底快多少?
A:在标准224×224分辨率图片下,WeightFormer和DeiT的速度相近。真正的差距在高分辨率下体现出来——当图片分辨率提升到1248×1248时,WeightFormer的处理速度是DeiT的7.7倍,显存占用减少91%。这是因为WeightFormer的计算量随图片大小线性增长,而DeiT是平方增长,图片越大差距越悬殊。
Q2:WeightFormer放弃了注意力机制,会不会在理解图片内容方面变弱?
A:从实验数据来看并没有。WeightFormer-S在ImageNet分类上达到81.3%,超过了同规模的DeiT-S(79.8%),在目标检测、语义分割和图像生成任务上也都优于或持平于对比模型。感受野可视化也显示,训练后的WeightFormer能感知图片全局范围内的信息,并不比注意力模型差。
Q3:动态参数策略为什么不把所有层都换成动态的,效果岂不更好?
A:研究发现并非如此。当所有17个块都换成动态块时,模型训练会出现不稳定甚至发散,最终准确率只有70.2%,还不如静态模型。原因在于动态参数的生成依赖输入,这会让梯度传播变得更复杂,过多动态层会带来优化困难。每三个块中放一个动态块(共6个)是最佳平衡点,性能76.3%,速度也最快。





京公网安备 11011402013531号