← 返回 2026-05-05

无需显式注意力的线性时间全局视觉建模 Linear-Time Global Visual Modeling without Explicit Attention

Ruize He, Dongchen Han, Gao Huang 📅 2026-05-03 👍 7 2026-07-13 08:36
动态网络 卷积网络 线性复杂度 视觉Transformer 高效架构

将注意力重新解读为动态MLP,用动态参数预测替代显式注意力实现线性复杂度全局建模

前置知识

Self-Attention机制

Self-Attention通过QKV三个矩阵计算token两两相似度得到注意力矩阵A∈R^{N×N},再用A加权聚合V。自注意力复杂度为O(N²d),N为序列长度,d为通道维度。

本文正是对注意力机制本身提出新的数学诠释,读懂公式Attention(Q,K,V)=Softmax(QK^T/√d)V才能理解作者如何把它重新解读为动态MLP。

动态参数网络

传统网络权重在训练后固定,动态网络则根据输入自适应生成参数。典型代表如CondConv、动态卷积等,可显著提升模型表达能力。

本文的核心机制——动态权重预测——正是动态网络思想的新应用,把网络权重当作输入的函数来生成。

深度可分离卷积(DWC)

DWC对每个输入通道独立做空间卷积,参数量和计算量仅为标准卷积的1/C(C为通道数)。它保留空间归纳偏置但感受野天然局部。

作者通过对DWC权重进行动态预测,让原本只能看局部的卷积获得全局感受野,这是WeightFormer块的关键组件。

有效感受野(ERF)

ERF衡量输出像素对输入图像不同位置梯度的敏感度分布。与理论感受野不同,ERF通常只占理论感受野的一小部分,且呈高斯分布。可以通过对输入图像求输出对各像素的梯度并可视化得到。

本文用ERF可视化证明动态参数预测让CNN获得了与ViT类似的全局覆盖能力,是验证方法有效性的核心实验。

研究动机

Transformer在视觉任务中取得巨大成功,但其全局序列建模能力被普遍认为来自显式的注意力矩阵A∈R^{N×N}的token两两加权聚合。这一计算天然带来O(N²)的平方复杂度:当输入分辨率为224×224时已有近2万个token,若提升到1248×1248则token数超过60万,注意力矩阵根本无法承受。现有高效Transformer的优化思路——稀疏注意力(如Longformer的滑动窗口)、低秩近似(如Linformer)、核化线性注意力(如Performer)——都还在显式构造或近似那个N×N的相似度矩阵A的范式里打转,从未跳出'相似度加权聚合'这个根本假设。DeiT在1248分辨率下吞吐量仅42 img/s,而Vim更只有51 img/s,远不能满足高分辨率视觉任务的需求。

本文的目标是本文的核心目标不是再造一个SOTA视觉架构,而是回答一个根本性的问题:能否在完全抛弃显式注意力权重计算的前提下,仅靠动态参数预测就实现Transformer级别的全局序列建模能力,同时保持严格的线性时间复杂度。具体而言,作者设定了三个递进目标:(1) 在概念层面证明attention可以等价为动态参数化MLP,并由此解释其平方复杂度的来源;(2) 在机制层面设计多种动态权重预测策略(特别是Bilateral Activation $\Delta W(X) = W_1 \sigma(W_2 X^T) \sigma(X W_3) W_4$ 和Spatially Adaptive Prediction),证明它们能让CNN获得全局建模能力;(3) 在系统层面把这些策略组装成WeightFormer架构,在保持线性复杂度的前提下于ImageNet-1K、COCO、ADE20K、ImageNet图像生成等多个任务上验证可行性。

与已有工作不同的是,本文的最大特色是把注意力机制本身进行数学重构:把Q, K^T, V三个矩阵重新诠释为一个两层MLP的权重(K^T作为第一层、V作为第二层权重、Softmax作为激活),并且这些权重都是输入条件动态生成的。这一'attention as dynamic MLP'视角跳出了所有现有高效Transformer'近似A'的框架——既然全局建模本质上只是动态参数在起作用,那直接生成参数就行了,何必再算N×N矩阵?这一观察既解释了注意力平方复杂度的来源(动态MLP的有效宽度随token数N增长),也指明了绕过它的路径(用空间压缩把动态参数生成与序列长度解耦)。

