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

论文阅读_反思模型_Reflexion

英文名称: Reflexion: Language Agents with Verbal Reinforcement Learning
中文名称: 反思:具有言语强化学习的语言智能体
文章: http://arxiv.org/abs/2303.11366
代码: https://github.com/noahshinn/reflexion
作者: Noah Shinn (Northeastern University)
日期: 2023-10-10

读后感

论文提出了一种强化学习方法。传统的调优主要是通过训练调整网络参数,而文中提出的方法则是“分析”错误,形成反思的“文字”并保存,在之后的决策中,将其作为上下文以帮助决策。

它利用大模型及其周边方法构造了角色的行为、对结果的评价、当不能达成目标时,利用大模型来反思执行过程中具体哪一步出了问题,并将其作为反思存储。这样就构造了基于当前环境的短期存储,和基于反思的长期存储,结合二者使模型在未来做出更好的决策。

可将其视为把之前在棋类游戏中的强化学习扩展到了角色扮演游戏之中。之前的虚拟世界是棋盘,而现在的智能体置身于一个游戏世界;之前的行为是多步棋的组合,现在是多个行为的组合;之前是根据最终输赢为每一步计算奖励值,现在是利用大模型反思出每一步的对错……

这个方法很巧妙,当然也是因为现在有了各种大模型,链式思维的方法,才能支持该方法的实现。

摘要

对于语言代理来说,通过传统的强化学习方法进行试错学习需要大量的训练样本和昂贵的模型微调。论文提出了 Reflexion 框架 ,通过语言反馈而不是更新权重来强化语言代理。Reflexion 足够灵活,可以整合各种类型和来源的反馈信号,实验证明,它在各种任务中取得显著改进。

1. 引言

Reflexion 将环境中的反馈转化为文本摘要,然后将其作为附加上下文添加到下一轮的 LLM 代理中,从以前的错误中学习,以在未来任务中表现更好。这类似于人类如何通过反思以往的失败来形成改进,以便以少量尝试的方式完成复杂任务。

与传统方法相比,Reflexion 具有以下优点:

  • 更为轻量,不需要对 LLM 进行微调
  • 相比于难以进行准确信用分配的标量或向量奖励,它允许更细致的反馈
  • 允许更明确和可解释的情节性记忆形式
  • 为未来的决策提供了更明确的行动提示

其缺点是:

  • 依赖于 LLM 的自我评估能力(或启发式方法)
  • 无法保证成功

文章贡献如下:

• 提出了 Reflexion,一种新的基于语言的强化学习范式,结合了智能体的记忆与 LLM 参数的选择,以优化策略。

• 探索了 LLM 中自我反思的性质,证明自我反思对于少量数据的复杂任务非常有用。

• 引入了包含 40 个具有挑战性的 Leetcode 问题(“困难级别”)的代码生成,涵盖了 19 种编程语言。

• 展示了 Reflexion 在多个任务上相对于强基线方法的改进。

2. 相关工作

略…

3. 方法

  • Actor:角色,使用 LLM 实现,它基于可观察的状态,利用提示生成文本和动作。类似强化学习中的基于策略的方法,在时间步 t,从策略 πθ 中采样一个动作 at,它探索了各种 Actor 模型,包括 COT 和 ReAct,从而丰富了探索空间。
  • Evaluator:评估器,用于评估 Actor 输出的质量。将生成的轨迹作为输入,计算在给定任务上下文中的奖励分数。对于推理任务,探索基于精确匹配(EM)评分的奖励函数;对于决策任务,采用根据特定评估标准的预定义启发式函数;还使用 LLM 的不同实例作为评估器,为决策和编程任务生成奖励。
  • Self-reflection:自我反思,使用 LLM 实现,用于生成基于语言的反思。在给出稀疏奖励信号,如二元状态(成功/失败),当前轨迹及其持久记忆内存。自我反思模型会生成细致入微且具体的反馈,这种反馈相比标量奖励提供更多信息,然后被存储在代理的内存 (mem) 中。如在多步决策任务中,当智能体收到失败信号时,它可以推断出特定动作 ai 导致了后续错误动作 ai+1 和 ai+2。然后,智能体可以用语言声明它应该采取不同的动作 a’ i,这将导致 a’ i+1 和 a’ i+2,并将该经验存储在其记忆中。在随后的试验中,智能体可以利用其过去的经验,通过选择动作 a’ i 来调整其在时间 t 的决策方法。这种尝试、错误、自我反思和持久记忆的迭代过程使智能体能够利用信息反馈信号快速提高其在各种环境中的决策能力。
  • Memory:内存组件,为 Agent 提供额外的上下文。它提供短期记忆和长期记忆。在推理时,Actor 根据短期和长期记忆做出决定,在强化学习设置中,轨迹历史充当短期记忆,而自我反思模型的输出则存储在长期记忆中。这是反思 Agent 相对于其他 LLM 的关键优势。类似于人类记住近期细节的方式,同时也回忆从长期记忆中提炼出的重要经验
  • The Reflexion process:反思过程,如算法 -1 所示的迭代优化过程。在第一次试验中,Actor 通过与环境交互产生轨迹 τ0。然后评估器产生一个分数 r0;rt 是标量奖励;为了放大 r0 ,自我反思模型分析 {τ0, r0} 集合以生成存储在内存 mem 中的摘要 sr0。srt 是对试验 t 的语言反馈。 Actor、Evaluator 和 Self-Reflection 模型通过循环试验协同工作,直到 Evaluator 认为 τt 是正确的。每次试验后 t、srt 都会附加存入 mem。在实践中,通过存储经验的最大数量 Ω(通常设置为 1-3)来限制 mem,从而不超过 LLM 的上下文限制。

