ActiveRAG—主动学习

原文地址:ActiveRAG — Active Learning

2024 年 2 月 26 日

大型语言模型(LLM)的出现开创了对话式人工智能的新时代。这些模型可以生成非常类似人类的文本,并且比以往更好地进行对话。然而,他们仍然面临着仅仅依靠预先训练的知识的局限性。为了提高推理能力和准确性,LLMs需要具备整合外部知识的能力。

检索增强生成(RAG)已成为一种利用外部资源知识增强LLMs的解决方案。RAG 将提取相关知识段落的检索器模块与神经生成器结合起来,根据检索到的上下文生成答案。这允许将事实、概念和关系纳入LLMs固有知识之外。尽管做出了这样的承诺,RAG 仍面临着影响整体答案质量的挑战。

ActiveRAG,它是 RAG 框架的增强版,旨在应对这些挑战。我们将讨论 ActiveRAG 的动机、方法和结果。通过积极构建知识并将其紧密集成到LLMs自身的认知中,与标准 RAG 相比,ActiveRAG 实现了卓越的准确性和解释连贯性。

主动知识构建的必要性

标准 RAG 的一个关键限制是其集成外部知识的被动方法。检索器模块提取潜在相关的段落,这些段落与输入查询连接起来。然后,这种上下文混合会影响LLMs生成答案。

然而,仅仅提供额外的背景并不能确保与LLMs内在知识的紧密结合。该模型将检索到的段落视为松散的事实参考,而不是主动理解和缝合在一起的知识。这体现在几个方面:

  • 知识噪声:检索到的段落经常包含对于回答特定查询无用的无关事实或关系。这提高了LLMs的信噪比,而嘈杂的不相关知识会损害答案质量。
  • 知识脱节:即使与查询相关的上下文也常常缺乏与LLMs现有知识和认知的连贯联系。如果没有明确的联系,整合就会感觉脱节,而不是统一的解释流程。
  • 被动持有:由于对检索到的知识的理解最少,LLMs被动地持有上下文,没有更全面的评估或与自己的知识库进行协调。结果是支离破碎的,而不是混合的理解。

此外,RAG 的被动方法忽视了建构主义的关键原则,建构主义是一种学习理论,认为知识是由学习者主动构建的,而不是被动接受的。人类通过将新信息与现有结构联系起来、建立新的心智模型、通过矛盾进行推理以及调和冲突来构建知识。RAG 放弃了这些对于深度理解至关重要的结构。

ActiveRAG 简介

为了弥补这些差距,ActiveRAG 是对 RAG 的增强,将主动知识构建融入其中。主要原则是:

  • 知识是主动积累的,而不是被动持有的
  • 将外部知识紧密整合到LLMs的内在认知中
  • 通过评估周期协调和完善知识

基于这些原则,ActiveRAG 实现了一个三阶段管道,包括检索、知识构建和答案生成。

知识检索

与 RAG 一样,第一阶段使用密集向量相似度检索查询的潜在相关段落。关键区别在于检索较小的知识“”(1-3 个句子)而不是较长的段落。这可以过滤噪音并增强检索到的上下文的相关性。

知识建构

第二阶段使用检索到的块主动构建知识。四个子组件制定了独特的建构主义功能:

  • 语义关联——根据语义相关性将检索到的知识块与现有知识结构连接起来。这会在现有的认知框架内吸收新信息。
  • 认知锚定——如果检索到的信息与现有知识的语义相关性较低,则建立新的知识参考框架。这扩大了认知边界。
  • 逻辑推理——通过从检索到的内容中得出结论来推断新知识。这构建了解决问题的逻辑链。
  • 认知一致性——识别检索到的块与现有知识之间的冲突。然后它执行解析以加深理解。这可以调和矛盾。

这些组成部分共同模仿了人类的建构主义:将新知识与旧知识联系起来,形成新的心理模型,通过问题进行逻辑推理,并协调冲突的信息。

认知关系

最后阶段将构建的知识整合回LLMs的内在认知中。首先,LLMs根据现有知识生成查询的初始思维流程。接下来,构建的外部知识被动态地注入到这个思维流中以完善理解。

我们将其称为“认知联系”——外部来源的建构知识与LLMs的固有认知的交集。标准 RAG 中不存在这种紧密集成,其知识脱节。

结果

