网易首页 > 网易号 > 正文 申请入驻

​多智能体强化学习(MARL)核心概念与算法概览

0
分享至

训练单个 RL 智能体的过程非常简单,那么我们现在换一个场景,同时训练五个智能体,而且每个都有自己的目标、只能看到部分信息,还能互相帮忙。

这就是多智能体强化学习(Multi-Agent Reinforcement Learning,MARL),但是这样会很快变得混乱。



什么是多智能体强化学习

MARL 是多个决策者(智能体)在同一环境中交互的强化学习。

环境类型可以很不一样。竞争性的,比如国际象棋,一方赢一方输。合作性的,比如团队运动,大家共享目标。还有混合型的,更像现实生活——现在是队友,过会儿可能是对手,有时候两者同时存在。

但是这里与一个关键的问题:从任何一个智能体的视角看世界变成了非平稳的,因为其他智能体也在学习、在改变行为。也就是说在学规则的时候,规则本身也在变。

MARL 在现实中的位置

单智能体 RL 适合系统只有一个"大脑"的情况,而MARL 则出现在世界有多个"大脑"的时候。

现实世界中有很多这样的案例,比如交通信号控制:每个路口是一个智能体,一个信号灯"贪婪"了,下游路口就会卡死;仓库机器人:每个机器人自己选路径,碰撞和拥堵天然是多智能体问题;广告竞价和市场:智能体用不断变化的策略争夺有限资源;网络安全:攻击者和防御者是相互适应的智能体对;在线游戏和模拟:协调、欺骗、配合、自我对弈——这些都是MARL 的经典试验场。

核心概念

大多数真实场景中,智能体只能看到状态的一部分。所以 MARL 里的策略通常基于局部观测,而不是完整的全局状态。

单智能体 RL 里环境动态是稳定的,而MARL 不一样"环境"包括其他智能体。它们在学习,你的转移动态也就跟着变了。

这正是经典的 Qlearn在多智能体环境里容易震荡、甚至崩溃的原因。

合作任务中团队拿到奖励,但功劳该算谁的?团队成功了,是智能体 2 的动作起了作用,还是智能体 5 在 10 步之前的作用?这就是信用分配问题,这是MARL 里最头疼的实际难题之一。

集中式与分布式

集中训练、分布式执行(CTDE)

这是目前最常见的模式。训练时智能体可以用额外信息,比如全局状态或其他智能体的动作。执行时每个智能体只根据自己的局部观测行动。

这样的好处是,既有集中学习的稳定性,又不需要在运行时获取不现实的全局信息。

完全分布式学习

智能体只从局部经验学习。这个听起来是对的,而且简单任务也能用。但实际中往往不够稳定,合作任务尤其如此。

算法总览

合作性基于价值的方法:Independent Q-Learning(IQL)是最简单的基线,容易实现但通常不稳定;VDN 和 QMIX 通过混合各智能体的价值来学全局团队价值,合作处理得更好。

策略梯度和 Actor-Critic 方法:MADDPG 用集中式 Critic 配分布式 Actor,概念上是很好的切入点;MAPPO 在很多合作任务里是靠谱的默认选择。

自我对弈(Self-play):和自己不同版本对打来建立泛化的策略。思路简单粗暴效果也很好。

用 Python 从零搭一个小 MARL 环境

来做个玩具游戏:两个智能体必须协调。经典设定——两者选同一个动作才有奖励。每个智能体选 0 或 1,动作一致拿 +1,不一致拿 0。

我们这里刻意设计得简单,这样方便我们聚焦在 MARL 机制本身。

import random
from collections import defaultdict
class CoordinationGame:
def step(self, a0, a1):
reward = 1 if a0 == a1 else 0
done = True # single-step episode
return reward, done

接下来是最小化的 Independent Q-Learning 设置,每个智能体学自己的 Q 表。这里没有状态,Q 只取决于动作。

