MARL零样本协调之Fictitious Co-Play学习笔记

news2025/3/6 15:43:07

下列引用来自知乎作者Algernon 知乎link
FCP作为ZSC领域两阶段训练方法的开创者

论文《Collaborating with Humans without Human Data》来自 NeurIPS 2021。这篇论文提出 Fictitious Co-Play (FCP) 来解决 ZSC 问题。论文认为,ZSC 的第一个重要问题是对称性,第二个重要问题则是能够与不同水平的智能体合作。这篇论文提出的 FCP 则是一种简单的两阶段方法。在第一阶段,使用 SP 训练 个不同的同伴来打破对称性。为了得到不同水平的智能体,需要在训练过程中对每个智能体设置多个检查点,越往后的检查点表示技能越熟练的智能体。在第二阶段,需要训练 FCP 智能体来作为之前得到的个智能体的最佳响应。如下图所示。

在这里插入图片描述
我对上文提到的两个问题“ZSC 的第一个重要问题是对称性,第二个重要问题则是能够与不同水平的智能体合作。”很不解,同时不知道为什么要这样设计算法。解答如下:

  1. 对称性问题:
  • 对称性问题指的是在多智能体环境中,不同智能体的行为或策略可能处于对称状态,即所有智能体在训练初期或环境设计上是等同的,彼此之间没有明显的区别。例如,在某些博弈或协作任务中,如果智能体的训练初期都拥有相同的策略和能力,它们可能在合作时难以分辨彼此的角色,导致合作效率低下。
  • 解决方法:为了打破这种对称性,论文中提到的 Fictitious Co-Play(FCP)方法在第一阶段通过训练多个不同的智能体(同伴),每个智能体都有不同的技能水平。这样,智能体在训练过程中不会保持对称,能促进它们发展出不同的策略和能力,以避免在合作中“雷同”的策略。
  1. 能够与不同水平的智能体合作:
  • 与不同水平的智能体合作是指智能体不仅要能够与其他智能体合作,还要能够与不同技能水平的智能体协同工作。在实际应用中,智能体可能面临与能力较强或较弱的伙伴合作的情况,因此必须具备适应不同合作伙伴能力的能力。
  • 技能水平的不同:论文中提到,在训练过程中对每个智能体设置多个检查点,其中越往后的检查点对应的智能体技能越熟练。这意味着,智能体会经历多个阶段,从初学者到专家。为了适应与不同水平的智能体合作,FCP 方法通过在第二阶段训练智能体使其成为与这些不同能力的伙伴合作时的最佳响应者,即智能体不仅能适应能力较强的合作伙伴,还能与能力较弱的合作伙伴有效协作。
例如

第一阶段自博弈:
AA A0A0(初始状态) A1A1(中间状态) A2A2(收敛状态)
BB B0B0(初始状态) B1B1(中间状态) B2B2(收敛状态)
第二阶段FCP智能体为G
GA(A0,A1,A2)——即G要与不同状态、技能程度的A进行训练
GB(同理)

总结:

对称性问题:指的是在多智能体环境中,智能体的角色或策略相似,缺乏差异化,导致合作时的效率较低。解决对称性问题的方法是训练多个不同技能水平的智能体,以打破这种“对称”。
与不同水平的智能体合作:强调智能体不仅能与技能相当的伙伴协作,还能够适应和配合技能高低不一的伙伴。为此,FCP 通过设置多个检查点训练出技能层次不同的智能体,并在训练过程中确保智能体能够与这些不同水平的伙伴协作。

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

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

相关文章

idea中的查看git历史记录,不显示详细信息

一、正常情况显示 1、idea中git查看history正常显示如下图: 二、非正常情况下显示 1、idea中git查看history,现在不显示提交的历史文件详细信息,如下图: 三、解决方式 1、找到如下窗口中画红色框的黑色线条,鼠标放在…

Redis——快速入门

目录 Redis简介 安装配置(Windows) GUI工具RedisInsight的使用 十大数据类型(5基本5高级) 字符串String 列表List 集合Set(S) 有序集合SortedSet(Z) 哈希Hash(H) 发布订阅模式 消息队列Stream(X) 地理空间Geospatial(GEO) HyperLogLog(PF) …

LLM 模型 Prompt 工程

目录 1、Prompt 基础概念 2、Prompt 主要构成 3、Prompt 相关技术 3.1、思维链 3.2、自洽性 3.3、思维树 1、Prompt 基础概念 Prompt 工程是通过设计和优化自然语言提示(Prompt),引导LLM生成符合特定任务需求的输出的技术。其核心目标是…

Vue中实现大文件的切片并发下载和下载进度展示

Vue中实现大文件的切片下载 切片下载需要后端提供两个接口,第一个接口用来获取当前下载文件的总切片数,第二个接口用来获取具体某一个切片的内容。 界面展示 数据流展示 代码 接口 // 切片下载-获取文件的总切片数 export function getChunkDownload…

开源表单、投票、测评平台部署教程

填鸭表单联合宝塔面板深度定制,自宝塔面板 9.2 版本开始,在宝塔面板-软件商店中可以一键部署填鸭表单系统。 简单操作即可拥有属于自己的表单问卷系统,快速赋能业务。即使小白用户也能轻松上手。 社区版体验地址:https://demo.tduckapp.com/home 前端项目地址: tduck-fro…

