开启左侧

多智能体强化学习思路整理

[复制链接]
创想小编 发表于 7 小时前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
作者:CSDN博客
​的计算仅仅依靠单智能体的观察和动作。因此,VDN限制了中心化训练的动作值函数的复杂性,并忽略了训练过程中可用的任何额外的状态信息。</p>为了解决上述问题,在QMIX[8]算法中,提出了一种通过更复杂的非线性方式合成的                                       Q                                   t                            o                            t                                           Q_{tot}               Qtot​网络。与VDN的核心原理相同,QMIX方法提出对全局值函数做argmax与对单个智能体地值函数做argmax能够得到相同的结果:

多智能体强化学习思路整理-1.png

这样的话,每个智能体                                       Q                         i                                  Q_i               Qi​都可以基于以贪婪策略选择动作。由于每个智能体都采用贪婪策略,因此这个算法是off-policy的算法,并且样本的利用率会比较高。在VDN中采用的是线性加权,因此上述等式会成立,而如果是采用一个神经网络来学习融合各个智能体的函数的话,上述等式未必成立。为了保证值函数的单调性来使得上述等式能够成立,QMIX对联合动作值函数                                       Q                                   t                            o                            t                                           Q_{tot}               Qtot​和单个智能体动作值函数                                       Q                         i                                  Q_i               Qi​之间做了一个单调性约束:

多智能体强化学习思路整理-2.png

多智能体强化学习思路整理-3.png

QMIX具体的网络结构如图5所示。QMIX网络主要由三部分构成:
QMIX的训练方式是端到端的训练:

多智能体强化学习思路整理-4.png

其中表示从经验池中采样的样本数量,DQN的目标由                                       y                                   t                            o                            t                                       =                      r                      +                      γ                                         m                            a                            x                                            u                            ′                                                (                                   τ                            ′                                  ,                                   u                            ′                                  ,                                   s                            ′                                  ;                                   θ                            −                                  )                                  y^{tot}=r+\gamma{max}_{u^\prime}\left(\tau^\prime,u^\prime,s^\prime;\theta^-\right)               ytot=r+γmaxu′​(τ′,u′,s′;θ−)给出,                                       θ                         −                                  \theta^-               θ−为目标网络参数。
在QMIX算法中,单纯考虑前向传播的话,智能体之间其实是没有配合的,因为算法仅仅是取每个智能体能够获得的最大的值函数。但是,对于单个智能体来说,它的最优动作是基于队友智能体的动作下得到的,在基于单个智能体的动作值函数下得到联合动作值函数的过程中,也就是在全连接网络中有考虑整体的状态,所以相当于是在考虑全局的信息下去得到一个联合动作值函数。
使用QMIX表示的值函数类包括任何值函数,这些值函数可以在完全可观察的设置中分解为个体值函数的非线性单调组合,即满足:

多智能体强化学习思路整理-5.png

但是在分散式部分可观察马尔可夫决策过程(Decentralized partially observable Markov decision process, Dec-POMDP)中,每个智能体的观测都不是完整的状态,因此它们可能无法根据局部观测来区分真实的状态,即:

多智能体强化学习思路整理-6.png


QTRAN

VDN和QMIX是值分解领域的两大标杆性文章,并且在一般的工程项目实践上VDN和QMIX的效果都很不错。这两个方法其实就是在保证联合动作取argmax的时候能够是对各个智能体的值函数取argmax。VDN中采用的是线性求和的方式,QMIX中采用的是保证单调性。对于一些任务,比如像联合动作的最优就是各个智能体的单独的最优的值函数,这样的问题可以采用这种方式,对于不是这类型的问题,这种限制太强,导致模型不匹配。因此,QTRAN[9]提出了一种新的值分解的算法。
在QTRAN中,定义了IGM条件 (Individual-Global-Max):对于一个联合动作值函数                                       Q                                   j                            t                                       :                               T                         N                              ×                               U                         N                              →                      R                          Q_{jt}:\mathcal{T}^N\times\mathcal{U}^N\rightarrow\mathcal{R}               Qjt​:TN×UN→R,其中                              τ                      ∈                               T                         N                                  \tau\in\mathcal{T}^N               τ∈TN为一个联合动作观测的历史轨迹。如果对于独立的智能体存在一个动作值函数                              [                      Q                      i                      :                      T                      ×                      U                      →                      R                               ]                                   i                            =                            1                                  N                                  [Qi:T×U→R]_{i=1}^{N}               [Qi:T×U→R]i=1N​,满足如下关系式的话:

