AI论文解读 | CRAG
本期播客
AI论文解读 | CRAG
1 前置知识
读懂《Corrective Retrieval Augmented Generation》(CRAG)这篇论文,建议你提前掌握以下几个基础知识点。下面我会用通俗易懂的语言解释,并用Markdown画图辅助理解。
1. 检索增强生成 (Retrieval-Augmented Generation, RAG)
RAG是近年来自然语言处理(NLP)领域非常热门的一个技术。它结合了“检索”(Retrieval)和“生成”(Generation)两种能力:
检索:先到一个知识库(如Wikipedia、文档库)里找相关资料。 生成:检索到的相关资料作为“输入”,由生成模型(如GPT)进行回答或写作。
示例流程图
[用户问题]
↓
[检索模块] ——→ [相关文档/文本]
↓ ↓
[生成模型] ←——————————
↓
[最终答案]
2. 生成式预训练模型(如GPT、BERT)
这种模型可以根据输入的文本(上下文),自动生成合理的自然语言输出。 常用于对话机器人、自动写作等任务。
生成模型的基本原理
[输入文本] → [神经网络] → [预测下一个词]
3. 向量检索与Embedding
Embedding:将文本、句子、甚至图片等信息“编码”为定长的向量(数字列表),便于计算相似度。 向量检索:问题和知识库里的内容都转成向量后,通过“距离”来找最相关的内容。
Embedding示意图
[句子A] → [向量A]
[句子B] → [向量B]
向量A与向量B越接近,说明句子A和B语义越相似
4. 检索-生成式QA的常见问题
检索到的内容不一定完美、可能有噪音或不相关。 生成模型可能会“幻觉”(Hallucination):生成与实际检索内容不符的答案。
5. 增强型RAG的改进思路
Corrective(纠正):CRAG提出在生成过程中,模型可以根据检索的内容动态修正自己的回答,减少幻觉。 可能用到“内容过滤”、“置信度估计”等技术。
6. 基本机器学习/深度学习原理
神经网络基本原理(比如前向传播、反向传播) 训练和推理的区别
总结
掌握这些基础知识有助于你理解CRAG论文:
什么是检索增强生成(RAG),为什么需要它 生成式模型和检索技术如何结合 向量检索和Embedding的概念 RAG常见问题及“幻觉”现象 纠正型RAG的基本思路
附:RAG流程图(Markdown版)
+-----------------+
| 用户提问 |
+--------+--------+
|
v
+--------+--------+
| 检索模块 |--+
+--------+--------+ |
| |
v |
+--------+--------+ |
| 检索到相关内容 |<-+
+--------+--------+
|
v
+--------+--------+
| 生成式模型 |
+--------+--------+
|
v
+--------+--------+
| 最终答案 |
+-----------------+
如果你对某个具体基础知识点想深入了解,可以告诉我!
2 解读论文
《Corrective Retrieval Augmented Generation》论文通俗解读
一、论文背景与动机
传统的检索增强生成(RAG)系统在问答和知识对话等任务中效果突出,但存在两个主要问题:
检索噪声干扰:检索模块有时会返回与用户问题无关或不准确的内容,导致生成模型“跟着错误走”。 幻觉现象:生成模型可能会产生与事实不符的信息(即“编瞎话”)。
CRAG(Corrective Retrieval Augmented Generation)提出了一种纠正式的机制,让生成模型在遇到检索噪声或内容不足时,能主动进行修正,更加可靠地输出答案。
二、CRAG 核心思想
1. 纠正式生成(Corrective Generation)
CRAG 不再让模型“盲目信任”检索到的内容,而是边生成边判断,在发现检索内容不够好时,主动调整生成策略。
简单流程图
[用户问题]
↓
[检索模块] → [相关内容A, B, C...]
↓
[生成模型]
↓
[边生成边判断]
↓
[发现内容有误/不全]——+——→[生成修正信息]
↘
[继续生成最终答案]
2. 动态纠错模块
生成模型内置纠错信号,如遇到“无关”或“缺失”信息,模型可以输出如“补充内容”、“忽略无关信息”等修正信号。 这些信号作为“提示”,指导后续生成更加严谨。
举例说明
假如检索到的内容是“苹果是一种水果”,但用户问的是“苹果公司的创始人是谁?”,
CRAG在生成时会检测到不相关信息,然后自动纠正:
“检索到的内容与问答无关,重新组织答案:苹果公司由史蒂夫·乔布斯等人创立。”
三、技术细节与创新点
1. 检索内容的动态利用
CRAG会评估每条检索到的信息是否有用,对无用内容进行“过滤”或“忽略”。 对于有用但不全的信息,可以生成补充请求或直接修正。
图示:动态利用检索内容
[相关内容A]——┐
[相关内容B]——┼—→【评估有用性】→【有用:用来生成】【无用:过滤掉】
[相关内容C]——┘
2. 纠错信号的设计
通常以“特殊token”或“提示短语”形式出现在生成序列中,如“补充信息如下:”、“无相关内容”等。 这些提示既能帮助模型调整输出,也能为用户解释答案来源。
3. 端到端训练
CRAG通过端到端训练,让模型学会何时纠正、如何纠正。
四、实验与效果
主要发现
CRAG在多个知识密集型问答任务上,显著降低了幻觉率,提升了答案的准确性和可信度。 在检索内容不全或有噪音的情况下,CRAG比传统RAG更不容易被误导。
效果对比(简化示意)
五、总结与通俗理解
CRAG的本质:
让生成模型拥有“自我纠错”能力,遇到检索内容不靠谱时,能及时调整,不再“跟错信息跑偏”。
打个比方:
传统RAG像个“照单全收”的学生,老师(检索模块)说什么就答什么。
CRAG则像个有判断力的学生,如果老师没讲到点子上,会主动说“我觉得这不对,我再查查/补充一下”。
六、可视化小结
CRAG 与传统RAG的对比图
传统RAG CRAG
+---------+ +------------------+ +------------------+ +------------------------+
| 用户问题 |→ | 检索相关内容 |→ | 生成模型 |→ | 答案 |
+---------+ +------------------+ +------------------+ +------------------------+
CRAG流程
+---------+ +------------------+ +------------------+ +------------------------+
| 用户问题 |→ | 检索相关内容 |→ | 生成模型(边判断边生成)|→ | 答案(可自我纠正)|
+---------+ +------------------+ +------------------+ +------------------------+
七、论文贡献总结
提出 Corrective 概念,赋予生成模型自我纠错与内容过滤能力。 显著提升检索增强生成的可靠性和准确性。 为未来检索+生成系统的发展提供了新思路。
如需进一步了解某一技术细节,欢迎随时提问!
3 术语
《Corrective Retrieval Augmented Generation》重要术语详解
1. 检索增强生成(Retrieval-Augmented Generation, RAG)
RAG是一种结合了“检索”和“生成”的文本生成框架。它先从外部知识库检索相关内容,再利用生成模型(如GPT)结合检索到的内容生成答案。
流程图:
[用户问题]
↓
[检索模块] → [相关文档]
↓
[生成模型]
↓
[答案]
2. 检索噪声(Retrieval Noise)
指检索模块返回的与用户问题无关、错误或不相关的信息。这些噪声会误导生成模型,导致生成不准确或“跑偏”的回复。
示意图:
[知识库]
↓
[检索模块]
↓
[相关文档] + [噪声文档] → [生成模型]
3. 幻觉(Hallucination)
生成模型基于错误或不完整信息,生成了与事实不符的内容。这是当前大语言模型常见的问题之一。
举例:
用户问“苹果公司的创始人是谁?” 检索到的内容全是“苹果是一种水果” 生成模型回答:“苹果的创始人是乔布斯(水果并没有创始人)”——这种就是“幻觉”
4. 纠正机制(Corrective Mechanism)
CRAG提出的创新点,让生成模型在遇到检索内容有误或不足时,主动识别并修正生成过程,输出更可靠的答案。
流程图:
[生成模型]
↓
[识别检索内容不足/错误]
↓
[输出纠正信号(如“需补充信息”)]
↓
[生成更加准确的答案]
5. 纠正信号(Corrective Signal)
生成模型在生成过程中插入的特殊标记或提示,用来表示当前检索内容有误、缺失、或需要补充。
如:“检索内容无关,重新回答如下:……”
6. 端到端训练(End-to-End Training)
指整个系统(检索 + 生成 + 纠错)作为一个整体进行联合训练,使其协同优化,从而更好地学习何时以及如何纠正。
7. 内容过滤(Content Filtering)
对检索到的内容进行筛选,只保留有用的信息,去掉无关或有害的内容,减少噪声对生成的影响。
8. 置信度估计(Confidence Estimation)
模型对检索内容是否有用、生成内容是否可靠进行自我评估,置信度低时触发纠正机制。
词汇关系可视图
[检索增强生成RAG]
│
├─> [检索模块] ──> [检索噪声]
│
└─> [生成模型]
│
├─> [幻觉]
├─> [纠正机制]
│ ├─> [纠正信号]
│ ├─> [内容过滤]
│ └─> [置信度估计]
│
└─> [端到端训练]
如需对某个术语进一步举例或深入讲解,请随时告知!
参考
https://arxiv.org/pdf/2401.15884
https://edu.aliyun.com/course/3126500/lesson/342570338
https://github.com/AlibabaCloudDocs/aliyun_acp_learning/blob/main/%E5%A4%A7%E6%A8%A1%E5%9E%8BACP%E8%AE%A4%E8%AF%81%E6%95%99%E7%A8%8B/p2_%E6%9E%84%E9%80%A0%E5%A4%A7%E6%A8%A1%E5%9E%8B%E9%97%AE%E7%AD%94%E7%B3%BB%E7%BB%9F/2_5_%E4%BC%98%E5%8C%96RAG%E5%BA%94%E7%94%A8%E6%8F%90%E5%8D%87%E9%97%AE%E7%AD%94%E5%87%86%E7%A1%AE%E5%BA%A6.ipynb
以上内容基于DeepSeek、QwQ及诸多AI生成, 轻微人工调整, 感谢杭州深度求索人工智能、阿里云等公司.
AI 生成的内容请自行辨别正确性, 当然也多了些许踩坑的乐趣, 毕竟冒险是每个男人的天性.