【Agent】Agent Q: Advanced Reasoning and Learning for Autonomous AI Agents

1、问题背景

传统的训练Agent方法是在静态数据集上进行监督预训练,这种方式对于要求Agent能够自主的在动态环境中可进行复杂决策的能力存在不足。例如,要求Agent在web导航等动态设置中执行复杂决策。

现有的方式是用高质量数据进行微调来增强Agent在动态环境中的决策能力,但这往往会出现复合错误和有限的探测数据,最终导致结果不够理想。

2、提出方法

Agent Q 框架将蒙特卡洛树搜索(MCTS)和自我批评机制相结合,并采用DPO算法的非策略变体对Agent交互进行迭代微调。从而提升它们在复杂、多步推理任务中的泛化能力。

方法目标:设计了一个在动态交互环境中,允许智能体在自主经验和有限监督下进行改进的方法,采用的方式是将搜索和强化学习相结合的方式。

  1. Web Agent
    让Agent能够使用文档对象模型(DOM)去表示环境状态和活动空间,从而允许在复杂和现实的领域中进行部署。

  2. 强化学习用于LLM和Agent
    (1)PPO算法由于其复杂性和需要大量来自模型的在线样本而具有挑战性,这存在潜在犯错的风险。

(2)Q-Learning和Q-transformer是为自回归Transformer模型设计的离线RL算法,因此可以在预先收集的数据集上安全地进行训练。但这两种方法还没有成功地应用到LLM上。虽然这些方法在token级别的马尔可夫决策过程已经成功地在步骤级别上制订了RL问题,并且这些想法最近已经扩展到了一般的设备控制Agent。但这些算法仍然具有很高的复杂性,并且需要辅助模型,例如值函数等。

因此,本文选用DPO算法,因为它简单且自然的适合基于树搜索的数据的分支。

采用DPO算法的动机:简单且自然的适合基于树搜索的数据的分支性质。

3、框架设计

1. Agent的构建

采用POMDP部分可观察马尔可夫决策过程来建模,POMDP = (O, S, A, T, R, 𝜇0, γ),其中O表示观测空间,S表示未观测的状态空间,A表示活动空间,T(st+1 | st, at)表示过度分布(在本例中是web浏览器的动态),R(s, a)是奖励函数,𝜇0是初始状态分布,γ是折现因子,将其设置为1。
在这里插入图片描述

  • POMDP是最适合建模web交互的框架,原因如下:(1)智能体在不熟悉的新环境需要探索才能定位任务目标,这与任务推理的元强化学习一致。(2)真实的web环境是动态的,每次执行Agent时都需要观察当前状态。

  • 观测空间O:
    由用户提供的指令或者浏览器页面信息组成。

  • 活动空间A:
    基于Agent历史记录h_t的组合,采用的基本方法是带有一些组建和初步规划步骤的ReAct(PlanReAct)。包含以下操作:

    • 规划(第一个动作):根据初始观察采用LLM规划步骤,生成一个顺序执行步骤规划 a1_plan。
    • 推理(之后动作):然后,所有的动作都由一个思考动作组成,构成推理步骤 a1_tht。
    • 环境活动:生成和浏览器的交互指令,这由一组有限的选项操作选项组成 a1_env。例如:CLICK、SCROLL、TYPE。
    • 解释活动:对环境交互作用产生后,会提示模型对其活动进行解释 a1_expl。

在优化模型时,会考虑上述过程的联合似然函数。

对于第一步的操作,基于初始设置的历史信息h_1,结合规划、思考、环境活动和解释活动的似然函数:
在这里插入图片描述

对于后续的操作,删除了规划的似然函数,规划只在第一步活动中被使用,后续都是用思考进行动作组成。

在这里插入图片描述

  • Agent状态空间S:
    Web当前的状态,这一部分是不可观测的。由于LLM的上下文窗口有限,使用完整的Web轨迹(HTML内容、活动动作等)不切实际,因此采用h_t = (a_1, …, a_t-1, o_t)来表示,即所有的历史活动操作和当前浏览器的状态。之前构建的思考和解释活动会作为Agent的内在独白,来充分表示其状态和意图,记录的历史活动更加紧凑,更为连贯。

2. 根据反馈微调语言模型

采用DPO进行训练
在这里插入图片描述

From 𝑟 to 𝑞*: Your language model is secretly a q-function, 2024.中将该算法扩展到具有轨迹偏好的多回合设置中,本论文直接利用这一目标:
在这里插入图片描述

算法实际部署的一个瓶颈是在优化过程中需要参考模型𝜋_ref,这需要更多的计算资源。相反,在论文中,使用了off-policy重播缓冲区稍微修改了算法,该缓冲区聚合了轨迹数据以及生成动作的可能性。在优化步骤中,作者在数据生成(参考)密度下对轨迹元组和相应的似然进行采样,从而消除了对单独参考模型的需要。

