0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈Q-Learning在Agent的应用

深度学习自然语言处理 来源:青稞AI 2023-12-02 16:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:周舒畅,AI 工程师

OpenAI 宫斗告一段落,现在到处都在猜 Q* 是什么。本文没有 Q* 的新料,但是会探讨一下 Q-Learning 在 Agent 方面的可能应用。

有趣的分享!LLMs时代下,幻觉、对话、对齐、CoT、Agent和事实性评估等领域的前沿研究

实现 tool 自动选择和参数配置

75b5f30c-90ef-11ee-939d-92fbcf53809c.jpg

经典文字模型

经典的文字模型我们已经很熟悉了:训练时,模型不停的预测下一个 token 并与真实语料比较,直到模型的输出分布非常接近于真实分布。

75c923fa-90ef-11ee-939d-92fbcf53809c.jpg

因为语言模型的局限性(比如搞不定大数计算),所以多家大模型公司走上了语言模型 + 工具的道路。比如 GPT4-turbo 就可以灵活调用网络搜索、Analysis(某种 Python) 这些 tools,来生成 tool response(即网络搜索结果、Python 执行结果),来帮助回答文字问题。

这就引入了一个决策问题,对于一个用户表达(utterance),到底要不要做网络搜索或者调用 Python 来帮助回答呢?如果决策错误,则结果不最优:

•工具的响应结果(tool response)可能无济于事甚至产生误导。比如有一些网络上的玩梗会影响模型对一些基本概念的知识。•工具的调用引入了额外的时间消耗。

因此,好好搞一些标注,训一个“动作决策”模型,能拿到第一波好处。这是有监督学习的思路。这里动作决策模型的输出,是具体的含参数的动作,比如调用网络搜索时,需要给出“是否搜索”和“搜索关键字”两部分信息。因此动作决策模型最好也是个大模型。这么搞的问题,是上限不高,受制于“动作决策模型”的标注质量,并且并没有直接优化“模型输出”,需要人绞尽脑汁来针对模型调整“动作决策模型”的标注来达到最优。比如对于网络搜索,当搜索引擎不同时,需要为“动作决策模型”使用不同的搜索关键字作为标注。

但从另一个角度,虚线框内的部分,仍然是一个文字进文字出的"模型",所以理论上可以用降低输出结果的困惑度的方法,按强化学习(RL)去训练这个复合了工具的“语言模型”。这里因为“动作的决策”不可微,所以来自“模型输出”的梯度只能用 RL 往回传。使用 RL 的具体步骤为:

•利用标注训练“动作决策模型”,使得整体有一定效果,即完成行为克隆(behavior cloning)这一启动步。•用强化学习继续训练整体,即复合了工具的“语言模型”。

Reward 由几项组成:

•利用<用户输入、模型输出>这样的成对数据(格式上接近 SFT 数据),计算困惑度•如果有用户偏好数据,也可以仿照 DPO 构造不同动作间的对比数据项。•把调用工具的时间和成本代价,折算进 Reward

实际,以上相当于使用了 Q-learning 的一个简单变体 DDPG,即假设存在函数映射μ使得μ(当前状态) = 最优工具调用动作与参数 如果不做这个假设,还是使用 Q(s, a) 的形式,则更接近 Reward Model 的搞法。

这里一个附送的好处,是可以做层级强化学习(hierarchical RL),就是说可以在工具调用中嵌套工具调用,比如一个网络搜索中嵌套网络搜索。因为上面在 Reward 里计入了“调用工具的时间和成本代价”,所以优化后的模型不太会出现盲目使用工具的情况。同时 RL 天然能处理多步决策,所以不特别需要研究“多轮交互时的动作决策模型标注“。

引入动态拆分任务

以上的 tool 调用,特别是网络搜索和 Python 执行,主要是为模型输出产生一些参考,因此本质上没有互斥性,就是说各个动作间没有强依赖。我们下面考虑一个动作间有强烈互相影响的场景:“任务拆分”。

当用户输入复杂到一定程度,我们需要引入拆分。静态拆分不需要特殊处理,但是如果希望子任务是跟据动态执行时获得的信息动态调整的,则要引入一个任务栈来进行管理。之前 AutoGPT 即引入了动态拆分子任务,基于语言模型实现了一定的 Agent 能力。但是一直以来 AutoGPT 并没有通过“训练”来加强能力的方法。下面,我们先把 AutoGPT 搬到 RL 里,一个搞法是借助 MCTS(蒙特卡洛搜索树)。

75d92ee4-90ef-11ee-939d-92fbcf53809c.jpg

根结点是当前任务。各个叶子结点有 expandable 和 terminal 两个属性,其中 expandable 结点可以进一步被展开成子任务。注意

•MCTS 里 sibling 结点之间是或关系,选一即可。•MCTS 的 Policy Network 对应上文中的“动作决策”模型。•MCTS 里的 Value Network 可以用一大模型实现,描述当前结点的价值。比如发现当前子任务是死胡同时(如发现模型在用穷举法证明“偶数加偶数还是偶数”时)可以喊停。•上文的工具调用“模型”可以自然地嵌入到这里使用

子任务拆分没什么可用的数据,可以先靠语言模型天赋能力开始。训练数据可以选有明确答案的题,以答对为 Reward。MCTS 的形式特别适用需要回溯的任务(把某种任务分解推倒重来),比如数学计算。

