引言

想象一下,你是一名金融分析师,任务是根据一份长达 100 页的年度报告回答一个具体问题。这份报告不仅仅是文字;它是散落在不同页面上的段落、柱状图、散点图和信息图表的混乱混合体。要回答这个问题,你不能仅仅依靠找到某一个句子。你可能需要查看第 5 页的图表来确定某个特定区域,然后利用该区域的信息在第 12 页的表格中找到相应的收入数据。

这就是多页异构文档问答 (Doc-QA) 所面临的挑战。

目前的人工智能解决方案,特别是检索增强生成 (RAG) 和多模态大型语言模型 (MLLM),在这方面表现吃力。标准的 RAG 根据语义相似度检索文档,往往会丢失视觉上下文。而 MLLM 受到上下文窗口的限制,当被输入过多不相关的图像时,容易产生幻觉。

在这篇文章中,我们将探讨 Doc-React , 这是一个由加州大学圣地亚哥分校 (UCSD) 和 Adobe 的研究人员提出的新颖框架。Doc-React 不将文档问答视为静态的检索任务,而是视为一个迭代的、智能体式 (agentic) 的过程。通过在数学上平衡信息增益不确定性 , Doc-React 能够逐步通过“推理”穿透复杂的文档,从而找到精确的答案。

问题所在: 为什么单步检索会失败

在传统的 RAG 中,系统接收用户查询,在数据库中搜索前 k 个最相似的块 (文本或图像) ,并将它们提供给 LLM。这对于像“公司的使命是什么?”这样的简单问题很有效。

然而,复杂的文档需要多跳推理。考虑下面的例子。用户询问关于拥有“2.52 亿移动宽带订阅用户”的地区的“活跃社交网络用户”情况。

图 1: 应用于多页文档问答任务的 Doc-React。该框架以用户查询为输入,并在多页文档上运行。它迭代地优化信息检索和查询构建,以最大化信息增益并减少不确定性,最终生成准确且上下文相关的答案。

如图 1 所示,标准检索器可能会失败,因为查询没有明确提到“北美 (North America) ”。它只提到了订阅数量。标准系统无法在地图 (将 2.52 亿与北美联系起来) 和柱状图 (列出北美的社交用户) 之间建立联系。

我们需要一个系统,它能看一眼地图,意识到“啊,这个地区是北美”,然后生成一个针对“北美社交网络用户”的搜索查询。这就是 Doc-React 的核心直觉。

Doc-React 方法

Doc-React 是一个自适应的迭代框架。它不是试图一次性猜出答案,而是将过程分解。它使用 MLLM (多模态 LLM) 作为裁判和生成器,动态地优化其搜索策略。

该框架建立在信息论的基础上。目标是提取文档页面的一个子集 (\(S\)),该子集包含足够的信息来推导出正确答案 (\(A\)),同时最小化模型的不确定性 (熵) 。

1. 数学目标

研究人员将该任务制定为一个优化问题。我们希望选择一系列文档页面 (\(S_i\)),使生成答案的熵 (不确定性) 最小化,前提是我们选择的页面与答案之间的互信息足够高。

公式 1: 在确保足够的互信息的同时最小化熵。

简单来说: 找到能让模型对正确答案确信无疑的最小页面集合。

2. 归一化信息增益

由于我们无法预先知道完美的答案 (\(A\)),系统采取贪婪策略。在每一步 \(t\),它试图选择下一组页面 (\(S_{t+1}\)),这组页面相对于它已知的内容能提供最多的信息。

作者提出最大化归一化信息增益 :

公式 2: 归一化信息增益的公式。

解读这个方程的方法如下:

  • 分子 (信息增益) : 考虑到我们已经从之前的页面 (\(\pi_t\)) 学到了什么,新页面 \(S_{t+1}\) 能告诉我们多少关于答案 (\(A\)) 的信息?
  • 分母 (熵) : 新页面有多“令人困惑”或复杂?我们通过熵进行归一化,以避免选择那些信息密集但不相关或噪音过大的页面。

3. 信息差分 (即“残差”)

