鲁棒多模态大语言模型抵抗模态冲突
声明:笔者利用AI辅助阅读论文,因此以下内容大部分由AI生成,请谨慎看待
- 论文标题:Robust Multimodal Large Language Models Against Modality Conflict
- 作者:Zongmeng Zhang, Wengang Zhou, Jie Zhao, Houqiang Li
- 发表信息: ICML 2025
- 版本与访问: arXiv:2507.07151 [cs.CV],DOI 链接:https://doi.org/10.48550/arXiv.2507.07151
- 官方资源:配套代码可参考原作者团队维护的 GitHub 仓库https://github.com/zmzhang2000/MMMC
想法
-
本篇论文没有讲述模型幻觉下降到底是因为加入了额外的训练数据,使得模型记住了这些数据(见多识广)还是真的让模型获得了这种识别幻觉的能力(泛化能力)。
-
例如图片中有一个红苹果,问题“图片中有青苹果吗”,模型回答“图片中没有青苹果”。但是这个时候模型知道图片中苹果是红色的吗?还是说只不过是因为模型之前见过和这张图片差不多的图片以及差不多的问题然后记下来了只要回答“没有青苹果”?
-
大多VLM模型在物体分类上还行,但是对于细粒度信息还是把握的不够准确
亮点
-
定义了多模态模态冲突的概念
-
构建了多模态模态冲突数据集
-
提出三种模态冲突(对象冲突、属性冲突、关系冲突)
-
使用语言模型进行创建数据集,人工抽样检查
这篇论文聚焦多模态大语言模型(MLLMs)的 “幻觉” 问题,从 “模态冲突” 这一未被充分关注的角度切入,通过定义问题、构建数据集、提出解决方案并验证效果,为提升 MLLMs 的稳健性提供了新视角。以下从 “研究背景与问题”“核心概念定义”“数据集构建”“方法设计”“实验验证”“结论” 六个维度,从头完整拆解论文逻辑。
一、研究背景:MLLMs 的 “高光” 与 “隐忧”
1. MLLMs 的能力优势
近年来,多模态大语言模型(如 InstructBLIP、LLaVA、Qwen2-VL 等)实现了 “视觉 - 语言联合推理”,能处理看图问答、图像描述、视觉推理等复杂任务,在多个基准数据集(如 MMBench、MathVista)上取得 SOTA( state-of-the-art,当前最优)性能。其核心能力源于 “双阶段训练”:
- 第一阶段:分别在大规模视觉数据集(如 ImageNet)和语言数据集(如 WebText)上预训练视觉编码器和语言模型;
- 第二阶段:通过 “特征对齐”(如 Q-Former、Adapter 模块)将两种模态的特征融合,再经指令微调(Instruction Tuning)注入 “遵循人类指令” 的能力。
2. 关键问题:“幻觉” 与被忽视的 “模态冲突”
尽管能力强大,MLLMs 在真实场景中易出现 “幻觉”—— 生成与输入信息矛盾的内容(如图片里没有球,却回答 “球是绿色的”)。此前研究多关注 “模型输出与输入的冲突”(如输出内容和图片 / 文本输入不符),但论文指出:“输入本身的跨模态冲突” 才是重要幻觉源头—— 即视觉输入(图片)和文本输入(问题)存在固有矛盾,让模型陷入两难,最终导致幻觉。
例如:图片是 “狗在海上冲浪”(视觉输入),文本问题是 “球是什么颜色?”(文本输入)—— 这种 “图片无目标物体,问题却问该物体” 的矛盾,就是论文要解决的 “模态冲突”。
二、核心概念:什么是 “模态冲突”?
论文首次对 “模态冲突” 进行形式化定义(用数学公式明确边界),并将其分为三类,覆盖视觉 - 语言任务中最常见的矛盾场景:
1. 模态冲突的通用前提
“模态” 指信息类型,此处为 “视觉模态((\mathcal{V}),即图片)” 和 “文本模态((\mathcal{T}),即问题)”。若两种模态满足以下条件,则存在 “模态冲突”:
- 视觉信息与文本信息不匹配:(\text{Info}(\mathcal{V}) \neq \text{Info}(\mathcal{T}))(公式 1);
- 其中(\text{Info}(\cdot))表示 “模态包含的核心信息”,包括 “物体、属性、关系” 三个关键维度。
2. 三类具体的模态冲突
论文根据 “信息矛盾的维度”,将模态冲突拆分为三类,并分别给出数学定义:
(1)物体冲突(Object Conflict)——“问题问的物体,图片里没有”
这是最直观的冲突:文本问题中提到的物体,在视觉输入中完全不存在。形式化定义:若文本中的物体集合,不是视觉中物体集合的子集(即文本有视觉没有的物体),则存在物体冲突:(\text{Obj}(\mathcal{T}) \nsubseteq \text{Obj}(\mathcal{V}) \quad (公式2))
- (\text{Obj}(\cdot))表示 “模态中包含的物体集合”,如(\text{Obj}(\mathcal{T}))是问题里提到的物体(如 “球”),(\text{Obj}(\mathcal{V}))是图片里实际有的物体(如 “狗、海、冲浪板”);
- 例子:问题 “球是什么颜色?”((\text{Obj}(\mathcal{T})={球})),图片 “狗冲浪”((\text{Obj}(\mathcal{V})={狗, 海, 冲浪板}))——({球})不是({狗, 海, 冲浪板})的子集,属于物体冲突。
(2)属性冲突(Attribute Conflict)——“物体相同,特征不一样”
文本和图片描述的是同一个物体,但物体的属性(如颜色、大小、形状)不一致。形式化定义:满足以下三个条件即属于属性冲突:
$
(\begin{cases} \text{Obj}(\mathcal{T}) \subseteq \text{Obj}(\mathcal{V}) \quad \text{(文本物体在图片中存在)} \ {\mathcal{O}i}{i=1}^m = \text{Obj}(\mathcal{T}) \cap \text{Obj}(\mathcal{V}) \quad \text{(取两者共有的物体)} \ \text{Attr}(\mathcal{O}_i^\mathcal{T}) \neq \text{Attr}(\mathcal{O}_i^\mathcal{V}) \quad (i=1,2,…,m) \quad \text{(共物体的属性不一致)} \end{cases} \quad (公式3))
- (\mathcal{O}_i^\mathcal{T})是文本中描述的物体,(\mathcal{O}_i^\mathcal{V})是图片中实际的物体;
- (\text{Attr}(\cdot))表示“物体的属性”(如颜色、材质);
- 例子:问题“红苹果是什么品种?”((\text{Attr}(\text{苹果}^\mathcal{T})={红色})),图片是“绿苹果”((\text{Attr}(\text{苹果}^\mathcal{V})={绿色}))——物体相同(苹果),属性矛盾(红vs绿),属于属性冲突。
(3)关系冲突(Relationship Conflict)——“物体相同,互动/位置不一样”
文本和图片描述的是同一个物体集合,但物体之间的关系(如位置、互动方式)不一致。形式化定义:满足以下三个条件即属于关系冲突:
(\begin{cases} \text{Obj}(\mathcal{T}) \subseteq \text{Obj}(\mathcal{V}) \quad \text{(文本物体在图片中存在)} \ {\mathcal{O}i}{i=1}^m = \text{Obj}(\mathcal{T}) \cap \text{Obj}(\mathcal{V}) \quad \text{(取两者共有的物体)} \ \text{Rel}(\mathcal{O}_i^\mathcal{T}, \mathcal{O}_j^\mathcal{T}) \neq \text{Rel}(\mathcal{O}_i^\mathcal{V}, \mathcal{O}_j^\mathcal{V}) \quad (i,j=1,2,…,m) \quad \text{(共物体的关系不一致)} \end{cases} \quad (公式4))
- (\text{Rel}(\cdot,\cdot))表示“两个物体之间的关系”(如“在…上”“靠近…”“推动…”);
- 例子:问题“猫在桌子上做什么?”((\text{Rel}(\text{猫}^\mathcal{T}, \text{桌子}^\mathcal{T})={在…上})),图片是“猫在地板上”((\text{Rel}(\text{猫}^\mathcal{V}, \text{桌子}^\mathcal{V})={在…下}))——物体相同(猫、桌子),关系矛盾(上vs下),属于关系冲突。
三、数据集构建:MMMC——专门模拟“模态冲突”
要研究“模态冲突导致的幻觉”,首先需要一个能复现该场景的数据集。论文构建了Multimodal Modality Conflict(MMMC)数据集,覆盖上述三类冲突,具体流程分三步:
1. 数据来源:基于现有视觉-语言数据集
论文从广泛使用的视觉-语言数据集Visual Genome中选取图片——该数据集的每张图片都配有“物体标注”“属性标注”“关系标注”(如“猫-在…上-桌子”),方便后续生成冲突。
2. 数据集构建三步骤
步骤1:关键组件检测(Key Components Detection)
从Visual Genome的“正常问题”中,提取“物体、属性、关系”三类关键组件——这些是后续制造冲突的“靶点”。
- 例子:正常问题“鸟有几只翅膀?”,提取关键组件:物体({鸟})、属性({})(无属性描述)、关系({})(无物体互动);
- 工具:用GPT-4o-mini(轻量版大模型)自动提取,确保提取准确性(如只提名词/名词短语,排除代词、介词)。
步骤2:组件替换(Components Substitution)
针对三类冲突,替换关键组件,生成“冲突问题”:
- 物体冲突:替换“物体组件”,且新物体不在图片中。如正常问题“鸟有几只翅膀?”→替换物体为“鱼”→冲突问题“鱼有几只鳍?”(若图片中没有鱼);
- 属性冲突:替换“属性组件”,且新属性与图片中物体的实际属性矛盾。如正常问题“橙色手推车后面是什么?”→替换属性为“蓝色”→冲突问题“蓝色手推车后面是什么?”(若图片中手推车是橙色);
- 关系冲突:替换“关系组件”,且新关系与图片中物体的实际关系矛盾。如正常问题“棚屋外长着什么?”→替换关系为“里面”→冲突问题“棚屋里长着什么?”(若图片中植物在棚屋外)。
步骤3:答案生成(Answer Generation)
为每个冲突问题,生成“事实答案”——即明确指出冲突,避免模型幻觉。
- 例子:冲突问题“鱼有几只鳍?”(图片无鱼)→事实答案“图片中不包含鱼或鱼鳍”;
- 逻辑:答案需“锚定视觉输入”,明确否定冲突点(物体/属性/关系不存在或不一致),而非瞎编。
3. 数据集特点
- 覆盖范围:包含“物体、属性、关系”三类冲突,共10000个训练样本、若干测试样本;
- 标注质量:用GPT-4o-mini生成后,人工抽样验证,确保冲突有效、答案准确;
- 可解释性:每个样本都能追溯“冲突来源”(替换了哪个组件),方便后续分析模型在不同冲突类型上的表现。
四、解决方案:三类缓解“模态冲突幻觉”的方法
论文针对MMMC数据集,提出三类方法——分别对应“无参数修改”“有监督学习”“强化学习”三种技术路径,覆盖不同算力成本和效果需求。
方法1:提示工程(Prompt Engineering,PE)——“给模型提个醒”
核心逻辑
无需修改模型参数,仅通过“优化输入提示”,引导模型在回答前先“校验视觉-文本一致性”,本质是“用语言指令激活模型已有的跨模态校验能力”。
具体操作
设计“冲突检测提示”,附加在原问题前:
- 基础提示:“请先检查图片中是否包含问题提到的信息,再回答问题:{原问题}”;
- 例子:冲突问题“球是什么颜色?”→完整输入“请先检查图片中是否包含问题提到的信息,再回答问题:球是什么颜色?”。
优缺点
- 优点:零算力成本(无需训练)、适配性强(可直接用于任何MLLM);
- 缺点:效果依赖“基础模型能力”——对小参数模型(如Qwen2-VL-Instruct-2B)无效甚至起反作用(模型看不懂提示逻辑,幻觉率上升);对InstructBLIP等“输出固定化”模型也无效(无论提示如何,都只生成简短答案)。
方法2:监督微调(Supervised Fine-Tuning,SFT)——“教模型学正确答案”
核心逻辑
将MMMC数据集的“图片+冲突问题+事实答案”三元组喂给模型,通过“梯度下降优化参数”,让模型学习“面对冲突时的正确响应模式”,本质是“模仿训练数据的答案分布”。
技术细节
(1)优化目标
采用“语言建模损失(Language Modeling Loss)”——让模型生成的答案尽可能贴近MMMC中的事实答案,公式如下:
(\pi_\theta^* = \arg\min_\theta \mathbb{E}{<\mathcal{V},\mathcal{T},\mathcal{A}> \sim \mathcal{D}} \left[ -\log \pi\theta(\mathcal{A} | \mathcal{V},\mathcal{T}) \right] \quad (公式7))
- 符号含义:(\mathcal{V})=图片,(\mathcal{T})=冲突问题,(\mathcal{A})=事实答案,(\mathcal{D})=MMMC数据集,(\pi_\theta(\mathcal{A} | \mathcal{V},\mathcal{T}))=模型在参数(\theta)下,给定“图片+问题”生成“答案”的概率;
- 目标:最小化“模型生成答案与事实答案的对数概率损失”——即让模型更大概率生成正确答案。
(2)训练配置
- 数据量:使用MMMC的10000个训练样本(避免过拟合);
- 优化器:Adam,学习率(5×10^{-6}),批大小(Batch Size)8;
- 训练轮次:1个Epoch(多轮次易导致模型“死记硬背”样本,泛化性下降);
- 参数更新:采用LoRA(Low-Rank Adaptation,低秩适应)技术——仅微调模型的少量低秩参数,而非全量参数,降低算力成本(如7B模型仅微调约0.1%的参数)。
优缺点
- 优点:效果稳定——对多数MLLM(如LLaVA-v1.5、Qwen2-VL-Instruct)有效,幻觉率降低10%-40%,回答质量(LLM-Judge得分)提升0.4-0.7;
- 缺点:泛化性有限——模型仅能处理“与训练集类似的冲突”,遇到未见过的冲突类型(如“飞机-螺旋桨”的物体冲突)时,幻觉率回升;部分模型(如InstructBLIP)无效——因预训练未注入“跨模态冲突识别能力”,少量微调数据无法教会新技能。
方法3:强化学习(Reinforcement Learning,RL)——“让模型试错改错”
核心逻辑
将“模型处理模态冲突”视为“马尔可夫决策过程(MDP)”:模型在“图片+问题”的初始状态下,通过“逐词生成答案”的动作获取“奖惩反馈”,不断优化生成策略,最终学会“生成符合事实的响应”,本质是“让模型在交互中掌握冲突判断逻辑”。
技术细节
(1)MDP框架定义
将模型生成过程拆解为MDP的5个核心要素,确保“试错-反馈”闭环:
| MDP要素 | 定义 |
|---|---|
| 状态((s_t)) | (s_t = (\mathcal{V}, \mathcal{T}, a_{<t}))——图片、问题、已生成的前t-1个词 |
| 动作((a_t)) | 模型在第t步生成的“单个词”(如“图”“片”“中”“没”“有”) |
| 奖励((r_t)) | 仅在生成完整答案后(t=T)给予奖惩,中间步骤奖励为0 |
| 初始状态分布(\rho_0) | 从MMMC数据集中随机抽取“图片+问题”作为初始状态 |
| 折扣因子(\gamma) | 控制未来奖励的权重,默认取0.9(常规强化学习设定) |
(2)奖励函数设计——“鼓励事实,惩罚幻觉”
奖励函数是RL的核心,论文设计“语义一致性奖励”:由预训练大模型(Llama-3.3-70B-Instruct)判断“模型生成答案”与“MMMC事实答案”是否语义一致,再给予奖惩:
(r_t = \begin{cases} +1 & \text{若} \ t=T \ 且 \ a_{\leq t} \ 与 \ \mathcal{A} \ 语义一致(无幻觉) \ -1 & \text{若} \ t=T \ 且 \ a_{\leq t} \ 与 \ \mathcal{A} \ 语义不一致(有幻觉) \ 0 & \text{其他情况(生成中)} \end{cases} \quad (公式10))
- 例子:模型生成“图片中没有鱼”(与事实答案一致)→奖励+1;生成“鱼有2只鳍”(幻觉)→奖励-1。
(3)优化目标
以“最大化期望累积奖励”为目标,让模型学习“能获得高奖励的生成策略”,公式如下:
(\pi_\theta^* = \arg\max_\theta \mathbb{E}{s_0 \sim \rho_0} \mathbb{E}{a_t \sim \pi_\theta(a_t | s_t)} \left[ \sum_{t=1}^T \gamma^t r_t \right] \quad (公式9))
- 目标:找到最优参数(\theta),使得从初始状态出发,模型生成过程的“累积奖励期望”最大——即尽可能生成有奖励的事实答案。
(4)训练配置
- 数据量:仅用MMMC的1000个训练样本(RL依赖模型自身生成样本交互,多样本易导致“模型崩溃”);
- 优化器:Adam,学习率(9.65×10^{-6}),批大小8;
- 算法:采用REINFORCE++(REINFORCE算法的优化版)——计算效率高,避免PPO等算法的复杂超参调试;
- 正则化:设置KL系数为0.01——在优化目标中加入“KL散度惩罚项”,避免模型生成风格偏离初始模型(如从简洁回答变成重复长文本)。
优缺点
- 优点:效果最优——在所有方法中幻觉率最低(如Qwen2-VL-Instruct-2B的幻觉率从46.55%降至16.78%);泛化性更强——因学习的是“冲突判断逻辑”,而非记忆样本;
- 缺点:训练不稳定——奖励信号受“语义一致性判断”的主观性影响,导致模型生成长度、KL散度波动大;部分模型(如InstructBLIP)训练中会“崩溃”(生成重复无意义文本);算力成本高——训练时间是SFT的3-5倍。
五、实验验证:方法效果如何?
论文在MMMC数据集上,对5种主流MLLM(InstructBLIP-7B、LLaVA-v1.5-7B、LLaVA-NeXT-7B、Qwen2-VL-Instruct-2B/7B)和GPT-4o(作为基线)进行测试,从“幻觉率”“回答质量”“文本重合度”三个维度评估效果。
1. 实验 setup(基础配置)
(1)模型选择
- 测试模型:覆盖不同架构的MLLM(如InstructBLIP用Q-Former融合特征,LLaVA用Adapter融合特征);
- 模型大小:以7B参数为主,额外测试Qwen2-VL-Instruct-2B(小参数),分析“模型大小对冲突处理的影响”;
- 基线模型:GPT-4o(闭源强模型)——验证“即使是顶级MLLM,也存在模态冲突幻觉”。
(2)评估指标
论文用三类指标,避免单一指标的局限性:
- 幻觉率(Hallu-Rate,越低越好):模型生成“幻觉响应”的比例——若响应错误假设“物体/属性/关系存在”,则视为幻觉;由GPT-4o和Llama-3.3-70B双模型判断,确保结果可靠;
- LLM-Judge得分(越高越好):由GPT-4o/Llama-3.3-70B评估回答的“流畅性、相关性、正确性”,评分范围0-4(0=无效,4=优秀,具体标准见表1);
- ROUGE-L(越高越好):衡量模型响应与MMMC事实答案的“最长公共子序列重叠度”——反映答案的对齐程度,但忽略语义相似性(如“无鱼”和“没有鱼”语义一致,但ROUGE-L可能低)。
(3)训练细节
- SFT和RL均用LoRA微调,仅更新少量参数;
- SFT训练1个Epoch,RL训练至奖励稳定(避免崩溃);
- 所有实验重复3次(不同随机种子),取平均值+标准差,确保结果稳健。
2. 核心实验结果
(1)基础模型表现:所有MLLM都易受模态冲突影响
即使是GPT-4o,在MMMC上的幻觉率也达57%(GPT-4o判断),LLM-Judge得分仅2.39(满分4);其他模型更差——LLaVA-v1.5-7B的幻觉率高达83.6%,说明“模态冲突是MLLMs的共性问题”。
(2)三种方法的效果对比(见表2)
| 方法 | 幻觉率降低幅度 | LLM-Judge得分提升 | 核心优势 | 核心劣势 |
|---|---|---|---|---|
| 提示工程 | 10%-20% | 0.1-0.4 | 零算力成本 | 效果依赖模型,不稳定 |
| 监督微调 | 20%-40% | 0.4-0.7 | 效果稳定 | 泛化性有限,易过拟合 |
| 强化学习 | 30%-50% | 0.7-0.9 | 效果最优,泛化性强 | 训练不稳定,算力成本高 |
- 典型案例:LLaVA-NeXT-7B用RL后,幻觉率从67%(Base)降至31.27%(GPT判断),LLM-Judge得分从2.24升至2.86;
- 例外:InstructBLIP-7B用SFT后效果下降——因预训练未注入冲突识别能力,微调数据无法弥补。
(3)不同冲突类型的表现
论文进一步分析模型在“物体、属性、关系”三类冲突上的表现:
- easiest:物体冲突——模型处理最好,因“物体是否存在”的判断相对简单;
- 中等难度:属性冲突——需对比“物体的特征是否一致”,难度高于物体冲突;
- hardest:关系冲突——需理解“物体间的互动/位置”,模型表现最差(如LLaVA-v1.5-7B在关系冲突上的幻觉率仍达55.71%),说明“关系理解是MLLMs的薄弱环节”。
3. 额外分析:方法的稳健性与局限性
(1)对齐税(Alignment Tax)——微调是否影响通用能力?
“对齐税”指“模型为适配特定任务(如处理模态冲突),导致在原有任务上的性能下降”。
- 结果:不同模型表现差异大——InstructBLIP微调后在MMBench(通用视觉-语言任务)上性能损失50%,而Qwen2-VL-Instruct-7B几乎无损失;部分模型(如LLaVA-NeXT)在HallusionBench(另一个幻觉数据集)上性能反而提升,说明“冲突识别能力可迁移”。
(2)训练稳定性
- 监督微调:训练损失波动小,稳定收敛;
- 强化学习:奖励、生成长度、KL散度波动大——InstructBLIP在300个episode时“崩溃”,开始重复生成“图片中没有鱼,没有鱼……”,说明RL需更精细的超参调优。
六、结论
1. 论文贡献
- 提出“模态冲突”这一幻觉新源头,并给出形式化定义,填补了此前研究的空白;
- 构建MMMC数据集,为模态冲突研究提供了标准化测试基准;
- 提出三类方法,验证了“强化学习最优、监督微调最稳”的结论,为MLLMs稳健性优化提供了实践参考。
2. 未来方向
- 提升关系冲突的处理能力:设计更针对性的训练方法,帮助模型理解物体间的关系;
- 验证视觉特征的作用:通过“视觉特征扰动实验”(如模糊图片、修改物体轮廓),判断模型是否真的依赖视觉输入;
- 降低RL的算力成本:开发更高效的强化学习算法,减少训练波动。
评论区