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

下列引用来自知乎作者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 通过设置多个检查点训练出技能层次不同的智能体,并在训练过程中确保智能体能够与这些不同水平的伙伴协作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IntelliJ IDEA 2024.3.4 版本无法正常加载maven项目

报错如下: Possible solutions: - Check that Maven settings.xml does not contain http repositories - Check that Maven pom files do not contain http repository http://192.168.22.76:9003/repository/thirdparty/ - Check that Maven pom files do not co…

SpringBoot 校园新闻网站

收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…

在 Windows 上最快速安装 Qt 5

引言 Qt 是一个强大的跨平台 C 开发框架,广泛应用于 GUI 开发、嵌入式系统和工业软件等领域。然而,许多开发者习惯于在 Linux(如 Ubuntu)环境下使用 Qt,而在 Windows 上搭建 Qt 开发环境时可能会遇到许多问题&#xf…

快速排序算法详解

算法原理 快速排序是一种分治的策略的排序算法。它的核心排序思想是将问题不断的分解为子问题。以数组为例进行介绍更容易理解&#xff0c;创建一个数组或者vector&#xff0c;假设是std::vector<int> a{3&#xff0c;2, 1, 5, 4,7}&#xff0c;要对a从小到大进行排序&a…

【Linux-网络】HTTP的清风与HTTPS的密语

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da; 引言 &#x1f4da; 一、HTTP &#x1f4d6; 1.概述 &#x1f4d6; 2.URL &#x1f5…

2025-03-05 学习记录--C/C++-PTA 习题5-6 使用函数输出水仙花数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h>int narcissistic( int number ); vo…

Vue的简单入门 三

目录 侦听器 watch 注意 表单输入绑定 v-model v-model修饰符​编辑 lazy number Trim 模板引用 组件组成 组件引用三步走 组件的嵌套关系 header Main Aside Aritice Item App.vue组件引入三个子组件 组件的注册方式 全局注册组件的方法 (1) Vue 2 语…

跨域-告别CORS烦恼

跨域-告别CORS烦恼 文章目录 跨域-告别CORS烦恼[toc]1-参考网址2-思路整理1-核心问题2-个人思考3-脑洞打开4-个人思考-修正版1-个人思考2-脑洞打开 3-知识整理1-什么是跨域一、同源策略简介什么是源什么是同源是否是同源的判断哪些操作不受同源策略限制跨域如何跨域 二、CORS 简…

大模型核心要素完全解析:从数字神经元到智能对话的奥秘

一、神经网络的基石&#xff1a;模型参数 1.1 参数的本质解密 大模型参数是指在大规模机器学习模型&#xff0c;特别是像大型语言模型&#xff08;LLM&#xff09;等中&#xff0c;用于描述模型结构和功能的各种变量和数据。 其中大模型参数又分为权重参数和偏置参数&#x…

Android ChatOn-v1.66.536-598-[构建于ChatGPT和GPT-4o之上]

ChatOn 链接&#xff1a;https://pan.xunlei.com/s/VOKYnq-i3C83CK-HJ1gfLf4gA1?pwdwzwc# 添加了最大无限积分 删除了所有调试信息 语言&#xff1a;全语言支持

前端开发10大框架深度解析

摘要 在现代前端开发中&#xff0c;框架的选择对项目的成功至关重要。本文旨在为开发者提供一份全面的前端框架指南&#xff0c;涵盖 React、Vue.js、Angular、Svelte、Ember.js、Preact、Backbone.js、Next.js、Nuxt.js 和 Gatsby。我们将从 简介、优缺点、适用场景 以及 实际…

NL2SQL-基于Dify+阿里通义千问大模型,实现自然语音自动生产SQL语句

本文基于Dify阿里通义千问大模型&#xff0c;实现自然语音自动生产SQL语句功能&#xff0c;话不多说直接上效果图 我们可以试着问他几个问题 查询每个部门的员工数量SELECT d.dept_name, COUNT(e.emp_no) AS employee_count FROM employees e JOIN dept_emp de ON e.emp_no d…

2025年渗透测试面试题总结-字某跳动-渗透测试实习生(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 字某跳动-渗透测试实习生 渗透流程信息收集如何处理子域名爆破中的泛解析问题绕过CDN寻找真实IPPHPINFO页面关注…

从文件到块: 提高 Hugging Face 存储效率

Hugging Face 在Git LFS 仓库中存储了超过30 PB 的模型、数据集和 Spaces。由于 Git 在文件级别进行存储和版本控制&#xff0c;任何文件的修改都需要重新上传整个文件。这在 Hub 上会产生高昂的成本&#xff0c;因为平均每个 Parquet 和 CSV 文件大小在 200-300 MB 之间&#…

大型语言模型演变之路:从Transformer到DeepSeek-R1

大型语言模型的崛起被认为是人工智能领域的一次革命&#xff0c;从2017年Transformer架构的引入开始&#xff0c;到2025年DeepSeek-R1的推出&#xff0c;每一步都在不断改变着人机交互的方式&#xff0c;推动着学术界与产业界的深度融合。 1. Transformer的引领&#xff08;201…

设计模式(7)——SOLID原则之接口隔离原则

设计模式&#xff08;7&#xff09;——SOLID原则之接口隔离原则 概念示例总结 概念 客户端不应被强迫依赖于其不使用的方法。这句话的意思是指尽量缩小接口的范围&#xff0c;使得客户端的类不必实现其不需要的行为。 根据接口隔离原则&#xff0c;你必须将“臃肿”的方法拆…

Excel的行高、列宽单位不统一?还是LaTeX靠谱

想要生成田字格、米字格、带拼音标准&#xff0c;方便小学生书法和练字。Word&#xff0c;Excel之类所见即所得是最容易相当的方式。但它们处理带田字格之类背景时&#xff0c;如果没有专用模板、奇奇怪怪的插件&#xff0c;使用起来会碰到各种问题。比如&#xff0c;Word里面用…

C++学习之路,从0到精通的征途:入门基础

目录 一.C的第一个程序 二.命名空间 1.namespace的价值 2.命名空间的定义 3.命名空间使用 三.C的输入与输出 1.<iostream> 2.流 3.std(standard) 四.缺省参数 1.缺省参数的定义 2.全缺省/半缺省 3.声明与定义 ​五.函数重载 1.参数个数不同 2.参数类型不…

rust学习笔记12-hashmap与1. 两数之和

rust集合中也有hashmap&#xff0c;昨天已经提到过&#xff0c;学过java同学再熟悉不过了&#xff0c;一道经典面试题问hashmap在java1.8的实现原理&#xff0c;数组哈希表红黑树&#xff0c;rust中hashmap在功能上和java一样&#xff0c;但实现上有很大差别&#xff0c;它的基…

通过多线程同时获取H264和H265码流

目录 一.RV1126 VI采集摄像头数据并同时编码H264、H265的大概流程​编辑​编辑 1.1初始化VI模块&#xff1a; 1.2H264、H265的VENC模块初始化&#xff1a; 1.3VI分别绑定H264的VENC层和H265的VENC层&#xff1a; ​​​​​​​1.4开启H264线程采集H264的VENC数据&#xff…