模型如何知道哪些信息是“新”的?它计算信息残差 (\(A'_t\))。这代表了完整答案与模型当前所知内容之间的“差距”。

公式 3: 定义信息残差。

在实践中,我们无法计算抽象的残差。相反,Doc-React 使用 LLM 明确说明缺少什么。这被称为信息差分 (Information Differentiation) 。 该框架用当前检索到的页面和查询提示 LLM,要求它识别仍然需要哪些信息。

公式 5: 使用 MLLM 近似残差。

通过将此残差代回我们的增益方程,目标变成了最大化关于这个缺失部分 (\(A'_t\)) 的信息:

公式 4: 使用残差的实际目标函数。

4. InfoNCE 引导的检索

现在系统知道了缺少什么 (残差 \(A'_t\)) ,它需要找到一个能填补这一空白的页面。用沉重的 MLLM 扫描大型文档中的每一页太慢了。

取而代之的是,Doc-React 使用一种由 InfoNCE (信息噪声对比估计) 引导的轻量级检索机制。这种技术通常用于对比学习。它估计候选页面与查询/残差对之间的互信息。

公式 6: 互信息估计的 InfoNCE 下界。

这个方程允许系统高效地为候选页面评分。它寻找那些与当前查询和缺失信息 (\(A'_t\)) 高度相关的页面 (\(S_{t+1}\))。

5. 算法实战

综上所述,Doc-React 算法遵循以下循环:

  1. 初始化: 从一个空的页面集开始。
  2. 制定子查询: MLLM 分析原始查询和任何当前持有的页面。它生成一个“残差”——即对缺失内容的描述。
  3. 候选评估: 系统扫描文档池。它根据页面解决残差的程度 (使用 InfoNCE 分数) 对页面进行评分,并根据页面的复杂性进行归一化。
  4. 选择与更新: 最佳页面 (\(S^*_{t+1}\)) 被添加到上下文中。

公式 7: 选择最佳子集并更新策略。

  1. 重复: 此循环持续进行,直到 MLLM 确定它有足够的信息来回答用户的问题或达到最大步骤数。

这个迭代过程将“大海捞针”的问题转化为了一场结构化的寻宝游戏。

实验与结果

研究人员在两个具有挑战性的基准上评估了 Doc-React:

  1. SlideVQA: 一个包含演示幻灯片的数据集,需要视觉推理 (图表、示意图) 。
  2. MMLongBench-Doc: 一个用于长上下文文档理解的基准。

与多模态 RAG 的比较

首先,他们将 Doc-React 与最先进的多模态 RAG 系统进行了比较,具体包括 VisRAGColPali 。 ColPali 是一个强大的检索模型,它使用视觉语言模型对文档进行视觉索引 (将页面视为截图) 。

表 1: 与多模态检索增强生成基线的比较。

如表 1 所示,Doc-React 显著优于基线。在 MMLongBench 上,Doc-React 达到了 38.07 的 F1 分数,而 ColPali 为 32.17,VisRAG 为 29.02。这凸显了仅仅拥有一个好的检索器 (如 ColPali) 是不够的;Doc-React 提供的迭代推理对于连接脱节的信息片段至关重要。

与多图像 MLLM 的比较

接下来,他们将 Doc-React 与“暴力”方法进行了比较,在暴力方法中,多个图像被简单地输入到 MLLM 上下文窗口 (Standard) 或配合思维链提示 (CoT) 使用。

表 2: 与多图像多模态 LLM 基线的比较。

表 2 揭示了一个有趣的趋势。虽然 GPT-4o 本身 (Standard) 表现尚可,但 Doc-React 仍然提供了性能提升,特别是在 SlideVQA 上 (54.87 对比 53.58) 。更重要的是,Doc-React 具有更好的可扩展性。将所有页面输入 GPT-4o 既昂贵又占用大量上下文。Doc-React 仅选择性地寻找必要的页面。

检索器重要吗?

有人可能会想,Doc-React 的成功是否仅仅因为它使用了 ColPali 作为底层检索引擎。为了测试这一点,作者进行了一项消融研究。

表 3: 比较使用和不使用 ColPali 检索的 Doc-React 的消融研究。

表 3 显示,即使没有 ColPali (使用较弱的检索器) ,Doc-React 在 MMLongBench 上仍达到了 37.22 的 F1 分数,这仍然显著高于独立的 ColPali 基线 (32.17) 。这证实了框架——即迭代差分和更新的逻辑——是性能的主要驱动力,而不仅仅是视觉编码器的强度。

结论

Doc-React 代表了文档智能领域向前迈出的重要一步。它从“单次”检索范式转向了代理式、迭代式的方法。通过将问答过程数学建模为信息最大化问题,Doc-React 能够处理现实世界文档中混乱、异构的布局。

对于学生和从业者来说,主要的启示是:

  1. 视觉上下文很重要: 纯文本搜索在图表和数据图上会失效。
  2. 迭代更佳: 困难的问题通常需要中间步骤 (通过找“X”来找“Y”) 。
  3. 反馈循环: 使用 LLM 来判断“缺少什么” (残差) 是指导检索的强大技术。

随着多模态模型的不断发展,像 Doc-React 这样的框架很可能成为处理复杂的报告、科学论文和财务审计的标准,在这些领域,准确性取决于能否跨页面串联起信息点。