多智能体强化学习思路整理-7.png

就称在轨迹                              τ                          \tau               τ下,                              [                               Q                         i                              ]                          [Q_i]               [Qi​]对                                       Q                                   j                            t                                           Q_{jt}               Qjt​满足IGM条件。                                       Q                                   j                            t                                                (                         τ                         ,                         u                         )                                  Q_{jt}\left(\tau,u\right)               Qjt​(τ,u)是能够被                                       Q                         i                                       (                                   τ                            i                                  ,                                   u                            i                                  )                                  Q_i\left(\tau^i,u^i\right)               Qi​(τi,ui)分解的,                              [                               Q                         i                              ]                          [Q_i]               [Qi​]是                                       Q                                   j                            t                                           Q_{jt}               Qjt​的分解因子。
当满足IGM条件时,存在一个仿射函数                              ϕ                               (                         Q                         )                              =                      A                      Q                      +                      B                          \phi\left(Q\right)=AQ+B               ϕ(Q)=AQ+B对                              Q                          Q               Q进行一个映射,其中                              A                          A               A为一个对角矩阵,且                                       a                                   i                            i                                       >                      0                          a_{ii}>0               aii​>0。本质上看与VDN的分解方法很相似,但QTRAN进行了缩放,并增加了一个修正项,即:

多智能体强化学习思路整理-8.png

并定义:

多智能体强化学习思路整理-9.png

QTRAN的网络结构如图6所示。网络结构中主要有三部分:
此时损失函数可以表达成如下形式:

多智能体强化学习思路整理-10.png

其中,                              r                          r               r是选取动作                              u                          u               u后观测历史从                              τ                          \tau               τ变成                              τ                      ′                          \tau\prime               τ′的奖励;                                       L                                   t                            d                                           L_{td}               Ltd​是                                       Q                                   j                            t                                       (                      τ                      ,                      u                      )                          Q_{jt}(\tau,u)               Qjt​(τ,u)的损失函数;                                       L                                   o                            p                            t                                           L_{opt}               Lopt​和                                       L                                   n                            o                            p                            t                                           L_{nopt}               Lnopt​是                                                 Q                            ′                                            j                            t                                       (                      τ                      ,                      u                      )                          {Q\prime}_{jt}(\tau,u)               Q′jt​(τ,u)的损失函数,且:

多智能体强化学习思路整理-11.png

第一个                                       L                                   t                            d                                           L_{td}               Ltd​用来近似最优的联合动作值函数,下面两个                                       L                                   o                            p                            t                                           L_{opt}               Lopt​和                                       L                                   n                            o                            p                            t                                           L_{nopt}               Lnopt​用来满足可分解值函数地充分必要条件。

多智能体强化学习思路整理-12.png


基于策略的方法

Policy Gradient

Policy Gradient[11]方法的工作原理是计算策略梯度的估计,并使用随机梯度上升算法。它通过观测信息选出一个行为直接进行反向传播,利用奖励直接对选择行为的可能性进行增强和减弱,好的行为会被增加下一次被选中的概率,不好的行为会被减弱下次被选中的概率。最常用的策略梯度估计的形式为:

多智能体强化学习思路整理-13.png

其中,                                       π                         θ                                  \pi_\theta               πθ​是随机选择策略,                                                 A                            ^                                  t                                  {\hat{A}}_t               A^t​是在                              t                          t               t时刻对价值函数的估计。
Actor-Critic

策略梯度算法主要包括策略模型以及值函数两个部分。在学习策略的基础上额外学习值函数是有意义的,因为值函数可以辅助策略更新,例如在策略梯度算法中利用值函数来进行方差缩减,而这也是Actor-Critic算法[12]在做的事情。Actor-Critic模型由两个模型组成,可以选择是否共享参数:
Policy Gradient算法以及上述简单版本的Actor-Critic算法都是在线(On-policy)的,即训练样本是通过目标策略(target policy)收集的。然而离线(Off-policy)方法[13]拥有以下额外的优势:
3. 离线方法不需要完整的轨迹样本并且可以复用任何历史轨迹的样本。即使用经验回放(Replay buffer),从而具有更高效的使用样本。
4. 训练样本根据行为策略(behavior policy)而不是目标策略收集而来,给算法带来更好的探索性。 离线的方法使用了重要性采样定理,得以使用给定根据行为策略采样得到的动作产生的训练样本:

