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

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

在多智能体系统中,一个智能体未必能观测到全局状态 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.niftyadmin.cn/n/5335372.html

相关文章

【实战】K8S部署Redis集群代理Predixy

文章目录 前言技术积累为什么要在redis集群前面加个predixy代理?这样做的好处有哪些?常用代理配置网络存储 实战构建predixy镜像并部署下载predixy源码编译构建镜像创建K8S配置文件predixy-configmap并执行网络储存PV与PVC部署predixy-deployment 测试代…

npm, yarn和pnpm清理缓存

文章目录 前言npm查看缓存路径清理缓存 yarn查看缓存路径清理缓存 pnpm查看缓存路径清理缓存 前言 npm, yarn和pnpm是时下主流的node.js包管理器。 随着前端项目的增多,会下载许多的依赖。不管是哪种包管理器,都会使用缓存来增加下次下载的速度。但很多…

获取编译工具链默认的链接脚本

1、ld命令使用“–verbose”参数 命令:riscv64-linux-gnu-ld --verbose想使用自己的链接脚本,链接时使用“-T”指定

jmeter的使用教程

JMeter是一个开源的性能测试工具,用于评估应用程序在不同负载下的性能表现。以下是使用JMeter的简单教程: 下载和安装JMeter 访问JMeter官方网站(https://jmeter.apache.org/)并下载最新版本的JMeter。将下载的文件解压到您选择的…

nginx前后端不分离项目代理配置

文章目录 了解举例1:一个项目content-path路径配置为空,使用nginx代理。举例2:配置上项目的content-path,再使用ngxin代理 总结 现在很多时候都是前后端分离的项目,所以配置代理的时候,前端和后端的代理分开…

基于ssm的社区流浪动物救助领养系统的设计与开发+vue论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,流浪动物信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足…

使用chromium代码函数入参和出参传入同一个变量踩到的坑

背景: 开发一个需求的时候需要用到chromium中的加解密功能,但是发现加密之后解密失败了。 伪代码: std::string text "encryped-text"; bool b Encryptor::Crypt(false, text, &text); 发现b的值为false。 备注&#x…

Centos7编译Python3.11源码并安装完成的详细教程

Python3.11的Linux源码: Index of /ftp/python/https://www.python.org/ftp/python/由于Centos7里自带的openssl是1.0版本的,而Centos Stream8和9用的是openssl-1.1.1版本的。 注意:openssl必须是openssl-1.1.1版本的,虽然最高版…