与基线 RAG 相比,在一系列问答任务上评估了 ActiveRAG。一些关键结果:

  • ActiveRAG 通过减少知识噪声和增强推理,将答案准确性比 RAG 提高了约 5%。
  • ActiveRAG 的解释连贯性评级较高,表明检索到的知识与内在认知之间的集成更加紧密。
  • 由于额外的知识构建,延迟增加了约 15%,但抵消了更高的准确性增益。

在LLMs的认知过程中积极构建和吸收知识可以带来更精确的答案和统一的解释流程。

局限性和未来的工作

虽然 ActiveRAG 前景广阔,但在未来的工作中仍存在一些需要解决的局限性:

  • 多级管道增加了延迟,因为知识构建比标准 RAG 增加了 2-3 倍的计算量。这可以通过模型蒸馏和优化来缓解。
  • 构建知识需要多次查询 LLM,从而增加了成本。缓存构建的知识有助于最大限度地减少冗余生成。
  • 在模仿人类的知识构建方面仍然存在差距,例如类比、从示例中学习以及分层构建知识。

未来的工作可以增强ActiveRAG的建构功能,以进一步缩小与人类认知的差距。此外,构建组件和核心LLMs之间更紧密的耦合可以增强流动性。

ActiveRAG 以其主动的方法证明,仅仅检索知识是不够的。在LLMs的内在认知中构建、协调和积极整合知识可以带来更准确和连贯的结果。虽然要达到人类水平的理解力还有很多工作要做,但 ActiveRAG 为解锁隐藏在外部知识资源中的宝藏迈出了宝贵的一步。

结论

最后,标准 RAG 为利用外部知识增强LLMs提供了一个有用但不完整的解决方案。它的被动方式导致了理解的碎片化。ActiveRAG 引入主动知识构建和集成来解决这些差距。通过将构建的知识与内在认知紧密联系起来,ActiveRAG 实现了卓越的准确性和解释连贯性。

在神经网络中模拟人类建构主义学习仍有待探索的前沿。但ActiveRAG 提供了一个前进的学习蓝图——它不把知识视为静态的外部资产,而是将其视为一种有生命力的力量,可以被构建、塑造和编织成理解系统。有了这种积极的精神,人类知识中的宝藏不仅变得更容易获得,而且成为触及认知本身本质的丰富源泉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试宝典-【redis】

目录 1.什么是缓存穿透 ? 怎么解决 ? 2.什么是布隆过滤器 3.什么是缓存击穿 ? 怎么解决 ? 4.什么是缓存雪崩 ? 怎么解决 ? 5.redis做为缓存,mysql数据如何与redis进行同步?(双写) 6.排他锁是如何保证读写、读读互斥的呢? 7.你听说过延…

【万题详解】洛谷P1616 疯狂的采药

题目背景 此题为纪念 LiYuxiang 而生。 题目描述 LiYuxiang 是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对…

什么是yocto基本组件(bitbake,recipes,classes,configuration,layer)

文章目录 1基本组件1.1 bitbake1.2 Recipes1.3 Classes1.4 Configurations2 层的理解2.1 层结构2.2 nxp yocto示例2.3 ti yocto示例1基本组件 1.1 bitbake bitbake,是OpenEmbedded构建系统的核心工具,负责解析元数据,从中生成任务列表,然后执行这些任务。bitbake是一个通…

C# LINQ运算符

LINQ运算符 1. 概述1.1 集合->集合1.1.1 筛选运算符1.1.2 映射运算符1.1.3 连接运算符1.1.4 排序运算符1.1.5 分组运算符1.1.6 集合运算符1.1.7 转换方法:Import1.1.8 转换方法:Export 1.2 集合->单个元素或标量值1.2.1 元素运算符1.2.2 聚合方法1.2.3 数量词 1.3 空->…

【MySQL 系列】MySQL 语句篇_DQL 语句

DQL(Data Query Language),即数据查询语言,用来查询数据记录。DQL 基本结构由 SELECT FROM、WHERE、JOIN 等子句构成。 DQL 语句并不会改变数据库,而是让数据库将查询结果发送结果集给客户端,返回的结果是一…

软考72-上午题-【面向对象技术2-UML】-UML中的图3

一、状态图 1-1、状态图的定义 状态图,展现了一个状态机,由:状态、转换、事件和活动组成,是系统的动态视图。 活动(动作) 可以在状态内执行也可以在状态转换(迁移) 时执行。 状态图强调:行为的事件顺序。 1-2、状态图…

SpringBoot项目如何部署到服务器

