+

【多智能体强化学习】基于自动分组的价值函数分解

+ + +
+ + +

Automatic Grouping for MARL

+

论文标题:

+

《Vast: Value function factorization with variable agent +sub-teams》

+

《Automatic Grouping for Efficient Cooperative Multi-Agent +Reinforcement Learning》

+

论文代码:https://github.com/zyfsjycc/GoMARL

+

价值函数分解

+

价值函数的提出是为了缓解在传统的中心化训练和去中心化执行中的Critic网络出现的难以训练的问题,同时传统的合作型多智能体强化学习的方法难以解决信用分配的问题,即如何确定某个智能体对于全局任务而言的贡献程度

+

主体研究框架:

+

\[ +Q_{tot} (τ,a)≈Ψ([Q_i (τ_i,a_i)]_{i=1}^N) +\]

+

目的就是学习到这样一个分解算子 \(Ψ\),能够将局部的价值函数 \(Q_i\) 拟合成全局的价值函数 \(Q_{tot}\),而这样的拟合过程学习到的分解算子\(Ψ\)应当满足以下的约束条件: \[ +\underset{\boldsymbol{a}}{\arg \max } Q_{\text {tot +}}(\boldsymbol{\tau}, \boldsymbol{a})=\left(\begin{array}{c} +\operatorname{argmax}_{a_1} Q_1\left(\tau_1, a_1\right) \\ +\vdots \\ +\operatorname{argmax}_{a_N} Q_N\left(\tau_N, a_N\right) +\end{array}\right) +\] +这个公式的本质是希望分解之后的局部和全局的最优动作能够最优一致,才能保证这样的算子分解方法是有效果的。

+
+ + +
+

可变子团队的价值函数分解

+

研究动机:

+
    +
  1. 大部分价值函数方法对少量智能体的任务效果好
  2. +
  3. VFF方法过于扁平,存在性能瓶颈,没有考虑群组之间的一个关系,比较朴素且直接
  4. +
  5. 忽略智能体之间关系导致智能体训练信息不足
  6. +
+

朴素的价值函数分解方法自动分组之后的价值函数分解方法

+

因此,为了能够缓解朴素的价值函数分解方法中的缺乏群组信息的缺陷,文中提出能够分组处理多智能体系统的工作VAST,能够动态处理群组划分的算子来给出基于分组的智能体价值函数方法。

+

主要贡献:

+
    +
  1. 基于 \(K ≤ N = |D|\) +的分解子团队值\(Q_{t,k}^G\),线性分解每个子团队成员$jG_{t,k}⊆D +$ 局部值\(Q_j\)
  2. +
  3. 提出了一种分解方式动态并随时间变化,同时保持VFF方法的去中心性执行的特点
  4. +
  5. 提供了元梯度方法来优化子团队分组策略
  6. +
+

实现方法:

+
子团队分组策略:
+

分组策略的本质是学习一个概率分布\(\mathcal{X}(k∣i,τ_(t,i),s_t +)\),概率分布的本质思想是能够通过每个智能体的状态以及历史数据信息给出智能体 +\(i\) 所在的组别 \(k\)

+
元梯度的更新方式:
+

\[ +𝑔=𝐴 ̂(𝑘,𝑖,𝜏_{𝑡,𝑖},𝑠_𝑡 ) ∇_𝜃 log⁡𝒳_{MetaGrad} (𝑘∣𝑖,𝜏_{𝑡,𝑖},𝑠_𝑡 ) +\]

+
    +
  • 参考借鉴了强化学习的策略梯度更新的方式
  • +
  • 在多智能体强化学习中利用强化学习的方法学习一个组别的分组器
  • +
+

\[ +𝐴 ̂(𝑘,𝑖,𝜏_{𝑡,𝑖},𝑠_𝑡 )=𝑄 ̂(𝑘,𝑖,𝜏_{𝑡,𝑖},𝑠_𝑡 )−𝑉 ̂(𝑖,𝜏_{𝑡,𝑖},𝑠_𝑡 ) +\]

+

\[ +𝑉 ̂(𝑖,𝜏_{𝑡,𝑖},𝑠_𝑡 )=∑_(𝑎_{𝑡,𝑖}∈𝒜_𝑖) 𝜋_𝑖 (𝑎_{𝑡,𝑖}∣𝜏_{𝑡,𝑖} ) 𝑄_𝑖 +(𝜏_{𝑡,𝑖},𝑎_{𝑡,𝑖} ) +\]

+
    +
  • 策略梯度更新的方式是基于优势函数的方法进行更新分组器
  • +
+
+ + +
+

这里还采用了不同的分组器方法加入实验的对比