4. 实验

4.1 顺序决策制定:ALFWorld

在 AlfWorld 常见家庭环境中的多步任务中,反思使性能提高了 22%。

4.2 推理:HotpotQA

HotPotQA 是一个基于维基百科的数据集,包含 113k 个问题和答案对,代理解析内容并在多个支持文档上进行推理。

论文实现了一个反思 + 思维链的 Agent,它可以使用维基百科 API 检索相关上下文,并使用逐步显式思考推断答案。加入反思在该任务中提升了 20%,

4.3 编程

在 MBPP、HumanEval 和 LeetcodeHardGym 上评估了基准和 Reflexion 方法在 Python 和 Rust 代码编写方面的表现。除了 MBPP Python 1,Reflexion 在所有测试中表现优于所有基准准确性,

相关文章:

论文阅读_反思模型_Reflexion

英文名称: Reflexion: Language Agents with Verbal Reinforcement Learning 中文名称: 反思:具有言语强化学习的语言智能体 文章: http://arxiv.org/abs/2303.11366 代码: https://github.com/noahshinn/reflexion 作者: Noah Shinn (Northeastern University) 日期…...

Redis 数据结构:高频面试题及解析

概述 Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。 键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。 Redis 支持很多特性&…...

蓝桥杯小白赛第一场(1~6)(期望DP)

1、模拟 2、贪心 3、前缀和 4、猜结论 5、双指针 6、期望DP&#xff08;公式有问题已更改&#xff09; 1. 蘑菇炸弹 思路&#xff1a;一个简单的暴力模拟。 #include <bits/stdc.h> using namespace std; int main() {int n;cin >> n;vector<int>a(n…...

房贷背后数学陷阱-蒙特卡洛算法Monte Carlo揭秘断供为何越来越多(硬核收藏)

前几天写了法拍房相关文章&#xff0c;发现国内断供的房屋越来越多。 中国法拍房数量统计预测模型_2023年法拍房数据竟是 2023年中国法拍房用户画像和数据分析 今早花了2个小时&#xff0c;写了蒙特卡洛算法模拟预测按揭贷款断供概率。 先给大家介绍按揭贷款的常用数据。不同…...

spingboot项目实战之若依框架创建新模块

前言 目前的脚手架系统很多&#xff0c;比较早接触诺依框架&#xff0c;以若依框架为参考如何创建新模块 步骤 1. 下载诺依框架&#xff0c;依照参考说明一步步&#xff0c;能做到系统运行起来。 2. 准备好mysql文件&#xff0c;创建新数据库表 3. 数据库管理工具navicat…...

智能优化算法应用:基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.飞蛾扑火算法4.实验参数设定5.算法结果6.…...

3分钟,掌握“曲面屏显示屏”

在3分钟内掌握“曲面屏显示屏”的概念和特点&#xff0c;可以按照以下步骤进行&#xff1a; 一、了解曲面屏显示屏的基本概念 曲面屏显示屏是一种采用柔性塑料的显示屏&#xff0c;主要通过OLED面板来实现。相比直面屏幕&#xff0c;曲面屏幕弹性更好&#xff0c;不易破碎。此外…...