核心方法

方法的核心直觉很优雅:作者认为注意力并不神秘,它本质上就是一个'按输入动态生成的MLP'。具体来说,把attention公式Attention(Q,K,V)=Softmax(QK^T/√d)V中的K^T看作第一层线性权重、V看作第二层线性权重、Softmax看作非线性激活,再注意到K=XW_K和V=XW_V都是从输入X动态生成的——这不就是一个权重随输入变化的MLP吗?基于这个视角,全局建模不需要显式算token两两相似度,而是把全局信息压缩进动态参数里,再让输入'前向传播'过这个动态网络就自然融合了长程依赖。WeightFormer把这个思想实例化到CNN中:对线性层权重用'双侧激活(Bilateral Activation)'策略生成,对深度可分离卷积权重用'空间自适应预测(Spatially Adaptive Prediction)'策略生成,并通过稀疏放置(每隔三个block插入一个动态block)平衡效率与性能。

和已有方法的本质区别在于视角的根本转变。稀疏/低秩/核化注意力都还在'近似那个N×N的相似度矩阵A'的范式里,本质是'用更便宜的方式算注意力';本文则彻底抛弃相似度矩阵,把全局建模重新理解为'动态生成权重然后前向传播'。技术上,linear层的Bilateral策略∆W(X)=W1·σ(W2·X^T)·σ(X·W3)·W4把权重预测分解为对X和X^T两个分支的非线性变换,比单一X^TX相关矩阵更灵活;DWC层的空间自适应策略则用Adaptive Average Pooling把任意分辨率的特征压缩到K×K固定大小来预测核权重,从而让动态参数生成与输入分辨率彻底解耦,保住了严格线性复杂度。

方法步骤详情

方法分三步。第一步attention的数学重构:从 $o_i = \text{Softmax}(q_i K^T/\sqrt{d}) \cdot V$ 看,$K^T$ 是第一层权重、Softmax是激活、$V$ 是第二层权重,都由 $X$ 动态生成——即 $W=G(X)$、$O=F_W(X)$。第二步动态参数预测策略:linear层探索GAP、Linear($X^T X$)、Nonlinear(加SiLU)、Deep(低秩)和Bilateral(双侧分支 $\sigma(W_2 X^T)$ 与 $\sigma(X W_3)$ 各自非线性后相乘);DWC层探索GAP、Spatially Adaptive(AAP池化到 $K \times K$)、Amp-Dir(Sigmoid幅度调制)、Conv(两层 $3 \times 3$)。所有策略都用残差 $W(X) = W_0 + \Delta W(X)$。第三步组装WeightFormer:选Bilateral+Spatially Adaptive,稀疏放置(每隔3个block一个),300 epoch AdamW从头训练得T/S/B规格。

技术新颖性

技术新颖性主要体现在三个层面。概念层面,'attention as dynamic MLP'的视角本身是一个原创性的数学重诠释,它用一个统一的框架解释了为什么attention能全局建模(参数本身就是全局信息的压缩表示)以及为什么它有平方复杂度(动态MLP有效宽度随N增长)。机制层面,Bilateral Activation策略用∆W(X)=W1·σ(W2·X^T)·σ(X·W3)·W4的双侧分解,比直接用X^T·X更轻量且更灵活,是本文在动态参数预测上的具体技术贡献。架构层面,WeightFormer用线性复杂度的CNN-like结构实现了ViT级别的全局建模,在1248×1248分辨率下比DeiT快7.7倍、显存省91%,这是过去线性注意力方法难以达到的吞吐量优势。

(a) Explicit weighted aggregation vs. (b) Attention as dynamic MLP
Figure 2: (a) Explicit weighted aggregation vs. (b) Attention as dynamic MLP
Illustration of WeightFormer architecture with PyTorch-style code
Figure 4: Illustration of WeightFormer architecture with PyTorch-style code
Dynamic weight strength across depth
Figure 6: Dynamic weight strength across depth

实验结果

ImageNet-1K分类上WeightFormer全面占优:WeightFormer-T以7M参数达76.3% top-1,比DeiT-T(72.2%)高4.1个百分点;WeightFormer-S达81.3%超过DeiT-S(79.8%)和ConvNeXt-S(79.7%);WeightFormer-B(448分辨率)达83.4%超过DeiT-B(81.8%)。吞吐量方面,在1024分辨率下达207 img/s,是DeiT-T(42 img/s)的近5倍。ERF分析(Figure 3)证明所有动态变体都形成覆盖整个输入的全局响应。COCO检测上WeightFormer-T达45.0 AP_b/38.3 AP_m,backbone FLOPs从106G降至77G;ADE20K分割上WeightFormer-S达45.6 mIoU(DeiT-S仅44.0);图像生成上WeightFormer-B/2的FID达38.21,优于DiT-B/2的43.47。消融显示动态block数 $N=6$(每隔三个block一个)最优76.3%,$N=17$ 时Loss发散精度仅70.2%。

Summary of weight prediction strategies
Table 1: Summary of weight prediction strategies
Comparison of different dynamic weight prediction strategies for linear and depthwise convolution layers on ImageNet
Table 2: Comparison of different dynamic weight prediction strategies for linear and depthwise convolution layers on ImageNet
Comparison with Transformer, SSM, and ConvNet on ImageNet
Table 3: Comparison with Transformer, SSM, and ConvNet on ImageNet
Results of object detection and instance segmentation on COCO
Table 4: Results of object detection and instance segmentation on COCO
Results of semantic segmentation on ADE20K
Table 5: Results of semantic segmentation on ADE20K
Ablation on the frequency of dynamic blocks
Table 6: Ablation on the frequency of dynamic blocks
Results of class-conditional image generation on ImageNet
Table 7: Results of class-conditional image generation on ImageNet
Comparison of ERF between DeiT, static and dynamic weight prediction strategies
Figure 3: Comparison of ERF between DeiT, static and dynamic weight prediction strategies
Comparisons between DeiT and WeightFormer in Throughput and per-image GPU memory usage
Figure 5: Comparisons between DeiT and WeightFormer in Throughput and per-image GPU memory usage
查看结构化数据
任务指标本文基线提升
ImageNet-1K图像分类(Tiny) Top-1准确率 WeightFormer-T: 76.3% (7M参数, 1.1G FLOPs) DeiT-T: 72.2% (6M参数, 1.2G FLOPs) +4.1个百分点,且吞吐量在224分辨率达3515 vs 3661 img/s(相当),在1024分辨率达207 vs 42 img/s(约5倍)
ImageNet-1K图像分类(Small) Top-1准确率 WeightFormer-S: 81.3% (27M参数, 4.4G FLOPs) DeiT-S: 79.8%, ConvNeXt-S(iso.): 79.7% +1.5/+1.6个百分点
COCO目标检测(ViTDet+Cascade Mask R-CNN) AP_box / AP_mask WeightFormer-T: 45.0 / 38.3 (566G/77G FLOPs) DeiT-T: 44.4 / 38.1 (594G/106G FLOPs) +0.6 / +0.2 AP,且backbone FLOPs减少27%(106G→77G)
ADE20K语义分割(UperNet) mIoU WeightFormer-S: 45.6 (47M参数, 148G/27G FLOPs) DeiT-S: 44.0 (43M参数, 157G/35G FLOPs) +1.6 mIoU,且backbone FLOPs减少23%(35G→27G)
ImageNet条件图像生成(DiT架构) FID (越低越好) WeightFormer-B/2: 38.21 (149M参数, 20.0G FLOPs) DiT-B/2: 43.47, DiG-B/2: 39.50 FID降低5.26/1.29
高分辨率吞吐量(1248×1248) Throughput (img/s) WeightFormer: 1248分辨率约7.7×加速 (估计约320 img/s) DeiT: 1024分辨率42 img/s 1248分辨率下7.7×吞吐量提升+91%显存节省

局限与改进

作者明确承认的局限:评估范围仅限视觉任务,未验证该范式在NLP或多模态等其他领域的泛化性;动态参数化的表达能力与归纳偏置尚未有理论理解;输入条件生成参数会带来梯度流和训练稳定性的挑战,优化更困难——Table 6显示N=17时模型训练Loss发散、精度仅70.2%,说明密集放置动态block反而损害性能。我的额外观察:论文对比的baseline还停留在DeiT时代,未与Swin V2、FocalNet、InternImage等同期更强模型对比;动态block的稀疏放置策略(每隔3个block一个)是经验性选择,缺乏对放置位置的更细粒度探索;尽管Figure 6展示了DWC在深层动态权重相对强度更大(达30倍静态权重),但为什么Bilateral策略在第一个linear层而非第二个linear层更优,没有给出消融直觉;最后,Bilateral Activation中的双侧分支本质上是两条独立路径,是否能用更简洁的形式(比如单一矩阵分解)达到类似效果还需要验证。

独立分析的弱点

独立分析的几个弱点:(1) 稀疏放置策略虽避免密集动态化的训练不稳定($N=17$ 时Loss发散),但意味着'全局建模'覆盖不够均匀——相邻动态block间隔3个静态block,中间部分的全局信息融合可能存在盲区。(2) Bilateral Activation依赖双侧分支 $\sigma(W_2 X^T)$ 和 $\sigma(X W_3)$,需要AAP空间压缩控制复杂度,引入了对压缩率的超参数敏感性问题。(3) 论文只对比DeiT/PVT/Vim/ConvNeXt等较老baseline,没有与Swin V2、FocalNet、GC ViT等同期更强模型对比。(4) 动态参数生成使梯度流复杂,但作者未分析梯度爆炸/消失,也未提供LayerScale等稳定性技巧。改进方向:可考虑动态间隔放置、按层级深度调整、加梯度裁剪或LayerScale。

未来方向

作者提出的未来方向:扩展到更广泛的领域(特别是NLP)以验证动态参数化是否能替代注意力;改进权重生成机制,比如探索更高效的压缩方式或参数化形式;建立更深入的理论理解(如动态参数化是否具备某些通用逼近性质)。基于本文成果可延伸的方向:(1) 把动态预测思想用于更细粒度的动态架构,比如根据输入自适应选择block类型;(2) 把Bilateral Activation推广到3D视觉、视频时序建模,利用时序维度的低秩特性;(3) 探索动态参数化与稀疏MoE的结合,让不同token路由到不同的动态权重生成器;(4) 与状态空间模型(SSM,如Mamba)结合,SSM本身已是线性复杂度但缺乏内容自适应能力,动态参数化可补足这一短板;(5) 应用于大模型的高效微调场景,冻结静态权重只更新动态参数生成器有望大幅降低微调成本。

复现评估

复现评估整体较为友好:作者开源了代码 https://github.com/LeapLabTHU/WeightFormer,论文详细列出训练配置(AdamW + cosine LR + 20 epoch warmup + weight decay 0.05 + batch 2048 + 初始LR $4 \times 10^{-3}$ + 300 epoch)和数据增强(RandAugment、Mixup、CutMix、Random Erasing)以及硬件(8卡RTX 3090)。Table 2-7给出完整参数、FLOPs、吞吐量、精度。复现难度中等偏低:Bilateral和Spatially Adaptive两个模块需仔细实现(Figure 4右侧给出PyTorch风格伪代码);稀疏放置策略(每隔3个block一个)需严格遵循;ImageNet 300 epoch训练按8卡RTX 3090约需数天。预训练权重、COCO/ADE20K下游代码预期随仓库提供,使用标准mmdetection/mmdetection或MMSegmentation流程。