一文了解【完全合作关系】下的【多智能体强化学习】

处于完全合作关系 的多智能体的利益一致,获得的奖励相同,有共同的目标。比如多个工业机器人协同装配汽车,他们的目标是相同的,都希望把汽车装好。

在多智能体系统中,一个智能体未必能观测到全局状态 S。设第 i 号智能体有一个局部观测,记作 Oi,它是 S 的一部分。不妨假设所有的局部观测的总和构成全局状态:

完全合作关系下的MARL:

目录

策略学习

下面由policy-based的MARL方法入手。(value-based MARL也有很多工作)

MARL 中的完全合作关系 (Fully-Cooperative) 意思是所有智能体的利益是一致的,它们有相同的奖励R,回报U,动作价值函数Q,状态价值函数V。Q和V依赖于所有agent的策略π

通常来说,团队成员有分工合作,所以每个成员的策略是不同的,即 θi ≠ θj。

如果做策略学习(即学习策略网络参数 θ1, · · · , θm),那么所有智能体都有一个共同目标函数

所有智能体的目的是一致的,即改进自己的策略网络参数 θi,使得目标函数 J 增大 。那么策略学习可以写作这样的优化问题:

(注意,只有"完全合作关系"这种设定下,所有智能体才会有共同的目标函数,其原因在于 R1 = · · · = Rm。对于其它设定,"竞争关系"、"混合关系"、"利己主义",智能体的目标函数是各不相同的。)

可能有人好奇R,U,Q,V都一样了,为什么训练出来π不一样?主要是每个agent的动作空间有区别,各司其职,所以agent的策略会有区别。

由于无法计算策略梯度∇θiJ,我们需要对其做近似。下面用 价值网络 近似 策略梯度 ,从而推导出一种实际可行的策略梯度方法。

多智能体A2C

下面介绍"完全合作关系"设定下的多智能体 A2C 方法 (Multi-Agent Cooperative A2C),缩写 MAC-A2C。简单点入手,本文只考虑离散控制问题

策略网络和价值网络

MAC-A2C 使用两类神经网络:价值网络 v策略网络 π

所有智能体共用一个价值网络。
每个智能体有自己的策略网络。

训练和决策

实现中的难点

最大的问题,在 MARL 的常见设定下,第 i 号智能体只知道 oi,而观测不到全局状态。

下面介绍中心化 (Centralized) 与去中心化 (Decentralized) 的实现方法。

  • 中心化让智能体共享信息;优点是训练和决策的效果好,缺点是需要通信,造成延时,影响速度。
  • 去中心化需要做近似,避免通信;其优点在于速度快,而缺点则是影响训练和决策的质量。

三种架构

下面介绍MAC-A2C的三种实现方法。

完全中心化

中心化训练 + 中心化决策 ,这是MAC-A2C最忠实的实现方法,作出的决策最好,但是速度最慢,在很多问题中不适用

训练和决策全部由中央控制器完成。智能体只负责与环境交互,然后把各种数据传给中央。智能体只需要执行中央下达的决策,而不需要自己"思考",纯纯工具人。


完全去中心化

想要避免通信代价,就不得不对策略网络和价值网络做近似,变为"去中心化训练 + 去中心化决策"。

MAC-A2C 变成了标准的 A2C,每个智能体独立学习自己的参数 θi 与 wi。

去中心化训练的本质就是单智能体强化学习 (SARL),而非多智能体强化学习 (MARL)。在 MARL 中,智能体之间会相互影响,而本节中的"去中心化训练"把智能体视为独立个体,忽视它们之间的关联,直接用 SARL 方法独立训练每个智能体。用上述 SARL 的方法解决 MARL 问题,在实践中效果往往不佳。

中心化训练 + 去中心化决策

当前更流行的MARL 架构是"中心化训练 + 去中心化决策",相对于上面两种方法,有效结合了它们的优点又缓解了它们的缺点,近年来很流行。

训练的时候使用中央控制器,辅助智能体做训练;
训练结束之后,不再需要中央控制器,每个智能体独立根据本地观测 oi 做决策。

训练:

决策:


智能体只需要用其本地部署的策略网络π做决策,决策过程无需通信。

中心化执行的速度很快,可以做到实时决策。

本文内容为看完王树森和张志华老师的《深度强化学习》一书的学习笔记,十分推荐大家去看原书!

相关推荐
胡耀超3 分钟前
知识图谱入门——3:工具分类与对比(知识建模工具:Protégé、 知识抽取工具:DeepDive、知识存储工具:Neo4j)
人工智能·知识图谱
陈苏同学11 分钟前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
吾名招财29 分钟前
yolov5-7.0模型DNN加载函数及参数详解(重要)
c++·人工智能·yolo·dnn
FL162386312940 分钟前
[深度学习][python]yolov11+bytetrack+pyqt5实现目标追踪
深度学习·qt·yolo
羊小猪~~1 小时前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm
鼠鼠龙年发大财1 小时前
【鼠鼠学AI代码合集#7】概率
人工智能
龙的爹23331 小时前
论文 | Model-tuning Via Prompts Makes NLP Models Adversarially Robust
人工智能·gpt·深度学习·语言模型·自然语言处理·prompt
工业机器视觉设计和实现1 小时前
cnn突破四(生成卷积核与固定核对比)
人工智能·深度学习·cnn
醒了就刷牙1 小时前
58 深层循环神经网络_by《李沐:动手学深度学习v2》pytorch版
pytorch·rnn·深度学习
985小水博一枚呀1 小时前
【对于Python爬虫的理解】数据挖掘、信息聚合、价格监控、新闻爬取等,附代码。
爬虫·python·深度学习·数据挖掘