多智能体强化学习思路整理-14.png

要求f(x)的期望,其中x服从p(x)分布,即目标策略,我们可以通过变换,x从另外一个分布q(x),即行为策略中采样,这时通过给f(x)乘上一个重要性权重                                                 p                            (                            x                            )                                            q                            (                            x                            )                                           \frac{p(x)}{q(x)}               q(x)p(x)​,就可以得到对目标策略的评估。
TRPO & PPO

在离线的方法中,使用了重要性采样去使用行为策略的结果去训练目标策略。如果采样的行为策略分布与真实的目标策略分布差得很多,那么肯定会导致两个期望不一致。为了提升训练的稳定性,我们应该避免更新一步就使得策略发生剧烈变化的参数更新。TRPO(Trust region policy optimization)[14]方法通过在每次迭代时对策略更新的幅度强制施加KL散度约束来解决这个问题,即强制旧策略与新策略之间的KL散度小于某个参数                              δ                          \delta               δ:

多智能体强化学习思路整理-15.png

而TRPO的函数为:

多智能体强化学习思路整理-16.png

鉴于TRPO相对复杂但是我们仍然想要去实现一个类似的约束,PPO(proximal policy optimization)[15]方法通过使用一个截断的替代目标函数来简化TRPO,同时实现了相似的性能。定义:

多智能体强化学习思路整理-17.png

则有:

多智能体强化学习思路整理-18.png

而PPO方法使用如图7所示的CLIP函数,使得                              r                      (                      θ                      )                          r(\theta)               r(θ)保持在1附近的邻域中,即                              [                      1                      −                      ε                      ,                      1                      +                      ε                      ]                          [1-\varepsilon,1+\varepsilon]               [1−ε,1+ε]。即:

多智能体强化学习思路整理-19.png

多智能体强化学习思路整理-20.png


MAPPO

MAPPO(Multi Agent PPO)方法[16]是PPO算法应用于多智能体任务的变种,同样采用Actor-Critic架构,不同之处在于此时Critic学习的是一个中心价值函数(Centralized Value Function),即此时Critic能够观测到全局信息(Global State),包括其他智能体的信息和环境的信息。
HATRPO & HAPPO

在MAPPO中,每个智能体都遵循自己的梯度,策略提督能告诉智能体可以怎样来改善联合性能。在单智能体中,置信域(Trust Region)学习可以实现更新和策略改进的稳定性;在第                              k                          k               k次迭代时,新策略                                       π                                   k                            +                            1                                           \pi_{k+1}               πk+1​都会增加收益,即:

多智能体强化学习思路整理-21.png

但是,当所有智能体各自尝试做同样的事情时,联合更新可能会让结果适得其反。因此,为了做出对整个团队有益的决策,智能体必须协作。因此,提出了HATRPO和HAPPO[17]方法,实现了智能体间的合作,使得联合策略能够提升。
在HATRPO和HAPPO中,对于任意有序的智能体子集                                       i                                   1                            :                            m                                       =                      (                               i                         1                              ,                               i                         2                              ,                      .                      .                      .                      ,                               i                         m                              )                          i_{1:m}=(i_1,i_2,...,i_m)               i1:m​=(i1​,i2​,...,im​),多智能体系统的状态动作值函数定义如下:

多智能体强化学习思路整理-22.png

                                       Q                         π                              (                      s                      ,                               a                                   i                                       1                               :                               m                                                 )                          Q_\pi(s,a^{i_{1:m}})               Qπ​(s,ai1:m​)表示在智能体子集                                       i                                   1                            :                            m                                           i_{1:m}               i1:m​采取联合行动                                       a                                   i                                       1                               :                               m                                                     a^{i_{1:m}}               ai1:m​的情况下的期望奖励回报。进一步,定义多智能体系统的优势函数:

多智能体强化学习思路整理-23.png

该函数将表示在智能体子集                                       i                                   1                            :                            m                                           i_{1:m}               i1:m​采取联合行动                                       a                                   i                                       1                               :                               m                                                     a^{i_{1:m}}               ai1:m​的期望奖励回报与表示在智能体子集                                       j                                   1                            :                            k                                           j_{1:k}               j1:k​采取联合行动                                       j                                   1                            :                            k                                           j_{1:k}               j1:k​的期望奖励回报进行了比较。基于此,HAPPO提出了多智能体系统优势函数的分解定理:

多智能体强化学习思路整理-24.png

