09MARL深度强化学习policy gradient

news2025/1/11 5:49:25

文章目录

  • 前言
  • 1、Multi-Agent Policy Gradient Theorem
  • 2、Centralised State-Value Critics
  • 2、Centralised Action-Value Critics

前言

Independent learning算法当中每个智能体看待其他智能体为环境的一部分,加剧了环境非平稳性,而CTDE框架的算法能够降低环境的非平稳性,本文记录如何将CTDE框架应用到策略梯度算法当中

1、Multi-Agent Policy Gradient Theorem

单智能体策略梯度算法的基础是策略梯度理论,定义了多种更新策略参数的规则,参数化策略的梯度质量由期望回报决定,形式化如下:
在这里插入图片描述
在MARL设定环境当中,根据梯度理论得到多智能体策略梯度理论,智能体i对应其他智能体的策略梯度如下:
在这里插入图片描述
在独立学习算法当中已经存在一些多智能体策略梯度的算法,在这些算法当中,智能体i的期望回报由Q函数评估,而Q函数只与智能体i自身的观测与动作有关;而CTDE框架中,期望回报的评估由中心化的信息(全局信息)决定,也就是通过环境的全部信息与所有智能体的动作评估价值函数进而采用策略梯度进行更新

2、Centralised State-Value Critics

为了在CTDE框架下应用AC算法,因此需要考虑actor和critic网络,actor网络被定义为 π ( h i t ; ϕ i ) \pi(h_{i}^{t};\phi_{i}) π(hit;ϕi)actor网络只需要局部观测历史去选择相应的动作,因此能够做到去中心化执行,然而critic网络定义为 V ( s t ; θ i ) V(s^{t};\theta_{i}) V(st;θi),在训练期间利用全局信息来近似智能体i的价值函数,在执行阶段critic网络则被抛弃
==优势:==网络能够利用全局的状态,利用了更多的环境与其他智能体的信息,在局部可观测的环境当中,应用联合历史观测序列近似全局的环境信息,降低非平稳性的影响

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、Centralised Action-Value Critics

上述Centralised State-Value Critics网络是基于状态价值函数进行评估的算法,因此能否采用Action-Value函数进行代替,动作价值函数不仅仅与当前状态的价值函数评估有关,同时与智能体的动作有关
为了训练一个中心化的动作价值函数的Critic网络应用到多智能体AC算法当中,首先每个智能体i根据自身的局部观测历史训练出策略网络(actor),对于critic网络,每个智能体i使用全部状态信息与所有智能体的动作训练 Q i Q_i Qi网络,如果全局信息不可观测,则采用联合观测历史序列代替,训练中心critic网络的损失函数如下:
在这里插入图片描述
actor网络的策略损失函数如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

==问题:==为什么不采用类似于DQN的算法训练action-value critic
在多智能体策略梯度理论要求评估当前策略下所有智能体的期望回报,而DQN算法应用经验回收池中的经验进行训练,这些经验并不能反应当前策略下的数据分布,因此DQN直接训练critic网络近似最优回报,而非当前策略下的期望回报

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

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

相关文章

量子计算:数据安全难题

当今数字技术面临的最大挑战之一是安全系统和数据。为此,人们设计了复杂的算法来加密数据并通过称为对称加密的框架来保护数据。虽然这已被证明是成功的,但量子计算的进步(利用量子力学比传统计算机更快地解决复杂问题)可能会彻底…

http协议工具:apache详解

目录 一、常见的http服务程序 1、 Apache HTTP Server 介绍 1.1 apache 概念 1.2 apache 功能 1.3 apache 特性 2、MPM(multi-processing module)工作模式 2.1 prefork 2.2 worker 2.3 event 二、Apache HTTP Server安装和相关文件 1、安装方…

如何用GPT进行论文写作?

一:AI领域最新技术 1.OpenAI新模型-GPT-5 2.谷歌新模型-Gemini Ultra 3.Meta新模型-LLama3 4.科大讯飞-星火认知 5.百度-文心一言 6.MoonshotAI-Kimi 7.智谱AI-GLM-4 二:GPT最新技术 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#x…

彻底解决关于路由的问题,前端路由和服务端路由,history api 和 hash路由

首先路由分成两大块,分别是前端路由和服务端路由,而前端路由又分为两种模式,分别是 histroy api 模式和 hash 模式。 路由 前端路由:指在浏览器中进行路由控制的一种方式,通过监听 url 变化决定加载哪个页面组件或视图…

升级nodejs后服务器发生兼容性问题,怎么回退到之前的版本?

首先下载nvm 发布 coreybutler/nvm-windows (github.com) 安装好之后打开终端,可以查看当前版本 nvm list 安装你想要回退到的版本 nvm install 18.17.0 nvm use 18.17.0 出现这个之后完成

NestJS入门6:日志中间件

前文参考: NestJS入门1 NestJS入门2:创建模块 NestJS入门3:不同请求方式前后端写法 NestJS入门4:MySQL typeorm 增删改查 NestJS入门5:加入Swagger 1. 安装 nest g middleware logger middleware​ ​ ​ 2. lo…

java导出动态下拉框excel模板

