查看原文
其他

【源头活水】强化学习论文阅读笔记:RODE

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—qqqqzi

地址:https://www.zhihu.com/people/zhu-yu-qi-21

文章来自ICLR 2021:RODE: Learning Roles to Decompose Multi-Agent Tasks
链接:https://arxiv.org/abs/2010.01523
代码:https://github.com/TonghanWang/RODE

01

摘要
RODE所解决的问题是多智能体学习过程中动作-状态空间维数过大,难以搜索的问题。RODE将联合行动空间分解为受限角色行动空间,给智能体赋予不同的角色,让智能体在更小的解空间中搜索,从而降低了问题求解复杂性。RODE学习了一个基于动作效果的角色选择器,将角色选择与具体动作解藕,从而形成了一个双层次的学习解构。角色选择器先将智能体分类到具有某一动作效果的角色,之后在缩小的原始动作空间中学习角色策略。因为角色与动作效果而不是具体动作相对应,所以学习到的策略具有泛化性。
RODE在SCII的14个地图中的10个地图上的表现优于当前最先进的MARL算法,并且对于智能体数量增加的新环境下具有良好的泛化性。

02

RODE学习框架

本文的大致思路是首先学习新的动作表征,之后根据行动对环境和其他代理的影响,在动作空间中对动作进行聚类,聚类后属于同一类的动作组成同一个角色的动作空间。接下来学习一个角色选择器,其作用是对不同智能体赋予相应的角色。最后将动作选择器运用到强化学习过程中去,在一段时间内运用角色选择器对智能体进行角色分类,有了角色之后,智能体在所属角色对应动作空间内进行策略学习。
1、通过学习动作表征确定角色动作空间:整体学习流程如图1(a)所示。作者运用replay buffer 中的样本  进行监督学习。学习隐动作表征  相当于学习一个动作编码器  ,  ,其中  。监督学习过程是通过  ,  ,  预测下一观测值  和回报值  。通过预测值 , 和真实值  的差值计算Loss函数值,并对网络进行更新。Loss函数的公式定义如下:

通过此监督学习,可以保证学到的隐动作表征  包含着和原有动作  一样的动作效果(状态转移&回报值)。
 将动作从  映射到了  ,并在新的动作空间中,对新的动作表征用k-means进行聚类。因为新的动作表征包含着动作效果信息,所以聚到一类的动作具有相同的动作效果,因此组成同一角色的动作空间。
2、学习角色选择器以及角色策略:整体学习流程如图1(b)(c)所示,(b)学习角色选择器,(c)学习角色策略。
对于角色选择器(b),作者会学习agent  在观测状态为  选择每个角色  的的价值:  。具体计算公式为:

其中:

 由当前智能体观测状态  生成。有了  后,仿照QMIX可以生成  ,构造损失函数为:

有了角色选择器后,可以为智能体分配相应的角色。接下来智能体在相应角色动作空间中进行搜索,学习角色策略。
学习角色策略的思想是:学习当智能体被赋予角色  时,在观测状态为  时执行动作  的价值函数  。该Q函数的计算公式为:

仿照QMIX构造  ,用来更新的损失函数为:


03

实验
实验平台选择为星际争霸II,作者从三个方面验证了RODE的有效性,分别是:
1、学习出的动作表征  能否表示出对应动作  的效果?

作者在两个minigame的地图上(corridor和3s5z_vs_3s6z)对动作表征进行学习,并将学习到的动作表征进行聚类。corridor中智能体的动作效果可以分为3类,在隐空间中观察到了三个类。3s5z_vs_3s6z因为敌人有两类,所以智能体的攻击动作可分为两种动作效果,在隐空间里也观察到了两种类。
2、RODE能否提升训练效率?

作者将RODE与几个经典baseline的结果进行了对比,在10/14个地图上RODE比baseline的表现更好。而且在非常难的地图上达到了最好的效果。
之后作者为了测试不同部分的效果,进行了消融实验,实验结果如图5所示:

3、通过RODE学习出的角色策略是否具有泛化性,当场景发生变化后是否还适用?
作者将在corridor地图中学习到的策略移植到智能体数量更多的地图中,观测该策略在其他地图中的表现,效果如图6所示。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存