3、Agent搜索模块

基于DPO进行监督训练具有改进意义,但论文在只使用DPO训练后,发现模型的错误大部分会出现在因贪婪搜索而陷入局部最优解,因此想到引入蒙特卡洛树搜索MCTS去解决这个问题,赋予Agent额外搜索的能力。

  • 动作空间
    与围棋等场景不同,Web环境中的动作空间是开放式和可变的,因此采用Base模型作为动作-建议分布,并且在每个节点(网页)上采样固定数量K个可能的动作。之后,再遍历下一个网页。
    在这里插入图片描述

  • 动作选择
    动作选择阶段采用MCTS的上置信界限(UCB1)。使用base模型为每个动作生成一个反馈分数,然后要求base模型去对生成的动作进行排序。

论文中为多次迭代查询反馈模型,每次从列表中删除上一次迭代中选择的最佳操作,直到拥有所有操作的完整排名。然后,根据UCB1公式,选择要探索动作:
在这里插入图片描述

其中 N(h𝑡) 是状态 h𝑡 的访问频率,C_exp是一个探索常数。

  • 扩展和反向传播
    基于之前的部分,在浏览器环境中中选择并执行了一个动作后,达到一个新的节点。从选择的状态节点的轨迹开始,使用当前策略的展开轨迹,直至达到一个叶子节点。最后会返回一个奖励R,如果Agent执行成功,则R=1,否则为0。然后,会通过从叶子节点到根节点自下而上更新每个节点的值来反向传播这个奖励,公式如下所示:
    在这里插入图片描述

其中, Q ( h t , a t i ) Q(h_t, a^i_t) Q(ht,ati) 是通过状态 h_t 来选择动作的 a_t 得到的平均奖励值, N ( h t , a t i ) N(h_t, a^i_t) N(ht,ati) 是搜索过程中访问该状态操作对的次数。通过反向传播,会更新这两个值。

  • 用强化学习改善zero-shot性能
    论文中将生成一个偏好对的数据集,其中包含{h𝑡,a𝑤𝑡,a𝑙𝑡},并确保这两个动作都被探索过。论文中在节点级别上优化DPO目标公式:
    在这里插入图片描述

状态-行为值作为平均值:
在这里插入图片描述

其中, Q ~ ( h t , a t i ) \tilde{Q}(h_t, a^i_t) Q~(ht,ati)是通过MCTS反向传播的经验估计值, Q ^ ( h t , a t i ) \hat{Q}(h_t, a^i_t) Q^(ht,ati)是过程监督AI模型基于动作a_t排序的估计值。然后,在高于某个阈值 ∣ Q ( h t , a ω ) − Q ( h t , a t l ) ∣ ≥ θ t h r e s h o l d |Q(h_t, a^{\omega}) - Q(h_t, a_t^l)| ≥ \theta_{threshold} Q(ht,aω)Q(ht,atl)θthreshold 的动作对上作为偏好。

* MCTS引导DPO流程

在这里插入图片描述

4、实验设置

评测集:

(1)WebShop基准,一个模拟的电子商务平台。有一组12087个与定义任务,论文中将其分为11000个任务的训练集,用于Agent微调,1087个任务,用于zero-shot评估。

(2)OpenTable,一个现实世界的预订网站。

基座模型:xLAM-v0.1-r(基于Mixtral-8x7B-Instruct-v0.1模型在Agent应用数据上微调的模型)、Llama3-70B

对比方法:RFT强化学习微调、DPO、人类平均水平、人类专家水平

实验数据:WebShop:预订酒店数据集。OpenTable:相比于WebShop更为复杂, 牵扯到页面跳转等复杂操作。

5、实验效果

(1)WebShop
在这里插入图片描述

本次实验所有的基座模型都是xLAM-v0.1-r,采用DPO算法进行微调后效果较为明显,从28.6%到40.6%。DPO+BeamSearch对于DPO后没有明显的提升效果。采用AgentQ后,从28.6%到41.5%。仅使用MCTS效果甚至超过了微调的方式,到达了48.4%,说明Web交互环境中对于动作的选择是否能考虑到全局最优策略是对性能的提升具有很大帮助。当AgentQ和MCTS进行结合后,超过了人类平均水平(50%)达到了50.5%,但低于专家水平59.6%。

(2)OpenTable

在这里插入图片描述

使用GPT-4-V作为评估期,根据最终观察和动作历史对Agent的性能提供反馈信息,得到成功分数。模型将得到一个浓缩的轨迹执行历史和最终状态的屏幕截图,成功指标是0或1。

在这里插入图片描述

在真实网站环境中的实验结果中,xLAM模型成功率为0%,很大程度是因为在没有遵循用于实时网站的说明。上一个试验数据集WebShop由于简化了网站环境,而xLAM的训练集中可能含有部分相关数据,导致判定影响。

