该论文作为多模态检索增强生成(MM-RAG)领域的全景式综述,系统梳理了涵盖 “输入 - 输出模态组合”“核心工作流”“训练与评估” 的完整方法体系,其核心价值在于首次构建了全模态组合的分类框架,并标准化了 MM-RAG 的四阶段工作流方法,为领域研究提供了统一的技术参考。以下是论文详述的全部核心方法:
一、基于输入 - 输出模态组合的方法分类体系
论文以 “输入模态 × 输出模态” 为核心维度,构建了覆盖文本、图像、音频、视频、代码、3D 数据、结构化数据等 7 类核心模态的分类框架,共 54 种潜在组合,其中 18 种已有相关研究。针对每类有效组合,明确了对应的核心方法(检索器 + 生成器)与任务适配逻辑:
1. 单模态输入 - 单模态输出
表格
| 模态组合 | 核心检索方法 | 核心生成方法 | 典型任务 | 关键技术细节 |
|---|---|---|---|---|
| 文本→文本(T→T) | - | 通用 LLM(GPT、T5、LLaMA) | 文本问答、摘要 | 复用传统文本 RAG 方法,新增跨模态知识关联机制 |
| 图像→文本(I→T) | 双编码器架构(CLIP、ViT+BERT、ResNet+BERT) | 通用 LLM、视觉 LLM(InstructBLIP、LLaVA) | 图像描述、视觉问答 | 图像通过 captioning 或 CLIP 编码对齐文本空间,检索相似图像的文本描述增强生成 |
| 文本→图像(T→I) | 双编码器架构(CLIP) | 扩散模型(Stable Diffusion)、GAN、视觉 LLM(LaVIT、LLaVA) | 文本生成图像 | 检索相似文本 - 图像对,提取视觉特征引导生成,优化细节真实性 |
| 音频→文本(A→T) | 音频专用编码器(Wav2vec、VGGish、HuBERT)、双编码器(CLAP) | 通用 LLM(GPT、T5) | 音频描述 | 音频转化为谱图或嵌入向量,检索相似音频的文本描述作为生成参考 |
| 文本→音频(T→A) | 双编码器(CLAP、RoBERT+HTS-AT) | 音频专用生成器(HiFi-GAN、扩散模型)、音频 LLM(Whisper、QwenAudio) | 文本生成音频 | 检索文本 - 音频对,提取声学特征(如 mel 谱图)引导波形生成 |
| 视频→文本(V→T) | 视频专用编码器(VideoMAE、CLIP 帧编码) | 通用 LLM、视觉 LLM(Video-LLaVA) | 视频描述、视频问答 | 视频拆分为帧 + 音频,分别转化为文本描述,检索相似视频的文本序列增强推理 |
| 文本→视频(T→V) | 双编码器(CLIP) | 扩散模型 | 文本生成视频 | 检索文本 - 视频对,提取时空特征引导帧序列生成,保证连贯性 |
| 文本→3D(T→3D) | 双编码器(CLIP) | 扩散模型 | 文本生成 3D 数据 | 检索文本 - 3D 资产对,通过 2D 先验信息(如视角图像)引导 3D 几何结构生成 |
| 代码→文本(C→T) | 稀疏检索(BM25、AST 匹配)、代码专用编码器(CodeT5、GraphCodeBERT) | 通用 LLM、代码专用 LLM(CodeX、CodeGen) | 代码摘要 | 检索语法 / 语义相似代码片段,提取注释与功能描述辅助生成 |
| 文本→代码(T→C) | 代码专用编码器(CodeT5、GraphCodeBERT) | 代码专用 LLM(CodeX、CodeGen) | 代码生成、Text-to-SQL | 检索自然语言 - 代码映射对,复用相似逻辑的代码结构 |
| 代码→代码(C→C) | 代码专用编码器(CodeT5、GraphCodeBERT) | 代码专用 LLM(CodeGen、RepoCoder) | 代码补全 | 检索跨文件代码片段、API 文档,基于语法依赖生成补全内容 |
2. 多模态输入 - 单模态输出
表格
| 模态组合 | 核心检索方法 | 核心生成方法 | 典型任务 | 关键技术细节 |
|---|---|---|---|---|
| 文本 + 图像→文本(T+I→T) | 双编码器架构(CLIP、BERT+ResNet、ViT+T5) | 通用 LLM、视觉 LLM(GPT-4o、InstructBLIP) | 视觉问答、视觉对话 | 文本与图像分别编码后对齐语义空间,检索多模态文档(文本 + 图像)提取联合证据 |
| 文本 + 视频→文本(T+V→T) | 视频专用编码器(InternVideo2)+ 文本编码器(BERT) | 视觉 LLM(Video-LLaVA) | 视频问答 | 文本查询与视频帧 / 音频描述联合检索,整合跨模态证据生成答案 |
| 文本 + 结构化数据→文本(T+S→T) | 稠密检索(BERT、T5)、查询语言生成(SQL/SPARQL) | 通用 LLM | 知识库问答(KBQA)、表格问答(Table QA) | 检索知识图谱子图或相关表格,将结构化数据转化为文本格式融入生成 |
3. 多模态输入 - 多模态输出
目前相关研究较少,典型组合为 “文本 + 图像→文本 + 图像”,核心方法为:
- 检索方法:双编码器架构(CLIP),检索多模态文档中的文本 - 图像关联对;
- 生成方法:视觉 LLM(GPT-4o、MiniCPM-V),基于检索到的跨模态关联证据,同步生成文本解释与图像优化结果(如风格迁移、细节补充);
- 典型任务:图像编辑 + 文本说明、多模态报告生成。
二、MM-RAG 四阶段核心工作流方法
论文明确 MM-RAG 的通用工作流包含 “预检索(Pre-Retrieval)、检索(Retrieval)、增强(Augmentation)、生成(Generation)” 四阶段,各阶段方法如下:
1. 预检索阶段:知识库与查询准备方法
(1)知识库准备方法
核心目标是将多模态原始数据转化为可检索格式,包含 4 类关键方法:
- 数据预处理:
- 清洁与标准化:去除噪声数据(如模糊图像、畸形代码),统一模态格式(如图像分辨率、音频采样率);
- 分块策略:文本采用固定长度 / 滑动窗口分块;图像通过目标检测提取 ROI(感兴趣区域);音频 / 视频按时间片段分块;代码按函数 / 类结构分块;
- 元数据附着:为多模态内容添加标签(如图像类别、视频时间戳、代码语言类型),支持快速筛选。
- 知识库组织方法:
- 单模态嵌入(Uni-modal Embedding):不同模态通过专用编码器转化为嵌入向量,存储在独立向量库,检索时拆分查询为单模态子查询分别检索;
- 成对存储(Pair-wise Storage):基于双模态成对数据(如图像 - 文本对、音频 - 文本对),以一种模态为键、另一种为值存储,检索时通过键模态匹配获取值模态;
- 统一嵌入(Unified Embedding):使用跨模态编码器(如 CLIP、CLAP、Qwen2-Audio)将所有模态映射到同一语义空间,存储为统一嵌入向量;
- 图构建(Graph Construction):提取模态内 / 跨模态实体与关系,构建知识图谱(如图像场景图、代码依赖图、视频时空图),支持多跳检索与推理。
(2)查询准备方法
核心目标是优化原始查询,提升检索相关性,包含 5 类关键方法:
- 查询扩展(Query Expansion):通过 LLM 生成伪答案 / 伪文档,或通过 VLM 生成图像 / 视频的补充描述,与原始查询拼接扩展语义;
- 查询改写(Query Paraphrase):利用 MLLM 重述查询,保留核心意图的同时适配检索器的表达偏好(如代码查询的语法标准化);
- 查询转换(Query Transformation):将非文本模态(图像 / 音频 / 视频)通过专家模型(OCR、图像 captioning、ASR)转化为文本,与原始查询融合;
- 查询丢弃(Query Dropout):随机屏蔽查询部分内容(如文本关键词、图像局部区域),生成简化版查询,提升检索多样性;
- 多查询生成(Multi-Query):
- 查询拆分:将复杂查询按模态 / 语义拆分为子查询(如 “图像 + 文本” 查询拆分为图像子查询与文本子查询);
- 查询分解:将多跳查询分解为逻辑关联的单跳子查询序列(如 Chain-of-Query);
- 多视角生成:从不同维度生成多个同义查询(如代码查询的自然语言描述 + 语法结构查询)。
2. 检索阶段:检索器与策略方法
(1)检索器类型
- 稀疏检索器:基于关键词匹配,适用于文本 / 代码模态,代表方法为 TF-IDF、BM25,核心优势是效率高、无需复杂训练;
- 稠密检索器:基于语义嵌入匹配,支持所有模态,代表方法包括:
- 通用跨模态:CLIP(文本 - 图像)、CLAP(文本 - 音频);
- 单模态专用:DPR/Contriever(文本)、VideoMAE(视频)、CodeT5(代码)、Wav2vec(音频);
- 其他专用检索器:
- 代码检索:基于 AST(抽象语法树)匹配、编辑距离、Jaccard 索引;
- 多模态检索:基于离散代码的查找表检索(如 TIGeR)、跨模态图检索(如 GraphRAG)。
(2)检索策略
- 混合检索:融合稀疏检索与稠密检索的优势,如 “BM25+GraphCodeBERT”(代码检索)、“Contriever+BM25”(文本 + 结构化数据检索),通过线性加权融合得分;
- 层级检索:分阶段缩小检索范围,如 “文档级检索→段落级检索”“视频级检索→帧级检索”,平衡效率与精度;
- 检索时机:
- 单次检索:仅执行一次检索,适用于简单任务;
- 迭代检索:交替进行 “检索 - 生成”,基于上一轮结果优化下一轮查询(如代码生成的迭代检索 - 补全);
- 自适应检索:通过 MLLM 判断是否需要检索(如 MR2AG 通过特殊 token 标记),避免冗余检索。
3. 增强阶段:检索结果优化方法
核心目标是过滤噪声、整合跨模态信息,为生成阶段提供高质量输入,包含 5 类关键方法:
- 上下文重排序(Context Reranking):
- 跨模态重排序:使用 CLIP 等跨模态模型计算查询与检索结果的联合嵌入相似度;
- MLLM 重排序:通过指令微调的 MLLM 对检索结果打分(如 RagVL、TIGeR);
- lexical 重排序:基于文本编辑距离、语法匹配度(适用于代码 / 结构化数据)。
- 上下文选择(Context Selection):筛选最相关的 top-k 结果(如 MMed-RAG 选择 top-5 医疗文档),避免信息过载;
- 上下文压缩(Context Compression):
- 文本压缩:提取关键句 / 实体(如 EMERGE、RACC);
- 多模态压缩:图像保留 ROI、视频保留关键帧、音频保留核心片段;
- 噪声注入(Noise Injection):随机添加低相关检索结果(如 RagVL、MORE),提升模型对噪声的鲁棒性;
- 上下文融合(Context Fusion):
- 拼接融合(Fusion by Concatenation):直接拼接查询与检索结果;
- 编码器内融合(FiE):将检索结果嵌入与查询嵌入在编码器层融合(如 Smallcap、VisRAG);
- 解码器内融合(FiD):检索结果分别编码后,在解码器层聚合特征(如 EXTRA、XTRA);
- latent 融合(Fusion by Latent Aggregation):通过注意力机制聚合多模态 latent 特征(如 Resnos、KIF)。
4. 生成阶段:多模态融合生成方法
(1)生成器架构
- 基础架构:模态编码器→输入投影层→LLM 骨干→输出投影层→模态生成器;
- 模态编码器:ViT(图像)、HuBERT(音频)、VideoMAE(视频)、CodeT5(代码);
- 输入投影层:MLP、交叉注意力(如 Q-Former),将多模态嵌入映射到 LLM 输入空间;
- 输出投影层:Transformer、MLP,将 LLM 输出映射到目标模态空间;
- 模态生成器:Stable Diffusion(图像)、HiFi-GAN(音频)、ZeroScope(视频)。
- 核心模型选型:
- 文本生成:通用 LLM(GPT、T5、LLaMA);
- 图像 / 视频生成:扩散模型、GAN;
- 音频生成:扩散模型、VAE + 神经声码器;
- 多模态生成:视觉 LLM(GPT-4o、LLaVA)、音频 LLM(QwenAudio)。
(2)生成增强方法
- MLLM 微调:在多模态数据集上微调 LLM,适配跨模态输入(如 Re-ViLM、RA-Transformer);
- 提示工程(Prompt Engineering):设计多模态提示模板(如 “结合图像内容与检索到的文档,回答:{query}”),引导模型利用检索信息(如 SmallCap、CEDAR)。
三、训练策略方法
论文总结了 MM-RAG 的三类核心训练策略,适配不同场景需求:
1. 无监督 / 弱监督训练
- 跨模态对比学习:通过对比损失(如 InfoNCE)对齐多模态嵌入空间(如 CLIP 的文本 - 图像对齐);
- 自监督预训练:利用多模态伪标签数据(如自动生成的图像 - 文本对)预训练编码器(如 WavRAG 的音频 - 文本对齐预训练)。
2. 有监督微调(SFT)
- 多模态检索 - 生成对齐训练:以 “查询→检索结果→生成答案” 三元组为训练数据,优化检索器与生成器的端到端性能(如 Re-ViLM、RA-CM3);
- 指令微调:使用多模态指令数据(如 “根据图像和检索到的资料,生成摘要”)微调 MLLM,提升指令跟随能力(如 InstructBLIP)。
3. 强化学习(RL)
- 基于反馈的强化学习:以生成质量(如 BLEU、人类评分)为奖励,优化检索策略与生成策略(如 MGQRe 的三阶段 RL 框架);
- 策略梯度优化:针对迭代检索场景,优化 “检索 - 生成” 循环的累积奖励(如 Rewrite-Retrieve-Read)。
四、关键支撑方法
1. 跨模态对齐方法
- 双编码器对齐:两种模态分别通过专用编码器编码,通过对比学习优化嵌入空间一致性(如 CLIP、CLAP);
- 单编码器对齐:使用统一编码器处理多模态输入(如 VLMs 的文本 - 图像联合编码);
- 中间模态对齐:通过中间载体(如文本描述)连接不同模态(如 RA-VQA 将图像转化为文本后与查询对齐)。
2. 知识库组织方法
表格
| 组织方式 | 核心方法 | 适用场景 | 代表研究 |
|---|---|---|---|
| 单模态嵌入存储 | 各模态独立编码,存储在专用向量库 | 模态间关联松散的场景 | REPLUG、RA-VQA、CEDAR |
| 成对存储 | 双模态成对数据(如图像 - 文本对)按 “键 - 值” 存储 | 两模态强关联场景(如图像描述) | Re-ViLM、RA-Transformer |
| 统一嵌入存储 | 多模态数据编码到同一语义空间 | 跨模态检索场景 | M3DocRAG、VisRAG、WavRAG |
| 图结构存储 | 提取实体与关系,构建多模态知识图谱 | 多跳推理、关系推理场景 | MR-MKG、SKURG、HGNN |
3. 评估方法(辅助方法选择与优化)
- 检索质量评估:Precision@k、Recall@k、nDCG、MRR;
- 生成质量评估:
- 文本:BLEU、ROUGE、语义准确性(LLM 裁判评分);
- 图像 / 视频:FID、IS、CLIP 相似度;
- 音频:MOS(主观评分)、谱图相似度;
- 端到端评估:任务专用指标(如代码生成的 Pass@k、视觉问答的 EM/F1)。
核心方法总结
论文覆盖的 MM-RAG 方法体系可概括为 “三维核心”:
- 模态组合维度:按 “输入 - 输出模态” 分类,明确不同组合的检索器 - 生成器适配逻辑;
- 工作流维度:标准化 “预检索 - 检索 - 增强 - 生成” 四阶段方法,覆盖数据处理、检索策略、信息整合、生成优化全流程;
- 训练优化维度:提供无监督、有监督、强化学习三类训练策略,适配不同数据资源场景。
这些方法的核心目标是解决 “跨模态语义对齐”“多源信息整合”“噪声鲁棒性” 三大关键问题,为不同模态组合与任务场景提供可复用的技术方案。