《Learning to Coordinate with Coordination Graphs in Repeated Single-Stage Multi-Agent Decision Probl

Posted znnby1997

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Learning to Coordinate with Coordination Graphs in Repeated Single-Stage Multi-Agent Decision Probl相关的知识,希望对你有一定的参考价值。

一、解决的问题

这篇文章研究了如何平衡探索(exploration)和利用(exploitation)使得多智能体能够在有限次重复尝试中尽快找到收益最大化的joint action,即解决了多智能体系统中的探索-利用困境。

学习环境:Multi-Agent Multi-Armed Bandits,多智能体多臂赌博机问题。

文章研究的环境模型是多臂赌博机问题的一个拓展。整个系统由多个松散耦合的多臂赌博机构成,并被分为有限个多臂赌博机子集$e$,每个子集$e$中的多臂赌博机(agent)之间存在协同动作(joint action)。

我们定义每个多臂赌博机子集$e$的价值函数为$f^{e}$,它仅仅依赖于该子集$e$中的每个赌博机的动作。整个多臂赌博机系统中的整体价值函数为$F(a)=sum_{e=1}^{ ho }f^{e}(a^{e})$

二、核心方法

针对多智能体多臂赌博机问题中的探索利用问题,文章提出了一个基于上置信区间(Upper Confidence Bound)的策略选择算法Multi-Agent Upper Confidence Exploration(MAUCE)。对于每一个子集$e$的局部评估,使用一个二维的向量表示:

  $v^{e}(a^{e}) = (hat{mu }^{e}(a^{e}), n_{t}^{e}(a^{e})^{-1}(r_{max}^{e})^{2})$

其中,$v[1]$表示子集$e$的局部回报评估均值,$v[2]$用于计算整体的置信上界。

整体的置信上界计算方法:

  $z_{t}(v(a)) = hat{mu }(a) + c_{t}(a) = v[1] + sqrt{frac{1}{2}v[2]log(tA)}$

其中

  $v(a) = sum_{e=1}^{ ho }v^{e}(a^{e})$

MAUCE的执行过程:

  对于每个迭代次:

  1.找最优联合动作$a_{t} = argmax_{a}z_{t}(v(a))$

  2.执行动作$a_{t}$分别得到局部reward

  $r_{t} = sum_{e=1}^{ ho }r_{t}^{e}(a_{t}^{e})$

  3.使用$r_{t}^{e}(a_{t}^{e})$更新$hat{mu }_{t}^{e}(a^{e})$,(更新过程文章没有提及,实验源码中使用了蒙特卡罗评估方法)

  $hat{mu }_{t}^{e}(a^{e}) = hat{mu }_{t}^{e}(a^{e}) + frac{r_{t}^{e}(a_{t}^{e}-hat{mu }_{t}^{e}(a^{e}))}{n_{t}^{e}(a^{e})}$

  4.将$n_{t}^{e}(a^{e})$加1

值得注意的是,我们在选取$a_{t}$时,我们可以遍历整个joint action集合找到最优,但是joint action集的大小随agent数量呈指数增长。

针对这一问题,文章使用了基于Variable Elimination的$a_{t}$选取算法Upper Confidence Variable Elimination (UCVE),用于选取最优joint action的策略。

UCVE的核心思想:Eliminating an agent i, is performed by replacing all $u^{e}(a^{e})$ which have i in scope, by a new function that incorporates the possibly optimal responses of i. For each $f^{e}$ of $F(a)$, $F$ contains an identically scoped UCVSF $u^{e}$. Each $u^{e}$ initially contains a singleton set.

  $u^{e}(a^{e}) = {v^{e}(a^{e})}$

在这个新的function中,包含了所有i所贡献的可能是最优的joint action。

文章通过一下算式获得所有i参与的向量$v$:

  $ u = igcup_{a_{i}epsilon A_{i}} igoplus _{u^{e}epsilon F_{i}} u^{e}(a_{-i}^{e} imes left { a_{i} ight })$,

获得所有i参与的向量$v$的集合后,剔除那些不可能参与最优决策的$v^{e}(a^{e})$。

方法:取$F$中与agent i 无关的$u^{e}$,求解其探索部分的最大值和最小值

  $x_{u} = sum_{u^{e}epsilon Fsetminus F_{i}} max_{a^{e}}max_{vepsilon v^{e}(a^{e})}v[2]$

  $x_{l} = sum_{u^{e}epsilon Fsetminus F_{i}} min_{a^{e}}min_{vepsilon v^{e}(a^{e})}v[2]$

如果存在$v, v‘ epsilon u $,使得$v[1] + sqrt{frac{1}{2}(v[2] + x_{u})log(tA)} < v‘[1] + sqrt{frac{1}{2}(v‘[2] + x_{l})log(tA)} $,则$v$不可能组成最优的joint action,将其剔除。将所有的agent视为一个队列,依次消除队列中agent直至空队,最终$F$中只有一个$u$剩余,里面只有一个upper confidence vector $v(a)$,对应的$a$即为选出的最优joint action.

三、实验——使用累积遗憾评估算法的好坏

The expected cumulative regret:

  $Eleft [ sum_{t=1}^{T}Delta (a_{t}) ight ], where Delta (a) = Eleft [ F(a_{*}) ight ]-Eleft [ F(a) ight ]$

文章对比了四种算法:

  A Uniformly Random Action Selector: 无任何策略,每次随机选取;

  Sparse Cooperative Q-Learning(SCQL):使用乐观初始估计以及epsilon-greedy;

  Learning with Linear Rewards(LLR):每个多臂赌博机使用UCB算法进行决策,整体的Q值为每一个多臂赌博机Q值的线性和;

  MAUCE

采用了三种实际场景:0101-Chain,Gem Mining,Wind Farm(三种实际场景的介绍参照原文)

实验结果:

技术图片

实验结果表明,MAUCE算法在三个实际场景中均获得更好的效果。值得注意的是,0101链中,MAUCE的累积遗憾远低于SCQL(原因:MAUCE的探索策略基于局部探索区间的聚合;SCQL使用epsilon-greedy探索策略)。SCQL基于乐观初始化和极具激进的探索策略很快学习到了最优joint action,但是在探索过程中epsilon-greedy中的参数需要多次微调以获取最好的学习效果,相比之下,MAUCE更为高效。

技术图片

 

以上是关于《Learning to Coordinate with Coordination Graphs in Repeated Single-Stage Multi-Agent Decision Probl的主要内容,如果未能解决你的问题,请参考以下文章

02 Learning to Answer Yes/No

[Intro to Deep Learning with PyTorch -- L2 -- N9] Perceptron Trick

[Intro to Deep Learning with PyTorch -- L2 -- N9] Perceptron Trick

机器学习基石:02 Learning to Answer Yes/No

labelme_json_to_dataset不能转换关键点的问题(coordinate list must contain at least 2 coordinates)解决办法

“What a boring world!” Julyed felt so bored that she began to write numbers on the coordinate paper.