真正的多模态上下文学习需要关注视觉上下文
True Multimodal In-Context Learning Needs Attention to the Visual Context
COLM 2025
Why
本研究探讨以下两个核心研究问题:
-
如何有效缓解模型对视觉模态的忽视,从而真正推进多模态在上下文学习(MICL)?
- 问题现状:当前的MLLM在学习新任务时,表现出一种“假性”智能。它们倾向于忽视示例中的视觉信息(图片),而过度依赖对文本模式的模仿,这导致的是文本模式模仿而非真正的多模态适应,使得多模态 ICL 仍停留在单模态层面。
-
什么样的评估和训练工具(数据集)才更适合提升和评估真正的MICL能力?
- 问题现状:上述“视觉忽视”问题之所以长期被掩盖,很大程度上是因为现有的评估标准存在漏洞。许多标准视觉语言数据集在用于MICL评估时,其任务本身并不严格要求模型必须理解示例中的视觉信息。模型可以通过“作弊”(如仅靠模仿文本风格)就获得不错的成绩。
What
为了解决上述两个核心问题,论文给出了两个对应的解决方案。
-
创新点1:提出DARA (Dynamic Attention ReAllocation - 动态注意力重分配)
- 定义:DARA是一种轻量级的微调策略,是专门为了解决“视觉忽视”问题而设计的“注意力放大器”。
- 功能:它的核心功能是动态地重新分配模型内部的注意力。通过引入极少数(约100多个)可学习的参数,DARA能够显著增强模型对上下文示例中视觉信息的关注度,从而引导模型在解决新任务时,主动地从示例图片中学习和推理。
-
创新点2:构建TrueMICL数据集
- 定义:TrueMICL是一个专门为MICL设计的基准测试数据集,检验模型是否具备真正多模态学习能力。
- 作用:这个数据集的设计遵循一个主要原则:正确的答案必须依赖于对示例中图片文字的综合理解。它包含了一系列需要模型从示例中归纳隐藏规则的任务,例如:
- 时钟数学:从示例中学习“将时钟指针指向的数字相乘”的规则。
- 时钟数学:从示例中学习“将时钟指针指向的数字相乘”的规则。
How
3.1 DARA的实现
3.1.1 DARA 的设计
要理解DARA,首先要回顾标准的自注意力(Self-Attention)机制,其计算公式为:
Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)VAttention(Q,K,V)=softmax(dkQKT)V
其中,注意力分数矩阵 SSS 由 S=QKTS = QK^TS=QKT 计算得出。DARA正是在这一步之后,修改注意力分数矩阵 SSS ,右乘一个可学习的注意力平衡因子矩阵 FFF,它是一个对角矩阵,由一个向量 fff 生成,即 F=diag(f)F = \text{diag}(f)F=diag(f)。向量 f∈Rlf \in \mathbb{R}^lf∈Rl 是对角线元素集合:
- 向量 fff 的每一个元素 fjf_jfj 都与输入序列的第 jjj 个token一一对应。
- 对于所有文本token和查询的视觉token,对应的 fjf_jfj 值恒为 1。
- 只对于上下文的视觉token,对应的 fjf_jfj 是一个可学习的参数(初始化为1)。
- 注意,DARA引入的可学习权重参数,其数量是与输入的图片数量相关的,而不是与视觉token的总数相关。一个图片对应一个权重,例如,一张图片可能对应着 14×14=19614 \times 14 = 19614×14=196 个视觉token,对应于这196个token的所有列,全部乘以同一个权重因子 w1w_1w1
通过这个设计,DARA的计算公式变为:
Attention′(Q,K,V)=softmax(SFdk)V\text{Attention}'(Q, K, V) = \text{softmax}\left(\frac{SF}{\sqrt{d_k}}\right)VAttention′(Q,K,V)=softmax(dkSF)V
由于 FFF 是一个对角矩阵,右乘 FFF 的效果等价于将分数矩阵 SSS 的每一列 SjS_jSj 乘以对应的权重因子 fjf_jfj。这样,通过学习将示例图片对应的 fjf_jfj 值调整到大于1,就实现了对这些视觉信息注意力的精准放大。
3.1.2 DARA 的训练
DARA的训练是一种参数高效的微调。
-
模型与数据准备:
- 加载一个预训练好的多模态大语言模型(MLLM),并冻结其原始参数。
- 在模型的第一层Transformer注意力模块所有注意力头中,插入DARA的可学习平衡因子参数(S′=SFS' = SFS′=SF),并全部初始化为1。
- 训练数据使用TrueMICL数据集的专属训练集,数据形式为包含多个图文示例和一个查询的序列。
-
优化目标:
- 训练的目标是让模型生成的答案与真实答案尽可能一致。通过标准的交叉熵损失函数 Lgt=−∑ilogP(x^i∣V,α;M)\mathcal{L}_{gt}=-\sum_i \log \mathcal{P}(\hat{x}_i|V, \alpha; \mathcal{M})Lgt=−∑ilogP(x^i∣V,α;M)计算。
-
参数更新:
- 在每个训练步骤中,模型处理一批数据并生成预测。
- 计算预测与真实标签之间的交叉熵损失。
- 进行反向传播,DARA引入的可学习平衡因子参数通过梯度下降自动优化。
- 使用AdamW优化器,根据一组预设的超参数(学习率1e−31e-31e−3,训练5个轮次)来更新这些平衡因子。
3.2 TrueMICL数据集
TrueMICL的设计是为了创造一个“无法作弊”的评估环境。其构建遵循以下设计理念:
1)上下文依赖性:没有上下文图像,任务就无法解决。
2)新颖性:任务应引入在预训练或指令微调中不常见的新图像 - 文本关系,以有效挑战任务学习能力。
3)可感知的视觉信息:从图像中提取的必要信息不应过于复杂,确保视觉编码器能准确感知。这使我们能够专注于 MICL 能力而非视觉感知挑战。
4)与主干的兼容性:任务应突破多模态上下文学习的边界,但又不超出语言主干的能力范围。
最终,我们构建了总共 867 个样本,涵盖 4 个不同类别,包括 7 个不同的任务。
具体任务实现举例:
- 1. 数学推理 (Math Reasoning):(1) 算子归纳 (Operator Induction): 从示例中推断出
?
等视觉符号代表的数学运算(如乘法)。(2) 时钟数学 (Clock Math): 从示例中学习一个基于时钟指针位置的隐藏算术规则。 - 2. 概念绑定 (Concept Binding): (3) 异常点检测 (Outlier Detection): 从示例中学习“找出与众不同者”的抽象概念,并应用到新的视觉场景中。 (4) CLEVR 计数 (CLEVR Count): 根据示例的指令,学习本次任务需要计数的对象属性(如“只数球体”)。
- 3. 模式发现 (Pattern Finding):(5) 数独 (Sudoku): 从示例中学习数独游戏的规则,并解决新的数独谜题。(6) 回文数 (Palindrome Number): 从示例中识别出回文序列的模式,并补全序列。
- 4. 新概念学习 (Novel Concept Learning): (7) 角色分类 (Character Classification): 在上下文中临时学会一个全新的面孔与一个新名字之间的对应关系。
3.3 实验
3.3.1 实验1: 性能对比
- 目的:对比各ICL方法在TrueMICL数据集上的性能。
- 设置:
- 测试数据集:TrueMICL数据集
- 模型:Qwen2-VL(7B), Idefics3(8B), Phi-3.5-vision。
- 对比方法:
Zero-shot
:无示例,检验任务是否能凭先验知识解决。No-image
:只有文本示例,检验是否能只靠文本模仿。Random
:标准的4-shot图文示例。RICES
:检索与查询最相关的4-shot示例。LoRA
:使用参数量相当的LoRA进行微调。
- 结果:
Zero-shot
和No-image
表现极差,证明了TrueMICL任务必须依赖图文并茂的上下文。RICES
相比Random
提升微乎其微,说明仅仅提供更相关的示例作用不大,关键是模型要能有效利用它们。- DARA的性能在所有模型和几乎所有任务上都显著超过了所有基线,平均准确率提升了3-5个百分点,证明了其有效性。
3.3.2 实验2: 可视化分析,探究DARA的内部作用机制 (Figure 2, 3
)
-
目的:直观地展示DARA是否真的在“重新分配注意力”。
-
定性分析 (
Figure 2a
):通过注意力热图显示,未使用DARA时,模型对示例图片的关注度很低(区域呈蓝色“冷色”);使用DARA后,这些区域变得非常明亮(红色/黄色“暖色”),证明注意力确实被转移到了视觉内容上。 -
定量分析 (
Figure 2b
):通过柱状图统计,未使用DARA时,分配给图片token的注意力权重仅占28.6%;使用DARA后,该比例大幅提升至46.7%。
-
因子分析 (
Figure 3
):可视化DARA学习到的平衡因子值。发现不同的注意力头(原始transformer的MHA有8个注意力头)学会了放大不同示例图片的影响力(例如,Head 5特别关注Demo 4,其因子为1.32),这表明DARA学会了有选择性的、结构化的视觉增强。
3.3.3 实验3: 在标准VL数据集上的泛化测试
- 目的:检验DARA是否会对模型在常规任务上的性能造成损害(即是否过拟合)。
- 设置:在VQAv2, GQA等标准视觉问答数据集上进行测试。这些任务通常不需要从示例中学习新规则。
- 结果:DARA的表现与
Zero-shot
、Random 4-shot
等基线几乎没有差别。 - 结论:这证明DARA是一个安全的、有针对性的解决方案。它只在特定任务(如TrueMICL任务)发挥作用,不会干扰模型的泛化能力。
3.3.4 实验4: 消融研究,深入对比DARA与LoRA (Figure 5
, Table 9
)
-
目的:探究DARA的参数效率及其与LoRA微调方法的关系。
-
参数效率对比 (
Figure 5
):在一个任务上,DARA仅用约140个参数就达到了超越基线的性能,而LoRA需要超过10,000个参数才能达到类似的效果。这极大地凸显了DARA的轻量与高效。
-
组合效果 (
Table 9
):将DARA与完全参数的LoRA 结合使用。结果显示,在LoRA基础上,额外增加一个极其轻量的DARA,仍然能带来1-2%的稳定性能提升。这证明DARA可以作为一种有益的补充,与其它方法协同工作。
3.3.5 实验5: DARA 配置的消融研究 (Figure 6)
- 目的:探究模型在 DARA 的不同设计选择下的性能,作者改变了修改的层数和注意力头数。
- 实验设置:
- 任务:在
Qwen2-VL
模型上进行Operator Induction
(算子归纳)任务。 - 变量:X轴:DARA 作用的 Transformer 层数(从第一层开始连续应用)。彩色曲线:在指定的每一层中,DARA 作用的注意力头数量。
- 任务:在
- 关键发现:
以 n 样本设置为例,DARA 引入的可训练参数总数计算为 n ×(头数)×(层数)。如图所示,在数百个参数的范围内,不同配置对最终性能的影响没有显著差异。准确率68% - 74% - 结论:
- 这个实验证明了论文选择仅在第一层所有注意力头应用DARA是效果与效率之间的最佳平衡点。
- 暗示了对于提升MICL能力,关键在于早期的跨模态信息融合阶段。
3.3.6 实验6:TrueMICL数据集的有效性
- 设置:在当时的顶尖闭源模型 GPT-4o 上进行测试将 TrueMICL数据集。
- 发现:
- 即使是 GPT-4o,在 0-shot 设置下也难以解决 TrueMICL 的大部分任务(除逻辑性较强的数独外)。
- 在提供 4-shot 示例后,GPT-4o 的性能大幅提升。
- 结论:这证实了 TrueMICL 要求模型有效整合和推理视觉 - 文本演示,验证了其作为多模态上下文学习基准的作用。