前期文章提到,多模态的RAG框架ColPali通过视觉语言模型(VLMs)高效地检索纯视觉特征的文档,实现视觉文档问答。 【RAG&多模态】多模态RAG-ColPali:使用视觉语言模型实现高效的文档检索
本文再来看一个类似工作,VisRAG,一种基于视觉语言模型的检索增强生成(RAG)方法,用于解决多模态文档中的信息利用问题。
方法
VisRAG分为VisRAG-Ret和VisRAG-Gen两个阶段。
传统的基于文本的RAG(TextRAG,左)依赖于解析后的文本进行检索和生成,丢失了多模态文档中的视觉信息;基于视觉的RAG(VisRAG,右)采用基于VLM的检索器和生成器直接处理文档页面的图像,从而保留原始页面中的所有信息。
检索阶段:VisRAG-Ret
VisRAG-Ret将query和文档页面分别作为文本和图像在VLM中进行编码,产生一系列隐藏状态。最终嵌入通过对最后一层VLM隐藏状态进行加权平均池化得到:
其中,是第个隐藏状态,是序列长度,是第个权重,是查询或页面的嵌入。相似度得分通过查询和页面嵌入的余弦相似度计算。VisRAG-Ret使用InfoNCE损失进行优化:
其中,是正文档, 是负文档集, 是查询和d之间的相似度得分,是温度。
生成阶段:VisRAG-Gen
VisRAG-Gen使用VLM根据用户query和检索到的页面生成答案。
- 文档图像页面拼接 :将所有检索到的页面拼接成一个单一图像,以适应大多数只能接受单张图像的VLM。
- 加权选择 :让VLM为每个页面生成答案,并根据多个VLM输出条件选择最终答案。最终置信度定义为答案的加权生成概率:
其中, 是基于单个文档d生成答案的困惑度的倒数, 是归一化的检索得分:
- 能够接受多图的VLMs :一些最新的VLM(如MiniCPM-V和Qwen-VL)可以处理多个图像作为输入,适用于单跳或多跳问题(跨图像推理)。
实验效果
参考文献
-
paper:VISRAG: VISION-BASED RETRIEVAL-AUGMENTED GENERATION ON MULTI-MODALITY DOCUMENTS,https://arxiv.org/pdf/2410.10594