能不能从频率的角度去理解图像?——谈谈“分频段 + Attention“这条路线
TL;DR:这个想法不仅可行,而且已经是被反复验证过的方向。从 2021 年的 GFNet、FNet,到 2022–2023 年的 HiLo、Wave-ViT、SpectFormer,再到 2025–2026 年专门做给多模态大模型的 Fourier Compressor、CLSE 和 HAFI-VLM,"把图像拆到频域再用注意力"已经有了一条相当完整的证据链。但"能不能做"和"该不该全做"是两回事。这条路线有一个非常关键的互补性质:注意力是"动态但低通"的,频域滤波是"全通但静态"的。想清楚这一点,你就知道该把频率放在架构的哪个位置、以什么形式放进去。下面分六部分:先把问题的前提校准一下,再做理论分析,然后梳理五条技术路线,深读一篇 2026 年 8 月几乎是正面回答这个问题的论文(HAFI-VLM),接着讨论为什么这个方向没有成为主流,最后给一个可落地的最小方案。一、先校准前提:你说的"频段",其实是两种不同的东西在做任何设计之前,有一个非常容易混淆、但必须先分清的概念。第一种:输入侧 / 像素级频率。对原始图像(或浅层特征图)做 2D DCT / FFT / 小波,得到的低、中、高频段,反映的是图像信号本身的平滑与突变。JPEG、JPEG2000 的压缩原理就建立在这里面。HAFI-VLM 的 DCT 分支、小波 tokenizer、DocPedia 都属于这一类。第二种:表征侧 / token 网格频率。对 ViT 中间层的 token 序列,先按空间位置重排回二维网格,再沿空间轴做 FFT。这时分析的已经不是"图像里有没有高频细节",而是模型学到的表征在空间上有多平滑。Anti-Oversmoothing(ICLR 2022)那条著名的"self-attention 是低通滤波器"的定理、Fourier Compressor 的能量分析、CLSE 的跨层谱演化,都属于这一类。这两者经常被混为一谈,但它们的物理含义、能回答的问题、以及对应的改进手段都不一样。你在设计的时候要想清楚自己动的是哪一层。关于"细节=高频、背景=低频"这个前提,作为一阶近似是对的,但有三处不精确,直接照着做会踩坑:语义不是单频段属性。一块小字、一个远处的小物体,它同时占据很宽的频带——它的轮廓在高频,它的整体位置关系在中低频。所以"把高频拿过来就能读懂小字"是不成立的,小字的理解需要多个频段协同。高频里混着大量非语义内容。传感器噪声、JPEG 压缩伪影、摩尔纹、坏点全都在高频。无差别地增强高频,等于同时增强噪声。Yin et al. 在A Fourier Perspective on Model Robustness in Computer Vision(ICLR 2019)里给出过一个很扎心的实验:只用高通滤波后的图像(人眼几乎什么都看不见)训练,模型也能在 ImageNet 上刷到 50% 以上的准确率——也就是说高频里有大量"捷径特征",跟你要的"细节语义"根本不是一回事。"背景=低频"只在背景平滑时成立。一片带纹理的草地、树丛,高频能量非常高;而一面白墙、一片纯色天空,高频能量接近零。所以频率和"前景/背景"是两个正交的维度。那么频率分解到底有没有用?有一篇 2025 年 8 月的工作(Fourier Compressor,后文会详细讲)做了一个非常干净的实验:把Qwen2-VL 视觉编码器输出的视觉 token重排成二维网格再做 DCT,结果发现——即使是在特征空间,能量的低频集中现象依然存在,而且平均频谱的形状和原始图像的频谱高度相似:图 1:Qwen2-VL 视觉编码器输出的视觉表征做 DCT 后的频谱热图(对数尺度)。(f) 上下两块分别是一万张 GQA 图像的原始图像平均频谱与其视觉表征平均频谱——形状高度相似,说明频域分析在特征空间依然成立。(来源:arXiv 2508.06038, Fourier Compressor)他们接着做了扰动实验:对图像做替换像素、加高斯噪声、模糊、区域遮罩四类扰动,然后比较扰动前后表征的余弦相似度:图 2:不同频段对扰动的敏感性。低频(Low)在所有扰动类型下都最稳定,高频(High)则波动剧烈。(来源:arXiv 2508.06038)结论非常一致:低频编码的是全局、粗粒度、抗扰动的语义骨架;高频编码的是对噪声敏感的细粒度细节。这就从特征层面证实了你的直觉,同时也暴露了风险——高频确实是"细节",但它也是"噪声 + 捷径"。二、理论分析:这条路在数学上站得住吗?这一部分是整个问题的核心。三个命题,逐一分析。命题 1:分频本身是无损的,所以"提频段"不会丢信息DCT/FFT/小波都是正交变换,满足 Parseval 能量守恒:变换前后总能量不变。所以"先分频段再处理"这一步,信息论上是零损失的——你丢掉的只会是后面显式扔掉某些频段的部分。这一点很重要,它意味着这条路的价值不在于"多看到了什么",而在于给网络加了一个结构化的先验,让它知道该在哪里用力。命题 2:由卷积定理,“分频段 + attention” ≈ “多组带通卷积 + attention”这是很多人没意识到的一点。卷积定理告诉我们:频域逐点相乘等价于空域循环卷积。GFNet 的附录 A 里明确推导过这件事,并给出了一个关键结论:“our global filter layer is equivalent to a depth-wise circular convolution, where the filter has the same size as the feature map.”(我们的 global filter 层等价于一个滤波器尺寸与特征图相同的深度级循环卷积。)也就是说,你在频域做一个可学习的全局滤波,等价于在空域做一个核大小等于整张特征图的 depthwise 卷积,只是复杂度从O(DL2)O(DL^2)O(DL2)降到了O(DLlogL)O(DL\log L)O(DLlogL)(LLL是 token 数,DDD是通道数)。这带来一个尖锐的推论:"先分频段、再算注意力"并不会增加模型的表达能力上限——因为一个足够宽的可学习卷积层本来就能学出任意这样的滤波器组。它的真正价值在于:效率:O(LlogL)O(L\log L)O(LlogL)对比 attention 的O(L2)O(L^2)O(L2),在高分辨率下是数量级的差距;数据效率与可解释性:把"哪些频段重要"变成显式的、可读的门控参数,而不是埋在几千个注意力头里。命题 3:注意力有一个常被忽视的缺陷——它是低通的这是整条路线最有意思的理论支点。Wang et al. 在Anti-Oversmoothing in Deep Vision Transformers via the Fourier Domain Analysis(ICLR 2022)里证明了一个非常干净的定理:Theorem 1:令A=softmax(P)A = \text{softmax}(P)A=softmax(P),P∈Rn×nP \in \mathbb{R}^{n\times n}P∈Rn×n为任意注意力打分矩阵。则AAA必然是低通滤波器:对任意信号zzz,limt→∞∥HC[Atz]∥2/∥DC[Atz]∥2=0\lim_{t\to\infty} \lVert H_C[A^t z]\rVert_2 / \lVert DC[A^t z]\rVert_2 = 0limt→∞∥HC[Atz]∥