08MARL深度强化学习 independent learning

news/发布时间2024/5/14 21:26:12

文章目录

  • 前言
  • 1、Independent Value-based Learning
  • 2、Independent Policy Gradient Methods


前言

记录independent learning算法的基础概念,使用一些RL算法训练多智能体


1、Independent Value-based Learning

基于值的独立学习算法:每个智能体根据自身的观测与动作学习价值函数,以IDQN为例,每个智能体根据自身的观测历史学习Q函数,智能体i的损失函数为:
在这里插入图片描述
总的损失函数就是将所有智能体的损失函数进行求和,优化过程为最小化总损失函数与每个智能体的损失函数
在这里插入图片描述
**replay buffer局限:**代表经验收集与再采样的过程,而在IDQN中存在一定问题,因为在多智能体环境中,每个智能体不仅被他们自身的观测与动作所决定,同时受到其他智能体的影响,因此每个智能体的观测与动作会依赖于其他智能体的策略,当采用经验回收池时,假设了经验随着时间具有相关性,而在多智能体环境中,这种相关性会快速过时

**举例解释:**在两个智能体学习围棋的任务中,智能体1采取了特定的策略,短期有较好的收益而长期属于弱策略,智能体2没有采用特定的策略,在刚开始的阶段智能体1会获得奖励而在经验池中存放数据,而随着时间的进行,这些数据在后期并不能带来收益,导致智能体1会持续学习弱策略

解决方法:
小的经验回收池:小的经验回收池使得快速达到容量,因此会移除老的数据,能够降低回收池中经验过时的问题
重要性采样权重(Importance Sampling Weights):经验池储存策略与经验,通过重要性采样的权重校正选择动作的概率
fingerprints of agent policies:拓展每个智能体的观测,使得智能体能够考虑其他智能体的策略的变化

2、Independent Policy Gradient Methods

独立策略梯度方法:通过智能体自身的动作以及奖励计算梯度,并不考虑其他智能体的动作与策略,计算期望回报相对于自身策略的梯度,每个episode通过以下公式更新:在这里插入图片描述
算法流程如下:
在这里插入图片描述
在多智能体环境设定中,on policy相比于off policy具有一定的优势,是因为on policy能够学习最新的经验得到策略,这样智能体会随着其他的智能体策略的改变而得到新的经验,能够不断适应变化的环境,因此在多智能体环境设定中,on policy算法能够持续更新,更加重要

A2C算法:
具有并行环境的A2C算法能够应用到多智能体环境当中,多智能体在多个并行环境当中经过多轮episode具有更高维度的观测,并且动作与奖励等都具有更高的维度,算法流程如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

jsp课程教学管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 课程教学管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0…

第13章 网络 Page741~744 asio核心类 ip::tcp::socket

1. ip::tcp::socket liburl库使用"curl*" 代表socket 句柄 asio库使用ip::tcp::socket类代表TCP协议下的socket对象。 将“句柄”换成“对象”,因为asio库是不打折扣的C库 ip::tcp::socket提供一下常用异步操作都以async开头 表13-3 tcp::socket提供的异步操作 …

docker本地目录挂载

小命令 1、查看容器详情 docker inspect 容器名称 还是以nginx为例,上篇文章我们制作了nginx静态目录的数据卷,此时查看nginx容器时会展示出来(docker inspect nginx 展示信息太多,这里只截图数据卷挂载信息)&#…

FOC电流环速度环调试记录

FOC电流环速度环调试记录 电流环: 首先foc控制中都采用PI控制,没有引入微分,因为电流的采样率非常高不需要加入微分项;微分项的加入,会使电流采样中的高频小信号误差起到放大的作用,把小的误差放大&#…

C语言与C++:探索两种强大的编程语言

在编程的世界里,C语言和C无疑是两座重要的里程碑。它们不仅各自拥有独特的特点和优势,而且还在不同的领域和场景中发挥着关键作用。本文将深入探讨C语言和C的相似之处与差异,帮助读者更好地理解和应用这两种编程语言。 一、C语言&#xff1a…

【Linux】---Linux下基本指令(2)

目录 一、指令详细介绍1.1 cat 指令1.2 echo 指令1.3 more 指令1.4 less 指令1.5 head 指令1.6 tail 指令1.7 date 指令1.8 cal 指令1.9 find 指令1.10 grep 指令1.11 zip/unzip 指令1.12 tar 指令1.13 uname –r 指令: 一、指令详细介绍 1.1 cat 指令 语法&#…

论文阅读-PIM-tree:一种面向内存处理的抗偏移索引

论文名称:PIM-tree: A Skew-resistant Index for Processing-in-Memory 摘要 当今的内存索引性能受到内存延迟/带宽瓶颈的限制。Processing-in-memory (PIM) 是一种新兴的方法,可能通过实现低延迟内存访问,其聚合内存带宽随 PIM 节点数量扩…