文章目录 准备:方式一:Jar包方式(推荐)部署步骤: 方式二:War包方式部署步骤: 总结 准备: 云服务器(阿里云、腾讯云等)Linux系统以及运行所需的环境 方式一&a…

力扣--深度优先算法/回溯算法216.组合总和 Ⅲ

思路分析: 深度优先搜索 (DFS): 通过递归实现,尝试从数字 1 到 9 中选择可能的数字,构建和为 n,长度为 k 的组合。递归函数 dfs: 接收参数:result 为最终结果集,path 为当前正在生成…

AWS认证:云计算领域的卓越里程碑

本文由云计算狂魔公众号提供 随着科技的飞速发展,云计算已成为企业与个人必备的技能之一。亚马逊网络服务(Amazon Web Services,简称AWS)作为全球领先的云计算服务提供商,其认证体系无疑是云计算领域的卓越里程碑。本…

【C++】二叉树进阶之二叉搜索树

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练掌握二叉搜索树,能自己模拟实现二…

Spring Boot的单元测试及示例代码

目录 1、单元测试(非 Web 上下文) 1.1、引入依赖 1.2 编写单元测试类(示例代码) 2、Spring MVC 控制器测试 2.1、创建控制器及映射方法 2.2 编写控制器测试类 Spring Boot 提供了强大的单元测试和集成测试支持,以简化基于 Spring 的应用…

类和对象-继承

师从黑马程序员 基本语法 有些类与类之间存在特殊的关系,例如: 定义这些类时,下一级别的成员除了拥有上一级的共性,还有自己的特性。 这时候我们就可以考虑继承技术,减少重复代码 语法:class 子类&…

RAG模型的挑战与解决方案概览

RAG模型的挑战与解决方案概览 背景: 提取增强生成(RAG)模型通过利用存储在文档中的外部知识来提高生成文本的准确性和相关性,显示出巨大潜力。但这些模型面临着多个挑战,如低质量检索、覆盖率不足、上下文条件化困难、幻觉和制造问题、解释和可解释性缺…

加密流量分类torch实践4:TrafficClassificationPandemonium项目更新

加密流量分类torch实践4:TrafficClassificationPandemonium项目更新 更新日志 代码已经推送开源至露露云的github,如果能帮助你,就给鼠鼠点一个star吧!!! 3/10号更新 流量预处理更新 增加了基于splitCa…

misc49

下载附件是个txt文件,打开发现是个压缩包的头 后缀改成zip后打开 base解码无果,我们尝试字母解码 然后音符解码得到 ❀✿✼❇❃❆❇✿❁❇✻✿❀✾✿✻❀❊❆❃❀❊✻❅❀❄✼❂❊❊✾❇❁✽✽✼❁❂❀❀❀❉❃❂❀❉❃❂❊❊✾✼✻✻❀❆✻✻❀❀✻✻✿…

round四舍五入在python2与python3版本间区别

round()方法返回数值的小数点四舍五入到n个数字。 语法 以下是round()方法的语法: round( x ,n) 参数 x --这是一个数值,表示需要格式化的数值 n --这也是一个数值,表示小数点后保留多少位 返回值 该方法返回 数值x 的小数点四舍五入到n个数字 …

spark 总结

1.spark 配置文件 spark-default.conf spark.yarn.historyServer.address xiemeng-01:18080 spark.history.port18080 hive-site.xml <configuration><property><name>javax.jdo.option.ConnectionURL</name> </property><property>&…

Rust 开源线性代数库 nalgebra_linsys

nalgebra_linsys 是 Rust 中 nalgebra 生态系统的一部分&#xff0c;它专注于线性系统的求解。这个库提供了用于解决线性方程组、最小二乘问题以及进行线性代数系统分析的工具。 nalgebra_linsys 库建立在 nalgebra 库的基础上&#xff0c;nalgebra 本身是一个强大的线性代数库…

支持向量机(SVM)算法基本原理skearn实现

1 什么是支持向量机 支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;是一种用来解决二分类问题的机器学习算法&#xff0c;它通过在样本空间中找到一个划分超平面&#xff0c;将不同类别的样本分开&#xff0c;同时使得两个点集&#xff08;两个…

spring三种配置方式总结

1 XML方式配置总结 所有内容写到xml格式配置文件中声明bean通过<bean标签<bean标签包含基本信息&#xff08;id,class&#xff09;和属性信息 <property name value / ref引入外部的properties文件可以通过<context:property-placeholderIoC具体容器实现选择Class…