news 2026/3/2 15:28:10

混合型博弈:当合作遇上竞争 (Mixed Cooperative-Competitive)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
混合型博弈:当合作遇上竞争 (Mixed Cooperative-Competitive)

摘要
现实世界很少是纯粹的“你好我好大家好”(完全合作),也很少是纯粹的 1v1 单挑(完全竞争)。最常见的形态是团队对抗 (Team-based Adversarial):例如王者荣耀/Dota2 的 5v5,或者机器人足球世界杯。在这种混合型 (Mixed)场景下,智能体面临双重人格分裂:对内,它是无私的队友;对外,它是冷酷的杀手。本文将深入剖析混合型 MARL 的数学模型,详解MADDPG算法如何通过“中心化 Critic”一统江湖,并介绍Population-Based Training (PBT)如何解决复杂的 Meta-Game 进化。


目录 (Table of Contents)

  1. 什么是混合型 MARL?
    • 定义:一般和博弈 (General-Sum Game)
    • 典型场景:团队零和 (Team Zero-Sum)
  2. 双重困境:内忧外患
    • 内忧:信誉分配与协作
    • 外患:非平稳性与策略克制
  3. 核心算法:MADDPG (Multi-Agent DDPG)
    • CTDE 的完美落地
    • “我知道你知道我知道”:全知全能的 Critic
    • 算法推导与 Loss 设计
  4. 进阶技巧:种群训练 (Population-Based Training, PBT)
    • 为什么梯度下降不够用了?
    • 从“炼丹”到“进化论”
    • OpenAI Five 的成功秘诀
  5. 实战考量:Reward Shaping
    • 个人英雄主义 vs 团队精神
  6. 总结

1. 什么是混合型 MARL?

1.1 定义:一般和博弈 (General-Sum Game)

在混合型环境中,智能体之间的关系既不是完全一致(R 1 = R 2 R^1=R^2R1=R2),也不是完全对立(R 1 = − R 2 R^1=-R^2R1=R2)。
任意智能体i iij jj的奖励R i , R j R^i, R^jRi,Rj之间没有固定的数学约束。

1.2 典型场景:团队零和 (Team Zero-Sum)

这是混合型 MARL 中研究最多的子集。
假设有两支队伍:红队N A \mathcal{N}_ANA和 蓝队N B \mathcal{N}_BNB

  • 队内合作∀ i , j ∈ N A , R i = R j = R A \forall i, j \in \mathcal{N}_A, R^i = R^j = R_Ai,jNA,Ri=Rj=RA
  • 队间竞争R A = − R B R_A = -R_BRA=RB

例子

  • 机器人足球 (RoboCup):你要传球给队友(合作),同时晃过对方后卫(竞争)。
  • 无人机群战:红蓝双方无人机集群对抗。

2. 双重困境:内忧外患

混合型 MARL 之所以难,是因为它同时继承了前两类问题的难点,并且还发生了“化学反应”。

2.1 内忧:信誉分配 (Credit Assignment)

在团队内部,我们依然面临Lazy Agent问题。如果赢了比赛,是每个人都打得好,还是 4 个大神带 1 个坑货?如果 Reward 仅仅是“赢/输”,梯度信号会非常稀疏且充满噪声。

2.2 外患:非平稳性 (Non-Stationarity)

对于红队的一个 Agent 来说,环境变得极度不可预测:

  • 队友在变(他在学习配合我)。
  • 对手在变(他在学习针对我)。

