当前位置: 首页 > article >正文

综述速读|086.04.24.Retrieval-Augmented Generation for AI-Generated Content A Survey

论文题目:Retrieval-Augmented Generation for AI-Generated Content: A Survey
论文地址:https://arxiv.org/abs/2402.19473
bib引用:

@misc{zhao2024retrievalaugmentedgenerationaigeneratedcontent,title={Retrieval-Augmented Generation for AI-Generated Content: A Survey}, author={Penghao Zhao and Hailin Zhang and Qinhan Yu and Zhengren Wang and Yunteng Geng and Fangcheng Fu and Ling Yang and Wentao Zhang and Jie Jiang and Bin Cui},year={2024},eprint={2402.19473},archivePrefix={arXiv},primaryClass={cs.CV},url={https://arxiv.org/abs/2402.19473}, 
}

InShort

在这里插入图片描述
本文对RAG进行了全面综述,涵盖其基础、增强方法、应用、基准测试、局限与未来方向。

  1. RAG概述
    • 背景:AIGC借助模型算法创新、基础模型扩展和优质数据实现发展,但面临知识更新、长尾数据处理等问题。RAG通过引入检索过程,利用可检索知识作为非参数化记忆,解决这些问题,其应用已拓展到多种模态。
    • 贡献:系统梳理RAG基础范式,探究增强方法,展示其在多模态和任务中的应用,讨论局限并提出未来方向,为研究和实践提供参考。
    • 相关工作:已有相关研究存在局限,本文旨在提供全面系统的RAG综述,涵盖基础、增强和应用等方面。
  2. RAG基础
    • 生成器:常用生成器包括Transformer模型、LSTM、扩散模型和GAN,不同模型适用于不同生成场景。
    • 检索器:检索方法分为稀疏检索、密集检索和其他方法。稀疏检索基于词项匹配,密集检索使用密集嵌入向量,其他方法如基于编辑距离、知识图搜索和命名实体识别等。
    • 基础范式:分为查询式RAG(如REALM、SELF - RAG)、潜在表示式RAG(如FiD、RETRO)、基于logit的RAG(如kNN - LM、TRIME)和推测式RAG(如REST、GPTCache),每种范式在不同模态和任务中各有应用。
  3. RAG增强方法
    • 输入增强:通过查询变换(如Query2doc、HyDE)和数据增强(如Make - An - Audio、LESS)提升检索效果。
    • 检索器增强:采用递归检索(如ReACT、RATP)、块优化(如LlamaIndex、RAPTOR)、检索器微调(如REPLUG、APICoder)、混合检索(如RAP - Gen、BlendedRAG)、重排序(如Re2G、AceCoder)和检索变换(如FILCO、FiD - Light)等方法。
    • 生成器增强:运用提示工程(如LLMLingua、ReMoDiffuse)、解码调整(如InferFix、SYNCHROMESH)和生成器微调(如RETRO、APICoder)提升生成质量。
    • 结果增强:通过输出重写(如SARGAM、Ring)改进生成结果,使其更符合下游任务需求。
    • 流程增强:包括自适应检索(如FLARE、Self - RAG)和迭代RAG(如RepoCoder、ITER - RETGEN),优化RAG整体流程。
  4. RAG应用
    • 文本领域:在问答、事实验证、常识推理、人机对话、神经机器翻译、事件提取和文本摘要等任务中广泛应用,如FiD、REALM用于问答,CONCRETE用于事实验证。
    • 代码领域:涵盖代码生成、总结、补全、自动程序修复、文本到SQL和代码语义解析等任务,不同任务采用不同的RAG范式和方法,如SKCODER用于代码生成,Re2Com用于代码总结。
    • 多模态领域:在知识、图像、视频、音频、3D和科学等领域均有应用,如在知识领域用于知识库问答和知识增强开放域问答;在图像领域用于图像生成和图像字幕;在视频领域用于视频字幕和视频问答对话等。
  5. RAG基准测试:多个基准测试从不同维度评估RAG系统,如噪声鲁棒性、负样本拒绝、信息整合、反事实鲁棒性、忠实度、答案相关性和上下文相关性等。
  6. RAG局限与展望
    • 现存局限:存在检索结果有噪声、额外开销大、检索器与生成器存在差距、系统复杂度增加和上下文过长等问题。
    • 未来方向:包括设计新的增强方法、构建灵活的RAG管道、拓展应用领域、实现高效部署和处理、整合长尾和实时知识以及与其他技术结合等。
评估维度评估指标评估基准测试示例
噪声鲁棒性测试LLMs能否从噪声文档中提取必要信息Chen等人提出的RAG基准测试
负样本拒绝评估LLMs在检索内容不足时能否拒绝响应Chen等人提出的RAG基准测试
信息整合检查LLMs能否整合多个检索内容获取知识并响应Chen等人提出的RAG基准测试
反事实鲁棒性判断LLMs能否识别检索内容中的反事实错误Chen等人提出的RAG基准测试
忠实度基于检索内容评估事实准确性RAGAS、ARES、TruLens
答案相关性确定结果是否回答了查询RAGAS、ARES、TruLens
上下文相关性评估检索内容的相关性和简洁性RAGAS、ARES、TruLens

关键问题

  1. RAG的基础范式有哪些,它们是如何增强生成过程的?
    • RAG的基础范式有查询式RAG、潜在表示式RAG、基于logit的RAG和推测式RAG。查询式RAG将检索信息与用户查询整合作为生成器输入;潜在表示式RAG把检索对象作为潜在表示融入生成模型;基于logit的RAG在解码过程中通过logits整合检索信息;推测式RAG利用检索替代部分生成过程以节省资源和加速响应。这些范式从不同角度增强生成过程,提升生成内容的质量和效率。
  2. RAG在不同模态中的应用有何特点?
    • 在文本模态中,广泛应用于多种自然语言处理任务,通过检索相关文本信息辅助生成;代码模态结合检索和生成技术,提升代码相关任务的性能;知识模态利用结构化知识(如知识图谱和表格)进行检索增强;图像模态借助检索提高图像生成和描述的质量;视频模态用于视频字幕生成和视频问答对话等,增强对视频内容的理解和描述;音频模态在音频生成和字幕任务中发挥作用;3D模态应用于3D资产生成;科学领域用于药物发现、生物医学信息增强和数学应用等。不同模态根据自身特点和需求,采用不同的RAG方法和技术,以实现更好的效果。
  3. RAG目前面临哪些挑战,未来有哪些发展方向?
    • RAG目前面临检索结果有噪声、额外开销大、检索器与生成器存在差距、系统复杂度增加和上下文过长等挑战。未来发展方向包括设计新的增强方法,以更好地发挥RAG的潜力;构建灵活的RAG管道,适应复杂任务;拓展应用领域,设计领域特定的RAG技术;实现高效部署和处理,降低检索开销和系统复杂度;整合长尾和实时知识,使RAG能够处理动态信息;与其他技术结合,如微调、强化学习等,进一步提升AIGC的效果 。

相关文章:

综述速读|086.04.24.Retrieval-Augmented Generation for AI-Generated Content A Survey

论文题目:Retrieval-Augmented Generation for AI-Generated Content: A Survey 论文地址:https://arxiv.org/abs/2402.19473 bib引用: misc{zhao2024retrievalaugmentedgenerationaigeneratedcontent,title{Retrieval-Augmented Generation…...

Spring @EnableAutoConfiguration 注解执行过程详解

Spring EnableAutoConfiguration 注解执行过程详解 核心流程 触发自动配置:通过 EnableAutoConfiguration 注解开启自动配置。加载配置类:根据 META-INF/spring.factories 文件加载默认的自动配置类。条件判断:每个自动配置类通过 Condition…...

JavaScript中的Math对象和随机数

目录 一、常用数学方法 1. 数值处理 2. 极值与运算 3. 三角函数(参数为弧度) 4. 对数与指数 5. 常量 二、随机数生成 Math.random() 1. 基础范围控制 2. 整数随机数 三、实际应用场景 1. 随机颜色生成 2. 数组随机排序 3. 概率控制 四、注…...

lxd-dashboard 图形管理LXD/LXC

前言 LXD-WEBGUI是一个完全用AngularJS编写的Web应用程序,无需应用服务器、数据库或其他后端服务支持。只需要简单地托管静态HTML和JavaScript文件,就能立即投入使用。这个项目目前处于测试阶段,提供了直观的用户界面,帮助用户便捷地管理和控制LXD实例。 安装lxd-dashboa…...

python纯终端实现图片查看器(全彩)(windows)

很多人作为命令行爱好者,无法在终端内直接查看图片是无法忍受的, 那就写一个! 先直接上代码 import os import sys from PIL import Image import numpy as np import colorama import msvcrt # Windows专用# 初始化colorama colorama.ini…...

【动态规划篇】- 路径问题

62. 不同路径 题目链接: 62. 不同路径 题目解析: 状态表示 dp[i][j]表示:以[i][j]为终点时,一共有多少种路径。 状态转移方程 以[i][j]最近的几步来分析问题,要么从[i-1][j]位置向下走一步到达[i][j],要么从[i][j-1…...

《新凯来:半导体设备制造领域的“国家队”》

《新凯来:半导体设备制造领域的“国家队”》 一、SEMICON China 爆火出圈:31 款设备背后的 “深圳力量” 1.1 展会现象级热度 在 2025 年 SEMICON China 展会现场,新凯来展台成了整届展会当之无愧的 “顶流”,被来自全球各地的专…...

AI大模型最新发布[update@202503]

OpenAI GPT-4o:多模态,“o”代表Omni,即全能的意思,凸显了其多功能的特性。 多模态交互,GPT-4o可以接受文本、音频和图像的任意组合作为输入,并生成文本、音频和图像的任意组合输出。实时推理能力&#x…...

深入浅出 Embedding

1. 什么是 Embedding? Embedding(嵌入)是一种将高维数据映射到低维连续空间的技术,用于表达数据的语义关系。简单来说,它是一种向量化表示,将文本、图像、用户行为等信息转换为数值向量,使得相似的数据在向量空间中距离更近。 2. 如何理解 Embedding? 2.1 浅显易懂的…...

java项目之基于ssm的乡镇自来水收费系统(源码+文档)

项目简介 乡镇自来水收费系统实现了以下功能: 乡镇自来水收费系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理水表,审核用户更换…...

Java实战:实现用户的登录注册功能

系列文章目录 Java文件 I/O流的操作实战和高级UI组件和事件监听的综合 文章目录 系列文章目录前言一、大致流程思路分析:二、定义用户类:三、服务层的实现: 1.保护用户数据功能的实现2.登录操作的实现 四、实现用户的注册界面: 大…...

Spring AI MCP 架构详解

Spring AI MCP 架构详解 1.什么是MCP? MCP 是一种开放协议,它对应用程序向大语言模型(LLMs)提供上下文信息的方式进行了标准化。可以把 MCP 想象成人工智能应用程序的 USB-C 接口。就像 USB-C 为将设备连接到各种外围设备和配件提供了一种…...

目标识别与双目测距(1)环境搭建:Ubuntu+yolov5+pcl库

环境情况 ubuntu 18.04 → 20.04(最终) 安装Ubuntu1804虚拟机系统 Anaconda:可参考我的另一篇文章 Python 3.6.13 → 3.8(最终)Anaconda3-2021.05 目标识别:YOLOv5相关 1、安装git sudo apt install gi…...

OpenAI API - Agent

文章目录 代理概述模型工具知识与记忆防护栏编排入门 语音代理选择正确的架构语音到语音(多模态)架构链式架构 构建语音代理使用语音到语音架构进行实时处理将音频输入链接到文本处理 → 音频输出 代理 了解如何使用 OpenAI API 构建代理。 https://pl…...

excel 时间戳 转日期

在Excel中,将时间戳转换为日期格式,可以使用以下步骤和方法: 一、了解时间戳 时间戳(Timestamp)通常是从1970年1月1日(UTC时间)开始的秒数或毫秒数。这个时间点被称为“Unix纪元”或“Unix时间…...

Strawberry perl的下载,查询版本号,配置Path环境变量,查找perl解释器的位置

Strawberry Perl 是一个适用于 Microsoft Windows 的 Perl 环境,包含运行和开发 Perl 应用程序所需的一切。它旨在尽可能接近 UNIX 系统上的 Perl 环境。 下载 官网: Strawberry Perl for Windows - Releases 各个版本: Strawberry Perl for Windows - Releases …...

MySQL的基础语法2(函数-字符串函数、数值函数、日期函数和流程函数 )

目录 一、字符串函数 1.常见字符串函数 ​编辑 2.字符串函数的基本使用 3.字符串函数的数据库案例演示 二、数值函数 1.常见数值函数(如下): 2.数值函数的基本使用 3.数值函数的数据库案例演示 三、日期函数 1.常见的日期函数 2.日…...

5G_WiFi_CE_杂散测试

目录 一、规范要求 1、法规目录: 2、限值: (1)带外发射杂散 (2)带内发射杂散 (3)接收杂散 二、测试方法 1、带外发射杂散 (1)测试条件 &#xff08…...

理解Kubernetes中CoreDNS域名解析与DNS策略

CoreDNS是什么 CoreDNS是一个灵活可扩展的DNS服务器,使用Go语言编写,旨在提供快速、灵活的DNS服务 为什么需要CoreDNS CoreDNS为Kubernetes集群内部的DNS解析提供服务,使得服务之间能够通过域名互相通信 Kubernetes集群中, CoreDNS是运行在…...

大数据Spark(五十五):Spark框架及特点

文章目录 Spark框架及特点 一、Spark框架介绍 二、Spark计算框架具备以下特点 Spark框架及特点 一、Spark框架介绍 Apache Spark 是一个专为大规模数据处理而设计的快速、通用的计算引擎。最初由加州大学伯克利分校的 AMP 实验室(Algorithms, Machines, and Pe…...

UI产品经理基础(六):如何解决用户的质疑?

在需求调查中遇到用户质疑“不专业”或“不了解需求”,本质上是用户对产品经理的信任缺失或沟通鸿沟导致的。要化解这种质疑,需从专业能力展示、沟通方式优化、用户参与感提升三个维度切入,结合具体场景采取针对性策略。以下是系统化的解决方…...

【大数据技术】大数据技术概念及概述

1. 大数据概念 数据 是实时或观察的结果是对客观事务的逻辑归纳是用于表示客观事物的未经加工的原始素材 数据的产生 对客观事务的计量和记录尝试的数据 单位换算1 byte8 bit1 k1024 byte1 mb1024 k1 g1024 m1 t1024 g1 p1024 t1 e1024 p1 z1024 e1 y1024 z1 b1024 y1 n10…...

高等数学-第七版-上册 选做记录 习题7-4

1. 2....

Python库()

1.概念 Matplotlib 库:是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像,它使用简单、代码清晰易懂 Matplotlib 图形组成: Figure:指整个图形&#xf…...

AI知识补全(八):多模态大模型是什么?

名人说:人生如逆旅,我亦是行人。 ——苏轼《临江仙送钱穆父》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:AI知识补全(七):AI Agent 智能…...

复习MySQL20250327

第一章 基本操作 一、管理数据库 难点:创建数据库 输入cmd的MySQL安装路径C:\Program Files\MySQL\MySQL Server 8.0\bin 1.查看所有数据库 show databases; 2.创建数据库 create database hsusers default charset utf8 collate utf8_general_ci;create data…...

Docker-MySQL安装-命令解读-常见命令-数据卷挂载-本地目录挂载-自定义镜像-网络-前端部署-DockerCompose

目录 Docker: 安装MySQL: 镜像容器: 镜像仓库: ​编辑命令解读: 镜像命名规范: docker run中常见参数: Docker常见命令: ​编辑数据卷: ​编辑数据卷-操作命令&…...

Docker 安装部署Harbor 私有仓库

Docker 安装部署Harbor 私有仓库 系统环境:redhat x86_64 一、首先部署docker 环境 定制软件源 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repoyum install -y yum-utils device-mapper-persistent-data lvm2…...

linux基本命令(1)--linux下的打包命令 -- tar 和gzip

tar 解压 ,打包 语法:tar [主选项辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: c 创建新的档案文件。如果用户想备…...

Linux 文件系统全解析

笔记整理自 【双语视界】Linux文件系统全解析:从混乱到标准,一览核心目录! 可执行文件目录 /bin(基本系统命令) 包含核心操作系统程序,在系统启动时必须可用,即使没有挂载 /usr 也能运行。 这里…...