多智能体强化学习--MAPPO(pytorch代码详解)

标题

代码详解

代码链接(点击跳转)

Actor和Critic网络的设置

  • 基本设置:3个智能体、每个智能体观测空间18维。
  • Actor网络:实例化一个actor对象,input-size是18
  • Critic网络:实例化一个Critic对象,input-size是18x3=54
  • 在choose_action调用actor网络的时候,传入的直接是三个智能体的参数,tensor_size=[3,18];也就是说,智能体之间是共用一套参数的,也就是参数共享;(三个18维向量之间是相互独立的,改变其中一个向量的值,经过神经网络后,只有他自己的输出值改变了,而其他两个向量仍然是原来的大小);
  • 在训练时,可以认为只有一个Critic网络,因此这叫做集中式训练;
  • 值得注意的是,Critic网络的实际输入的向量的值是[3,54]!!而这三个向量是一模一样的。
  • 关于reward,代码给出的实例是所有智能体共享同一奖励函数,因此将策略梯度算法扩展到多智能体场景下的最简单的方式就是每个智能体共用同一个全局 critic 函数。(但好像值分解的方法更合理一点)

2.box类

  • box类对应于多维连续空间
  • Box空间可以定义多维空间,每一个维度可以用一个最低值和最大值来约束
  • 定义一个多维的Box空间需要知道每一个维度的最小最大值,当然也要知道维数。

    作者在文献附录中有谈到说如果智能体是同种类的就采用相同的网络参数,对于每个智能体内部也可以采用各自的actor和critic网络,但是作者为了符号的便利性,直接就用的一个网络参数来表示)。
相关推荐
ahead~3 分钟前
【大模型原理与技术-毛玉仁】第五章 模型编辑
人工智能·深度学习·机器学习
zhanshuo5 分钟前
Python元组黑科技:3招让数据安全暴增200%,学生管理系统实战揭秘!
python
空中湖9 分钟前
免费批量图片格式转换工具
图像处理·python·程序人生
迪娜学姐9 分钟前
GenSpark vs Manus实测对比:文献综述与学术PPT,哪家强?
论文阅读·人工智能·prompt·powerpoint·论文笔记
TDengine (老段)11 分钟前
TDengine 在电力行业如何使用 AI ?
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
猎板PCB厚铜专家大族13 分钟前
高频 PCB 技术发展趋势与应用解析
人工智能·算法·设计规范
l0sgAi17 分钟前
SpringBoot整合LangChain4j实现RAG (检索增强生成)
人工智能
祐言QAQ18 分钟前
浅谈边缘计算
人工智能·边缘计算
lboyj18 分钟前
高频通信与航天电子的材料革命:猎板PCB高端压合基材技术解析
人工智能
奔跑吧邓邓子36 分钟前
DeepSeek 赋能智能教育知识图谱:从构建到应用的革命性突破
人工智能·知识图谱·应用·deepseek·智能教育