强化学习——多智能体强化学习

文章目录

前言

本文总结《深度强化学习》中的多智能体强化学习相关章节,如有错误,欢迎指出。

多智能体系统的设定

多智能体系统包含有多个智能体,多个智能体共享环境,智能体之间相互影响。一个智能体的动作会改变环境状态,从而影响其他智能体。

多智能体之间存在四种常见的关系

  • 完全合作关系:多个智能体之间的目标一致,做出动作后获得的奖励相同。
  • 完全竞争关系:某个智能体获得收益会导致某些的智能体亏损。
  • 合作竞争的混合:多个智能体之间分成多组,组内智能体的利益一致,各个组之间处于竞争关系,例如《王者荣耀》。
  • 利己主义:一个智能体的动作会改变环境,从而使得别的智能体受益或者受损,这种关系看起来像是完全竞争关系的子集。

多智能体系统下,需要对强化学习的一些术语进行再定义:

  • 奖励:多智能体之间的关系不同,会导致环境给予的奖励不同。若多个智能体之间是合作关系,则多个智能体从环境中获得的奖励相同。若多个智能体之间是竞争关系,则某个智能体从环境中获得正向奖励会导致某个智能体获得负向奖励。第i i i个智能体在t t t时刻获得的奖励R t i R_t^i R t i ​由状态S t S_t S t ​和所有智能体的动作A t = [ A t 1 , A t 2 , . . . , A t n ] A_t=[A_t^1,A_t^2,…,A_t^n]A t ​=[A t 1 ​,A t 2 ​,…,A t n ​]决定。
  • 动作价值函数:由于一个智能体执行的动作会影响到其余智能体,因此多智能体系统中第i i i个智能体的动作价值函数Q π i ( S t , A t ) Q_\pi^i(S_t,A_t)Q πi ​(S t ​,A t ​)既依赖于当前的状态S t S_t S t ​(可以是单个智能体看到环境状态,也可以是多个智能体看到的环境状态),也依赖于所有智能体的动作A t = [ A t 1 , A t 2 , . . . , A t n ] A_t=[A_t^1,A_t^2,…,A_t^n]A t ​=A t 1 ​,A t 2 ​,…,A t n ​
  • 状态价值函数:状态价值函数是动作价值函数关于动作的期望,而智能体执行的动作依赖于策略函数,因此第i i i个智能体的状态价值函数V π i ( S t ) V_\pi^i(S_t)V πi ​(S t ​)也依赖于所有智能体的策略。

在多智能体系统中,单个智能体的状态价值函数和动作价值函数都受到其余智能体的影响。

合作关系设定下的多智能体系统

在多智能体的设定下,单个智能体未必能观测全局状态。设第i i i个智能体观测到的状态为O i O^i O i,则可以假设所有智能体观测到的局部状态总和为全局状态,即
S = [ O 1 , O 2 , . . . , O m ] S=[O^1,O^2,…,O^m]S =[O 1 ,O 2 ,…,O m ]
在合作关系下,多个智能体从环境中获得奖励是相同的。设第i i i个智能体获得的奖励为R i R^i R i,则有
R 1 = R 2 = . . . = R m R^1=R^2=…=R^m R 1 =R 2 =…=R m
此外,每个智能体各自的动作价值函数和状态价值函数都依赖于所有智能体的策略函数π ( A 1 ∣ S ; θ 1 ) 、 π ( A 2 ∣ S ; θ 2 ) 、 . . . 、 π ( A m ∣ S ; θ m ) \pi(A^1|S;\theta^1)、\pi(A^2|S;\theta^2)、…、\pi(A^m|S;\theta^m)π(A 1 ∣S ;θ1 )、π(A 2 ∣S ;θ2 )、…、π(A m ∣S ;θm )。

策略学习的目标函数

强化学习——多智能体强化学习

; 合作关系下的多智能体策略学习算法MAC-A2C

