多模态思维链综述
1. 概述
链式思维(Chain-of-Thought, CoT)推理已成为大型语言模型(LLM)处理复杂推理任务的核心技术。然而,当问题涉及图像、视频等多模态信息时,传统的纯文本CoT方法面临重大挑战。多模态思维链(Multimodal Chain-of-Thought, MCoT) 应运而生,旨在使模型能够同时利用视觉和文本信息进行逐步推理。
2. MCoT 的定义与问题形式化
2.1 问题定义
给定一个多模态输入 (图像、视频等)和问题 ,MCoT 旨在生成一个推理链:
其中每个中间推理步骤 可以包含文本描述和/或视觉标注(如边界框、分割掩码、热力图等)。
2.2 MCoT 形式化框架
多模态推理过程可以建模为:
最终答案从最后一个推理步骤导出:
3. MCoT 分类体系
3.1 按推理结构分类
| 类型 | 描述 | 代表方法 |
|---|---|---|
| 顺序推理 | 线性逐步推理,每步依赖前一步 | MM-CoT |
| 树状推理 | 多分支探索,聚合不同推理路径 | Tree-of-Thought |
| 图状推理 | 任意结构,灵活表达复杂关系 | Graph-CoT |
3.2 按视觉集成方式分类
3.2.1 文本优先型(Text-First)
仅在最终阶段使用视觉信息:
局限性:无法捕捉视觉细节间的复杂关系。
3.2.2 交错型(Interleaved)
文本和视觉信息在推理过程中交替出现:
Step 1: 观察图像中的 [object_A] → 文本推理
Step 2: 定位 [object_B] 的位置 → 视觉标注
Step 3: 基于位置关系进行推理 → 综合推理
代表方法:LLaVA-CoT、Fschmidt VisionLM。
3.2.3 视觉优先型(Visual-First)
先处理视觉信息,再进行语言推理:
代表方法:Vision-in-CoT。
3.3 按监督信号分类
| 类型 | 描述 | 数据来源 |
|---|---|---|
| 显式监督 | 使用标注的推理链 | 人类专家、GPT-4V |
| 隐式监督 | 从答案反推推理过程 | Self-Training |
| 混合监督 | 结合显式和隐式信号 | Distillation |
4. 关键方法详解
4.1 MM-CoT:多模态思维链基准
论文:Yue et al. (2025). “MMMU-CoT: An Evaluation Benchmark for Multimodal Reasoning with Chain-of-Thought.”
4.1.1 核心思想
MMMU-CoT 通过在 MMMU 基准上添加显式的思维链标注,构建了评估多模态推理过程的数据集。
4.1.2 标注方法
- 问题筛选:选择需要多步推理的题目
- 推理链生成:使用 GPT-4V 生成中间推理步骤
- 人工校验:人工检查推理链的正确性和完整性
- 答案验证:确保最终答案与推理链一致
4.1.3 评估指标
4.2 CoT-Switcher:动态推理模式切换
论文:Zhang et al. (2025). “Dynamic Mode Switching for Multimodal Reasoning.”
4.2.1 架构设计
输入 → 模式分类器 → {简单模式: 直接推理
复杂模式: 多步CoT
视觉密集模式: 视觉优先CoT}
4.2.2 模式判别器
使用轻量级网络判断推理复杂度:
4.3 VCoT:视觉思维链
论文:Chen et al. (2025). “VCoT: Visual Chain-of-Thought for Multimodal Reasoning.”
4.3.1 核心创新
VCoT 允许模型在推理过程中生成视觉标注(边界框、热力图),而不只是文本描述。
4.3.2 标注生成器
其中 可以是:
- 边界框定位器(Box Localizer)
- 热力图生成器(Heatmap Generator)
- 分割掩码预测器(Mask Predictor)
4.4 LLaVA-CoT:开源多模态推理
论文:Zhang et al. (2025). “LLaVA-CoT: Let Vision Language Model Reason Like Human.”
4.4.1 两阶段训练
阶段一:推理链生成
阶段二:答案蒸馏
4.4.2 数据构建
使用 GPT-4V 生成高质量推理链:
1. 收集图像-问题-答案三元组
2. 提示 GPT-4V 生成详细的推理过程
3. 过滤不完整或错误的推理链
4. 最终得到 100K+ 训练样本
5. 多模态 CoT 的推理范式
5.1 顺序推理范式
最简单的 MCoT 范式,推理步骤按顺序执行:
def sequential_mcot(model, image, question):
context = ""
for step in range(max_steps):
# 生成当前推理步骤
prompt = f"Question: {question}\nContext: {context}\nStep {step+1}:"
reasoning = model.generate(prompt, image)
context += f"\n{reasoning}"
# 检查是否得到答案
if model.is_answer(reasoning):
return extract_answer(reasoning)
return None5.2 标注推理范式
在推理过程中生成视觉标注:
def annotated_mcot(model, image, question):
image_copy = copy.deepcopy(image)
for step in range(max_steps):
# 文本推理
text_reasoning = model.text_generate(question, image_copy)
# 视觉标注(如有需要)
if model.needs_visual_grounding(text_reasoning):
bbox = model.locate(text_reasoning, image)
image_copy = draw_box(image_copy, bbox)
# 更新上下文
context += text_reasoning
if model.is_answer(text_reasoning):
return extract_answer(text_reasoning)5.3 对比推理范式
同时生成多个推理路径,选择最佳路径:
def comparative_mcot(model, image, question, n_paths=3):
# 并行生成多个推理链
reasoning_chains = []
for _ in range(n_paths):
chain = generate_chain(model, image, question)
reasoning_chains.append(chain)
# 选择置信度最高的路径
best_chain = max(reasoning_chains,
key=lambda c: c.confidence)
return best_chain.answer6. MCoT 评估基准
6.1 MME-CoT 基准
来源:ICML 2025
特点:
- 15,000 个多模态推理问题
- 涵盖数学、科学、日常推理
- 评估推理链的完整性和正确性
6.2 MathVista-CoT
在 MathVista 基础上添加推理链标注:
| 指标 | 描述 |
|---|---|
| CoT Accuracy | 推理链正确率 |
| Answer Accuracy | 最终答案正确率 |
| Step Coherence | 步骤间连贯性 |
6.3 多模态推理能力评估矩阵
其中:
- :最终答案正确性
- :推理链逻辑正确性
- :推理过程可解释性
7. 挑战与未来方向
7.1 当前挑战
| 挑战 | 描述 | 潜在解决方案 |
|---|---|---|
| 视觉幻觉 | 生成与图像不符的推理 | 视觉基础增强 |
| 推理不一致 | 中间步骤与最终答案矛盾 | 推理验证机制 |
| 计算开销 | 多步推理增加延迟 | 早停策略 |
| 标注困难 | 高质量推理链标注成本高 | 弱监督学习 |
7.2 未来方向
- 动态推理深度:根据问题复杂度自适应调整推理步数
- 多模态自我验证:让模型验证自身视觉推理的正确性
- 跨模态一致性:确保文本推理与视觉标注一致
- 高效推理:开发早停机制和级联模型
8. 与其他方法的关系
8.1 MCoT vs. 思维树/思维图
| 方法 | 结构 | 适用场景 |
|---|---|---|
| CoT | 线性 | 简单多步推理 |
| ToT | 树状 | 需要探索的问题 |
| GoT | 图状 | 复杂关系推理 |
| MCoT | 多模态 | 涉及视觉信息 |
8.2 MCoT vs. 视觉提示
MCoT 强调推理过程,而视觉提示(Visual Prompting)强调输入增强。两者可以结合使用。