GaussDB性能调优技术指南

​一、性能调优核心目标 ​降低响应时间:缩短单次查询或事务的处理时间(如从秒级优化到毫秒级)。 ​提高吞吐量:支撑更高并发请求(如从千次/秒提升到百万次/秒)。 ​资源高效利用:减少 CPU、…

【后端开发】go-zero微服务框架实践(goland框架对比,go-zero开发实践,文件上传问题优化等等)

【后端开发】go-zero微服务框架实践(goland框架对比,go-zero开发实践,文件上传问题优化等) 文章目录 1、go框架对比介绍2、go-zero 微服务开发实践3、go-zero 文件上传问题优化 1、go框架对比介绍 国内开源goland框架对比 1 go-…

C#—csv文件格式操作实例【在winform表格中操作csv】

C#—csv文件格式操作实例【在winform表格中操作csv】 实例一 实例效果 当在winform界面中点击读取按钮时 将csv中的所有数据读取出来放置在datagridview控件,可以在datagridview控件中编辑数据,当点击保存按钮时 将datagridview控件中的所有数据存储在…

一周学会Flask3 Python Web开发-WTForms表单验证

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们可以通过WTForms表单类属性的validators属性来实现表单验证。 常用的WTForms验证器 验证器说明DataRequired(messageNo…

23种设计模式一览【设计模式】

文章目录 前言一、创建型模式(Creational Patterns)二、结构型模式(Structural Patterns)三、行为型模式(Behavioral Patterns) 前言 设计模式是软件工程中用来解决特定问题的一组解决方案。它们是经过验证…

GPIO及其应用

GPIO及其应用 文章目录 GPIO及其应用1.GPIO概括2.GPIO工作基本结构3.GPIO寄存器3.1寄存器总览3.2寄存器功能3.3BIT简写的代表 4.GPIO的电气特性4.1拉电流与灌电流4.2驱动大功率负载4.3电平逻辑兼容性 5.LED闪烁(实操)6.LED交替闪烁(实操)7.开关控制LED灯…

NO1.C++语言基础|四种智能指针|内存分配情况|指针传擦和引用传参|const和static|c和c++的区别

1. 说⼀下你理解的 C 中的四种智能指针 智能指针的作用是管理指针,可以避免内存泄漏的发生。 智能指针就是一个类,当超出了类的作用域时,就会调用析构函数,这时就会自动释放资源。 所以智能指针作用的原理就是在函数结束时自动释…

Vue 关于如何在vue中实现跨域请求问题

📚首先,让我们了解一下什么是跨域。当一个请求的URL的协议、域名、端口三者中任意一个与当前页面的URL不同,就称为跨域请求。 🔒为什么会出现跨域问题呢?这是因为浏览器的同源策略限制。同源策略是浏览器最核心的安全…

毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

torch.einsum 的 10 个常见用法详解以及多头注意力实现

torch.einsum 是 PyTorch 提供的一个高效的张量运算函数,能够用紧凑的 Einstein Summation 约定(Einstein Summation Convention, Einsum)描述复杂的张量操作,例如矩阵乘法、转置、内积、外积、批量矩阵乘法等。 1. 基本语法 tor…

【DeepSeek】一文详解GRPO算法——为什么能减少大模型训练资源?

GRPO,一种新的强化学习方法,是DeepSeek R1使用到的训练方法。 今天的这篇博客文章,笔者会从零开始,层层递进地为各位介绍一种在强化学习中极具实用价值的技术——GRPO(Group Relative Policy Optimization&#xff09…

Ollama 框架本地部署教程:开源定制,为AI 项目打造专属解决方案!

Ollama 是一款开源的本地大语言模型(LLM)运行框架,用于管理和运行语言模型。具有以下核心特点: 开源可定制:采用 MIT 开源协议,开发者能自由使用、阅读源码并定制,可根据自身需求进行功能扩展和…

开发环境搭建-03.后端环境搭建-使用Git进行版本控制

一.Git进行版本控制 我们对项目开发就会产生很多代码,我们需要有效的将这些代码管理起来,因此我们真正开发代码前需要把我们的Git环境搭建好。通过Git来管理我们项目的版本,进而实现版本控制。 首先我们使用Git创建本地仓库,然后…

[Lc(2)滑动窗口_1] 长度最小的数组 | 无重复字符的最长子串 | 最大连续1的个数 III | 将 x 减到 0 的最小操作数

目录 1. 长度最小的字数组 题解 代码 ⭕2.无重复字符的最长子串 题解 代码 3.最大连续1的个数 III 题解 代码 4.将 x 减到 0 的最小操作数 题解 代码 1. 长度最小的字数组 题目链接:209.长度最小的字数组 题目分析: 给定一个含有 n 个 正整数 的数组…

【最大半连通子图——tarjan求最大连通分量,拓扑排序,树形DP】

题目 分析 最大连通分量肯定是满足半连通分量的要求,因此tarjan。 同时为了简化图,我们进行缩点,图一定变为拓扑图。 我们很容易看出,只要是一条不分叉的链,是满足条件的。 于是我们按照拓扑序不断树形DP 建边注意…