强化学习——多智能体强化学习
文章目录
- 前言
- 多智能体系统的设定
- 合作关系设定下的多智能体系统
- 策略学习的目标函数
- 合作关系下的多智能体策略学习算法MAC-A2C
- 非合作关系下的多智能体策略学习算法MAC-A2C
- 纳什均衡
前言
本文总结《深度强化学习》中的多智能体强化学习相关章节,如有错误,欢迎指出。
多智能体系统的设定
多智能体系统包含有多个智能体,多个智能体共享环境,智能体之间相互影响。一个智能体的动作会改变环境状态,从而影响其他智能体。
多智能体之间存在四种常见的关系
- 完全合作关系:多个智能体之间的目标一致,做出动作后获得的奖励相同。
- 完全竞争关系:某个智能体获得收益会导致某些的智能体亏损。
- 合作竞争的混合:多个智能体之间分成多组,组内智能体的利益一致,各个组之间处于竞争关系,例如《王者荣耀》。
- 利己主义:一个智能体的动作会改变环境,从而使得别的智能体受益或者受损,这种关系看起来像是完全竞争关系的子集。
多智能体系统下,需要对强化学习的一些术语进行再定义:
- 奖励:多智能体之间的关系不同,会导致环境给予的奖励不同。若多个智能体之间是合作关系,则多个智能体从环境中获得的奖励相同。若多个智能体之间是竞争关系,则某个智能体从环境中获得正向奖励会导致某个智能体获得负向奖励。第iii个智能体在ttt时刻获得的奖励RtiR_t^iRti由状态StS_tSt和所有智能体的动作At=[At1,At2,...,Atn]A_t=[A_t^1,A_t^2,...,A_t^n]At=[At1,At2,...,Atn]决定。
- 动作价值函数:由于一个智能体执行的动作会影响到其余智能体,因此多智能体系统中第iii个智能体的动作价值函数Qπi(St,At)Q_\pi^i(S_t,A_t)Qπi(St,At)既依赖于当前的状态StS_tSt(可以是单个智能体看到环境状态,也可以是多个智能体看到的环境状态),也依赖于所有智能体的动作At=[At1,At2,...,Atn]A_t=[A_t^1,A_t^2,...,A_t^n]At=[At1,At2,...,Atn](也依赖于所有智能体的策略)
- 状态价值函数:状态价值函数是动作价值函数关于动作的期望,而智能体执行的动作依赖于策略函数,因此第iii个智能体的状态价值函数Vπi(St)V_\pi^i(S_t)Vπi(St)也依赖于所有智能体的策略。
在多智能体系统中,单个智能体的状态价值函数和动作价值函数都受到其余智能体的影响。
合作关系设定下的多智能体系统
在多智能体的设定下,单个智能体未必能观测全局状态。设第iii个智能体观测到的状态为OiO^iOi,则可以假设所有智能体观测到的局部状态总和为全局状态,即
S=[O1,O2,...,Om]S=[O^1,O^2,...,O^m] S=[O1,O2,...,Om]
在合作关系下,多个智能体从环境中获得奖励是相同的。设第iii个智能体获得的奖励为RiR^iRi,则有
R1=R2=...=RmR^1=R^2=...=R^m R1=R2=...=Rm
此外,每个智能体各自的动作价值函数和状态价值函数都依赖于所有智能体的策略函数π(A1∣S;θ1)、π(A2∣S;θ2)、...、π(Am∣S;θm)\pi(A^1|S;\theta^1)、\pi(A^2|S;\theta^2)、...、\pi(A^m|S;\theta^m)π(A1∣S;θ1)、π(A2∣S;θ2)、...、π(Am∣S;θm)。
策略学习的目标函数
合作关系下的多智能体策略学习算法MAC-A2C
由于多个智能体的目标相同,从环境中获得的奖励相同,因此多个智能体共享一个价值网络V(s;w)V(s;w)V(s;w),该价值网络输入的状态为s=[o1,o2,...,om]s=[o^1,o^2,...,o^m]s=[o1,o2,...,om],其中oio^ioi表示第iii个智能体观测到的状态。价值网络的输出为对状态sss的评分。
每个智能体都有自己的策略网络,第iii个智能体的策略网络记为π(ai∣s;θi)\pi(a^i|s;\theta^i)π(ai∣s;θi)。由于多个智能体之间是合作关系,因此策略网络的输入状态为s=[o1,o2,...,om]s=[o^1,o^2,...,o^m]s=[o1,o2,...,om],其中oio^ioi表示第iii个智能体观测到的状态。
具体的训练流程为:
训练完毕后的决策流程为:
上述训练流程,策略网络做一次推断,需要同步一次mmm个智能体观测到的状态,这种同步过程非常耗时。在实际场景中,可以使用中心化训练+去中心化决策的trick。具体而言,每个智能体的策略网络仅依据智能体观测到的当前状态决策,即第iii个策略网络由π(ai∣s;θi)\pi(a^i|s;\theta^i)π(ai∣s;θi)变为π(ai∣oi;θi)\pi(a^i|o^i;\theta^i)π(ai∣oi;θi)。由于价值网络依然依据总体状态sss进行计算,因此其余智能体观测到的状态信息会通过策略梯度传递至当前智能体中。中心化训练的具体流程为:
模型训练完毕后,使用去中心化决策,第iii个智能体依据自身观测到状态oio^ioi,利用策略网络π(ai∣oi;θi)\pi(a^i|o^i;\theta^i)π(ai∣oi;θi)决定执行的动作。
非合作关系下的多智能体策略学习算法MAC-A2C
多个智能体在合作关系下具有共同的目标,因此可以共用一个价值网络。而非合作关系下,多个智能体具有的目标各不相同,因此每个智能体都有与之对应的策略网络和价值网络。设第iii个智能体观测到的状态为oio^ioi,的策略网络为π(ai∣s;θi)\pi(a^i|s;\theta^i)π(ai∣s;θi)、价值网络为v(s;wi)v(s;w^i)v(s;wi),其中sss为所有智能体观测到的状态总和,即s=[o1,o2,...,on]s=[o^1,o^2,...,o^n]s=[o1,o2,...,on]。
MAC-A2C的训练流程如下图,注意与合作关系下的多智能强化学习不同,非合作关系下不同智能体从环境中获得的奖励不同。
训练完毕后的决策过程为
上述训练流程,策略网络做一次推断,需要同步一次mmm个智能体观测到的状态,这种同步过程非常耗时。在实际场景中,可以使用中心化训练+去中心化决策的trick,这个过程可以浏览上一个章节。
纳什均衡
在非合作关系下,智能体之间的利益不同,某个智能体取得较大的状态价值函数值,可能导致另外一个智能体取得较小的状态价值函数值,那么该如何判断算法是否收敛呢?在非合作关系下,判断算法是否收敛的标准为纳什均衡。具体而言,在多智能体系统中,当其余所有智能体都不改变策略的情况下,一个智能体iii单独改变策略θi\theta_iθi,无法让其期望回报Ji(θ1,...,θm)J_i(\theta_1,...,\theta_m)Ji(θ1,...,θm)变大(策略梯度为0),即智能体无法找到比当前策略更优的策略(无法通过梯度更新参数),这种平衡状态即纳什均衡。
强化学习——多智能体强化学习相关推荐
- 强化学习—— 多智能体强化学习
强化学习-- 多智能体强化学习 1. 多智能体关系分类 1.1 合作关系(Fully Cooperative) 1.2 竞争关系(Fully Competitive) 1.3 混合关系(Mixed C ...
- 多智能体强化学习入门
参考文章:万字长文:详解多智能体强化学习的基础和应用 .多智能体强化学习入门(一)--基础知识与博弈 推荐文章:多智能体强化学习路线图 (MARL Roadmap) 推荐综述论文:An Overvie ...
- 多智能体强化学习思路整理
多智能体强化学习算法思路整理 目录 摘要 背景和意义 研究背景 强化学习 多智能体强化学习与博弈论基础 研究意义 问题与挑战 问题分类 问题分析 环境的不稳定性与可扩展性的平衡 部分可观测的马尔可夫决 ...
- 《强化学习周刊》第40期:PMIC多智能体强化学习、Lazy-MDPs、CTDS
No.40 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 周刊订阅 告诉大家一个好消息,<强化学习周刊>已经开启"订阅功能",以后我们会向您自动推送最 ...
- 《强化学习周刊》第16期:多智能体强化学习的最新研究与应用
No.16 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,多智能强化学习的研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领 ...
- 《强化学习周刊》第2期:多智能体强化学习(MARL)赋能“AI智能时代”
No.02 智源社区 强化学习组 R L 学 习 研究 观点 资源 活动 关于周刊 随着强化学习研究的不断成熟,如何将其结合博弈论的研究基础,解决多智能体连续决策与优化问题成为了新的研究领域,为了帮 ...
- 上海交大开源训练框架,支持大规模基于种群多智能体强化学习训练
机器之心专栏 作者:上海交大和UCL多智能体强化学习研究团队 基于种群的多智能体深度强化学习(PB-MARL)方法在星际争霸.王者荣耀等游戏AI上已经得到成功验证,MALib 则是首个专门面向 PB- ...
- 不用地图如何导航?DeepMind提出新型双路径强化学习「智能体」架构
来源:deepmind.arXiv 作者:Piotr Mirowski.Matthew Koichi Grimes.Mateusz Malinowski.Karl Moritz Hermann.Kei ...
- 直播 | 帝国理工王剑虹:配电网中用多智能体强化学习进行的主动电压控制
「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...
- 多智能体强化学习_基于多智能体强化学习主宰星际争霸游戏
大家好,今天我们来介绍基于多智能体强化学习主宰星际争霸游戏这篇论文 Grandmaster level in StarCraft II using multi-agent reinforcement ...
最新文章
- VC下提前注入进程的一些方法2——远线程带参数
- python库pickle的用法
- Android数据存储——2.文件存储_B_资源文件
- 文本分类数据集_181个NLP教程,481个文本数据集,Colab一键直达,无需环境配置...
- SIGIR 2021 | 基于不确定性正则化与迭代网络剪枝的终身情感分类方法
- PerlRegex堆栈溢出的问题
- java多线程之ThreadLoal详解
- Windows Live Writer配置步骤
- [洛谷P4720] [模板] 扩展卢卡斯
- 透视相机(PerspectiveCamera)
- oracle block corrupted,ORA-01578: ORACLE data block corrupted (file # 6, block # 132)
- 阿里云产品推荐——专有网络 VPC
- mac 解决sudo: no valid sudoers sources found, quitting
- org.hibernate.ObjectNotFoundException: No row with the given identifier exis
- gpio操作实现人体感应灯(一)
- Java项目:JavaWeb实现网上图书商城系统
- python股票基本面分析_python之股票数据分析
- 创业之路 - 上市公司包括哪几种,创业板、新三板、科创版 区别?
- Android百度地图地理围栏定位间隔
- java 软尾 铝_软尾入门车款:JAVA FURIA 27.5上市
热门文章
- Ubuntu 16.04下设置开机时自动开启NumLock
- Skyscrapers Aren’t Scalable
- Delphi XE5应用开发支持的安卓设备
- 笔记本计算机管理没有键盘,如何禁用笔记本键盘输入?怎么关闭笔记本键盘
- 202109青少年软件编程(Python)等级考试(五级编程题)
- 1314:【例3.6】过河卒(Noip2002)
- 操作系统的几种基本类型
- 《天才在左,疯子在右》读记
- python爬虫---拉勾网与前程无忧网招聘数据获取(多线程,数据库,反爬虫应对)
- 学生专用计算机怎么打,电脑使用word快速打出学生座位表的方法