+
算法思路
+
    +
  • 将D 分成\(K= ⌈ηN⌉≤ N = +|D|\)个子团队\(G_{t,k}\) +其中比例\(η ∈ [ +1⁄N,1]\),所有的团队集合 \(G_t=⟨G_{t,1},…,G_{t,K} ⟩\)

  • +
  • 分组:\(G_{t,k}⊆D,G_{t,k}∩G_{t,k′}=∅ +;D=U_{k=1}^K  G_{t,k}\)

  • +
  • 组内联合动作:\(a_{t,k}^G=a{t,j} +_j∈G_{t,k}\)

  • +
  • 选择\(Ψ_{VDN}\)算子分解(满足IGM):

    +

    \[ +Q_{t,k}^G (τ_{t,k}^G,a_{t,k}^G )=Ψ_{VDN} (⋅)=∑_{j∈G_{t,k}} Q_j +(τ_{t,j},a_{t,j}) +\]

  • +
  • 最终的全局联合价值函数近似:

  • +
+

\[ +Q_{tot} (τ_t,a_t )=Ψ(Q_{t,1}^G (τ_{t,1}^G,a_{t,1}^G ),…,Q_{t,K}^G +(τ_{t,K}^G,a_{t,K}^G )) +\] +可变子团队的伪代码

+
IGM条件保持
+

如果以群组为单位的价值函数分解的方式能够保证IGM条件: \[ +argmax_(𝑎_{𝑡,𝑘}^𝐺∈𝒜)⁡〖𝑄_{tot}(𝜏_𝑡,𝑎_𝑡)〗= +⟨argmax_(⟨𝐚_{𝐭,𝐤}^𝐆 ⟩_(𝐺_{𝑡,𝑘}∈𝒢_𝑡 ))⁡𝑄_{𝑡,𝑘}^𝐺 (𝜏_{𝑡,𝑘}^𝐺,𝑎_{𝑡,𝑘}^𝐺 +)⟩_(𝐺_{𝑡,𝑘}∈𝒢_𝑡) +\] 希望能够满足对于局部智能体到全局价值函数的IGM条件的保持 \[ +argmax_(𝑎_𝑡∈𝒜)⁡𝑄_{tot}(𝜏_𝑡,𝑎_𝑡 )= +⟨argmax_(𝑎_{𝑡,𝑖}∈𝒜_𝑖 )⁡𝑄_𝑖 (𝜏_{𝑡,𝑖},𝑎_{𝑡,𝑖})⟩_(𝑖∈𝒟) +\] 推导过程如下: \[ +\begin{aligned} +& Q_{t, k}^G\left(\tau_{t, k}^G, a_{t, k}^G\right)=\sum_{j \in G_{t, +k}} Q_j\left(\tau_{t, j}, a_{t, j}\right) ; \operatorname{argmax}_{a_t +\in G_{t, k}} Q_{t, k}^G\left(\tau_{t, k}^G, a_{t, +k}^G\right)=\left\langle\operatorname{argmax}_{a_{t, i} \in +\mathcal{A}_i} Q_i\left(\tau_{t, i}, a_{t, i}\right)\right\rangle_{i \in +G_{t, k}} \\ +& a_t \stackrel{\Psi}{=}\left\langle a_{t, k}^G\right\rangle_{G_{t, +k} \in \mathcal{G}_t} \stackrel{\Psi_{V D +N}}{=}\left\langle\left\langle\bar{a}_{t, i}\right\rangle_{i \in G_{t, +k}}\right\rangle_{G_{t, k} \in \mathcal{G}_t} +\stackrel{\mathcal{D}=G_{t, 1} \cup \cdots \cup G_{t, +K}}{=}\left\langle\bar{a}_{t, i}\right\rangle_{i \in \mathcal{D}} +\end{aligned} +\]

+

自适应分组的MARL

+

研究动机

+
    +
  • 通过任务分配实现隐式分组的方法仅解决结构清晰的任务,并且需要领域知识或先验设置
  • +
  • VAST 研究子团队对价值分解的影响,但需要先验的组数,ROMA +的学习依赖于智能体观察的动态角色
  • +
+

GoMARL算法的优势

+
    +
  • 算法不依赖先验领域知识
  • +
  • 动态调整:在分组学习过程中根据智能体的表现逐步调整分组划分。利用群体信息来促进策略专业化和高效的团队合作
  • +
+

引入群组划分板块的分解方法

+

个体与群组关系假设

+
    +
  • 所有智能体集合:\(A={a_1,…,a_n }\)
  • +
  • 分组集合: \(G={g_1,…,g_m +},1≤m≤n\)
  • +
  • 每个\(g_i\)包含\(n_j +(1≤n_j≤n)\)个不同的智能体,有\(g_i={a_(j_1 ),…,a_(j_(n_j ) +)}\)且有\(g_j∩g_k=∅\)且有\(⋃_jg_j =A,j,k∈{1,2,…,m}\)
  • +
+

自动分组实现方法

+

