[论文阅读]ReAct: Synergizing Reasoning and Acting in Language Models

ReAct: Synergizing Reasoning and Acting in Language Models

[2210.03629] ReAct: Synergizing Reasoning and Acting in Language Models

ICLR 2023

这是一篇在2022年挂出来的论文,不要以现在更加强大且性能综合的LLM来对这篇文章进行批判。

思想来源于作者对人类行为的分析:在人类从事一项需要多个步骤的任务时,而步骤和步骤之间,或者说动作和动作之间,往往会有一个推理过程

以做一道菜为例,切好菜和打开煤气之间,有一个这样的推理,或者说内心独白:"现在我切好菜了,后面要煮菜了,我需要打开煤气。"在做菜过程中,如果发生意外,发现没有盐时,有这样一个推理:"没有盐了,今天我就用胡椒粉调味",然后我们就会去拿胡椒粉。

基于这样的洞察,作者提出的方法:让大模型把内心独白说出来,然后根据独白做相应的动作来提高LLM答案的准确性。

乍一看,好像就是思维链COT方案,但是实际上是融合了动作执行,比如主动去搜索引擎搜索答案、翻阅文档等

就像下面图1中,

直接询问LLM,得到的是iPod这个作物的答案

使用思维脸:答案错误,思维脸的范式也是在胡编乱造,因为模型内部参数并不知道正确的答案,COT也只是猜想结果

使用动作范式:隐式推理,对LLM的推理能力要求很高,因为直接隐去了思考过程,只去执行一些动作。在当时,单纯使用LLM本体的推理能力是无法得到正确答案的,因此这篇文章有很高的价值,不要使用当今的价值观评判当时背景下的成功。

最后是ReAct方案:reasoning+action,推理+动作。显示推理,加之以动作,让AGENT自主找到了答案,就像一个笨孩子需要把想法写出来,综合考虑所有 的想法和观察结果然后做处动作,从结果上看是可以的,因为找到了正确答案。

这项工作提出了一种通用的范式,将推理和行动与语言模型相结合,以解决各种语言推理和决策任务。
图 1: (1) 4 种提示方法的比较,(a) 标准,(b) 思维链 (CoT,仅推理),(c) 行动 仅,和 (d) (推理+行动),解决 HotpotQA (Yang 等人,2018) 问题。 (2) (a) 行动 仅和 (b) 提示的比较,用于解决 AlfWorld (Shridhar 等人,2020b) 游戏。 在这两个领域中,我们省略了提示中的上下文示例,并且只显示了模型 (行动,想法) 和环境 (观测) 生成的任务求解轨迹。

提示 LLM 以交错的方式生成与任务相关的语言推理痕迹和行动,这允许模型执行动态推理来创建、维护和调整用于行动的高级计划(推理以行动),同时还与外部环境(例如维基百科)交互以将附加信息纳入推理(行动以推理)。

集成推理+行动

对于一个和周围环境进行交互来解决任务的agent,某一个时刻t,agent从环境中得到了观察结果ot∈𝒪,并且遵循策略 π​(at|ct) 采取动作 at∈𝒜,其中 ct=(o1,a1,⋯,ot−1,at−1,ot) 是agent的上下文(context)。

当ct↦at的映射是隐形的并且需要大量计算时,学习一个策略是有挑战的。 比如在上图的(1c)和(2a)都没有执行最终的正确动作。

而ReAct的思想很简单:将agent的动作空间增强变成 行动空间与语言空间的并集 。一个属于语言空间的动作a^t∈ℒ,被称为thought 或reasoning trace,它不影响外部环境,因此也不会有观察反馈。一个thought a^t​意在对现有上下文c_t推理来组合出有用的信息,并更新上下文c t + 1 = ( c t , a^t)以支持将来的推理或动作。

在上面的图1中,有用的thought的类型不定:

  • 拆分任务目标和创建行动计划(2b,Act 1; 1d, Thought 1)
  • 注入解决任务相关的常识知识(2b, Act 1)
  • 从观察中抽取重要的信息(1d, Thought2,4)
  • 跟踪进度和行动计划(2b, Act8)
  • 处理异常和调整行动计划(1d, Thought 3)等等

因为语言空间L是无限的,从这个增强空间学习是困难的并且需要很强的语言先验知识。在本文中,作者主要使用语言模型:PaLM-540B,在解决任务时使用few-shot上下文例子prompt模型来生成领域相关的动作或者thought,比如上面图中的(1d),(2b)。

每一个上下文例子是人工生成的用来解决任务实例的动作、thoughts和环境观察的轨迹

对于推理更重要的任务(上图中的(1)),作者交替生成思考和动作,所以任务轨迹是包括多个"thought-action-observation"步骤。 而对于像上图中的(2)的决策任务会涉及到很多动作,thoughts只需要在轨迹中最相关位置稀疏的出现,所以作者们让语言模型自行决定thought和动作的异步发生。

因为ReAct包括决策和推理能力,所以作者们认为它有几个独特特征:

  • 直观且易于设计:人类标注员将自己采取动作时的想法写上就可以了,没有特别的格式要求。
  • 通用且灵活:因为不限格式,thought空间也没有限制,所以适用且不限于各种任务:QA、事实验证、文字游戏、网页浏览等。
  • 高效且健壮: 只用1-6个上下文例子,ReAct对新的例子显示出强的泛化性,在不同领域内相比于只推理或只行动的基线效果都更好。
  • 与人类一致且可控: ReAct的轨迹是可解释的,人很容易检查推理和事实的准确性。并且在过程中人也可以编辑thought来进行控制和纠正agent的行为

后续就是在知识密集型推理任务和决策任务上面进行实验

相关推荐
Wendy144131 分钟前
【灰度实验】——图像预处理(OpenCV)
人工智能·opencv·计算机视觉
中杯可乐多加冰42 分钟前
五大低代码平台横向深度测评:smardaten 2.0领衔AI原型设计
人工智能
无线图像传输研究探索1 小时前
单兵图传终端:移动场景中的 “实时感知神经”
网络·人工智能·5g·无线图传·5g单兵图传
Aronup1 小时前
NLP学习开始01-线性回归
学习·自然语言处理·线性回归
zzywxc7872 小时前
AI在编程、测试、数据分析等领域的前沿应用(技术报告)
人工智能·深度学习·机器学习·数据挖掘·数据分析·自动化·ai编程
铭keny2 小时前
YOLOv8 基于RTSP流目标检测
人工智能·yolo·目标检测
墨尘游子3 小时前
11-大语言模型—Transformer 盖楼,BERT 装修,RoBERTa 直接 “拎包入住”|预训练白话指南
人工智能·语言模型·自然语言处理
金井PRATHAMA3 小时前
主要分布于内侧内嗅皮层的层Ⅲ的网格-速度联合细胞(Grid × Speed Conjunctive Cells)对NLP中的深层语义分析的积极影响和启示
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·知识图谱
天道哥哥3 小时前
InsightFace(RetinaFace + ArcFace)人脸识别项目(预训练模型,鲁棒性很好)
人工智能·目标检测
幻风_huanfeng3 小时前
学习人工智能所需知识体系及路径详解
人工智能·学习