【文献阅读】DeepRAG:大语言模型的检索增强推理新范式

server/2025/3/17 1:47:24/

DeepRAG:《Thinking to Retrieval Step by Step for Large Language Models》。这是一篇关于如何让大语言模型(LLMs)更聪明地进行检索增强推理(Retrieval-Augmented Generation, RAG)的研究。

标题期刊年份关键词
DeepRAG: Thinking to Retrieval Step by Step for Large Language ModelsarXiv (预印本)2025Retrieval-Augmented Generation, Large Language Models, Markov Decision Process, Adaptive Retrieval

🧠 研究背景

语言模型(LLMs)在推理任务中表现出了惊人的潜力,但它们也有一个致命弱点——容易出现事实性幻觉(factual hallucinations)。这是由于模型的知识在时效性、准确性和覆盖范围上的局限性导致的。为了解决这个问题,检索增强生成(RAG)应运而生,通过检索外部知识库或搜索引擎的信息来提升模型回答的准确性。然而,现有的RAG方法存在一个很大的问题任务分解不够有效,检索过程冗余,不仅引入了噪声,还降低了回答质量。🤔


🛠️ 相关工作

在检索增强生成领域,已经有了一些尝试。比如,基于分类器的方法(classifier-based methods)需要额外训练一个线性头来决定是否检索;基于置信度的方法(confidence-based methods)依赖于阈值驱动的不确定性指标,但这些方法在不同任务上的表现很不稳定。而DeepRAG则提出了一种全新的方法,利用LLMs的生成能力,通过模仿学习和链式校准来动态决定是否需要检索,既不需要额外参数,也不依赖不稳定的不确定性指标。🚀


🌟 创新点

DeepRAG的核心创新在于它将检索增强推理建模为马尔可夫决策过程(Markov Decision Process, MDP),并引入了两个关键组件:检索叙事(Retrieval Narrative)原子决策(Atomic Decisions)

  • 检索叙事:确保检索过程是结构化的、适应性的,根据已检索到的信息动态生成子查询。

  • 原子决策:动态决定每个子查询是否需要检索外部知识,还是直接依赖模型自身的参数化知识。

🖥️ 模型图输入输出转变

输入:问题(如“《指环王》三部曲的总时长是多少?”)
输出:经过多步推理和动态检索后,生成最终答案(如“558分钟”)。

在这个过程中,模型会动态生成子查询(如“《指环王:护戒使者》的时长是多少?”),并根据需要决定是否检索外部知识。最终,这些子查询的答案会被整合成最终答案。🧩

这种方法不仅提高了检索效率,还显著提升了回答的准确性,可以说是“推理界的瑞士军刀”!🎉


🧩 方法介绍

DeepRAG的框架可以分为三个关键步骤:

  1. 二叉树搜索(Binary Tree Search)
    模型通过二叉树搜索为每个子查询探索两种策略:直接使用参数化知识或检索外部知识库。这不仅分解了问题,还考察了不同检索选择对最终答案的影响。🔍

  2. 模仿学习(Imitation Learning)
    通过合成数据,让模型学习最优的推理路径,即在最小化检索成本的同时生成正确答案。这一步骤让模型学会了如何高效地分解问题并生成中间答案。🎓

  3. 链式校准(Chain of Calibration)
    这一步进一步优化模型对自身知识边界的认知。通过合成偏好数据,模型可以更准确地判断何时需要检索,何时依赖内部知识。🔍


📊 实验

DeepRAG在五个开放域问答数据集上进行了实验,包括HotpotQA、2WikiMultihopQA、CAG、PopQA和WebQuestions。实验结果显示,DeepRAG在所有数据集上都显著优于现有方法,平均回答准确率提升了21.99%,检索效率也得到了显著提升。📈


🎯 重点:DeepRAG的创新之处

  • 动态决策:DeepRAG能够根据问题的复杂性和已有的知识动态决定是否需要检索,避免了不必要的检索操作。

  • 知识边界校准:通过链式校准,模型更好地理解了自身知识的边界,从而在检索和推理之间做出更明智的选择。

  • 结构化推理检索叙事确保了推理过程的结构化,让模型能够像人类一样逐步解决问题


http://www.ppmy.cn/server/175576.html

相关文章

PyCharm接入本地部署DeepSeek 实现AI编程!【支持windows与linux】

今天尝试在pycharm上接入了本地部署的deepseek,实现了AI编程,体验还是很棒的。下面详细叙述整个安装过程。 本次搭建的框架组合是 DeepSeek-r1:1.5b/7b Pycharm专业版或者社区版 Proxy AI(CodeGPT) 首先了解不同版本的deepsee…

虚幻基础:动画层接口

文章目录 动画层:动画图表中的函数接口:名字,没有实现。动画层接口:由动画蓝图实现1.动画层可直接调用实现功能2.动画层接口必须安装3.动画层默认使用本身实现4.动画层也可使用其他动画蓝图实现,但必须在角色蓝图中关联…

MambaTab:表格数据处理的新利器

——基于结构化状态空间模型的特征增量学习框架 摘要 本文提出MambaTab,一种基于结构化状态空间模型(SSM)的表格数据处理框架。通过创新的嵌入稳定化设计与轻量化SSM架构,MambaTab在普通监督学习和特征增量学习场景中均表现优异&…

Matlab:矩阵运算篇——矩阵数学运算

目录 1.矩阵的加法运算 实例——验证加法法则 实例——矩阵求和 实例——矩阵求差 2.矩阵的乘法运算 1.数乘运算 2.乘运算 3.点乘运算 实例——矩阵乘法运算 3.矩阵的除法运算 1.左除运算 实例——验证矩阵的除法 2.右除运算 实例——矩阵的除法 ヾ( ̄…

数据结构--图的基本操作

知识总览: 一、图的基本操作 1.Adjacent(G,x,y),判断图G是否有边---对于有向图和无向图来说,邻间接矩阵的时复杂度更低。 邻接矩阵时间复杂度 O(1) 邻接表时间复杂度 O(1)~~O(v) 2.Neighbors(G,x):判断图G与结点x邻接的边.---邻间接矩…

Gerrit报错:Permission denied publickey的解决办法

如何解决问题在最后 一、核心定位 Gerrit 是一款开源的代码审查与项目管理工具,深度集成 Git 版本控制系统,专为团队协作设计。最初由 Google 开发(源于 Android 项目),现广泛应用于开源项目(如 Linux 内核…

基于卡尔曼滤波的雷达光电多目标航迹融合算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1卡尔曼滤波步骤 4.2 雷达光电多目标航迹融合算法原理 5.完整程序 1.程序功能描述 基于卡尔曼滤波的雷达光电多目标航迹融合算法matlab仿真。实现2个雷达,一个光电下的双目标…

重新认识OpenCV:C++视角下的历史演进、功能特性以及OpenCV 4.11新特性

(基于2025年最新技术动态,面向工业级C开发者) 一、OpenCV的历史迭代与技术定位 自1999年英特尔实验室诞生以来(记住这个人-加里 布拉德斯基,是他怀揣着美好愿景启动了这个项目),OpenCV已成长…