整个多智能体系统的优化方向,即梯度方向,可以被分解为每个智能体i_j基于智能体子集                                       i                                   1                            :                            j                            −                            1                                           i_{1:j-1}               i1:j−1​的联合行动                                       a                                   i                                       1                               :                               j                               −                               1                                                     a^{i_{1:j-1}}               ai1:j−1​,选择自己的最佳行动                                       a                                              i                               j                                      ,                            ∗                                           a^{i_j,\ast}               aij​,∗,且满足                                       A                         π                                   i                            j                                       (                      s                      ,                               a                                   i                                       1                               :                               j                               −                               1                                                 ,                               a                                              i                               j                                      ,                            ∗                                       )                      >                      0                          A_\pi^{i_j}(s,a^{i_{1:j-1}},a^{i_j,\ast})>0               Aπij​​(s,ai1:j−1​,aij​,∗)>0。再进一步,在已有联合策略                              π                      =                      (                               π                         1                              ,                               π                         2                              ,                      .                      .                      .                      ,                               π                         n                              )                          \pi=(\pi^1,\pi^2,...,\pi^n)               π=(π1,π2,...,πn)且按照一定顺序                                       i                                   1                            :                            n                                           i_{1:n}               i1:n​进行学习时,假设已经更新到新的策略:

多智能体强化学习思路整理-25.png

对于候选策略                                                 π                            ^                                            i                            m                                           {\hat{\pi}}^{i_m}               π^im​,有:

多智能体强化学习思路整理-26.png

基于此,并使用重要性采样,有HATRPO的目标函数:

多智能体强化学习思路整理-27.png

其中:

多智能体强化学习思路整理-28.png

同时,有HAPPO的目标函数:

多智能体强化学习思路整理-29.png


多智能体强化学习的应用

游戏与人工智能技术一直有着非常紧密的关系。自电子游戏诞生之后,人工智能研究者就把电子游戏作为测试人工智能算法的一个理想的环境。原因之一是很多电子游戏,尤其是棋牌类的游戏,都是被明确化的规则定义的。同时,面向虚拟环境的游戏平台因具有安全、快速、低成本、可复现以及对抗性等特点,是人工智能领域在多智能体对抗博弈研究方面的重要验证及测试平台。
根据决策行为的执行方式不同,虚拟游戏可以大致划分为轮流决策的回合制游戏和同步 决策的即时制游戏两种类型。
大多数棋牌类游戏属于典型的回合制游戏,而以深度强化学习和博弈树搜索为代表的智能决策方法,比如完全信息环境下的围棋(AlphaGo[18]与 AlphaGo Zero[19]),以及在非完全信息环境下的德州扑克 (Pluribus[20]),都取得了备受瞩目的成果。例如,AlphaGo[18]结合了深度强化学习的方法:
    针对巨大状态空间的问题,使用网络结构CNN来提取和表示状态信息;在训练的第一个阶段,使用人类玩家的数据进行有监督训练,得到预训练的网络;在训练的第二个阶段,通过强化学习方法和自我博弈进一步更新网络;在实际参与游戏时,结合价值网络和策略网络,使用蒙特卡洛树搜索(MCTS)方法得到真正执行的动作。 而另一种类型——即时制游戏,比如星际争霸,DOTA,王者荣耀,吃鸡等。
相比于前面提到的国际象棋、围棋等回合制类型的游戏,游戏AI训练的难度更大,不仅因为游戏时长更长、对于未来预期回报的估计涉及到的步数更多,还包括了多方同时参与游戏时造成的复杂空间维度增大,在一些游戏设定中可能无法获取完整的信息以及全局的形势,在考虑队内合作的同时也要考虑对外的竞争。突出的研究成果包括王者荣耀(绝悟[21])、星际争霸II (AlphaStar[22])均已达到甚至超越人类顶尖职业玩家水平。
在虚拟游戏领域之外,真实的工业应用场景涉及到更加复杂和不确定的多域多个体的博弈对抗,多智能体强化学习的技术发展前景广阔。尽管在虚拟游戏上取得了革命性的进展,但是由于虚拟环境与现实环境存在巨大差异,包括理想与真实的系统模型的差异、封闭与开放的测试环境的影响等,虚拟游戏上取得成功的技术方案目前仍然很难直接应用在实际物理系统上,目前仍有大量的问题等待解决。
参考文献

