【论文笔记】RODE:为agent分配角色

引子

论文标题:RODE: LEARNING ROLES TO DECOMPOSE MULTI-AGENT TASKS,ICLR2021。RODE的名字取自role的ro和decompose的de。应用领域是多智能体强化学习

论文链接:(ICLR 2021, https://arxiv.org/abs/2010.01523).
代码链接:https://github.com/TonghanWang/RODE

这篇论文的核心思想就是通过为agent分配角色,而每一个角色都只做特定几个动作,从而大幅度地限制了每个agent的动作空间,从而有效减小了搜索空间的大小。

在性能上,据论文所说,截至论文发表,在14张星际争霸2的图中的9张有最佳性能,且大多是比较复杂的地图。且作者声称,该算法可以扩展到更加复杂的地图上。

优点就是能够非常容易地推广到更加大规模的情境中。

模型结构介绍

在这里插入图片描述
先大致看一下整个结构。其中a的目的是学习一个优秀的动作编码方式,将动作映射到高维空间,从而更容易使用聚类算法进行角色分配。

b图呈现的是角色选择步骤。每c个时间步长就重新进行一次选择。c图就是agent根据自己的角色,选择动作的过程。
在这里插入图片描述
我自己绘制了一下RODE文章agent、role和action的关系,并于传统算法(QMIX等)进行了比较。就是在agent和action之间插入了一层role。这样子就可以减少决策时需要选择的动作数量,从而大大减少探索空间的复杂度。

大致了解整体架构后(暂时没看太明白也没关系),我们单独来看一下每一张图。

(a) 学习动作编码方式

在这里插入图片描述

这个步骤使用监督学习的方式。

对于每一个agent,在该步骤的输入都是观测到的情况oi、其它agent的动作a-i、自己的动作。自己的动作经过一个动作编码器,这个动作编码器将动作向量映射到一个d维空间中,易于K-means聚类,这能提高整体的性能(消融实验中能看到)。

输出就是预测的下一时刻观测到的情况oi‘、对应的回报rt,用在这里插入图片描述
计算损失函数,进行反向传播。λe是超参数,影响到agent的训练重心,调整具体的值,可以改变预测下一步观测、预测收益的重要程度。

初始时初始化K个角色,每个角色都有完整的动作空间。在收集样本并训练预测模型一段时间后,将动作进行聚类。将每个角色的操作空间设置为包含其中一个聚类。
训练正式开始后,每个角色对应的动作空间将保持不变。

(b) 角色选择器表征

用于训练角色选择器和角色策略的两个混合网络仅在训练期间使用。
在这里插入图片描述
每c个时间步长就要重新选择一次角色(每次选择相当于确定接下来c个行动的可能动作集合)。一旦确定,在c步内就不再
使用QMIX进行全局Q判断

训练时损失函数如下:
在这里插入图片描述
这里ρ是所有可以选择的角色。用前面是c步的回报收益加上c步后最优的角色分配的Qtot值,减去当前预测的Qtot,平方后关于replay buffer中的所有历史经验取期望,作为损失函数。使用了QMIX方法,以当前状态为输入,利用超网络生成网络参数,最小化TD误差。

有了角色选择器后,可以为智能体分配相应的角色。接下来智能体在相应角色动作空间中进行搜索,学习角色策略。

(c ) 角色策略训练

在这里插入图片描述

仿照QMIX构造Qtot ,用来更新的损失函数为:
在这里插入图片描述
这里的a是所有可选的动作。

(d) 整体架构

看明白了每个子部分的结构,再回过头来回顾一下之前提到的整体结构:
在这里插入图片描述
第一步先利用a网络训练得到动作表征,将简单的one-hot动作映射到高维的空间,便于使用k-means进行分类。分配角色后,就把网络a给确定下来,不再进行调整。

网络b负责根据agent观测到的历史信息进行角色选择,一旦确定角色就在接下来的c个timestep中保持不变。网络c负责根据历史信息、分配到的角色进行动作的价值评估。这里bc两个网络是一起训练的。在测试时,两个网络参数都不再变化。

实验及消融实验

在这里插入图片描述
对比在困难的图上进行。在困难地图上,普通的多智能体强化学习算法没有取得比较好的训练结果。用曲线上可以看到,在这些地图上,RODE方法都表现得比其它方法好,训练收敛速度也比其他方法高。

在这里插入图片描述
这个消融实验的目的是证明在实验中有效果的是角色分配机制。除了紫色曲线,其它方法都去掉了角色表征的机制。

实验图中可以看出来,红色和紫色曲线水平高一些,说明真正有效的部分是对角色动作的限制。

总结

  1. 训练监督学习的模型,将one-hot形式的动作映射到一个高维隐空间,从而进行动作分类,每类动作称为一个角色。
  2. 为agent分配合适的角色,一旦角色确定,接下来都只在角色的小规模空间上进行动作、价值搜索,从而减小搜索空间,增加训练效率。
  3. 使用QMIX进行值函数学习,依次更新角色选择策略和基于角色的动作选择策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邵政道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值