09MARL深度强化学习policy gradient

文章目录

  • 前言
  • 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.rhkb.cn/news/260948.html

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

相关文章

HTTP的详细介绍

目录 一、HTTP 相关概念 二、HTTP请求访问的完整过程 1、 建立连接 2、 接收请求 3、 处理请求 3.1 常见的HTTP方法 3.2 GET和POST比较 4、访问资源 5、构建响应报文 6、发送响应报文 7、记录日志 三、HTTP安装组成 1、常见http 服务器程序 2、apache介绍和特点 …

工具分享:在线键盘测试工具

在数字化时代,键盘作为我们与计算机交互的重要媒介之一,其性能和稳定性直接影响到我们的工作效率和使用体验。为了确保键盘的每个按键都能正常工作,并帮助用户检测潜在的延迟、连点等问题,一款优质的在线键盘测试工具显得尤为重要…

QT设置窗口随窗体变化(窗口文本框随窗体的伸缩)

目录 1.建立新窗口2.最终效果 1.建立新窗口 1)在窗体中创建一个 textBrowser,记录坐标及宽高 X-100 Y-130 宽-571 高-281,窗体宽高800*600; 2)在.h头文件中插入void resizeEvent(QResizeEvent *event) override;函数 …

如何系统地自学Python?

如何系统地自学Python? 如何系统地自学Python?1.了解编程基础2.学习Python基础语法3.学习Python库和框架4.练习编写代码5.参与开源项目6.加入Python社区7.利用资源学习8.制定学习计划9.持之以恒总结 如何系统地自学Python? 作为一个Python语…

【MySQL】如何处理DB读写分离数据不一致问题?

文章内容 1、前言读写库数据不一致问题我们如何解决?方案一:利用数据库自身特性方案二:不解决方案三:客户端保存法方案四:缓存标记法方案五:本地缓存标记 那DB读写分离情况下,如何解决缓存和数据…

h5网页和 Android APP联调,webview嵌入网页,网页中window.open打开新页面,网页只在webview中打开,没有重开一个app窗口

我是h5网页开发,客户app通过webview嵌入我的页面 点击标题window.open跳转到长图页面,客户的需求是在app里新开一个窗口展示长图页面,window.open打开,ios端是符合客户需求的,但是在安卓端他会在当前webview打开 这…

Find My资讯|苹果Vision Pro无法通过Find My进行远程定位和发声

苹果 Vision Pro 头显现在已经正式开售,不过根据该公司日前发布的支持文件,这款头显目前缺乏一系列关键查找功能,用户无法在 iCloud 网站或Find My应用中获悉头显的位置,也无法让这款头显远程播放声音。 不过支持文件同时提到 V…

3、windows环境下vscode开发c/c++环境配置(二)

前言:上一篇文章写了windows环境下,配置vscode的c/c开发环境,这一篇讲vscode开发c/c的配置文件,包括c_cpp_propertues.json,task.json及launch.json。 一、总体流程 通过c/c插件我们就可以来编写c/c程序了&#xff0c…

新版AI系统ChatGPT源码支持GPT-4/支持AI绘画去授权

源码获取方式 搜一搜:万能工具箱合集 点击资源库直接进去获取源码即可 如果没看到就是待更新,会陆续更新上 新版AI系统ChatGPT网站源码支持GPT-4/支持AI绘画/Prompt应用/MJ绘画源码/PCH5端/免授权,支持关联上下文,意间绘画模型…

村级数据下载

简介 我开发了一个网站,是一个提供2010年-2023年的中国行政区划关系的查询网站,github开源地址为:https://github.com/ruiduobao/gaode_MAP_CUN,五级行政区划的上下级关系来源于统计局发布的各个年份对应的统计用区划代码和城乡划…

Android 基础技术——Framework

笔者希望做一个系列,整理 Android 基础技术,本章是关于 Framework 简述 Android 系统启动流程 当按电源键触发开机,首先会从 ROM 中预定义的地方加载引导程序 BootLoader 到 RAM 中,并执行 BootLoader 程序启动 Linux Kernel&…

已解决Application run failed org.springframework.beans.factory.BeanNot

问题原因:SpringBoot的版本与mybiats-puls版本不对应且,spring自带的mybiats与mybiats-puls版本不对应 这里我用的是3.2.2版本的SpringBoot,之前mybiats-puls版本是3.5.3.1有所不同。 问题:版本对不上 解决办法:完整…

NoSQL 数据库管理工具,搭载强大支持:Redis、Memcached、SSDB、LevelDB、RocksDB,为您的数据存储提供无与伦比的灵活性与性能!

NoSQL 数据库管理工具,搭载强大支持:Redis、Memcached、SSDB、LevelDB、RocksDB,为您的数据存储提供无与伦比的灵活性与性能! 【官网地址】:http://www.redisant.cn/nosql 介绍 直观的用户界面 从单一应用程序中同…

计算机视觉基础:【矩阵】矩阵选取子集

OpenCV的基础是处理图像,而图像的基础是矩阵。 因此,如何使用好矩阵是非常关键的。 下面我们通过一个具体的实例来展示如何通过Python和OpenCV对矩阵进行操作,从而更好地实现对图像的处理。 示例 示例:选取矩阵中指定的行和列的…

我为什么不喜欢关电脑?

程序员为什么不喜欢关电脑? 你是否注意到,程序员们似乎从不关电脑?别以为他们是电脑上瘾,实则是有他们自己的原因!让我们一起揭秘背后的原因,看看程序员们真正的“英雄”本色! 一、上大学时。 …

C++:C++入门基础

创作不易,感谢三连 !! 一、什么是C C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机&#xff…

0220作业

C语言实现LED1闪烁 led.h #ifndef __LED_H__ #define __LED_H__//RCC寄存器封装 #define RCC_MP_AHB4_ENSETR (*(volatile unsigned int*)0x50000A28) //寄存器封装//GPIO寄存器封装 typedef struct{volatile unsigned int MODER; //00volatile unsigned int OTYPER; //04vol…

代码随想录算法训练营DAY21 | 二叉树 (9)

一、LeetCode 669 修建二叉搜索树 题目链接:669.修建二叉搜索树https://leetcode.cn/problems/trim-a-binary-search-tree/description/ 思路:递归三部曲-定参数、返回值-定终止条件-定单层递归逻辑 class Solution {public TreeNode trimBST(TreeNode …

Devvortex

目标靶机 攻击机IP地址为10.10.16.2 信息收集 # nmap -sT --min-rate 10000 -p- 10.10.11.242 -oN port.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-21 10:32 CST Warning: 10.10.11.242 giving up on port because retransmission cap hit (10). Nma…

MyBatis Plus:自定义typeHandler类型处理器

目录 引言:关于TypeHandler PostGreSQL:JSON数据类型 PostGreSQL数据库驱动:PGobject类 TypeHandler类型处理器 自定义类型处理器 类型处理器实现:PGJsonTypeHandler 注册类型处理器 引言:关于TypeHandler MyBa…