之后,均采用LlaMA-3 70B作为基座模型。RFT方法中使用了600个成功的操作轨迹进行了一轮RFT训练,成功率从18.6%到达67.2%。使用DPO方法成功率从18.6%到71.8%。采用AgentQ方式达到了81.7%。采用RFT+MCTS达到84.3%,这里注意到一点,这个试验数据集中中没有采用只用MCTS的方式,可能只用该方式对于这种真实环境下效果一般,而导致一般的原因则可能出现在更需要一些规划、动作和评判等推理能力的支持。当采用AgentQ+MCTS方法时候可以看出提升最明显, 达到95.4%。比只有AgentQ高出13.7%,比RFT+MCTS高出11.1%。

文中最后的探讨:

1、设计推理能力:Web Agent的核心挑战是推理能力弱,从而限制了agent的探索和搜索策略。采用单独的评论家模型对过程进行监督,并让其对可能的agent动作进行排序。

2、选择搜索算法:采用MCTS的原因是因为该方法在数学和代码推理任务重取得了成功,但在实时环境下可能会存在一些交互风险,例如:在网页上执行一些不可控的操作。对于未来探索更多的搜索算法很有意义,目前有一种前沿的方式是用元强化学习直接学习在推理任务中进行最佳搜索和探索。

3、zero-shot和搜索结果之间的差异:Large language monkeys: Scaling inference compute with repeated sampling 和 Scaling llm test-time compute optimally can be more effective than scaling model parameters 研究了这两个差异之间的权衡和影响。

4、线上的安全和交互:Agent在在线实时任务时,如果犯错,可能会造成难以修复或者你转的错误,特别是对安全至关重要的在线交易等产经。这限制了AgentQ可部署的应用场景,可能需要额外的安全评论家模型和人类的简单干预设置。

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

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

相关文章

vector 常见函数

目录 一.vector 构造函数 二 . Iterators 迭代器(random access iterator) 三.Capacity: 空间 3.1 resize 3.2 reserve 四.Element access: 元素访问 方式 4.1 operator[] 类似于数组的 [] 4.2 front 和back 五.Modifiers: 六.vector 的 二…

18、Gemini-Pentest-v2

难度 中 目标 root权限 一个flag 靶机启动环境为VMware kali 192.168.152.56 靶机 192.168.152.63 信息收集 web测试 访问80端口 上面介绍了一下这个系统是一个内部系统,让员工查看他们的个人资料还可以导出为PDF 页面还有一个链接是UserList可以访问但是页面什…

ES数据写入过程

1. 写入请求 当一个写入请求(如 Index、Update 或 Delete 请求)通过REST API发送到Elasticsearch时,通常包含一个文档的内容,以及该文档的索引和ID。 2. 请求路由 协调节点:首先,请求会到达一个协调节点…

微服务日常总结

1.当我们在开发中,需要连接多个库时,可以在yml中进行配置。 当在查询的时候,跨库时,需要通过DS 注解来指定,需要yml配置需要保持一致。 2. 当我们想把数据存入到clob类型中,需要再字段 的占位符后面加上j…

Zookeeper 官方示例2-SyncPrimitive 代码解读(二)

测试命令 java jar .\ZookeeperDemo-0.0.1-SNAPSHOT.jar bTest 192.168.206.100:2181 2 1. Barrier(阻塞原语) 1.1 概念 [!quote] A barrier is a primitive that enables a group of processes to synchronize the beginning and the end of a comput…

vulhub xxe靶机

先用御剑扫描出ip然后进入网页 进入robots.txt里面会发现俩个目录然后我们进去xxe里面 进入xxe页面进行登录&#xff0c;burp抓包 然后进入重放器 可以看到关于密码和用户名的是xml,那么就可以考虑用xxe注入 <?xml version"1.0" ?> <!DOCTYPE r [ <!…

监视SQL Server 内存使用量

文章目录 I 监视SQL Server 内存使用量确定页生存期确定当前的 SQL Server 内存利用率有关当前分配内存的信息II 等待资源池 %ls (%ld)中的内存资源来执行该查询时发生超时。 请重新运行查询。原因查看服务器级别设置的超时值资源信号灯 DMV sys.dm_exec_query_resource_semaph…

IP网络广播系统(IP网络广播系统是什么及它的优势与应用)

一、引言 在当今数字化的时代&#xff0c;音频传播技术也在不断革新。IP网络广播系统作为一种先进的音频传输解决方案&#xff0c;正逐渐在各个领域发挥重要作用。那么&#xff0c;究竟什么是IP网络广播系统呢&#xff1f;它又有着怎样独特的优势和广泛的应用呢&#xff1f;本…

深度学习(二)-损失函数+梯度下降