def epsilon_greedy(Q, eps=0.1):
if random.random() < eps:
return random.choice([0, 1])
return 0 if Q[0] >= Q[1] else 1
Q0 = defaultdict(float) # Q0[action]
Q1 = defaultdict(float) # Q1[action]
alpha = 0.1
eps = 0.2
env = CoordinationGame()
for episode in range(5000):
a0 = epsilon_greedy(Q0, eps)
a1 = epsilon_greedy(Q1, eps)
r, done = env.step(a0, a1)
# One-step update (no next-state)
Q0[a0] += alpha * (r - Q0[a0])
Q1[a1] += alpha * (r - Q1[a1])
# Inspect learned preferences
print("Agent0 Q:", dict(Q0))
print("Agent1 Q:", dict(Q1))

多数运行会收敛到两种"惯例"之一:两者都学会总是选 0,或者都学会总是选 1。

这就是协调从学习中涌现出来的样子。虽然小但和大型合作 MARL 系统里依赖的模式是同一类东西。

这个玩具例子太友好了。难一点的任务里,IQL 常常变得不稳定,因为每个智能体都在追一个移动靶。

让例子更"MARL"一点

常见技巧是加共享团队奖励,同时保证足够长的探索期来发现协调,下面是一个带衰减 epsilon 的训练循环:

Q0 = defaultdict(float)
Q1 = defaultdict(float)
alpha = 0.1
eps = 0.9
eps_decay = 0.999
eps_min = 0.05
env = CoordinationGame()
for episode in range(20000):
a0 = epsilon_greedy(Q0, eps)
a1 = epsilon_greedy(Q1, eps)
r, _ = env.step(a0, a1)
Q0[a0] += alpha * (r - Q0[a0])
Q1[a1] += alpha * (r - Q1[a1])
eps = max(eps_min, eps * eps_decay)
print("Agent0 Q:", dict(Q0))
print("Agent1 Q:", dict(Q1))

这当然不会解决 MARL,但它演示了一个真实原则:早期探索帮助智能体"找到"一个稳定的协调惯例。

总结

一旦解决了单步协调问题,还会有三个问题会反复出现:

虚假学习信号:智能体可能觉得"是自己动作导致了奖励",实际上是另一个智能体的动作起了作用。

糟糕的均衡陷阱:在竞争性游戏里,智能体可能卡在稳定但不强的弱策略上。

规模爆炸:多智能体的状态和动作空间膨胀很快,需要更好的函数逼近(神经网络)、更好的训练方案(CTDE),通常还需要更讲究的环境设计。

应对这些问题没有万能解法,但有一些经过验证的思路。针对虚假学习信号,可以用 CTDE 架构让 Critic 看到全局信息,帮助每个智能体更准确地评估自己动作的贡献。均衡陷阱的问题,自我对弈加上一定的探索机制能帮智能体跳出局部最优。规模问题则需要参数共享、注意力机制等技术来降低复杂度。

实际项目中,建议先在概念上理解集中式 Critic 的工作原理,不用急着写完整的深度 RL 代码。这一步会改变你思考可观测性和稳定性的方式,后面上手具体算法会顺畅很多。

https://avoid.overfit.cn/post/56fb12fbb46e400180fad2999d533292

作者:Syntal

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
韩媒:中国U23的比赛风格如同沼泽,李昊堪称“蜘蛛侠”门将

韩媒:中国U23的比赛风格如同沼泽,李昊堪称“蜘蛛侠”门将

懂球帝
2026-01-18 10:49:28
央视播报聂卫平遗体送别仪式 大儿子孔令文携弟妹扶遗像到场

央视播报聂卫平遗体送别仪式 大儿子孔令文携弟妹扶遗像到场

劲爆体坛
2026-01-18 13:18:09
堪称最强四代半战机,美媒:KF21已结束试飞,26年下半年开始量产

堪称最强四代半战机,美媒:KF21已结束试飞,26年下半年开始量产

啸鹰评
2026-01-18 07:45:03
摩洛哥主帅:祝贺塞内加尔;这场比赛让非洲足球形象受到影响

摩洛哥主帅:祝贺塞内加尔;这场比赛让非洲足球形象受到影响

懂球帝
2026-01-19 07:30:09
她和奥运冠军马琳离婚分走千万,再婚嫁给金融学霸,如今怎样了?

她和奥运冠军马琳离婚分走千万,再婚嫁给金融学霸,如今怎样了?

优趣纪史记
2025-12-28 14:47:11
我们聊聊一个新群体——零负债人群。

我们聊聊一个新群体——零负债人群。