1.原始模板 2.导出模板,下拉框为数据库中得到动态数据 public void downloadTemplate(HttpServletResponse response) throws IOException {// 所有部门List<String, String> departments expertManageMapper.selectAllDepartment();//所有职位List<String, String&g…

3ds Max视频怎么渲染 3ds Max云渲染操作

在3ds Max软件中制作视频动画本质上是逐帧生成画面&#xff0c;并将这些连续帧串联起来创造出动态连贯的视觉效果。常见的视频帧率包括25 FPS(每秒帧数)、60 FPS、以及120 FPS等&#xff0c;帧率的提升可以使视频动画更加流畅。在实质上&#xff0c;视频渲染就是动画渲染&#…

【深度优先搜索】【树】【状态压缩】2791. 树中可以形成回文的路径数

作者推荐 【深度优先搜索】【树】【有向图】【推荐】685. 冗余连接 II 本文涉及知识点 深度优先搜索 树 图论 状态压缩 LeetCode:2791. 树中可以形成回文的路径数 给你一棵 树&#xff08;即&#xff0c;一个连通、无向且无环的图&#xff09;&#xff0c;根 节点为 0 &am…

【Hudi】Upsert原理

17张图带你彻底理解Hudi Upsert原理 1.开始提交&#xff1a;判断上次任务是否失败&#xff0c;如果失败会触发回滚操作。然后会根据当前时间生成一个事务开始的请求标识元数据。2.构造HoodieRecord Rdd对象&#xff1a;Hudi 会根据元数据信息构造HoodieRecord Rdd 对象&#xf…

多维时序 | Matlab实现BiLSTM-MATT双向长短期记忆神经网络融合多头注意力多变量时间序列预测模型

多维时序 | Matlab实现BiLSTM-MATT双向长短期记忆神经网络融合多头注意力多变量时间序列预测模型 目录 多维时序 | Matlab实现BiLSTM-MATT双向长短期记忆神经网络融合多头注意力多变量时间序列预测模型预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.多维时序 | Matlab…

ClickHouse快速上手

简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS) 官网(https://clickhouse.com/docs/zh)给出的定义&#xff0c;其实没看懂 特性 ClickHouse支持一种基于SQL的声明式查询语言&#xff0c;它在许多情况下与ANSI SQL标准相同。使用时和MySQL有点相似&#…

vue 实现docx文件在线预览

预览请求步骤&#xff1a; 准备一个需要预览的文件地址【如:https://usdoc.cn/vw/文件模板.docx】GET 参数到请求地址将拼接好的地址放在浏览器中&#xff0c;开始预览 请求地址&#xff1a;https://vw.usdoc.cn/ 请求方式&#xff1a;GET 请求参数: 字段名称字段类型必填参数…

C++ bfs 的状态表示(六十二)【第九篇】

今天我们来学习一下bfs的复杂状态表示 1.bfs状态表示 无论是深度优先搜索还是广度优先搜索&#xff0c;搜索的过程均会建立一棵 搜索树&#xff0c;搜索树上的每一个结点都是一个 状态&#xff0c;而搜索的过程又可以看作是 状态的转移。 对于 BFS&#xff0c;搜索过程中产生…

测试C#调用Emgucv读取并显示视频文件

微信公众号“CSharp编程大全”的文章《C# 视频播放》介绍了基于emgucv读取视频文件并播放的用法&#xff08;百度文章名没有找到对象的文章地址&#xff0c;有兴趣的可以在微信中搜索该公众号并查看文章具体内容&#xff09;&#xff0c;本文学习并测试Emgucv播放视频文件的基本…

“成像光谱遥感技术中的AI革命:ChatGPT应用指南“

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境&#xff0c;是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型&#xff0c;在理解和生成人类语言方面表现出了非凡的能力。本课程重点介绍ChatGPT在遥感中的应用&#xff0c;人工智…

ChatGPT在数据分析面试阶段的应用

ChatGPT在数据分析面试阶段的应用 ​ ChatGPT不仅在岗位了解阶段和学习阶段有用&#xff0c;在面试阶段也很有用。我们可以利用ChatGPT确定应聘目标、优化简历、准备面试。 1.1 确定应聘目标 ​ 在准备应聘之前&#xff0c;可以利用ChatGPT解读招聘信息、了解目标公司的福利…

Atcoder ABC340 E - Mancala 2

Mancala 2&#xff08;曼卡拉 2&#xff09; 时间限制&#xff1a;2s 内存限制&#xff1a;1024MB 【原题地址】 所有图片源自Atcoder&#xff0c;题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例输入1】 …

架构(十四)动态Groovy脚本

一、引言 最近作者的平台项目需要实现前端输入脚本&#xff0c;后端在用户设置好的一些情况下运行这段脚本。后端是java&#xff0c;所以我们采用Groovy脚本。 所以要实现的功能就是动态的Groovy脚本&#xff01; 二、Groovy介绍 了解groovy和python的就可以直接到第三章了 2…

【git】提交信息写错了,使用 amend 或者 reset 修改最近一次的提交信息 ,修改上上次/以前的提交信息

如果你的提交信息写错了&#xff0c;比如下面&#xff0c;你想修改【初始化项目】这5个字 修改最近一次的提交新的两个办法 &#xff08;1&#xff09;使用 reset 把这个提交重置&#xff0c;然后重新提交&#xff0c;reset 的使用方法请参考这篇文章。但是 reset 这种方法只能…