(到这,我们得到了一个用 Q-learning 整体驱动的,自动学习如何拆任务调工具的框架,似乎和 Q* 公开的一些线索对上了一些。)

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Agent
    +关注

    关注

    0

    文章

    163

    浏览量

    28569
  • Q-Learning
    +关注

    关注

    0

    文章

    5

    浏览量

    8354
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89592

原文标题:Q-Learning 在 Agent 的应用

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    《AI Agent应用与项目实战》阅读体验--跟着迪哥学Agent

    、Muti-Agent的形态与组织方式,并对Agent各行各业中的应用进行了精到的列举。 从第二章开始就进入到了实操章节,迪哥带着我们认识了Coze,语聚AI。在此之前,我只会在AI对话框中跟AI
    发表于 03-02 12:28

    【「零基础开发AI Agent」阅读体验】+初品Agent

    一本从知识到实践的具有较高应用价值的书。 封面图 那这本书都向读者介绍哪些内容呢? 入门篇,其涉及的内容有: Agent的概念、发展、Agent与Prompt及copilot的区别、Age
    发表于 04-22 11:51

    【「零基础开发AI Agent」阅读体验】+Agent的工作原理及特点

    感知系统从环境中收集信息并从中提取相关知识的能力,这类包括文本、图像、声音等。 2)规划 规划是指Agent为了实现某一目标而进行的决策过程,该阶段Agent会根据收集的信息制定出一系列策略,并确定
    发表于 05-11 10:24

    【「零基础开发AI Agent」阅读体验】+Agent开发平台

    开发平台支持开发者根据自己的业务场景、功能需求自由配置Agent,通过平台的API、工作流、数据库、知识库等,可以大模型能力既定的情况下,极大地扩展Agent的能力和应用场景。 4)发布灵活性
    发表于 05-13 12:24

    基于Q-Learning的认知无线电系统感知管理算法

    认知无线电系统不仅是一个自适应系统,更应该是一个智能系统。该文将智能控制中的Q-Learning 思想引入到认知无线电系统中,用于解决感知任务认知用户之间的分配问题,给出了
    发表于 03-06 10:46 9次下载

    基于LCS多机器人的算法介绍

    各种增强式学习中,Q-learning 或改进的Q-learning 应用的最多。JonathanH.Connell 和Sridhar Mahadevan Robot
    发表于 10-17 17:43 15次下载
    基于LCS多机器人的算法介绍

    基于Q-learning的码率控制算法

    近年来,各界对多媒体内容传输特别是视频流服务越来越重视。尽力交付的互联网上支持可靠视频流传输,基于HTTP的自适应流(HAS,HTTP adaptive streaming)已经成为视频业务技术
    发表于 01-10 10:29 0次下载
    基于<b class='flag-5'>Q-learning</b>的码率控制算法

    Q Learning算法学习

    Q Learning算法是由Watkins于1989年在其博士论文中提出,是强化学习发展的里程碑,也是目前应用最为广泛的强化学习算法。
    发表于 07-05 14:10 4070次阅读

    浅谈Q-Learning和SARSA时序差分算法

    Q-Learning这一篇对应Sutton书的第六章部分和UCL强化学习课程的第五讲部分。 1. Q-Learning算法的引入 Q-Learning算法是一种使用时序差分求解强化学习控制问题的方法
    的头像 发表于 11-04 14:05 3367次阅读

    基于双估计器的Speedy Q-learning算法

    Q-learning算法是一种经典的强化学习算法,更新策略由于保守和过估计的原因,存在收敛速度慢的问题。 SpeedyQ-learning算法和 Double Q-learning算法
    发表于 05-18 15:51 2次下载

    《自动化学报》—多Agent深度强化学习综述

    Agent 深度强化学习综述 来源:《自动化学报》,作者梁星星等 摘 要 近年来,深度强化学习(Deep reinforcement learning,DRL) 诸多复杂序贯决策问题中取得巨大
    发表于 01-18 10:08 2245次阅读
    《自动化学报》—多<b class='flag-5'>Agent</b>深度强化学习综述

    怎样使用Bevy和dfdx解决经典的Cart Pole问题呢

    解决经典的 Cart Pole 问题有很多种, 作者这里借用 dfdx 这个深度学习的库, 使用 Deep Q-Learning 的方法来解决。
    的头像 发表于 10-26 09:39 1019次阅读

    7个流行的强化学习算法及代码实现

    已被用于游戏、机器人和决策制定等各种应用中,并且这些流行的算法还在不断发展和改进,本文我们将对其做一个简单的介绍。 1、Q-learning Q-learningQ-learning
    的头像 发表于 02-03 20:15 1692次阅读

    7个流行的强化学习算法及代码实现

    作者:SiddharthaPramanik来源:DeepHubIMBA目前流行的强化学习算法包括Q-learning、SARSA、DDPG、A2C、PPO、DQN和TRPO。这些算法已被用于游戏
    的头像 发表于 02-06 15:06 4230次阅读
    7个流行的强化学习算法及代码实现

    浅谈AI Agent的发展阶段

    2025年伊始,有关AI变革潜力的讨论热度正不断攀升。人们对AI的关注焦点正从AI工具转向创建及部署AI Agent今年最新发布的文章中,美国数据分析与AI战略顾问、《信息经济学》作者道格拉斯·B·莱尼将AI Agent的发
    的头像 发表于 02-19 09:50 1465次阅读