多智能体强化学习--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网络,但是作者为了符号的便利性,直接就用的一个网络参数来表示)。
相关推荐
强哥之神5 分钟前
Meta AI 推出 Multi - SpatialMLLM:借助多模态大语言模型实现多帧空间理解
人工智能·深度学习·计算机视觉·语言模型·自然语言处理·llama
成都极云科技13 分钟前
成都算力租赁新趋势:H20 八卡服务器如何重塑 AI 产业格局?
大数据·服务器·人工智能·云计算·gpu算力
喜欢吃豆14 分钟前
从零构建MCP服务器:FastMCP实战指南
运维·服务器·人工智能·python·大模型·mcp
一个处女座的测试34 分钟前
Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
python·mysql·pytest
ai_xiaogui37 分钟前
AIStarter用户与创作者模式详解:一键管理Stable Diffusion项目!
人工智能·stable diffusion·一键发布ai项目·熊哥aistarter教程·开发者必备aistarter
nananaij1 小时前
【Python基础入门 re模块实现正则表达式操作】
开发语言·python·正则表达式
止步前行1 小时前
Cursor配置DeepSeek调用MCP服务实现任务自动化
人工智能·cursor·deepseek·mcp
阿星AI工作室1 小时前
AI产品经理必看的大模型微调劝退指南丨实战笔记
人工智能·产品经理·ai编程
Damon小智1 小时前
蚂蚁百宝箱实战:艺考生文化课助手的设计与搭建
人工智能·mcp
辣么大1 小时前
03 环境:树莓派环境配置
人工智能