一文了解【完全合作关系】下的【多智能体强化学习】

news2024/12/27 18:27:05

处于完全合作关系的多智能体的利益一致,获得的奖励相同,有共同的目标。比如多个工业机器人协同装配汽车,他们的目标是相同的,都希望把汽车装好。

在多智能体系统中,一个智能体未必能观测到全局状态 S。设第 i 号智能体有一个局部观测,记作 Oi,它是 S 的一部分。不妨假设所有的局部观测的总和构成全局状态:
在这里插入图片描述

完全合作关系下的MARL:
在这里插入图片描述

目录

  • 策略学习
  • 多智能体A2C
    • 策略网络和价值网络
    • 训练和决策
    • 实现中的难点
  • 三种架构
    • 完全中心化
    • 完全去中心化
    • 中心化训练 + 去中心化决策

策略学习

下面由policy-based的MARL方法入手。(value-based MARL也有很多工作)
MARL 中的完全合作关系 (Fully-Cooperative) 意思是所有智能体的利益是一致的,它们有相同的奖励R,回报U,动作价值函数Q,状态价值函数V。Q和V依赖于所有agent的策略π
在这里插入图片描述
通常来说,团队成员有分工合作,所以每个成员的策略是不同的,即 θi ≠ θj。

如果做策略学习(即学习策略网络参数 θ1, · · · , θm),那么所有智能体都有一个共同目标函数
在这里插入图片描述

所有智能体的目的是一致的,即改进自己的策略网络参数 θi,使得目标函数 J 增大。那么策略学习可以写作这样的优化问题:
在这里插入图片描述
(注意,只有“完全合作关系”这种设定下,所有智能体才会有共同的目标函数,其原因在于 R1 = · · · = Rm。对于其它设定,“竞争关系”、“混合关系”、“利己主义”,智能体的目标函数是各不相同的。)

在这里插入图片描述
可能有人好奇R,U,Q,V都一样了,为什么训练出来π不一样?主要是每个agent的动作空间有区别,各司其职,所以agent的策略会有区别。

由于无法计算策略梯度∇θiJ,我们需要对其做近似。下面用 价值网络 近似 策略梯度 ,从而推导出一种实际可行的策略梯度方法。

 

多智能体A2C

下面介绍“完全合作关系”设定下的多智能体 A2C 方法 (Multi-Agent Cooperative A2C),缩写 MAC-A2C。简单点入手,本文只考虑离散控制问题

策略网络和价值网络

MAC-A2C 使用两类神经网络:价值网络 v策略网络 π

在这里插入图片描述

在这里插入图片描述

所有智能体共用一个价值网络。
每个智能体有自己的策略网络。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
 

训练和决策

在这里插入图片描述

在这里插入图片描述
 

实现中的难点

最大的问题,在 MARL 的常见设定下,第 i 号智能体只知道 oi,而观测不到全局状态。

在这里插入图片描述

下面介绍中心化 (Centralized) 与去中心化 (Decentralized) 的实现方法。

  • 中心化让智能体共享信息;优点是训练和决策的效果好,缺点是需要通信,造成延时,影响速度。
  • 去中心化需要做近似,避免通信;其优点在于速度快,而缺点则是影响训练和决策的质量。

 

三种架构

下面介绍MAC-A2C的三种实现方法。

在这里插入图片描述

完全中心化

中心化训练 + 中心化决策,这是MAC-A2C最忠实的实现方法,作出的决策最好,但是速度最慢,在很多问题中不适用
训练和决策全部由中央控制器完成。智能体只负责与环境交互,然后把各种数据传给中央。智能体只需要执行中央下达的决策,而不需要自己“思考”,纯纯工具人。

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

 

完全去中心化

想要避免通信代价,就不得不对策略网络和价值网络做近似,变为“去中心化训练 + 去中心化决策”。

在这里插入图片描述

在这里插入图片描述

MAC-A2C 变成了标准的 A2C,每个智能体独立学习自己的参数 θi 与 wi。
去中心化训练的本质就是单智能体强化学习 (SARL),而非多智能体强化学习 (MARL)。在 MARL 中,智能体之间会相互影响,而本节中的“去中心化训练”把智能体视为独立个体,忽视它们之间的关联,直接用 SARL 方法独立训练每个智能体。用上述 SARL 的方法解决 MARL 问题,在实践中效果往往不佳。

 

中心化训练 + 去中心化决策

当前更流行的MARL 架构是“中心化训练 + 去中心化决策”,相对于上面两种方法,有效结合了它们的优点又缓解了它们的缺点,近年来很流行。

训练的时候使用中央控制器,辅助智能体做训练;
训练结束之后,不再需要中央控制器,每个智能体独立根据本地观测 oi 做决策。

训练:
在这里插入图片描述
 
决策:

在这里插入图片描述
智能体只需要用其本地部署的策略网络π做决策,决策过程无需通信。
中心化执行的速度很快,可以做到实时决策。

本文内容为看完王树森和张志华老师的《深度强化学习》一书的学习笔记,十分推荐大家去看原书!

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

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

相关文章

Nginx前后端分离部署springboot和vue项目

Nginx前后端分离部署springboot和vue项目,其实用的比较多,有的小伙伴对其原理和配置还一知半解,现在就科普一下: 1、准备后端项目 后端工程无论是微服务还是单体,一般最终都是jar启动,关键点就是把后端服…

vivado RTL运行方法检查、分析方法报告、报告DRC

运行方法检查 Vivado Design Suite提供基于超快设计的自动化方法检查使用“报告方法论”命令的FPGA和SoC(UG949)方法论指南。您可以生成关于打开、详细阐述、综合或实现的方法论报告设计对于详细设计,方法报告会检查XDC和RTL文件。对于有关使…

CVE重要通用漏洞复现java php

在进行漏洞复现之前我们需要在linux虚拟机上进行docker的安装 我不喜欢win上安因为不知道为什么总是和我的vmware冲突 然后我的kali内核版本太低 我需要重新安装一个新的linux 并且配置网络 我相信这会话费我不少时间 查看版本 uname -a 需要5.5或以上的版本 看错了浪…

滚动菜单+图片ListView

目录 Fruit.java FruitAdapter MainActivity activity_main.xml fruit.xml 整体结构 Fruit.java public class Fruit {private String name;private int imageId;public Fruit(String name, int imageId) {this.name name;this.imageId imageId;}public String getNam…

AR与AI融合加速,医疗护理更便捷

根据Reports and Data的AR市场发展报告,到2026年,预计医疗保健市场中的AR/VR行业规模将达到70.5亿美元。这一趋势主要受到对创新诊断技术、神经系统疾病和疾病意识不断增长的需求驱动。信息技术领域的进步,包括笔记本电脑、计算机、互联网连接…

用 Python 制作可视化 GUI 界面,一键实现自动分类管理文件!

经常杂乱无章的文件夹会让我们找不到所想要的文件,因此小编特意制作了一个可视化GUI界面,通过输入路径一键点击实现文件分门别类的归档。 不同的文件后缀归类为不同的类别 我们先罗列一下大致有几类文件,根据文件的后缀来设定,大…

Vue入门七(Vuex的使用|Vue-router|LocalStorage与SessionStorage和cookie的使用|路由的两种工作模式)

文章目录 一、Vuex1)理解vuex2)优点3)何时使用?4)使用步骤① 安装vuex② 创建vuex③ 导入vuex④ 创建仓库Store⑤ 基本使用 5)五个模块介绍1.State2.mutations3.actions4.Getter5.Modules 6)购物…

【vue】ant-col多列栅格式的表单排列方式布局异常:

文章目录 一、效果:二、解决:三、问题: 一、效果: 二、解决: 在row中添加布局类型:type“flex” 三、问题: 后期正式环境还是存在该问题 >>>.ant-form-item {max-height: 32px; }多…

【FastAPI】P1 简单实现 a+b

目录 准备工作代码运行 说明:本文通过 FastAPI 实现返回两个参数 ab 的值; 准备工作 默认读者已准备完善 Python IDE工具以及包管理工具。 首先,需要安装 fastapi 和 uvicorn 库,如果没有请使用 pip 进行安装: pip…

【Android】为什么在子线程中更新UI不会抛出异常

转载请注明来源:https://blog.csdn.net/devnn/article/details/135638486 前言 众所周知,Android App在子线程中是不允许更新UI的,否则会抛出异常: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the origin…

智慧灌区解决方案:针对典型灌区水利管理需求

​随着国家对农业水利的重视,各地积极推进智慧灌区建设,以实现对水资源的精准调度和科学化管理。下面我们针对典型灌区水利管理需求,推荐智慧灌区解决方案。 一、方案构成智慧水利解决方案- 智慧水利信息化系统-智慧水利平台-智慧水利公司 - 星创智慧水利 一、方案构成 (一)水…

安全加速SCDN是什么

安全加速SCDN(Secure Content Delivery Network,SCDN) 是集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户&…

Java CAS原子操作过程及ABA问题

目录 一.什么是CAS 二.流程 三.缺点 四.ABA 问题 五.解决ABA问题 一.什么是CAS CAS(Compare And Swap,比较并交换),通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值与某个期望值是否相同…

边缘计算AI智能分析网关V4客流统计算法的概述

客流量统计AI算法是一种基于人工智能技术的数据分析方法,通过机器学习、深度学习等算法,实现对客流量的实时监测和统计。该算法主要基于机器学习和计算机视觉技术,其基本流程包括图像采集、图像预处理、目标检测、目标跟踪和客流量统计等步骤…

EasyDarwin计划新增将各种流协议(RTSP、RTMP、HTTP、TCP、UDP)、文件转推RTMP到其他视频直播平台,支持转码H.264、文件直播推送

之前我们尝试做过EasyRTSPLive(将RTSP流转推RTMP)和EasyRTMPLive(将各种RTSP/RTMP/HTTP/UDP流转推RTMP,这两个服务在市场上都得到了比较多的好评,其中: 1、EasyRTSPLive用的是EasyRTSPClient取流&#xff…

Presents-codeforces

题目链接:Problem - 136A - Codeforces 解题思路: 这题挺有意思,大致意思是,每个人都会互相送礼物,可能送给自己,可能送给别人,第i个数表示第i个人要把礼物送给第i个数的人比如1 3 2&#xff0…

C++系列-第1章顺序结构-9-字符类型char

在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客,主要讲述字符类型char 字符类型char 在C编程语言中,char是一种基本的数据类型,它用于存储单个字符。字符可以是字母、数字、标点符号或者…

智慧门店:如何利用AI视频智能监管与存储技术让门店降本增效?

一、行业背景 TSINGSEE青犀视频智慧门店解决方案是一种集成了人工智能、大数据、物联网等技术的零售解决方案,目的是提高门店的运营效率、用户体验和业绩。随着数字化转型的加速,连锁门店需要跟上时代的步伐,需要利用数字化手段提高运营效率…

Android14之DefaultKeyedVector实现(一百八十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

打造更智能的应用 - 机器学习和Andorid

打造更智能的应用 - 机器学习和Andorid 一、关于机器学习和Andorid二、使用 Gemini 让您的 Android 应用如虎添翼2.1 Gemini API2.2 Android AICore 三、现成可用的还是自定义的机器学习3.1 机器学习套件 SDK 的常见用户流3.2 高性能自定义机器学习 四、机器学习套件 SDK&#…