自动分组的基本逻辑是学习\(f_g:A↦G\),这样的算子的目标是能够学习到系数权重 +\[ +Q_G^{tot} (s_t,u_t )=E_(s_{t+1:∞},u_{t+1:∞} ) [∑_(k=0)^∞ γ^k +r_{t+k}∣s_t,u_t;G] +\] 让总体的联合动作价值函数的值最大,分组的价值函数为: \[ +𝑄^{𝑔_𝑗}=𝑓(𝑄^{𝑗_1} (𝜏^{𝑗_1},𝑢^{𝑗_1}),⋯,𝑄^{𝑗_{𝑛_𝑗}} (𝜏^{𝑗_(𝑛_𝑗 +)},𝑢^{𝑗_{𝑛_𝑗}};𝑤_1^{𝑔_𝑗}) +\] 学习到的贡献程度为:\(𝑤_1^{𝑔_𝑗}\),训练的目标函数为: \[ +ℒ_𝑔 (𝜃_{w_1})=𝔼_((𝐳,𝐮,𝑟,𝐳′)∼ℬ∑_𝑖(∥𝑓_(w_1)^𝑖 (𝜏^𝑖 (𝑧^𝑖,𝑢^𝑖 );𝜃_(w_1)^𝑖 +)∥_{𝑙_1}) +\] +根据每次在分组中的贡献权重来依次调整智能体的分组,当贡献的权重过小的话,就认为智能体不属于分组中,进入下一轮的分组调整中。

+
+ + +
+

+

Agent Network的优化

+
    +
  • 智能体内嵌信息网络获取的群组相关信息\(e_i\)

  • +
  • Similarity-Diversity +objective:来自同一组的智能体的信息是相似的,来自不同群体的智能体信息之间保持多样性: +\[ +\begin{gathered} +\mathcal{L}_{S +D}\left(\theta_e\right)=\mathbb{E}_{\mathcal{B}}\left(\sum_{i \neq j} +I(i, j) \cdot \operatorname{cosine}\left(f_e\left(h^i ; \theta_e\right), +f_e\left(h^j ; \theta_e\right)\right)\right) \\ +\text { where } I(i, j)=\left\{\begin{array}{cc} +-1, & a^i, a^j \in g^k \\ +1, & a^i \in g^k, a^j \in g^l, k \neq l +\end{array}\right. +\end{gathered} +\]

  • +
  • Agent Network特点

    +
      +
    • 多样化的策略,部分共享参数的策略去中心化
    • +
    • 超网络\(f_d\)将提取的智能体信息e集成到策略梯度中
    • +
  • +
  • 合理性表示: \[ +𝜕𝑄^{𝑡𝑜𝑡}/(𝜕𝜃_ℎ )=(𝜕𝑄^{𝑡𝑜𝑡})/(𝜕𝑄^𝑎 ) (𝜕𝑄^𝑎)/(𝜕𝜃_ℎ )=(𝜕𝑄^{𝑡𝑜𝑡})/(𝜕𝑄^𝑎 +) (𝜕𝑄^𝑎)/(𝜕𝑣_ℎ^𝑎 ) (𝜕𝑣_ℎ^𝑎)/(𝜕𝜃_ℎ )=𝑓_𝑑 (𝑒^𝑎 )⋅(𝜕𝑄^{𝑡𝑜𝑡})/(𝜕𝑄^𝑎 +) (𝜕𝑣_ℎ^𝑎)/(𝜕𝜃_ℎ ) +\]

  • +
+

Agent Network优化方式

+

整体的训练框架

+
双层混合网络
+
    +
  • 群体状态下的群体行动价值信息

  • +
  • \(s^{g_j}\) 是分组后\(e_t^i (a_i∈g_j )\)按组别融合

  • +
  • 建立分组器映射

    +

    \[ +f_{w_2}(s^g ):s^g→w_2^g +\]

  • +
  • 集中到策略梯度中: \[ +ℒ(𝜃)=ℒ_𝑇𝐷 (𝜃)+𝜆_𝑔 ℒ_𝑔 (𝜃_(w_1 ) )+𝜆_𝑆𝐷 ℒ_𝑆𝐷 (𝜃_𝑒 ) +\]

  • +
  • 全局分解目标: \[ +ℒ(𝜃)=ℒ_𝑇𝐷 (𝜃)+𝜆_𝑔 ℒ_𝑔 (𝜃_(w_1 ) )+𝜆_𝑆𝐷 ℒ_𝑆𝐷 (𝜃_𝑒 ) +\]

  • +
+
+ + +
+

实验结果

+

在星际争霸的环境中的训练结果

+
+ + +
+

消融实验

+
+ + +
+

谷歌足球的训练结果

+
+ + +
+ + +
+ +
+
+ + + + + + +
+
+
【多智能体强化学习】基于自动分组的价值函数分解
+
https://lihaibineric.github.io/2023/11/22/MARL_自动分组/
+
+
+ +
+
Author
+
Haibin Li
+
+ + +
+
Posted on
+
November 22, 2023
+
+ + + +
+
Licensed under
+
+ + + + + + + + + + +
+
+ +
+
+
+ + + + +
+
+ + +
+ +
+ +
+ + +