流苏晚晴
2026-01-16 17:57:29
好消息要来了!中小学终于迎来新改革,学生表示:幸福回来了!

好消息要来了!中小学终于迎来新改革,学生表示:幸福回来了!

老特有话说
2026-01-18 15:46:30
第一个力挺丹麦的战友出现!只要美国敢出兵,立马使出2大绝招

第一个力挺丹麦的战友出现!只要美国敢出兵,立马使出2大绝招

策略述
2026-01-16 19:16:02
就在刚刚,19号早上,广东宏远传来徐杰、杜锋和朱芳雨的最新消息

就在刚刚,19号早上,广东宏远传来徐杰、杜锋和朱芳雨的最新消息

多特体育说
2026-01-19 07:40:03
北京男篮8分险胜,陈盈骏23+5+5翟晓川14+7,曾凡博13+4周琦缺阵

北京男篮8分险胜,陈盈骏23+5+5翟晓川14+7,曾凡博13+4周琦缺阵

中国篮坛快讯
2026-01-18 21:37:47
中途岛海战的几十年谎言:日本航母被炸时,飞行甲板其实是空的

中途岛海战的几十年谎言:日本航母被炸时,飞行甲板其实是空的

史之铭
2026-01-18 17:31:05
回顾探花大神:害人害己,多位女主被亲戚认出当场“社死”

回顾探花大神:害人害己,多位女主被亲戚认出当场“社死”

就一点
2025-10-09 12:19:42
演员沈腾大量早期照片曝光!QQ空间被盗?腾讯回应

演员沈腾大量早期照片曝光!QQ空间被盗?腾讯回应

探长影视解说
2026-01-18 21:23:43
G7 达成一致,减少进口中国稀土,北约秘书长:中国也是北极国家

G7 达成一致,减少进口中国稀土,北约秘书长:中国也是北极国家

议纪史
2026-01-18 08:35:03
津琴科将租借加盟阿贾克斯!厄德高复出后埃泽已被打入冷宫!

津琴科将租借加盟阿贾克斯!厄德高复出后埃泽已被打入冷宫!

足球侦探
2026-01-19 08:30:04
伊朗总统称攻击最高领袖致全面战争

伊朗总统称攻击最高领袖致全面战争

财联社
2026-01-18 23:48:01
渣打马拉松2026 l 周润发2小时跑完10公里,TVB群星参加

渣打马拉松2026 l 周润发2小时跑完10公里,TVB群星参加

TVB剧评社
2026-01-18 13:14:04
对方趁她昏迷脱光衣物,用手机录下视频江祖平曝女演员遭下药偷拍

对方趁她昏迷脱光衣物,用手机录下视频江祖平曝女演员遭下药偷拍

陈意小可爱
2026-01-19 01:16:36
为什么外国人不怕冷?网友:一桶3000片的布洛芬见过吗?

为什么外国人不怕冷?网友:一桶3000片的布洛芬见过吗?

夜深爱杂谈
2026-01-18 19:47:44
米娜酒后直播耍酒疯,先脱衣服后劈叉,粉丝刷礼物后大方展示身材

米娜酒后直播耍酒疯,先脱衣服后劈叉,粉丝刷礼物后大方展示身材

新游戏大妹子
2026-01-17 13:16:15
2026-01-19 08:52:49
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
1894文章数 1443关注度
往期回顾 全部

科技要闻

编程从此不再有门槛!Claude Code火爆出圈

头条要闻

普京前顾问:若敢暗杀普京 欧洲将从人类地图上消失

头条要闻

普京前顾问:若敢暗杀普京 欧洲将从人类地图上消失

体育要闻

21年后,中国男足重返亚洲四强

娱乐要闻

香港武打演员梁小龙去世:享年77

财经要闻

BBA,势败如山倒

汽车要闻

又一次闷声干大事,奇瑞进入2.0 AI+时代

态度原创

旅游
亲子
艺术
游戏
家居

旅游要闻

村游消费:活了文化 火了生活

亲子要闻

锐锐好久没出过门,阿金带来到超市,全程开心极了

艺术要闻

14位欧美画家的15幅女性作品

《生化危机9》回归浣熊市原因:让系列重回主线

家居要闻

岁月柔情 现代品质轻奢

无障碍浏览 进入关怀版