损失函数 损失函数&#xff08;Loss Function&#xff09;&#xff0c;也有称之为代价函数&#xff08;Cost Function&#xff09;&#xff0c;用来度量预测值和实际值之间的差异。 损失函数的作用 度量决策函数f&#xff08;x&#xff09;和实际值之间的差异。 作为模型性能…

检测CSRF漏洞的工具

免责声明此文档仅限于学习讨论与技术知识的分享&#xff0c;不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;本文作者不为此承担任何责任&#xff0c;一旦造成后果请自行承担&…

二百五十九、Java——采集Kafka数据,解析成一条条数据,写入另一Kafka中(一般JSON)

一、目的 由于部分数据类型频率为1s&#xff0c;从而数据规模特别大&#xff0c;因此完整的JSON放在Hive中解析起来&#xff0c;尤其是在单机环境下&#xff0c;效率特别慢&#xff0c;无法满足业务需求。 而Flume的拦截器并不能很好的转换数据&#xff0c;因为只能采用Java方…

javascript数据结构与算法-- 二叉树

javascript数据结构与算法-- 二叉树 树是计算机科学中经常用到的一种数据结构。树是一种非线性的数据结构&#xff0c;以分成的方式存储数据&#xff0c;树被用来存储具有层级关系的数据&#xff0c;比如文件系统的文件&#xff0c;树还被用来存储有序列表。我们要研究的是二叉…

IObit Uninstaller Pro v13.6.0.5 绿色便携免安装版本 下载

功能非常强大好用的软件卸载清理工具 下载地址(资源制作整理不易&#xff0c;下载使用需付费&#xff0c;不能接受请勿浪费时间下载) 链接&#xff1a;https://pan.baidu.com/s/1I7lbixooii9ezSrp3X-y-w?pwd716l 提取码&#xff1a;716l

d3dcompiler_47.dll缺失的可能原因多种多样,那么d3dcompiler_47.dll缺失怎么修复

在数字世界的深处&#xff0c;d3dcompiler_47.dll文件扮演着至关重要的角色&#xff0c;它是Direct3D编译器的一部分&#xff0c;负责处理图形渲染和游戏运行中的关键任务。然而&#xff0c;当用户启动某个程序或游戏时&#xff0c;屏幕上突然弹出的错误提示“d3dcompiler_47.d…

苹果手机勿扰模式怎么关闭?4个方法快速关闭!

我们为了提升做事的效率以及保障休息的质量&#xff0c;在认真工作和学习&#xff0c;或者是晚上休息的时候&#xff0c;通常会打开苹果手机的勿扰模式。但当我们需要恢复苹果手机的消息通知时&#xff0c;苹果手机勿扰模式怎么关闭呢&#xff1f;今天&#xff0c;小编整理了4个…

机械学习—零基础学习日志(概率论总笔记2)

正态分布 高斯分布也叫做正态分布。假定事件A经过n次试验后发生了k次&#xff0c;把k的概率分布图画一下&#xff0c;就得到了一个中间鼓起&#xff0c;像倒扣的钟一样的对称图形。 18世纪&#xff0c;数学家棣莫弗和拉普拉斯把这种中间大&#xff0c;两头小的分布称为正态分布…

厨师帽佩戴识别摄像机

厨师帽佩戴识别摄像机 是一种用于识别厨师是否佩戴帽子的智能设备&#xff0c;其作用在于强制执行食品安全卫生标准&#xff0c;防止头发掉落入食物中。该摄像机利用人工智能和图像识别技术&#xff0c;能够识别厨师是否佩戴厨师帽。当摄像机检测到厨师未佩戴帽子时&#xff0c…

微信小程序中Towxml解析Markdown及html

一、Towxml Towxml 是一个让小程序可以解析Markdown、HTML的解析库。 二、引入 2.1 clone代码 git clone https://github.com/sbfkcel/towxml.git2.2 安装依赖 npm install2.3 打包 npm run build2.4 引入文件 将dist文件复制到微信小程序根目录&#xff0c;改名为towx…

Flutter中的Key

在Flutter 中&#xff0c;Key 是 几乎所有 widget 都具有的属性。为什么 widget 具有 Key 呢&#xff1f;Key的作用是什么&#xff1f; 什么是 Key Key是Widget、Element 和 SemanticNodes 的标识符。 Key 是Widget、Element 和 SemanticNodes的唯一标识。例如对于 Widget 在 …

数据结构之 “单链表“

&#xff08;1&#xff09;在顺表表中&#xff0c;如果是头插/删的时间复杂度是O(1)&#xff1b;尾插/删的时间复杂度是O(N) &#xff08;2&#xff09;增容一般是呈2倍的增长&#xff0c;势必会有一定的空间浪费。比如&#xff1a;申请了50个空间&#xff0c;只用了两个&#…