Focusing by Contrastive Attention: Enhancing VLMs' Visual Reasoning¶
会议: ECCV2026
论文: ECCV 原文
领域: 视觉语言推理
关键词: 对比注意力、视觉问答、注意力熵、像素掩码、免训练视觉增强
一句话总结¶
CARVE 用同一模型对“具体问题”和“通用图像描述”的注意力比值提取任务相关区域,再遮蔽背景、裁剪放大并重新作答,无需训练便将 LLaVA-1.5-7B 的 V* 准确率从 38.7% 提升至 66.5%,但需要三次生成流程。
研究背景与动机¶
视觉语言模型能够理解图像,不代表它在拥挤画面中一定看到了回答问题所需的细节。识别瓶身品牌、杯柄后面的形状或密集文档中的文字时,大量色彩和纹理会竞争注意力。ViCrop 已表明,模型即使回答错误,内部注意力仍可能保留目标位置线索;通过裁剪可以把这些线索变成更清晰的输入。不过,裁剪框内仍可能包含干扰物,而通用分割或检测工具也不一定知道当前问题究竟关注什么。
本文先研究“视觉复杂度是否对应注意力分散”。纹理复杂度定义为 Canny 边缘像素占比,颜色复杂度定义为 HSV 色相直方图的归一化熵,使用 180 个色相分箱;注意力分散程度则用视觉 token 上的 Shannon 熵衡量,在最后生成步骤对选定层求平均。Qwen2.5-VL-3B-Instruct 的 TextVQA 分析显示,复杂度越高,注意力通常越分散;注意力熵从约 5.1 升至 6.8 时,准确率从约 76% 降至 65%。这些是相关性证据,不足以独立证明完整因果链;背景遮蔽的初步干预实验进一步说明,减少干扰可能提高正确答案的概率。
问题在于,直接拿高注意力区域当目标,会同时保留“因为问题而重要”和“因为画面显眼而重要”的位置。作者因此让同一个模型再做一次不带具体任务的图像描述,把这次注意力作为参考背景。核心 idea:通过问题注意力相对于通用描述注意力的比值,突出因任务语义而额外获得关注的区域,再在输入像素上去噪,而不是训练新模块或直接修改模型权重。
方法详解¶
整体框架¶
CARVE 的输入是图像、问题以及能导出内部注意力的 VLM,输出仍是原问题的答案。模型先分别针对具体问题和通用描述生成文本,取得两组视觉注意力;随后依次进行语义比值对比、跨层时序融合、像素筛选与重观察,最后将处理后的图像和原问题送回同一模型。
这三次生成并不构成教师学生训练:前两次提供定位信号,第三次才给出最终答案。模型参数始终不更新,也没有额外的分割模型。即使第一次回答错误,它所关注的位置仍可能足以指导后续重观察,因此方法并不要求第一轮推理已经正确。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
INPUT["图像与问题"] --> QUESTION["问题生成<br/>提取视觉注意力"]
INPUT --> GENERAL["通用描述生成<br/>提取视觉注意力"]
QUESTION --> CONTRAST["语义比值对比"]
GENERAL --> CONTRAST
CONTRAST --> FUSION["跨层时序融合"]
FUSION --> REFINE["像素筛选与重观察"]
REFINE --> ANSWER["同一模型再次生成<br/>输出最终答案"]
关键设计¶
1. 语义比值对比:剥离图像本身的显著性干扰
作者假设,某位置的注意力可以近似分解成“图像固有视觉因素”与“问题相关语义因素”的逐元素乘积。这里的视觉噪声不是传感器噪点,而是会吸引模型、却未必有助于当前任务的图像因素。通用提示使用 Write a general description of the image.,意在让模型全局扫描,而不针对某个物体提问;在该假设下,其任务语义因素近似均匀,于是通用注意力可以作为图像固有因素的估计。这个均匀性是假设而非恒等式,不能理解成通用描述已经得到了真实背景分割。
对相同层和生成步骤的两组注意力,核心变换为:
其中分子是问题条件下第 \(i\) 个视觉 token 的注意力,分母是通用描述条件下的对应注意力,\(\lambda\) 是正则化参数。两路都很关注的位置会被相对压低,只有具体问题额外强调的位置才容易留下来。与直接相减相比,比值是在校正位置之间不同的放大尺度;只有当图像固有因素显著大于 \(\lambda\) 时,作者的推导才近似恢复语义因素,否则正则项也会改变信号。原文报告通用注意力和问题注意力到均匀分布的 KL 散度分别为 0.147、0.812,支持参考分布更分散,但并未证明所有图像都满足同一乘法分解。
2. 跨层时序融合:用较成熟的定位信息构造空间得分
单个层、单个生成步骤的注意力可能不稳定,因此 CARVE 将对比后的视觉 token 注意力映射回图像空间,再在选定层和生成步骤之间汇总。层间直接求和;采用完整生成轨迹时,时间权重随生成步骤线性增大,即 \(w_t=t-t_{\mathrm{start}}+1\)。其理由是,越晚的 token 拥有越长的前缀上下文,更可能已经完成目标定位。这里累加的是对比后的空间图,不是把两次生成答案的概率做对比解码。
论文同时考察早期步骤、最后步骤和全轨迹加权三种配置。主表采用层区间 \([20,25]\),最后步骤通常略优于全轨迹融合,说明“使用所有时间步”并非方法不可缺少的条件。跨层融合与时序选择也不能混为一谈:只用最后一个步骤,仍然可以融合多个深层。其背后的观察是,浅层主要全局扫描,深层更聚焦;将大量浅层图混入,不一定比少量深层图更好。
3. 像素筛选与重观察:从注意力热图得到更干净的视觉输入
融合后的空间得分首先按 top-\(p\) 筛选,保留得分最高的 \(p\) 比例像素,再做连通区域分析;各区域按内部累计注意力得分排序,最多保留 \(K\) 个区域。区域排名不是只比较单个峰值,也不是简单留下最大的框。最后对原图执行掩码、裁剪和缩放,再交给原模型回答。掩码负责删除选中范围内不需要的像素,裁剪和放大负责增加保留下来的细节在输入中的有效尺度,两者共同区别于仅截取一个矩形窗口。
保留比例太大时背景仍在,太小时目标或其上下文可能被切掉;区域数太多会重新引入干扰,太少则可能丢失回答问题所需的多个对象。作者在 1,000 个 TextVQA 样本上扫描这些参数,发现 \(p\in[0.2,0.6]\)、\(K\in\{2,3\}\) 的区域较有利。算法把 \(p\) 定义为保留比例,而图 8 的阈值标注与文字解释存在口径歧义,因此这里按算法解释,不把图中所有阈值数字都当作同一分位数。
一个完整示例¶
原文图 6 问的是杯柄中间能看到什么形状。通用描述生成关注杯子本身,问题条件的第一轮却回答成圆形,但其注意力仍覆盖杯柄附近。CARVE 利用两路注意力的差异,把“杯子整体很显眼”与“杯柄内部和问题有关”区分开来。
接着,跨层时序融合把相关响应汇总成空间得分,像素筛选去掉不相关背景并将有效区域裁剪放大。第三次生成看到的是更清晰的目标,回答变为星形。这个例子说明方法在修正视觉证据,而非直接把错误答案文本改成正确答案;形状变化来自论文示例,不意味着所有空间关系任务都适合丢弃背景。
损失函数 / 训练策略¶
本文不训练模型。第 4.1 节的目标函数只是用于推导注意力比值的解析优化问题:一项要求“估计语义信号乘视觉因素”重建问题注意力,另一项用视觉因素加权的二次正则抑制过大的估计值。求一阶最优条件得到上面的闭式比值,并非在数据集上反向传播一个新损失。
实验统一使用贪心解码和 \(\lambda=0.05\)。Qwen2.5-VL 系列输入分辨率为 \(448\times448\),LLaVA-1.5 系列为 \(336\times336\);因此结论针对该受限分辨率协议,不应直接当作原生高分辨率部署下的增益。通用描述提示从五个候选中选出,但缓存正文没有完整列出候选对照表。原文也未明确披露所有主实验统一采用的 \(p\)、\(K\),不能把扫描中的最优组合默认为每张表的配置。
实验关键数据¶
主实验¶
论文覆盖四个模型、七个基准。下表选取原表 1 的最后步骤配置和原表 3 的跨数据集结果;分数均以百分数表示,增益为相对各自 Vanilla 的绝对百分点,不是原表上标中的相对增幅。TextVQA 只输入图像与问题,没有外部 OCR。缓存正文未明确列出这些主表的具体数据划分和全部样本数。
| 来源与模型 | 数据集 | 指标 | Vanilla | CARVE | 增益(百分点) |
|---|---|---|---|---|---|
| 表 1,Qwen2.5-VL-3B | A-OKVQA | 准确率 | 73.0 | 79.2 | +6.2 |
| 表 1,Qwen2.5-VL-7B | V* | 准确率 | 50.8 | 59.7 | +8.9 |
| 表 1,Qwen2.5-VL-7B | TextVQA | 准确率 | 75.0 | 81.9 | +6.9 |
| 表 1,LLaVA-1.5-7B | V* | 准确率 | 38.7 | 66.5 | +27.8 |
| 表 1,LLaVA-1.5-7B | TextVQA | 准确率 | 47.8 | 58.2 | +10.4 |
| 表 3,Qwen2.5-VL-3B | DocVQA | 精确匹配 EM | 49.70 | 61.70 | +12.00 |
| 表 3,Qwen2.5-VL-3B | ChartQA | 精确匹配 EM | 67.64 | 70.80 | +3.16 |
| 表 3,Qwen2.5-VL-3B | ScienceQA | 选择题准确率 | 75.11 | 75.56 | +0.45 |
EM 要求答案精确匹配;ScienceQA 指选择题答对比例。局部细节需求强的任务提升更大,不代表抽象推理能力获得同等提升。CARVE 也不是所有跨方法指标都领先:原表 3 中,Qwen2.5-VL-7B 的 ScienceQA 为 82.50,低于 SD-RPN 的 83.84。
消融实验¶
原表 4 均使用 Qwen2.5-VL-7B。ChartQA 的基线 79.12 与表 3 的 Relaxed Accuracy 一致,本表按该口径标注,不与主结果中的 EM 混比;Relaxed Accuracy 允许基准规定的数值容差。
| 配置 | TextVQA 准确率 | ChartQA Relaxed Accuracy | ScienceQA 选择题准确率 |
|---|---|---|---|
| Vanilla | 75.0 | 79.12 | 81.21 |
| 直接用问题注意力生成掩码 | 78.6 | 79.92 | 82.30 |
| 直接修改内部注意力 | 77.1 | 79.56 | 82.10 |
| CARVE 完整方法 | 82.0 | 79.96 | 82.50 |
在该表内,对比归一化相对于直接掩码多带来 3.4 个 TextVQA 百分点,完整方法比修改内部注意力高 4.9 个百分点。原表 1 的对应成绩是 81.9,原表 4 是 82.0,图 7 的 1,000 样本子集最佳值是 82.1;子集扫描与主表不可直接等同,前两张表的 0.1 差异原文未充分解释,这里原样保留。
关键发现¶
- 时间选择确实有影响:Qwen2.5-VL-7B 的 TextVQA 早期步骤、全轨迹、最后步骤分别为 80.7、81.7、81.9,最后步骤定位更有效,但优势较小。
- 深层信息比浅层更有用:固定全轨迹融合时,同模型 TextVQA 用层区间 \([10,15]\) 为 75.0,用 \([20,25]\) 为 81.7,来源为原表 2。
- 成本不可忽略:原表 5 中 LLaVA-1.5-7B 的 TextVQA 端到端延迟从 0.17 秒升到 1.34 秒;原表 6 在 100 个 ChartQA 样本上测得 Qwen2.5-VL-7B 的 GPU 时间从 415 ms 升到 1,286 ms,峰值显存从 15.9 GB 升到 16.6 GB。两种时间口径和样本集不同,不能合并比较,缓存正文也未注明 GPU 型号。
亮点与洞察¶
- 参考提示充当同图像的对照条件。它让注意力筛选关注“问题带来的额外偏好”,而不是把绝对显著性误当成任务相关性。
- 第一次答错不等于定位信息无用。把注意力用于生成新的像素输入,给同一模型一次更有针对性的视觉观察机会。
- 改进集中在感知瓶颈。V* 和文档任务的结果更支持“让已有能力看到细节”,而不是“赋予模型新的知识推理能力”。
局限与展望¶
- 作者明确指出,深度顺序和物体关系等任务可能依赖全局上下文,掩码会删除必要证据;当 \(p\) 接近 1.0 时可趋于原始输入,但论文没有给出自动判断何时回退的完整策略。
- 作者承认三次生成带来额外开销,注意力存储也是显存增量来源;提前停止与缓存只是提出的优化方向,不能算作已验证的加速结果。
- 本笔记判断:乘法分解与通用语义近似均匀是较强假设。通用描述可能受主体偏好影响,难保证在所有图像上都能提供可靠的去噪参照。
- 本笔记判断:主实验划分、硬件、统一掩码参数和部分分数差异披露不足,限制精确复现;下一步应在原生高分辨率、全局关系任务和统一计算预算下验证。
相关工作与启发¶
- 对比 ViCrop:两者都利用模型已有注意力帮助定位;CARVE 增加通用提示作为参照,并在裁剪之外做像素级遮蔽。额外处理也意味着不能只按准确率判断部署价值。
- 对比 SD-RPN:后者训练区域预测器,CARVE 不增加训练过程,而把成本转移到测试时多次生成与注意力处理。
- 对比对比学习与对比解码:CARVE 不优化嵌入空间,也不在最终 token 概率上做差;对比对象是两种提示条件下的空间注意力,作用点是下一轮的图像输入。
评分¶
- 新颖性: 4/5。通用提示参照与比值归一化形成明确机制,但建立在已有注意力裁剪路线之上。
- 实验充分度: 4/5。覆盖七个基准、四个模型和组件成本分析,复现细节与全局关系测试仍不足。
- 写作质量: 3/5。现象到方法的脉络清楚,部分阈值、指标和表间数字口径需要读者辨别。
- 价值: 4/5。适合可读取注意力且能接受额外推理成本的细粒度视觉任务,并非通用推理增强器。