[1]. Arulkumaran, K., Deisenroth, M. P., Brundage, M., & Bharath, A. A. (2017). A brief survey of deep reinforcement learning. arXiv preprint arXiv:1708.05866.
[2]. Zhang, K., Yang, Z., & Başar, T. (2021). Multi-agent reinforcement learning: A selective overview of theories and algorithms. Handbook of Reinforcement Learning and Control, 321-384.
[3]. Wang, Y., Damani, M., Wang, P., Cao, Y., & Sartoretti, G. (2022). Distributed Reinforcement Learning for Robot Teams: A Review. arXiv preprint arXiv:2204.03516.
[4]. Watkins, C. J., & Dayan, P. (1992). Q-learning. Machine learning, 8(3), 279-292.
[5]. Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., … & Hassabis, D. (2015). Human-level control through deep reinforcement learning. nature, 518(7540), 529-533.
[6]. Hausknecht, M., & Stone, P. (2015, September). Deep recurrent q-learning for partially observable mdps. In 2015 aaai fall symposium series.
[7]. Sunehag, P., Lever, G., Gruslys, A., Czarnecki, W. M., Zambaldi, V., Jaderberg, M., … & Graepel, T. (2017). Value-decomposition networks for cooperative multi-agent learning. arXiv preprint arXiv:1706.05296.
[8]. Rashid, T., Samvelyan, M., Schroeder, C., Farquhar, G., Foerster, J., & Whiteson, S. (2018, July). Qmix: Monotonic value function factorisation for deep multi-agent reinforcement learning. In International conference on machine learning (pp. 4295-4304). PMLR.
[9]. Son, K., Kim, D., Kang, W. J., Hostallero, D. E., & Yi, Y. (2019, May). Qtran: Learning to factorize with transformation for cooperative multi-agent reinforcement learning. In International conference on machine learning (pp. 5887-5896). PMLR.
[10]. Sutton, R. S., McAllester, D., Singh, S., & Mansour, Y. (1999). Policy gradient methods for reinforcement learning with function approximation. Advances in neural information processing systems, 12.
[11]. Sutton, R. S., McAllester, D., Singh, S., & Mansour, Y. (1999). Policy gradient methods for reinforcement learning with function approximation. Advances in neural information processing systems, 12.
[12]. Barto, A. G., Sutton, R. S., & Anderson, C. W. (1983). Neuronlike adaptive elements that can solve difficult learning control problems. IEEE transactions on systems, man, and cybernetics, (5), 834-846.
[13]. Munos, R., Stepleton, T., Harutyunyan, A., & Bellemare, M. (2016). Safe and efficient off-policy reinforcement learning. Advances in neural information processing systems, 29.
[14]. Schulman, J., Levine, S., Abbeel, P., Jordan, M., & Moritz, P. (2015, June). Trust region policy optimization. In International conference on machine learning (pp. 1889-1897). PMLR.
[15]. Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347.
[16]. Yu, C., Velu, A., Vinitsky, E., Wang, Y., Bayen, A., & Wu, Y. (2021). The surprising effectiveness of ppo in cooperative, multi-agent games. arXiv preprint arXiv:2103.01955.
[17]. Kuba, J. G., Chen, R., Wen, M., Wen, Y., Sun, F., Wang, J., & Yang, Y. (2021). Trust region policy optimisation in multi-agent reinforcement learning. arXiv preprint arXiv:2109.11251.
[18]. Silver, D., Huang, A., Maddison, C. J., Guez, A., Sifre, L., Van Den Driessche, G., … & Hassabis, D. (2016). Mastering the game of Go with deep neural networks and tree search. nature, 529(7587), 484-489.
[19]. Silver, D., Schrittwieser, J., Simonyan, K., Antonoglou, I., Huang, A., Guez, A., … & Hassabis, D. (2017). Mastering the game of go without human knowledge. nature, 550(7676), 354-359.
[20]. Brown, N., & Sandholm, T. (2019). Superhuman AI for multiplayer poker. Science, 365(6456), 885-890.
[21]. Ye, D., Liu, Z., Sun, M., Shi, B., Zhao, P., Wu, H., … & Huang, L. (2020, April). Mastering complex control in moba games with deep reinforcement learning. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 34, No. 04, pp. 6672-6679).
[22]. Vinyals, O., Babuschkin, I., Czarnecki, W. M., Mathieu, M., Dudzik, A., Chung, J., … & Silver, D. (2019). Grandmaster level in StarCraft II using multi-agent reinforcement learning. Nature, 575(7782), 350-354.

原文地址:https://blog.csdn.net/CCCDeric/article/details/128068498
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )