跳转至

Vision Transformers are Circulant Attention Learners

会议: AAAI 2026
arXiv: 2512.21542
代码: 无
领域: LLM NLP
关键词: Vision Transformer, 循环注意力, BCCB, FFT, 高效注意力

一句话总结

发现 ViT 的自注意力内禁学习了 BCCB 模式,据此提出 Circulant Attention,通过 2D FFT 实现 \(O(N\log N)\) 复杂度,在 ImageNet 分类、COCO 检测、ADE20K 分割上一致提升。

研究背景与动机

  1. 领域现状:ViT的自注意力虽然表达能力强但 \(O(N^2)\) 复杂度在高分辨率下成本极高(N=H×W)。PVT通过下采样K/V、Swin用局部窗口、BiFormer用稀疏路由降低成本,但都以牺牲全局建模能力为代价。
  2. 现有痛点:现有高效注意力方法都是通过外部约束(局部性/稀疏性)施加在注意力上的,压制了自注意力的长程建模能力。这种"外部补丁"式的效率优化本质上是与自注意力设计目标矛盾的。
  3. 关键观察(核心贡献):通过可视化DeiT的注意力矩阵,发现它们频繁地近似BCCB(Block Circulant matrix with Circulant Blocks)结构——即2D循环矩阵。相邻query的注意力分布呈现平移不变性(类似2D全局卷积)。而BCCB矩阵的乘法可以通过2D FFT在 \(O(N\log N)\) 内完成。
  4. 核心矛盾:自注意力在 \(O(N^2)\) 代价下实际学到的是可以 \(O(N\log N)\) 计算的高效模式——这意味着标准自注意力中有巨大的计算浪费。
  5. 切入角度:既然ViT自然会学BCCB结构,不如显式强制注意力矩阵为BCCB,从内在高效模式出发而非外部约束。
  6. 核心idea一句话:将自注意力矩阵正交投影到BCCB子空间,用2D FFT实现 \(O(N\log N)\) 全局注意力,保持表达能力的同时大幅降低计算量。

方法详解

整体框架

将标准自注意力替换为基于BCCB的Circulant Attention,可即插即用到DeiT、PVT、Swin等架构。流程与标准自注意力高度相似,仅区别在于使用BCCB注意力矩阵和DFT运算替代密集矩阵乘法。

关键设计

  1. BCCB子空间正交投影
  2. 做什么:将原始注意力矩阵 \(A = QK^T/\sqrt{d}\) 投影到最近的BCCB矩阵
  3. 核心思路:BCCB矩阵子空间有正交基 \(\{B_0,...,B_{N-1}\}\)\(B_k\)是第k位为1的单位BCCB矩阵),投影为 \(\tilde{A} = \frac{1}{N}\sum_{k=0}^{N-1}\langle A, B_k\rangle B_k\)。BCCB矩阵由其首行完全决定,乘法等价于2D循环互相关(即2D circular padding的深度可分离卷积),可通过FFT实现:\(Bx = \mathcal{F}_{2D}^{-1}(\overline{\mathcal{F}_{2D}(b)} \odot \mathcal{F}_{2D}(x))\)
  4. 设计动机:投影到BCCB子空间是数学上获取"最近BCCB矩阵"的最优方式,保证了与原始注意力的最小差异

  5. Token重加权模块

  6. 做什么:补偿BCCB结构的固有限制
  7. 核心思路:\(T = \text{SiLU}(xW_T)\),对每个token的输出重加权
  8. 设计动机:BCCB矩阵有行/列和相等的约束(所有行和相同),这限制了不同query获得不同总注意力的能力。Token重加权打破此约束,是+1.2%提升的关键

  9. 高效计算流程

  10. 标准自注意力:\(O = \sigma(\tilde{A})V\),其中 \(\tilde{A}\) 为BCCB矩阵
  11. 用2D DFT实现 \(\tilde{A}V\) 的计算,复杂度 \(O(N\log N)\)
  12. 在1536²分辨率下:FLOPs减少8×,推理加速7×

实验关键数据

ImageNet分类

模型 分辨率 参数量 FLOPs Top-1 Acc
DeiT-T 224² 5.7M 1.2G 72.2%
CA-DeiT-T 224² 6.1M 1.2G 75.0% (+2.8)
DeiT-S 224² 22.1M 4.6G 79.8%
CA-DeiT-S 224² 23.8M 4.8G 81.0% (+1.2)
DeiT-B 224² 86.6M 17.6G 81.8%
CA-DeiT-B 224² 93.6M 18.9G 82.3% (+0.5)
PVT-T 224² 13.2M 1.9G 75.1%
CA-PVT-T 224² 12.2M 2.0G 78.1% (+3.0)

目标检测与语义分割

任务 模型 性能 说明
COCO检测 CA-PVT-S 44.2 AP 以少30%参数匹配PVT-L
ADE20K分割 CA-PVT-S 42.3% mIoU +2.5% vs 基线

消融实验(DeiT-S)

配置 Top-1 Acc 说明
+ Circulant only 79.7% 几乎无损(-0.1%),验证BCCB结构保真度
+ head dim=1 80.2% 单一head维度即可充分表达
+ token reweight 81.0% 关键提升,补偿BCCB行和约束

高分辨率效率对比

分辨率 标准注意力FLOPs Circulant FLOPs 加速比
224² 基线 ~同 ~1×
1536² 极高 低8× 7×推理加速

关键发现

  • BCCB投影几乎无损(仅-0.1%),证明ViT自注意力确实内在学习了BCCB结构
  • Token重加权模块贡献+1.3%,是补偿BCCB行和约束的关键——BCCB矩阵每行和相等,限制了不同query获得不同总注意力的能力
  • 在1536²分辨率下FLOPs减少8×、推理加速7×——高分辨率场景收益巨大
  • CA-PVT-S以少30%参数和40%FLOPs匹配PVT-L精度,参数效率显著
  • 小模型收益更大:DeiT-T获得+2.8%提升,DeiT-B仅+0.5%——小模型注意力更接近BCCB

亮点与洞察

  • ViT内在学习BCCB的观察揭示了自注意力的结构偏好,为设计更高效的注意力提供理论依据
  • \(O(N\log N)\) 全局注意力不牺牲长程建模能力,是少见的效率-表达力两全方案
  • BCCB投影等价于2D全局循环卷积——从另一个角度统一了注意力与卷积机制
  • head dim=1即可充分表达是一个有趣发现——暗示在视觉任务中注意力的"通道"维度可能被高估

局限性 / 可改进方向

  • 只替换早期阶段注意力,非全局替换
  • 需要 head dim=1 的特定调优,缺乏深入解释
  • Token 重加权的改进机制有限

相关工作与启发

  • vs Swin:Swin 用局部窗口降低复杂度但牺牲全局信息,Circulant 保留全局感受野
  • vs Linear Attention:线性注意力 \(O(N)\) 但损失表达力,Circulant \(O(N\log N)\) 几乎无损

评分

  • 新颖性: ⭐⭐⭐⭐⭐ BCCB 观察新颖,数学角度理解注意力
  • 实验充分度: ⭐⭐⭐⭐ 三个视觉任务,多架构验证
  • 写作质量: ⭐⭐⭐⭐ 可视化分析清晰,数学严谨
  • 价值: ⭐⭐⭐⭐⭐ 方向性贡献,新范式