opendilab / DI-engine

OpenDILab Decision AI Engine. The Most Comprehensive Reinforcement Learning Framework B.P.
https://di-engine-docs.readthedocs.io
Apache License 2.0
3.12k stars 380 forks source link

算法选择的问题 #484

Closed jaried closed 2 years ago

jaried commented 2 years ago

这样的情况下,什么算法比较好?MASAC、MAPPO、QMix、CollaQ?

PaParaZz1 commented 2 years ago
jaried commented 2 years ago

MAT如何? https://github.com/PKU-MARL/Multi-Agent-Transformer

zerlinwang commented 2 years ago

MAT如何? https://github.com/PKU-MARL/Multi-Agent-Transformer

MAT我们目前没有很多的使用经验,不过也许可以从以下几个角度考虑:

  1. 对于异质(heterogeneous)智能体效果非常出色:文中作者验证了MAT在multi-agent MuJoCo上的效果,在性能上大幅度超越了之前的sota算法mappo与happo。这一点可能来自于Transformer decoder的序列决策架构,网络的输入中包含的结构信息使得mat能够有效地区分不同的智能体,并利用attention关注不同的信息做出不同的决策。而其他算法中,网络可能很难从输入来判断不同智能体,进而进行不同的决策,导致对于heterogeneous agent效果不佳;
  2. few-shot learning表现好:文中作者对于SMAC和multi_agent MuJoCo上验证了few-shot learning的结果,与Transformer在nlp以及cv领域的情况相似,对于few-shot设定效果非常好,这里也许可以继续拓展;
  3. 此外需要注意的是,MAT的输入要求获取所有智能体的观测,这一点可能和QMIX、MAPPO等算法上纯CTDE的设定不同。
jaried commented 2 years ago

谢谢你们的回答。

jaried commented 2 years ago

请问,能否实现连续 MAT呢?

PaParaZz1 commented 2 years ago

我们短期(1个月)内没有实现 MAT 相关算法的计划,不过也许你可以来在 DI-engine 里实现下?我们给你提供相应支持

jaried commented 2 years ago

我也想实现,但是估计1个月之内我还不能完全熟练使用DI-engine。

PaParaZz1 commented 2 years ago

可以尝试下,我们会提供code review和在slack channel具体聊天讨论一些问题。你可以先从model部分开始,把这部分的神经网络搭起来。

jaried commented 2 years ago

我先跑通masac后,可以尝试一下。