这种动态耦合导致环境的状态转移概率P ( s ′ ∣ s , a i ) P(s'|s, a^i)P(ss,ai)剧烈抖动。如果只用普通的 DQN/PPO,Agent 甚至无法判断 Reward 变低是因为自己变菜了,还是因为对手变强了。


3. 核心算法:MADDPG

2017 年,OpenAI 发表了MADDPG (Multi-Agent Deep Deterministic Policy Gradient),这是解决混合型 MARL 的里程碑式算法。它将CTDE (中心化训练,去中心化执行)框架发挥到了极致。

3.1 核心思想

  • 执行 (Actor):每个 Agenti ii有自己的策略网络μ i ( o i ) \mu_i(o_i)μi(oi)只看局部观测
  • 训练 (Critic):每个 Agenti ii还有一个价值网络Q i ( x , a 1 , … , a N ) Q_i(\mathbf{x}, a_1, \dots, a_N)Qi(x,a1,,aN)。注意,这个 Critic能看到所有人的观测x \mathbf{x}x和所有人的动作a \mathbf{a}a(包括队友和对手)。

为什么这么做有效?
通过把“对手的动作”a o p p o n e n t a_{opponent}aopponent作为输入喂给 Critic,环境对于 Critic 来说就变成了平稳的(Stationary)。
P ( s ′ ∣ s , a m e , a o p p o n e n t ) P(s' | s, a_{me}, a_{opponent})P(ss,ame,aopponent)
因为a o p p o n e n t a_{opponent}aopponent已经是已知条件,状态转移不再像黑盒一样随机变化。

3.2 梯度公式

对于 Agenti ii,其 Actor 的更新梯度为:

∇ θ i J ≈ 1 K ∑ k ∇ θ i μ i ( o i ( k ) ) ⋅ ∇ a i Q i μ ( x ( k ) , a 1 ( k ) , … , a i , … , a N ( k ) ) ∣ a i = μ i ( o i ( k ) ) \nabla_{\theta_i} J \approx \frac{1}{K} \sum_k \nabla_{\theta_i} \mu_i(o_i^{(k)}) \cdot \nabla_{a_i} Q_i^{\mu}(\mathbf{x}^{(k)}, a_1^{(k)}, \dots, a_i, \dots, a_N^{(k)})|_{a_i=\mu_i(o_i^{(k)})}θiJK1kθiμi(oi(k))aiQiμ(x(k),a1(k),,ai,,aN(k))ai=μi(oi(k))

解读

  1. Critic 告诉 Actor:“在当前大家都在乱战的情况下(x , a − i \mathbf{x}, \mathbf{a}^{-i}x,ai),你的动作a i a_iai往哪个方向改,我的 Q 值能变大?”
  2. 即使对手是竞争关系,Critic 也能学会预测对手的威胁,从而指导 Actor 做出规避或反击动作。

3.3 代码逻辑 (PyTorch 伪代码)

# 混合型环境:Critic 输入必须包含所有人的信息classCentralizedCritic(nn.Module):def__init__(self,n_agents,obs_dim,act_dim):super().__init__()# 输入维度 = (单个观测 + 单个动作) * 智能体数量total_input=(obs_dim+act_dim)*n_agents self.net=nn.Sequential(nn.Linear(total_input,64),nn.ReLU(),nn.Linear(64,1))defforward(self,all_obs,all_acts):# all_obs: [batch, n_agents * obs_dim]# all_acts: [batch, n_agents * act_dim]x=torch.cat([all_obs,all_acts],dim=1)returnself.net(x)

注:训练时,我们需要拿到对手的策略来计算 Target Q 值。如果对手策略未知,通常需要训练一个额外的网络来拟合对手策略。


4. 进阶技巧:种群训练 (Population-Based Training, PBT)

在混合型博弈中,仅靠 MADDPG 这种基于梯度的优化往往不够。

  • 问题:梯度下降容易陷入局部最优。Agent 可能学会了一套“欺负新手”的策略,但一旦遇到从未见过的高手策略,瞬间崩溃(不够 Robust)。
  • 解决:结合进化算法。

4.1 核心逻辑

像 OpenAI Five (Dota 2) 或 AlphaStar (StarCraft II) 这种神级 AI,其背后不仅仅是 RL,还有一个巨大的进化系统

  1. 种群初始化:同时训练 100 个不同的 Agent 队伍。
  2. 锦标赛 (League):让这 100 个队伍互相打(或者打历史版本)。
  3. 优胜劣汰:每隔一段时间,把胜率最低的 20% 队伍杀掉。
  4. 进化 (Mutation):复制胜率最高的 20% 队伍,并随机修改它们的超参数(学习率、Reward 权重等),填补空缺。

这被称为Auto-Curriculum (自动课程学习)。Agent 的对手永远是最适合它当前水平的“磨刀石”。


5. 实战考量:Reward Shaping

在混合型任务中,如何定义 Reward 是成败关键。

5.1 个人 vs 团队

假设是一个 MOBA 游戏:
R t o t a l = w 1 ⋅ R k i l l + w 2 ⋅ R a s s i s t + w 3 ⋅ R w i n R_{total} = w_1 \cdot R_{kill} + w_2 \cdot R_{assist} + w_3 \cdot R_{win}Rtotal=w1Rkill+w2Rassist+w3Rwin

  • 如果w 1 w_1w1太大:Agent 变成“人头狗”,抢队友资源,最终输掉比赛。
  • 如果w 3 w_3w3太大:早期梯度太稀疏,Agent 学不会基本操作。

OpenAI Five 的做法
引入一个动态系数ϕ \phiϕ(Team Spirit)。
R i = ( 1 − ϕ ) ⋅ R i n d i v i d u a l + ϕ ⋅ R ˉ t e a m R_i = (1 - \phi) \cdot R_{individual} + \phi \cdot \bar{R}_{team}Ri=(1ϕ)Rindividual+ϕRˉteam

  • 训练初期,ϕ \phiϕ较低,鼓励 Agent 先学会怎么补刀、怎么走位(个人技能)。
  • 训练后期,ϕ → 1 \phi \to 1ϕ1,强迫 Agent 关注比赛胜负,牺牲小我。

6. 总结

混合型 MARL 是通向通用人工智能(AGI)的必经之路,因为它模拟了人类社会的复杂性。

  • 模型:一般和博弈 / 团队零和博弈。
  • 基石算法MADDPG。通过中心化 Critic 解决非平稳性,允许 Actor 仅利用局部信息执行。
  • 训练架构CTDE + Self-Play + PBT。没有 PBT 的混合型 MARL 很难在复杂游戏中达到职业人类水平。
  • 哲学:在混合环境中,“适应”比“优化”更重要

炼丹师建议
如果你的项目是多对多的对抗(如无人机混战),不要犹豫,起手MAPPO(MADDPG 的 On-Policy 升级版) +Shared Critic,如果算力允许,一定要加上League Training机制。


至此,MARL 的三大板块(合作、竞争、混合)已全部解析完毕。希望这一系列博文能助你在多智能体的世界里乘风破浪!🚀

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/26 16:56:13

解锁CellProfiler的终极潜能:生物图像分析的革命性工具

解锁CellProfiler的终极潜能:生物图像分析的革命性工具 【免费下载链接】CellProfiler An open-source application for biological image analysis 项目地址: https://gitcode.com/gh_mirrors/ce/CellProfiler CellProfiler作为一款专为生物学家设计的开源图…

作者头像 李华
网站建设 2026/2/26 22:06:26

零基础也能玩转3D打印:用ImageToSTL把照片变成立体模型

零基础也能玩转3D打印:用ImageToSTL把照片变成立体模型 【免费下载链接】ImageToSTL This tool allows you to easily convert any image into a 3D print-ready STL model. The surface of the model will display the image when illuminated from the left side.…

作者头像 李华
网站建设 2026/2/25 8:28:48

PyODBC深度解析:揭秘高性能数据库连接的终极指南

PyODBC作为Python生态中最重要的数据库连接桥梁,通过ODBC标准实现了对多种数据库系统的统一访问。这个开源项目不仅遵循DB API 2.0规范,更在性能优化和跨平台兼容性方面展现出卓越的技术实力。 【免费下载链接】pyodbc Python ODBC bridge 项目地址: h…

作者头像 李华
网站建设 2026/2/27 17:06:50

浏览器IndexedDB技术,5分钟讲清楚

IndexedDB 是浏览器端(客户端)的​ NoSQL 面向对象数据库,用于持久化存储大量结构化数据(如对象、数组、文件等),是 Web 平台提供的客户端存储解决方案之一(与 localStorage、sessionStorage 同…

作者头像 李华
网站建设 2026/2/27 19:21:37

下一代驾驶员监测系统如何工作?视觉AI接管驾驶舱

长途驾驶、深夜行车或忙碌的一天,都可能让司机感到疲惫。但哪怕只是片刻的分神,也可能对行车安全造成重大影响。正因如此,许多汽车制造商正在转向新技术,以帮助司机保持警觉和专注。从追踪转向模式的传感器,到监测疲劳…

作者头像 李华