IMX6ULL移植U-Boot 2022.04

目录 目录 1.编译环境以及uboot版本 2.默认编译测试 3.uboot中新增自己的开发板 3.编译测试 4.烧录测试 5.patch文件 1.编译环境以及uboot版本 宿主机Debian12u-boot版本lf_v2022.04 ; git 连接GitHub - nxp-imx/uboot-imx: i.MX U-Boot交叉编译工具gcc-arm-10.3-2021.0…

为什么从没有负值的数据中绘制的小提琴图(Violin Plot)会出现负值部分?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 小提琴图(Violin Plot) 是一种用于展示和比较数据分布的可视化工具。它结合了箱形图(Box Plot)和密度图(Kernel Density Plot)的特…

centos7 arm服务器编译安装onnxruntime-gpu

前言 ONNX Runtime是适用于Linux,Windows和Mac上ONNX格式的机器学习模型的高性能推理引擎,但在arm服务器上,onnxruntime只有CPU版的,GPU版的没有,因此需要自行去编译GPU版本的才可以。 环境准备 1、python3.8 2、cmake:2.26.0版本以上,可以直接下载aarch64版本的进行…

【JavaEE】_多线程Thread类及其常用方法

目录 1. Thread类常用构造方法 2. Thread类的几个常见属性 3. 启动一个线程 4. 中断一个线程 4.1 方法1:手动设置标志位 4.2 方法2:使用Thread内置的标志位 5. 等待一个线程 6. 获取当前线程引用 7. 休眠当前线程 1. Thread类常用构造方法 方法…

MATLAB | 情人节画个花瓣venn图?

之前七夕节情人节各种花,相册,爱心啥的都快画够了,今年画个花瓣韦恩图? 花瓣上的数字是仅属于该类的样本数,而中心的数字是属于每一类的样本数 教程部分 0 数据准备 % 给组起名t1 t2 t3...t15 setName compose(t%d,…

视频接入协议之MIPI

MIPI(Mobile Industry Processor Interface)是一种用于移动设备的串行接口标准,旨在提供高速、低功耗、低成本的接口解决方案。MIPI联盟是一个全球性的组织,致力于开发、推广和管理MIPI标准。 MIPI接口包括了多种协议和规范&…

qwen1.5 chat vllm推理使用案例

参考:https://github.com/QwenLM/Qwen1.5 下载:https://huggingface.co/collections/Qwen/qwen15-65c0a2f577b1ecb76d786524 下载可以参考huggingface-cli 命令下载使用:https://blog.csdn.net/weixin_42357472/article/details/1326636931、vllm运行 显卡驱动:NVIDIA-S…

MySQL 基础知识(十)之 MySQL 架构

目录 1 MySQL 架构说明 2 连接层 3 核心业务层 3.1 查询缓存 3.2 解析器 3.3 优化器 3.4 执行器 4 存储引擎层 5 参考文档 1 MySQL 架构说明 下图是 MySQL 5.7 及其之前版本的逻辑架构示意图 MySQL 架构大致可分为以下三层: 连接层:负责跟客户…

【开源】在线办公系统 JAVA+Vue.js+SpringBoot+MySQL

目录 1 功能模块1.1 员工管理模块1.2 邮件管理模块1.3 人事档案模块1.4 公告管理模块 2 系统展示3 核心代码3.1 查询用户3.2 导入用户3.3 新增公告 4 免责声明 本文项目编号: T 001 。 \color{red}{本文项目编号:T001。} 本文项目编号:T001。…

HAL STM32通过multi_button库处理按键事件

HAL STM32通过multi_button库处理按键事件 📍作者:0x1abin的multi_button库:https://github.com/0x1abin/MultiButton 📘MultiButton简介 MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,…

SQL-Labs靶场“1-5”关通关教程

君衍. 一、准备工作二、第一关 基于GET单引号字符型注入1、源码分析2、联合查询注入过程 三、第二关 基于GET整型注入1、源码分析2、联合查询注入过程 四、第三关 基于GET单引号变形注入1、源码分析2、联合查询注入过程 五、第四关 基于GET双引号字符型注入1、源码分析2、联合查…

【RHCE】shell条件测试练习

目录 1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查次磁盘剩余空间。 2、判断web服务是否运行 3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,…

【Android】使用Android Studio运行Hello World项目

文章目录 1. JDK的安装与配置2. Android Studio的安装3. 运行Hello World项目3.1 新建项目3.2 修改项目配置3.2.1 修改UI界面3.2.2 配置 Android SDK 3.3 添加并运行虚拟设备3.4 运行项目 1. JDK的安装与配置 想要使用Android Studio,必须先配置Java环境&#xff0…
推荐文章