光栅化渲染:光栅化算法实现

光栅化是将图元转换为二维图像的过程。 该图像的每个点都包含颜色和深度等信息。 因此&#xff0c;对图元进行光栅化由两部分组成。 第一个是确定窗口坐标中整数网格的哪些方格被图元占据。 第二个是为每个这样的方块分配颜色和深度值。 &#xff08;OpenGL 规范&#xff09; N…...

Python-Opencv图像处理的小坑

1.背景 最近在做一点图像处理的事情&#xff0c;在做处理时的cv2遇到一些小坑&#xff0c;希望大家遇到的相关的问题可以注意&#xff01;&#xff01; 2. cv2.imwrite保存图像 cv2.imwrite(filename, img, [params]) filename&#xff1a;需要写入的文件名&#xff0c;包括路…...

[LCTF 2018]bestphp‘s revenge

文章目录 前置知识call_user_func()函数session反序列化PHP原生类SoapClient 解题步骤 前置知识 call_user_func()函数 把第一个参数作为回调函数调用 eg:通过函数的方式回调 <?php function barber($type){echo "you wanted a $type haircut, no problem\n";}c…...

HTML中常用表单元素使用(详解!)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML中常用表单元素使用以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题可以在评论区留言 …...

掌握C++模板的艺术:类型参数、默认值和自动推导

掌握C模板的艺术:类型参数、默认值和自动推导 模板参数 类型模板参数 在 Grid 示例中&#xff0c;Grid 模板有一个模板参数&#xff1a;存储在网格中的类型。编写类模板时&#xff0c;您需要在尖括号内指定参数列表&#xff0c;例如&#xff1a; template <typename T&g…...

Unity_使用FairyGUI搭建登录页面

Unity_使用FairyGUI搭建登录页面 1. 使用FairyGUI准备一个UI界面&#xff0c;例如&#xff1a;以下登录 2. 发布导出&#xff08;发布路径设置为Unity的Asset下任何路径&#xff09; 3. Unity编辑器安装FairyGUI包资源&#xff08;在资源商店找见并存储为我的资源&#xff0c;…...

百岁时代即将来临,原知因成为消费新潮流

什么叫长寿时代?泰康保险首席执行官陈东升指出&#xff1a;长寿时代&#xff0c;就是百岁人生即将来临&#xff0c;人人带病长期生存。而在这个时代&#xff0c;人类最大的变化在于“生命尺度的改变”&#xff0c;比如过去20岁是年轻人&#xff0c;40岁中年人&#xff0c;60岁…...

16:00的面试,16:07就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到六月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…...

VUE宝典之el-dialog使用

文章目录 &#x1f341;前言&#x1f341;el-dialog简介&#x1f341;el-dialog属性&#x1f341;el-dialog示例&#x1f341;父子组件值传递示例 &#x1f341;前言 el-dialog是Element UI库中的一个重要组件&#xff0c;用于在Vue应用程序中创建弹出框。它提供了一组实用的属…...

Cocos Creator:坐标系

Cocos Creator&#xff1a;坐标系 坐标系节点位置坐标转换v3.8 实现原理&#xff08;不想了解可以直接跳过&#xff09;简单示例&#xff1a;&#xff08;干货or解决方案在这里&#xff01;&#xff09; 锚点缩放和旋转 总结心得 在 Cocos Creator 3.8 中&#xff0c;节点坐标系…...

logback日志框架使用

依赖引入 <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.7</version> </dependency> 使用logback日志框架只需要引入以上即可&#xff0c;(我们平时使用较多的Slf4j…...

【八】python装饰器模式

文章目录 8.1 装饰器模式简介8.2 装饰器模式作用8.3 装饰器模式构成8.3.1 装饰器模式包含以下几个核心角色&#xff1a;8.3.2 UML类图 8.4 装饰器模式python代码实现8.4.1 基本装饰器的使用8.4.2 多个装饰器的执行顺序8.4.3 带返回值的装饰器的使用8.4.4 装饰器模式-关联类模式…...

Unity-小工具-LookAt

Unity-小工具-LookAt &#x1f959;介绍 &#x1f959;介绍 &#x1f4a1;通过扩展方法调用 gameObject.LookAtTarget&#xff0c;让物体转向目标位置 &#x1f4a1;gameObject.StopLookat 停止更新 &#x1f4a1;可以在调用时传入自动停止标记&#xff0c;等转向目标位置后自…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...