多智能体强化学习_多智能体强化学习2020会议论文(九)WQMIX

25b8ddaf0939aaf49c0c0529634976f3.png

论文标题Weighted QMIX: Expanding Monotonic Value Function Factorisation,原文http://arxiv.org/abs/2006.10800v1,发表于NeurIPS 2020。

本文分析了QMIX算法在解决复杂协作任务时性能不佳的原因:由于最优动作价值被低估,总是选到次优联合策略。本文将QMIX转化为最优化问题,通过在引入一个加权来纠正这一点,以便能够忽略次优策略而选择最优策略,并且提出两种方案,(CW)QMIX和(OW)QMIX。最后在捕食者-猎物任务和星际SMAC任务中验证了算法效果。

背景

介绍一下QMIX算法。QMIX是最近几年比较受欢迎的多智能体强化学习算法,适用于CTDE框架,使用了值分解的思想,将全局Q分解为局部Q。QMIX算法在网上有很多相关的说明文章,这里就不详细说了。

QMIX需要满足单调性(monotonicity)约束:

10472de19bb0e879d4970f6d15981924.png

QMIX算法网络结构如下:

6e9a34a22d48f87c88d933d81e4ec582.png

这篇文章将QMIX算法写成了最优化的形式:

2b757badfa8bb540dbf9e985e8b84a61.png

7fbb0862177d8d2bc89b4ae646035c74.png

优化的目标是,所有动作td-error的平方和最小。这就带来了一个问题,一旦对几个次优联合动作的错误估计超过了对单个最优联合动作的更好估计,就会导致最优动作价值被低估,使选择的动作次优。

举个例子,对于两智能体三动作任务:

b0a83a1004c162b855a6932097965d10.png

横轴是智能体1选择a,b,c三个动作,纵轴是智能体1选择a,b,c三个动作。左图是真实的pay-off矩阵,右图是QMIX学习到的。

可以看到,QMIX算法忽略了最优的a-a动作,认为这是不好的策略,而认为0值的次优策略是好的策略。

这是因为,QMIX对4个0值联合动作的错误估计超过了对1个12值最优联合动作的更好估计,对于目标函数来说,降低4个0值动作的误差要比降低1个12值动作误差更好。QMIX算法不能把最优动作的最高值提到-12以上,除非提高其他坏动作的值到-12以上,或者把0值动作的值降到-12以下。

这就会导致最优动作价值被低估,使选择的动作次优。

算法

本文认为,既然最后要贪婪地选取最优策略,那么精确地表示最优联合动作的值比表示次优联合动作的值更重要。

这就带来了本文的核心思想,为每一个动作加权:

f7bd061fe477e66381286184eff11166.png

对于目标函数来说,给最优动作的权值要更大,给其他动作的权值更小,这样优化的时候就会倾向于将最优动作计算得更为准确。当w恒为1时,退化为普通的QMIX算法。

有两种赋权方式,第一种是理想情况下的中心加权,Idealised Central Weighting:

b7ac477a73d0a3caefd8d0dc972506f6.png

只有最优动作的权值为1,其他都是小于1的值。也就是对每个次优操作进行减重。

然而实际上,最优联合动作是不可知的,只能找到近似的最优联合动作。

第二种方式是乐观赋权,Optimistic Weighting:

c229232dfab4ba78071df0d269acbc2a.png

因为最优动作常常被低估,所以只要是被低估的动作,就认为有可能是最优动作(一种乐观的赋权方式)。

具体到深度强化学习的算法中,WQMIX使用另一个Q函数Q*来代替Qtot(QMIX),作为Q-target。Q*和QMIX类似,只不过没有单调性约束,表示能力更强,更接近于真实的联合Q值。

但是选动作的时候,由于真实的最优动作不可知,使用Qtot选出的动作作为Q*的动作。也就是:

b45028ec3e9b80cb04fc7c59efce08c3.png

然后用加权的方式计算:

