Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion of integrating HARL algorithms #52

Open
Ivan-Zhong opened this issue Jan 19, 2024 · 1 comment
Open

Suggestion of integrating HARL algorithms #52

Ivan-Zhong opened this issue Jan 19, 2024 · 1 comment

Comments

@Ivan-Zhong
Copy link

Hello. Thank you for your amazing work. I appreciate the efforts to provide a unified library of MARL algorithms and environments for benchmarking and reproducibility. To better achieve this goal, I suggest integrating HARL algorithms, which achieve SOTA results on various benchmarks and are theoretically underpinned. Their papers have been accepted to JMLR and ICLR 2024 (spotlight). As they represent important advancements in MARL and are now increasingly used as baselines, integrating them should be helpful to the adoption of this library.

@matteobettini
Copy link
Collaborator

matteobettini commented Jan 19, 2024

Hi! Thanks for positing this!

I am going to have a through read when I have time. As I understand from a quick skim, it seems like a core component of these algorithms is disabling parameter sharing. This kind of paradigm was also introduced in Heterogeneous Multi-Robot Reinforcement Learning (AAMAS 2023). Where the Het prefix is appended to algorithm names to indicate the non-sharing nature.

This is currently available in BenchMARL.

Disabling parameter sharing

In actor-critic algorithms

python benchmarl/run.py 
/ task=vmas/balance
/ algorithm=mappo
/ experiement.share_policy_params=False # Decides sharing in the policy
/ algorithm.share_param_critic=False # Decides sharing in the critic

We call the algorithm obtained this way HetMAPPO. The same line can be run for all actor-critic algortihms: maddpg, iddpg, mappo, ippo, masac, isac.

In Q-based algorithms

python benchmarl/run.py 
/ task=vmas/balance
/ algorithm=qmix
/ experiement.share_policy_params=False # Decides sharing in the policy

We call the algorithm obtained this way HetQMIX. The same line can be run for all actor-critic algortihms: qmix, vdn, iql.

Heterogeneous agent spaces

Hetrogeneous agent spaces can be used in BenchMARL. In partcular, when you put agents in different groups, they can have any difference you like and even be in competition with other groups. For more info, see the note in this section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants