FALCON: Resolving Visual Redundancy and Fragmentation in High-resolution Multimodal Large Language Models via Visual Registers¶
会议: ICCV 2025
arXiv: 2501.16297
代码: 有
领域: Multimodal VLM / High-resolution Understanding
关键词: 视觉寄存器, Token压缩, 视觉冗余, 视觉碎片化, 高分辨率MLLM
一句话总结¶
提出 FALCON,通过在 ViT 中引入可学习的视觉寄存器(Visual Register),利用 ReCompact 机制在编码阶段直接消除视觉冗余(9 倍 token 压缩),并用 ReAtten 模块通过寄存器间交互解决裁切导致的视觉碎片化问题。
研究背景与动机¶
高分辨率 MLLM 普遍采用裁切策略(cropping-based):将高分辨率图像裁切为多个匹配编码器预训练分辨率的子图,独立编码后拼接。这带来两个核心问题:
-
视觉冗余:token 数量随分辨率急剧增长(如 16 个子图 × 576 token = 9216 token),大量来自背景区域的 token 是冗余的,严重增加 LLM 计算负担。现有压缩方法(池化/QFormer/Abstractor)要么效果有限要么需要海量预训练数据。
-
视觉碎片化:独立编码子图时破坏了语义连贯性。典型案例:"pineapple" 被切成 "pine"+"apple" 导致 OCR 错误;"鲁宾花瓶"被切分后无法识别。
方法详解¶
整体框架¶
FALCON 基于 SigLIP-L/16-384px(视觉编码器)+ Llama-3.1-8B-Instruct(LLM),核心创新集中在视觉编码阶段:
- 形状自适应裁切 → 获得 \(N_c\) 个子图 + 全局缩略图
- 每个子图的 image token \(I_k\) 与共享的可学习视觉寄存器 \(R = \{r_1, \ldots, r_M\}\) 拼接后输入 ViT
- ViT 每层先执行标准自注意力(ReCompact),再执行跨子图的寄存器交互(ReAtten)
- 输出仅保留每个子图的 \(M\) 个寄存器特征,经 MLP 投影后送入 LLM
设 \(M = 64\)(而原始 image token \(N = 576\)),压缩率为 \(576/64 = 9\times\)。
关键设计¶
-
ReCompact:基于寄存器的表示压缩
功能:引入 \(M \ll N\) 个可学习视觉寄存器,与 image token 一起输入 ViT,通过自注意力让寄存器自适应聚合 image token 中的关键信息,编码完成后仅保留寄存器输出。
核心思路:ViT 自注意力公式 \(\hat{X}_{k,l} = \text{Softmax}(\frac{X_{k,l} X_{k,l}^T}{\sqrt{D_{key}}}) X_{k,l}\),不添加任何注意力掩码,利用预训练 ViT 天然将全局信息汇聚到特定 token 的能力(已有研究观察到这一现象)。
设计动机:与 QFormer/Abstractor 等查询-交叉注意力方案相比,ReCompact 直接复用预训练 ViT 参数,所需适配数据极少(<3M 样本 vs QFormer 的 129M、Abstractor 的 400M)。
-
ReAtten:寄存器交互注意力
功能:在 ViT 每层的自注意力之后,收集所有子图的寄存器隐状态 \(\hat{X}_l^R \in \mathbb{R}^{M \cdot N_c \times D}\),通过 Cross-ViT-Attention 进行交互:\(\bar{X}_l^R = \hat{X}_l^R + \text{Cross-ViT-Atten}(\hat{X}_l^R)\),然后与各自的 image token 重新拼接送入 FFN。
核心思路:利用寄存器的紧凑性(\(M \cdot N_c \ll N \cdot N_c\))使全图信息交换在计算上可行。Cross-ViT-Atten 参数用同层 ViT 自注意力参数初始化,实现平滑启动。
设计动机:直接拼接所有子图的 image token 做全局注意力的二次复杂度不可承受;Shifted Window Attention 仅限局部交互信息不充分;互补图像金字塔 (CIP) 会引入额外冗余。
损失函数 / 训练策略¶
四阶段渐进训练:
- Stage 0(静态对齐,低分辨率):冻结 ViT 和 LLM,仅训练寄存器和 MLP 投影,使用 image caption 数据
- Stage 1(粗对齐,低分辨率):解冻所有参数,使用高质量长描述 + 全文 OCR 数据,让寄存器学习从粗到细的信息捕获
- Stage 2(精对齐,高分辨率):引入高分辨率输入,使用细粒度描述和 OCR 任务(区域描述、文本定位)
- Stage 3(指令微调,高分辨率):冻结 ViT,引入 ReAtten 模块,使用多任务指令数据微调
实验关键数据¶
主实验(表格)¶
MME-RealWorld Benchmark(高分辨率理解):
| 模型 | Token 数/子图 | 感知 Avg-C | 推理 Avg-C |
|---|---|---|---|
| MiniCPM-V 2.5 | 96×9 | 44.0 | 36.0 |
| Monkey | 256×4 | 36.3 | 28.8 |
| GPT-4o | - | 41.9 | 42.3 |
| Claude 3.5 Sonnet | - | 47.7 | 49.2 |
| LLaVA-OneVision | 729×9 | 55.8 | 44.2 |
| FALCON | 64×16 | 50.3 | 43.4 |
FALCON 仅用 64 token/子图(9× 压缩),在感知和推理上超越 GPT-4o、GPT-4o-mini 和 Gemini-1.5-pro,在推理上与 LLaVA-OneVision(用 729×9 token)相当。
消融实验(表格)¶
压缩方法对比(MME-RealWorld Avg-C 总分):
| 压缩方法 | Avg-C(感知+推理) |
|---|---|
| Pooling | 较低 |
| Pixel Shuffle | 中等 |
| Abstractor | 低于池化 |
| ReCompact | 最高 |
视觉连续性方法对比:
| 方法 | V*_Avg | MME-RW 感知 | MME-RW 推理 | POPE |
|---|---|---|---|---|
| Baseline(无连续性保持) | 51.3 | 38.2 | 35.6 | 85.7 |
| CIP | 50.3 | 38.4 | 37.2 | 86.3 |
| W-Atten | 60.2 | 41.0 | 38.1 | 86.4 |
| ReAtten | 61.3 | 42.1 | 39.0 | 87.3 |
ReAtten 在所有指标上最优,且有效减少幻觉(POPE 87.3)。
关键发现¶
- 寄存器数量消融:从 36→64→144,性能持续提升但边际收益递减;64 寄存器是效率-性能最优平衡点(144 寄存器训练时间 2.41× 但提升有限)
- 注意力可视化:每个寄存器聚焦图像的特定区域(人脸/文字等),几乎不关注背景,证实冗余消除的有效性
- 碎片化可视化:无 ReAtten 时子图间注意力模式高度碎片化;加入 ReAtten 后注意力模式连续,表明有效实现了全图信息交换
- 同数据下对比:使用与 LLaVA-v1.5 完全相同的数据训练时,FALCON 在 SQA (68.9 vs 66.8)、POPE (87.5 vs 85.9)、MMB (66.0 vs 64.3) 等多个基准上均优
亮点与洞察¶
- 核心创新优雅简洁:不需要额外压缩模块,直接在 ViT 内部通过寄存器机制同时解决冗余和碎片化两个问题
- 数据效率优势显著:与需要上亿样本预训练的 QFormer/Abstractor 相比,仅需 <3M 样本适配
- 四阶段渐进训练设计合理,确保寄存器从低分辨率到高分辨率平滑过渡
局限与展望¶
- 64 寄存器的固定数量可能不适应所有场景——简单图像分配过多、复杂图像分配不足
- 未探索动态寄存器数量分配(如根据图像复杂度调整)
- ReAtten 在每层 ViT 都执行,极端子图数量下仍有计算开销
- 未与最新的动态分辨率方法(如 NaViT)进行对比
相关工作与启发¶
- 利用了 ViT 中 register token 汇聚全局信息的已有发现 (Darcet et al., 2024),将其从单纯的"注意力图伪影修复"扩展为功能性的表示压缩工具
- 与 TextMonkey 的 Shifted Window Attention 和 MiniMonkey 的 CIP 形成对比,ReAtten 实现了真正的全局交互
- 启发方向:寄存器技术可推广到视频 MLLM 中的时间冗余消除
评分¶
⭐⭐⭐⭐ 方法简洁有效,9× 压缩率下超越 GPT-4o 级商用模型令人印象深刻,设计动机清晰且有充分消融支撑,是高分辨率 MLLM 的优秀工作。