839ccfe580bf9379c8d653177d009ecb.png

整体的神经网络结构如下:

61be5cf4fb3acd796f30de069b06ae4f.png

网络分为两个部分,Q*和Qtot。

Qtot网络用的是QMIX的网络,包括局部的Q网络和mixing net。Loss函数如下:

ae8f1fd217d4221c05f8721e5db545a7.png

Target为:

abaa5036682480c48a7485fcdcd4388b.png

这里的target是用Q*计算出来的,不过Q*的动作又是Qtot选出的。

Q*的网络和QMIX的网络相似,但mixing net没有单调性约束,表示能力更强。Loss函数:

51552afd927bdb9cf077b9a91d5e43f1.png

同样,Target为:

abaa5036682480c48a7485fcdcd4388b.png

最后是权值,中心化权值(CW)的计算方式:

d607187c1c176bbedbdbfe4186192f8e.png

理论上应该给最优的联合动作的权值赋值为1,但实际上都采用的是近似方案。这里给出两种近似采取了最优动作的情况:

15350de54d5b18f3bab1aaab67113ca9.png

57f4513c477b06b77912baadf9a6f8e0.png

另一种赋权值的方法是乐观权值(OW):

575b12fa03101a9cdecf00c8d66552c3.png

如之前所说,只要是被低估的动作,就认为有可能是最优动作。

实验

主要是在多智能体协作的任务中进行实验,测试agent之间的协调能力。

首先是捕食者-猎物玩家,包括8个agent的部分可观察捕食者-猎物任务,该任务需要agent之间协调得很好,因为当只有一个 agent(而不是两个agent)试图捕获猎物时,会提供惩罚。这就需要多个agent同时捕获猎物。

6b484b4208e8ecd20a6474cda4371a2c.png

另外是星际争霸多智能体任务SMAC,在复杂任务中,WQMIX要比QMIX效果好很多。

6bb03f9a0ba0c4443ab4f565e2ab59c8.png

还有非常复杂的任务,6h_vs_8z,差距就更明显了(-后面是ε衰减步数,表示探索的程度)。

d00e0e1a4cf8b6659565427898035c30.png
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
多智能体强化学习是指在一个环境中存在多个智能体,每个智能体都有自己的观察状态和可以执行的动作,并且它们通过相互作用来实现某种任务的学习过程。在构建多智能体强化学习系统时,我们需要考虑每个智能体的决策策略、交互方式以及如何协调它们的行为。 引用中提到了传统算法多智能体环境下的一些短板。传统的Q学习算法多智能体环境中不适用,因为每个智能体的策略都在发生变化,导致环境的不稳定性,从而带来学习稳定性的挑战。经典的DQN算法也不适用,因为不知道其他智能体的状态会导致自身状态转移的不确定性,阻止了以往经验重放的直接使用。此外,策略梯度(PG)算法多智能体环境中也不适用,因为智能体数量的增加会加剧固有的方差大的问题。 为了解决这些问题,引用提到了一种名为MADDPG(Multi-Agent Deep Deterministic Policy Gradient)的算法。MADDPG采用了集中式训练和分散式执行的框架。在训练时,每个智能体的Critic接收除了自身的状态-动作信息外,还包括其他智能体的动作和状态信息。而在应用时,只利用局部信息即可给出最优动作。这种框架的优势是不仅适用于合作,还适用于竞争性或合作竞争混合的情况。此外,MADDPG算法不需要知道环境的动力学模型以及特殊的通信需求。 因此,在构建多智能体强化学习系统时,我们可以考虑使用MADDPG算法,采用集中式训练和分散式执行的框架,使智能体能够通过相互协作或竞争来学习并完成任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [多智能体强化学习在智能工厂在线调度中应用](https://blog.csdn.net/crazy_girl_me/article/details/123138099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [多智能体强化学习算法MADDPG(一:由单智能体强化学习多智能体强化学习)](https://blog.csdn.net/qq_40089637/article/details/108377307)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值