Fourier Compressor: Frequency-Domain Visual Token Compression for Vision-Language Models¶
会议: ECCV2026
论文: ECCV 原文
领域: VLM 效率
关键词: 视觉 Token 压缩、离散余弦变换、低频截断、适配训练、推理效率
一句话总结¶
Fourier Compressor 将视觉特征网格变换到频域,截取低频后在更小网格上重建;配合适配训练,LLaVA-v1.5-7B 从 576 个视觉 token 压到 36 个时,八项基准平均分由 64.6 降至 62.1,FLOPs 从 8.54 T 降至 1.38 T。
研究背景与动机¶
视觉语言模型(VLM)的图像输入通常比文本指令长得多,视觉 token 因而成为大语言模型(LLM)预填充和 KV 缓存的重要负担。 LLaVA-v1.5 对一张 336×336 图像产生 576 个视觉 token;高分辨率 Qwen-VL 输入和多帧视频还会进一步拉长序列。 这些 token 并非完全独立的信息单元,相邻位置的高层特征常包含重复的场景结构。 已有方法因此尝试直接剪掉不重要的位置,或按相似度合并 token,但前者可能丢掉证据,后者会改变特征分布。 可学习查询能够重新聚合信息,却又给压缩器增加参数和计算,因此“少传一些 token”并不自动意味着整个系统更经济。
本文换了一个观察坐标系:不先决定保留哪几个图像位置,而先考察整张视觉特征图由哪些空间频率组成。 如果语义主要分布在低频,直接删掉高频分量就能让每个保留的分量继续汇集多个原始位置的信息。 但自然图像容易被低频近似,并不等于高层视觉特征也一定如此,因此作者先做特征频谱、扰动和语义变形分析。 其证据支持低频更偏向稳定的全局结构,高频对局部变化更敏感,而不是证明高频完全没有任务价值。 这一区别尤其重要:识字和细粒度辨别可能依赖那些幅值不大、却不能随意丢弃的细节。
论文最终选择固定的低频截断,而非再训练一个频率选择网络,从而保持压缩操作本身简单、可跨架构接入。 同时,它承认截断会改变视觉表示,需要训练现有模型来适应,因此“无参数”描述的是压缩器,而不是整个使用流程免训练。 核心 idea:把空间位置上的 token 压缩改成频率分量上的信息筛选,用二维 DCT 保留全局低频结构,再逆变换成更短的空间 token 序列。
方法详解¶
整体框架¶
输入是视觉编码器生成、仍可对应到二维 patch 网格的特征序列,而不是原始 RGB 图像的 JPEG 编码。 压缩器先恢复网格,逐通道做二维离散余弦变换(DCT),保留左上角低频矩形,再做较小尺寸的逆 DCT。 输出仍然是实值空间特征,通道维度不变,只减少网格位置数量,因此可以继续接入原有视觉语言接口。 LLaVA 的接入位置在视觉编码器之后、projector 之前;Qwen-VL 的具体实现则放在原有 MLP merger 之后。 后者是论文第 5.1 节明确说明的架构适配,不能把所有模型都画成在 merger 之前压缩。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Input["图像或视频帧"] --> Encoder["视觉编码器<br/>Qwen 保留原 merger"]
Encoder --> Transform["空间频率分解"]
Transform --> Crop["低频矩形截断"]
Crop --> Reconstruct["小网格空间重建"]
Reconstruct --> Output["原有后续接口 + 文本<br/>LLM 生成回答"]
图中是训练和推理共享的前向数据流,没有额外教师分支、查询模块或基于问题的 token 打分器。 训练时,压缩特征进入现有模型,由图文对齐和指令学习过程适配;推理时,使用已经适配好的权重执行同样的确定性变换。 视频扩展也建立在已有视觉处理流程之上,本文压缩核心仍是二维空间变换,不是沿时间轴做三维频谱截断。 因此,图中的“视频帧”表示输入来源的扩展,不能据此推断作者设计了独立的时间频率模块。
关键设计¶
1. 空间频率分解:保留二维邻接关系,把位置表示换成频率表示
视觉编码器输出形状为 \(B\times(N_hN_w)\times h_v\),其中 \(B\) 是批量大小,\(N_h,N_w\) 是网格边长,\(h_v\) 是特征宽度。 算法 1 先转置并 reshape 成 \(B\times h_v\times N_h\times N_w\),让每个隐藏通道对应一张二维特征图。 DCT 只作用于两个空间轴,不混合隐藏通道,也不对展平后的长序列随意做一维截断。 具体实现先沿一个空间轴变换,再转置两个空间轴做第二次变换,最后转回原轴顺序。 这样保留了图像网格的横向和纵向结构,避免把展平顺序误当成唯一的空间邻接关系。
频域中的低频表示缓慢变化的空间模式,高频表示更快的局部变化;每个系数是整张特征图的加权组合。 所以保留一个低频系数,不等于只保留某个 patch,也不是按注意力找出一个最重要的位置。 作者在 Qwen2-VL 特征上观察到低频幅值集中,并用 GQA 中 10,000 张采样图像的平均频谱展示这一规律(图 1,第 5 页)。 该图将各隐藏维度绝对值的均值作对数显示;论文称其为能量分析,但这里不将它改写成严格的平方能量统计。 扰动实验比较最低 25% 与最高 25% 频率成分,发现低频对替换、噪声、模糊和遮挡更稳定(图 2)。 FreeMorph 语义变形分析进一步支持低频对持续全局结构更稳定,但这些是动机证据,不是完整的下游因果消融。
2. 低频矩形截断:用目标网格控制预算,而非挑选原始 token
得到频谱后,算法保留两个空间频率轴上从零开始的前 \(C_h,C_w\) 个分量,其余全部丢弃。 下式按第 4.2 节算法 1 和式 (8) 整理,其中 \(\widehat F\) 是完整频谱,\(F_c\) 是压缩频谱:
这是一个矩形低通保留区域,不是按幅值排序取 top-k,也不是圆形频率阈值或由文本问题决定的自适应掩码。 固定预算下,不同图像采用相同形式的截断规则,省去了额外的重要性网络和聚类过程。 关键收益是保留下来的系数仍综合了全图信息,而不是完全移除若干原始位置的贡献。 关键代价则是高频所携带的细节无法完整保留;“保留全局贡献”不等于“无损保存每个位置”。 论文表格中的压缩率指删除比例,即 \(1-C_hC_w/(N_hN_w)\),不要把它与剩余 token 比例混淆。 例如保留 36/576 个 token 对应剩余 6.25%、删除 93.75%,而不是仅压缩了 6.25%。
3. 小网格空间重建:把低频系数变回现有模型可接收的实值特征
频率系数并不直接作为 token 输入 LLM;算法在保留下来的 \(C_h\times C_w\) 频谱上沿两个轴执行逆 DCT。 重建结果只有 \(C_h\times C_w\) 个空间位置,随后展平成 \(B\times(C_hC_w)\times h_v\) 的短序列。 这一步与“把高频置零后恢复到原网格”不同:后者仍有原来的 token 数,无法实现本文所需的序列缩短。 每个新位置可理解为保留频带在较小空间网格上的重建值,而非某个旧 token 的原样复制。 该解释有助于理解为什么还需要训练:接口形状兼容,并不保证新的特征尺度与统计分布天然匹配原权重。
二维 DCT 和逆 DCT 都可用快速傅里叶变换(FFT)加速;名字中的 Fourier 指实现与频域思路,实际使用的是实值 DCT。 第 4.3 节通过重排偶数、奇数索引并调用 FFT 说明如何降低一维 DCT 的计算成本。 对于边长为 \(N\) 的输入网格和边长为 \(C\) 的输出网格,式 (15) 给出 \(\mathcal O(N^2\log N+C^2\log C)\) 的空间变换复杂度。 这一写法省略了批量与通道因子;表 1 的主导项写为 \(\mathcal O(Bh_vN^2\log N)\)。 这里的 \(N\) 是网格边长,token 数是 \(N^2\),不能将该复杂度误读成对 token 数近乎平方的开销。 便宜的变换加上进入 LLM 的序列缩短共同带来收益,但原始视觉编码器仍需先处理图像,不能视为全部视觉计算都被按比例削减。
一个完整示例¶
以论文的 LLaVA-v1.5-7B 图像设置为例,336×336 输入对应 24×24 网格,共 576 个视觉 token。 选择 36-token 预算时,压缩器先把 576 个位置恢复成 24×24 特征图,对每个通道执行二维 DCT。 接着只保留 6×6 的低频矩形,在这 6×6 个系数上做逆 DCT,得到 36 个新空间位置。 新特征经过 projector,与文本指令共同输入 LLM;这不是从原图挑出 36 个最显著 patch。 若问题询问整体场景,这种全局低频近似可能足够;若要辨认很小的文字,丢掉的细节可能影响答案。 后一句是机制层面的读者解释,不是论文提供的某个具体问答案例;TextVQA 的退化则提供了相关实验证据。 改用 144-token 预算时,同样流程使用 12×12 重建网格,让更多频率进入后续模型。 两种预算的差异来自保留频带宽度,而不是换了一个压缩网络。
损失函数 / 训练策略¶
论文明确说频率截断会改变特征分布,因此需要额外训练;没有给压缩器添加可学习参数,也没有提出专用频谱损失。 Fourier-LLaVA 沿用两阶段训练:先对齐压缩视觉特征与语言嵌入,再学习多模态指令遵循。 表 2 给出两阶段数据量分别为 558k 和 665k,训练轮数分别为 1 和 2,批量大小均为 256。 第一阶段学习率为 1e-3;第二阶段为 2e-4,另列多模态学习率 2e-5,LoRA 的 \(r/\alpha\) 为 128/256。 Fourier-Qwen 使用 LLaVA-NeXT 的 600k 单图对话样本继续微调 2 轮,批量大小为 128。 其学习率为 1e-6,多模态学习率为 1e-5,视觉学习率为 1e-6;两类设置均使用 AdamW、余弦调度和 0.03 warmup 比例。 缓存中表 2 的可训练模块勾选列排版错位,因此不据此补全每一阶段的冻结清单。 图像适配之后直接评估视频,是本文所谓视频零样本迁移;不能将其扩展为整个模型没有做过适配训练。
实验关键数据¶
主实验¶
表 3(第 11 页)比较 LLaVA-v1.5-7B 系列;下表摘录任务分数及原表八项平均分 Avg.,分数越高越好。 Avg. 还包含未在此展开的 VQAv2、GQA、POPE 和 LLaVAW,不是对下表四个任务重新取平均。 MQT-LLaVA 的对比数据主要引用原论文,其中 TextVQA 由本文作者补测;不同方法的训练方案并非严格受控消融。
| 模型 | 图像 token 数 | SciQA | TextVQA | MMBench | MMMU | 八项 Avg. |
|---|---|---|---|---|---|---|
| LLaVA-v1.5-7B | 576 | 66.8 | 58.2 | 64.3 | 35.3 | 64.6 |
| Fourier-LLaVA | 256 | 69.9 | 56.0 | 66.4 | 33.1 | 64.6 |
| Fourier-LLaVA | 144 | 69.0 | 54.7 | 65.6 | 35.3 | 64.6 |
| MQT-LLaVA | 64 | 67.0 | 51.7 | 63.5 | 34.4 | 61.9 |
| Fourier-LLaVA | 64 | 69.3 | 52.6 | 64.7 | 34.4 | 63.3 |
| MQT-LLaVA | 36 | 66.8 | 50.4 | 63.4 | 34.4 | 61.1 |
| Fourier-LLaVA | 36 | 69.0 | 51.0 | 64.3 | 32.8 | 62.1 |
36-token 版本平均分下降 2.5 分,按显示数值计算保留约 96.13%;这不是每项任务都保留 96% 的保证。 TextVQA 从 58.2 降到 51.0,下降 7.2 分,说明平均结果会掩盖对细节敏感任务的损失。 正文称 144-token 版本平均分超过原模型,但表 3 四舍五入后均为 64.6;本笔记按表中精度记为持平。
消融实验¶
原文没有独立报告去掉 DCT、改保留高频或替换截断形状的组件消融表;这里使用真实的预算与效率分析,不虚构消融项。 表 5(第 13 页)给出不同预算的 FLOPs,作者使用 RTX 4090 24G 与 calflops 测量;该表不是端到端延迟表。
| 模型 | 图像 token 数 | FLOPs(T) | 相对原模型减少 |
|---|---|---|---|
| LLaVA-v1.5-7B | 576 | 8.54 | 基准 |
| Fourier-LLaVA | 256 | 4.30 | 49.6% |
| Fourier-LLaVA | 144 | 2.81 | 67.1% |
| Fourier-LLaVA | 64 | 1.75 | 79.5% |
| Fourier-LLaVA | 36 | 1.38 | 83.8% |
延迟与 KV 缓存另在 A100 40G 上测量(图 5,第 13 页):576-token 原模型 TTFT 为 84.4 ms,36-token 版本为 58.1 ms。 论文标注 31.2% 的 TTFT 改善,对应首 token 延迟降低,不能表述成每秒生成 token 数提高 31.2%。 KV 缓存相应从 312.5 MB 降到 42.5 MB,减少 86.4%;这些测量条件也不能与 RTX 4090 的运行时间混用。
关键发现¶
- 同预算下,64-token Fourier-LLaVA 的 Avg. 为 63.3,MQT-LLaVA 为 61.9;说明无需新增压缩参数也能有竞争力,但不是排除了训练因素的因果证明。
- 表 4(第 12 页)中 Qwen2.5-VL-3B 的平均图像 token 数从 553 降到 236,Avg. 从 71.1 变为 72.6;Qwen2-VL-2B 则从 66.8 降到 65.7,跨架构结果并非一律提高。
- 表 6(第 14 页)的 MVBench 中,Fourier-LLaVA 从每视频 2304 个 token 减至 288 个,平均分从 45.6 降到 44.0,表明图像训练后的压缩表示能够迁移到视频。
亮点与洞察¶
- 最有价值的转换是从“哪些位置重要”转向“哪些空间变化尺度值得保留”。它让预算控制不必依赖注意力分数,也不需要先猜问题会关注哪个区域。
- 逆变换不是装饰步骤,而是把频域筛选结果接回原有模型接口的关键。输出保持空间特征形式和通道宽度,使不同视觉语言架构可以复用这一操作。
- 复杂度分析与真实 FLOPs、TTFT、KV 缓存一起报告,使“压缩器本身便宜”和“下游序列更短”两种收益都得到讨论。需要保留不同硬件和不同指标的边界。
局限与展望¶
- 作者明确承认表示分布变化要求训练,实际部署需准备适配数据与优化资源;无参数不是免成本,也不是任意现成 VLM 上即插即用的性能保证。
- 低频优先的依据主要是统计与扰动分析,缺少等预算下低频、高频、随机频带和空间池化的完整受控比较。读者不能据此认定收益全部来自特定频谱选择。
- TextVQA 在强压缩下损失明显,说明小文字等细粒度证据可能不适合统一预算。读者建议探索保留少量任务相关高频,但这不是本文已验证的模块。
- 当前二维压缩没有显式利用视频时间冗余,且所报视频平均分仍下降。时间频率扩展需要独立实验,不能由图像上的有效性直接推导。
- 缓存中的部分公式字符和表 2 勾选对齐损坏;本笔记只整理可由算法 1 和清晰正文核实的变换,不猜补 FFT 系数公式或冻结细节。
相关工作与启发¶
- 对比 ATP-LLaVA(原文参考文献 [33]):它按重要性剪除视觉 token;本文在频率坐标中截断,再生成新的空间位置。两者减少的是不同表示单位。
- 对比 LLaVA-PruMerge([26])与 VisionZip([32]):这些方法利用选择或相似性合并,本文使用固定线性变换处理全图结构。其优势是规则简单,代价是不能主动保护问题相关细节。
- 对比 MQT-LLaVA([9])与 QueCC([15]):可学习查询或交叉注意力能够适应数据,但增加压缩模块参数;Fourier Compressor 将适应工作留给现有模型的训练。
- 联系 Fourier Transformer([8])与 FreqKV([12]):三者都利用频域冗余,但对象分别是序列隐藏状态、KV 缓存和本文的二维视觉特征,不能将各自实验结论互换。
- 联系 DocPedia([5]):它直接从 RGB 图像提取 DCT 系数做视觉编码,本文则在视觉编码之后压缩 token。迁移此思路时,首先要明确频域操作发生在哪一层表示上。
评分¶
- 新颖性: 4/5。频域截断已有先例,但将二维视觉 token 结构与无参数压缩结合得清晰。
- 实验充分度: 3/5。覆盖多架构、图像与视频以及效率指标,但缺少隔离频带选择和适配训练贡献的受控消融。
- 写作质量: 4/5。算法 1 能说明实际数据流,但部分正文结论比表格舍入精度更强,且需区分无参数与免训练。
- 价值: 4/5。适合已有训练管线、需要降低视觉上下文成本的部署场景;对细粒度任务应单独核验。