由于多个智能体的目标相同,从环境中获得的奖励相同,因此多个智能体共享一个价值网络V ( s ; w ) V(s;w)V (s ;w ),该价值网络输入的状态为s = [ o 1 , o 2 , . . . , o m ] s=[o^1,o^2,…,o^m]s =[o 1 ,o 2 ,…,o m ],其中o i o^i o i表示第i i i个智能体观测到的状态。价值网络的输出为对状态s s s的评分。

每个智能体都有自己的策略网络,第i i i个智能体的策略网络记为π ( a i ∣ s ; θ i ) \pi(a^i|s;\theta^i)π(a i ∣s ;θi )。由于多个智能体之间是合作关系,因此策略网络的输入状态为s = [ o 1 , o 2 , . . . , o m ] s=[o^1,o^2,…,o^m]s =[o 1 ,o 2 ,…,o m ],其中o i o^i o i表示第i i i个智能体观测到的状态。

具体的训练流程为:

强化学习——多智能体强化学习
训练完毕后的决策流程为:
强化学习——多智能体强化学习
上述训练流程,策略网络做一次推断,需要同步一次m m m个智能体观测到的状态,这种同步过程非常耗时。在实际场景中,可以使用中心化训练+去中心化决策的trick。具体而言,每个智能体的策略网络仅依据智能体观测到的当前状态决策,即第i i i个策略网络由π ( a i ∣ s ; θ i ) \pi(a^i|s;\theta^i)π(a i ∣s ;θi )变为π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i)π(a i ∣o i ;θi )。由于价值网络依然依据总体状态s s s进行计算,因此其余智能体观测到的状态信息会通过策略梯度传递至当前智能体中。中心化训练的具体流程为:
强化学习——多智能体强化学习
模型训练完毕后,使用去中心化决策,第i i i个智能体依据自身观测到状态o i o^i o i,利用策略网络π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i)π(a i ∣o i ;θi )决定执行的动作。

非合作关系下的多智能体策略学习算法MAC-A2C

多个智能体在合作关系下具有共同的目标,因此可以共用一个价值网络。而非合作关系下,多个智能体具有的目标各不相同,因此每个智能体都有与之对应的策略网络和价值网络。设第i i i个智能体观测到的状态为o i o^i o i,的策略网络为π ( a i ∣ s ; θ i ) \pi(a^i|s;\theta^i)π(a i ∣s ;θi )、价值网络为v ( s ; w i ) v(s;w^i)v (s ;w i ),其中s s s为所有智能体观测到的状态总和,即s = [ o 1 , o 2 , . . . , o n ] s=[o^1,o^2,…,o^n]s =[o 1 ,o 2 ,…,o n ]。

MAC-A2C的训练流程如下图,注意与合作关系下的多智能强化学习不同,非合作关系下不同智能体从环境中获得的奖励不同。

强化学习——多智能体强化学习
训练完毕后的决策过程为
强化学习——多智能体强化学习

上述训练流程,策略网络做一次推断,需要同步一次m m m个智能体观测到的状态,这种同步过程非常耗时。在实际场景中,可以使用中心化训练+去中心化决策的trick,这个过程可以浏览上一个章节。

; 纳什均衡

在非合作关系下,智能体之间的利益不同,某个智能体取得较大的状态价值函数值,可能导致另外一个智能体取得较小的状态价值函数值,那么该如何判断算法是否收敛呢?在非合作关系下,判断算法是否收敛的标准为纳什均衡。具体而言,在多智能体系统中,当其余所有智能体都不改变策略的情况下,一个智能体i i i单独改变策略θ i \theta_i θi ​,无法让其期望回报J i ( θ 1 , . . . , θ m ) J_i(\theta_1,…,\theta_m)J i ​(θ1 ​,…,θm ​)变大(策略梯度为0),即智能体无法找到比当前策略更优的策略(无法通过梯度更新参数),这种平衡状态即纳什均衡。

Original: https://blog.csdn.net/dhaiuda/article/details/124313353
Author: 菜到怀疑人生
Title: 强化学习——多智能体强化学习

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/605996/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球