强化学习—— 多智能体强化学习
强化学习—— 多智能体强化学习
- 1. 多智能体关系分类
- 1.1 合作关系(Fully Cooperative)
- 1.2 竞争关系(Fully Competitive)
- 1.3 混合关系(Mixed Cooperative & Competitive)
- 1.4 利己关系(self-interested)
- 2. 专业术语(Terminologies)
- 2.1 假设agent个数为
- 2.2 状态为
- 2.3 第i个agent的动作为
- 2.4 状态转移函数
- 2.5 奖励(Reward)
- 2.6 回报(Return)
- 2.7 策略网络
- 2.8 回报的随机性
- 2.9 状态价值函数
- 3. 多智能体策略学习的收敛问题
- 3.1 单智能体的策略学习
- 3.2 多智能体策略学习的问题
- 3.2.1 收敛条件
- 3.2.2 使用单智能体策略学习方式进行多智能体策略学习
- 4. 多智能体强化学习
- 4.1 学习方式分类
- 4.1.1 Fully Decentralized
- 4.1.2 Fully Centralized
- 4.1.3 Centralized Learning & Decentralized Execution(中心化训练,去中心化执行)
- 4.2 不完全观测(partial observation)
- 4.3 完全去中心化学习(Fully Decentralized)
- 4.4 完全中心化学习(Fully Centralized)
- 4.4.1 网络结构
- 4.4.2 训练方式
- 4.4.3 执行方式
- 4.4.3 优势与不足
- 4.5 中心化学习,去中心化执行( Centralized Learning & Decentralized Execution)
- 4.5.1 网络结构
- 4.5.2 训练方式
- 4.5.3 参数共享
- 5 总结
1. 多智能体关系分类
1.1 合作关系(Fully Cooperative)
- agent的利益一致,合作去获取共同的回报
- 如工业机器人
1.2 竞争关系(Fully Competitive)
- 一个agent的收益是另一个agent的损失
- 如捕食者和猎物
1.3 混合关系(Mixed Cooperative & Competitive)
- 既有合作,也有竞争
- 如机器人踢足球
1.4 利己关系(self-interested)
- 只想让自身受益,不关心别人受益或者损失。
- 如股票自动交易系统。
2. 专业术语(Terminologies)
2.1 假设agent个数为
nnn
2.2 状态为
SSS
2.3 第i个agent的动作为
AiA^iAi
2.4 状态转移函数
p(s′∣s,a1,a2,...,an)=P(S=s,A1=a1,A2=a2,...,An=an)p(s'|s,a^1,a^2,...,a^n)=P(S=s,A^1=a^1,A^2=a^2,...,A^n=a^n)p(s′∣s,a1,a2,...,an)=P(S=s,A1=a1,A2=a2,...,An=an)下一时刻的动作依赖于所有智能体的动作(相互影响)。
2.5 奖励(Reward)
- 第i个智能体获得的奖励为:RiR^iRi
- 合作关系:R1=R2=...=RnR^1=R^2=...=R^nR1=R2=...=Rn
- 竞争关系:R1∝−R2R^1\propto-R^2R1∝−R2
- Ri依赖于自身的动作Ai,也依赖于其它智能体的动作(Aj)i≠jR^i依赖于自身的动作A^i,也依赖于其它智能体的动作(A^j)_{i\neq j}Ri依赖于自身的动作Ai,也依赖于其它智能体的动作(Aj)i=j
2.6 回报(Return)
- t时刻第i个智能体获得的奖励为:RtiR_t^iRti
- 第i个智能体的汇报为:Uti=Rti+Rt+1i+Rt+2i+Rt+3i+...U_t^i = R_t^i+R_{t+1}^i+R_{t+2}^i+R_{t+3}^i+...Uti=Rti+Rt+1i+Rt+2i+Rt+3i+...
- 第i个智能体的折扣回报为:Uti=Rti+γ⋅Rt+1i+γ2⋅Rt+2i+γ3⋅Rt+3i+...γ∈[0,1]U_t^i = R_t^i+\gamma \cdot R_{t+1}^i+\gamma^2 \cdot R_{t+2}^i+\gamma^3 \cdot R_{t+3}^i+...\\\gamma \in [0,1]Uti=Rti+γ⋅Rt+1i+γ2⋅Rt+2i+γ3⋅Rt+3i+...γ∈[0,1]
2.7 策略网络
- 每个智能体都有自己的策略网络:π(ai∣s;θi)\pi(a^i|s;\theta^i)π(ai∣s;θi)
- 在某些场景中策略网络是可以互换的,如自动驾驶中:θ1=θ2=...=θn\theta^1 = \theta^2=...=\theta^nθ1=θ2=...=θn
- 在某些场景中策略网络是不可互换的,如足球比赛中(不同角色有不同作用):θi≠θj\theta^i\neq\theta^jθi=θj
2.8 回报的随机性
- 奖励的随机性
- Rti依赖于St,At1,At2,At3,...,Atn,R_t^i依赖于S_t,A_t^1,A_t^2,A_t^3,...,A_t^n,Rti依赖于St,At1,At2,At3,...,Atn,
- St的随机性依赖于状态转移函数PS_t的随机性依赖于状态转移函数PSt的随机性依赖于状态转移函数P
- Ati的随机性来源于策略网络π(⋅∣st;θi)A_t^i的随机性来源于策略网络\pi(\cdot|s_t;\theta^i)Ati的随机性来源于策略网络π(⋅∣st;θi)
- 回报的随机性
- Uti=∑k=0∞γkRt+kiU_t^i=\sum_{k=0}^{\infty}\gamma^{k}R_{t+k}^iUti=k=0∑∞γkRt+ki
- 依赖于所有未来的状态:{St,St+1,...}\{S_t,S_{t+1},...\}{St,St+1,...}
- 依赖于未来所有agent的动作:{Ati,At+1i,...}(foriinrange(1,n+1))\{A_t^i,A_{t+1}^i,...\}(for\quad i\quad in \quad range(1,n+1)){Ati,At+1i,...}(foriinrange(1,n+1))
2.9 状态价值函数
- 第i个智能体的状态价值为:Vi(st;θ1,θ2,...,θn)=E[Uti∣St=st]V^i(s_t;\theta^1,\theta^2,...,\theta^n)=E[U_t^i|S_t=s_t]Vi(st;θ1,θ2,...,θn)=E[Uti∣St=st]期望依赖于所有未来的动作和状态,除了t时刻的状态。
- Atj∼π(⋅∣st;θj)j=1,...,nA_t^j\sim \pi(\cdot|s_t;\theta^j)\quad j=1,...,nAtj∼π(⋅∣st;θj)j=1,...,n
- Vi∼{θ1,θ2,...,θn}V^i\sim\{\theta^1,\theta^2,...,\theta^n\}Vi∼{θ1,θ2,...,θn}
- 一个agent的状态价值依赖于所有agent的策略
- 如果一个agent的策略改变了,则其它所有智能体的状态价值都会改变。
3. 多智能体策略学习的收敛问题
3.1 单智能体的策略学习
- 策略网络:π(a∣s;θ)\pi(a|s;\theta)π(a∣s;θ)
- 状态价值函数:V(s;θ)V(s;\theta)V(s;θ)
- 目标函数(用于评价策略好坏):J(θ)=Es[V(s;θ)]J(\theta)=E_s[V(s;\theta)]J(θ)=Es[V(s;θ)]
- 策略网络的参数学习方式为最大化目标函数:maxθJ(θ)max_\theta J(\theta)maxθJ(θ)
- 策略网络的收敛条件为目标函数不再增加。
3.2 多智能体策略学习的问题
3.2.1 收敛条件
收敛条件:满足纳什均衡(Nash Equilibrium)
- 保持其余智能体的策略不变时,仅改变第i个智能体的策略已不能提升其获得的回报。
- 每个agent都以最优的策略应对其它智能体的策略。
- 纳什均衡表明策略网络已经收敛,因为每个agent都不会去改变自己的策略,即使改变策略也不会提升自己获得的回报。
3.2.2 使用单智能体策略学习方式进行多智能体策略学习
- 第i个智能体的策略网络为:π(ai∣s;θi)\pi(a^i|s;\theta^i)π(ai∣s;θi)
- 第i个智能体的状态价值函数为:V(s;θ1,θ2,...,θn)V(s;\theta^1,\theta^2,...,\theta^n)V(s;θ1,θ2,...,θn)
- 目标函数为:J(θ1,θ2,...,θn)=Es[V(s;θ1,θ2,...,θn)]J(\theta^1,\theta^2,...,\theta^n)=E_s[V(s;\theta^1,\theta^2,...,\theta^n)]J(θ1,θ2,...,θn)=Es[V(s;θ1,θ2,...,θn)]
- 学习第i个策略网络的参数,通过最大化下列目标函数:maxθiJi(θ1,θ2,...,θn)\mathop{max}\limits_{\theta^i}J^i(\theta^1,\theta^2,...,\theta^n)θimaxJi(θ1,θ2,...,θn)
- 一个智能体更新策略,会使得其它智能体的目标函数发生改变,从而导致策略学习永远无法收敛。
- 假设第i个智能体找到最优策略:θ⋆i=argmaxθiJi(θ1,θ2,...,θn)\theta_\star^i=\mathop{argmax}\limits_{\theta^i}J^i(\theta^1,\theta^2,...,\theta^n)θ⋆i=θiargmaxJi(θ1,θ2,...,θn)其余agent改变自己的策略时,第i个agent的最优策略则已改变。
4. 多智能体强化学习
4.1 学习方式分类
4.1.1 Fully Decentralized
每个agent仅依据自身的观测值和奖励值进行策略学习,不同agent之间不交流。
4.1.2 Fully Centralized
每个agent将自己所有的观测值、奖励值和动作发送给中央控制器,每个agent只执行命令,不进行决策,所有的决策由中央控制器制定并下发。
4.1.3 Centralized Learning & Decentralized Execution(中心化训练,去中心化执行)
训练时使用中央控制器,训练结束后则不再依赖它。
4.2 不完全观测(partial observation)
- 一个智能体不能观测到完整的全局状态:sss
- 第i个智能体的观测为:oio^ioi
- 不完全观测:s≠ois\neq o^is=oi
- 完全观测:s=o0=o1=o2=...=ons=o^0=o^1=o^2=...=o^ns=o0=o1=o2=...=on
4.3 完全去中心化学习(Fully Decentralized)
- 第i个agent的策略网络(actor)为:π(ai∣oi;θi)\pi(a^i|o^i;\theta^i)π(ai∣oi;θi)
- 第i个agent的价值网络(critic)为:q(oi,ai;Wi)q(o^i,a^i;W^i)q(oi,ai;Wi)
- agent之间不做信息共享
- 与single-agent的学习方式完全一致。
4.4 完全中心化学习(Fully Centralized)
4.4.1 网络结构
- 所有agent的观测值为:o=[o1,o2,...,on]o=[o^1,o^2,...,o^n]o=[o1,o2,...,on]
- 所有agent的动作为:a=[a1,a2,...,an]a=[a^1,a^2,...,a^n]a=[a1,a2,...,an]
- 中央控制器知道每一个agent的观测值、动作和奖励
- 中央控制器具有n个策略网络(actor):π(ai∣o;θi)i=1,2,...,n\pi(a^i|o;\theta^i)\\i=1,2,...,nπ(ai∣o;θi)i=1,2,...,n
- 中央控制器具有n个价值网络(critic):q(o,a;Wi)i=1,2,...,nq(o,a;W^i)\\i=1,2,...,nq(o,a;Wi)i=1,2,...,n
- 使用价值网络评价策略网络决策的好坏。
4.4.2 训练方式
- 训练完全由中央控制器执行
- 使用策略梯度训练策略网络
- 使用TD算法训练价值网络
4.4.3 执行方式
- 决策完全由中央控制器进行
- 所有agent将观测值传递给中央控制器
- 中央控制器收集到各个agent的状态观测值:o=[o1,o2,...,on]o=[o^1,o^2,...,o^n]o=[o1,o2,...,on]
- 对于每一个agent,中央控制器从相应策略网络中进行动作抽样,并下发至每个agent:ai∼π(⋅∣o;θi)a^i\sim\pi(\cdot|o;\theta^i)ai∼π(⋅∣o;θi)
4.4.3 优势与不足
优势:
- 知道全局信息,利于决策。
不足:
- 执行慢,与中央控制器的通信和同步较慢,往往取决于最慢的步骤。
- 无法实现实时决策。
4.5 中心化学习,去中心化执行( Centralized Learning & Decentralized Execution)
4.5.1 网络结构
- 每个agent具有自己的策略网络:π(ai∣oi;θi)\pi(a^i|o^i;\theta^i)π(ai∣oi;θi)
- 中央控制器具有n个价值网络(网络可以相同,但是参数不同):q(o,a;Wi)q(o,a;W^i)q(o,a;Wi)
- 训练过程中,中央控制器可以获得每个agent的动作、状态观测值、奖励。
- 执行(实际决策)过程中,中央控制器的价值网络不再使用。
4.5.2 训练方式
1.价值网络,使用TD算法进行参数更新,网络输入为:a=[a1,a2,...,an]o=[o1,o2,...,on]ria = [a^1,a^2,...,a^n]\\o = [o^1,o^2,...,o^n]\\ r_ia=[a1,a2,...,an]o=[o1,o2,...,on]ri
2. 策略网络,使用策略梯度进行参数更新,网络输入为:aioiqia^i\\o^i\\q^iaioiqi
4.5.3 参数共享
- n个策略网络:π(ai∣oi;θi)\pi(a^i|o^i;\theta^i)π(ai∣oi;θi)
- n个价值网络:q(o,a;Wi)q(o,a;W^i)q(o,a;Wi)
- 可训练参数为:{θi,Wi}i=1n\{\theta^i,W^i\}_{i=1}^n{θi,Wi}i=1n
- 参数可以共享,比如在无人车中
- 参数不可以共享,比如机器人足球比赛
5 总结
学习方式 | 策略网络(actor) | 价值网络(critic) |
---|---|---|
完全去中心化 | π(ai∣oi;θi)\pi(a^i|o^i;\theta^i)π(ai∣oi;θi) | q(oi,ai;Wi)q(o^i,a^i;W^i)q(oi,ai;Wi) |
完全中心化 | π(ai∣o;θi)\pi(a^i|o;\theta^i)π(ai∣o;θi) | q(o,a;Wi)q(o,a;W^i)q(o,a;Wi) |
中心化学习,去中心化决策 | π(ai∣oi;θi)\pi(a^i|o^i;\theta^i)π(ai∣oi;θi) | q(o,a;Wi)q(o,a;W^i)q(o,a;Wi) |
本文内容为参考B站学习视频书写的笔记!
by CyrusMay 2022 04 11
强化学习—— 多智能体强化学习相关推荐
- 多智能体强化学习入门
参考文章:万字长文:详解多智能体强化学习的基础和应用 .多智能体强化学习入门(一)--基础知识与博弈 推荐文章:多智能体强化学习路线图 (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 ...
最新文章
- 几个让我印象深刻的面试题(二)
- 互联网趋势关键词:交流,为价值付费,资源整合
- 网络游戏程序中解决加载卡顿的有效方法
- jquery使用技巧总结
- 根据oracle入库数据进行告警,Oracle 启动故障案例之--ORA-600 [4193]错误
- SPEL + 中的错误处理
- 东明县计算机学校,东明县职业中等专业学校2021年招生信息
- java同事只有竞争吗_如何防止同事竞争破坏公司文化
- 丰胸神器?网友曝椰树椰汁新广告低俗 疑似虚假宣传被调查...
- Oracle如何一次插入多条数据
- 取消input聚焦时的边框,去除ios点击时,自动添加的底色效果
- springboot下使用拦截器和过滤器
- 超星尔雅不让下载?课件,拿来吧你!
- 如何将swf文件转换成pdf
- ArcGIS裁剪时警告 warning001003:Datum conflict between input and output
- RedTiger‘s Hackit
- 集合框架-Comparator和Comparable的区别
- webstorm下载安装过程打开项目
- 《用微信测试公众号慰问你的好兄弟/姐妹》:用java简单实现微信公众号消息推送(入门且详细且有效)
- rop检查_他山之石丨详解抗VEGF治疗在ROP诊疗中的应用
热门文章
- IP地址获取问题(InetAddress.getLocalHost().getHostAddress())
- centos aria2开机启动_balenaEtcher for mac(U盘启动盘制作工具) v1.5.100
- postgres创建用户和数据库
- 怎样去判断一个女人适不适合结婚?
- matlab newff函数解析
- 关于项目的众包功能 7-9
- 青年歌手大奖赛_评委会打分 --JAVA
- MySQL数据库表引擎与字符集
- @SpringBootApplication深入剖析
- CSS基础选择器(标签选择器、类选择器、多类名选择器、 id选择器、通配符选择器、属性选择器)