Pytorch implementation for emergent communication in competitive settings.
Correspondence to:
- Paul Liang (pliang@cs.cmu.edu)
On Emergent Communication in Competitive Multi-Agent Teams
Paul Pu Liang*, Jeffrey Chen, Ruslan Salakhutdinov, Louis-Philippe Morency, Satwik Kottur
AAMAS 2020
All our code is implemented in PyTorch. The current version has been tested in Python 3.6 and PyTorch 1.4.
Our code also uses some python packages that can be installed as follows:
pip install json
pip install tqdm
pip install pickle
pip install json
pip install matplotlib
The next step is to clone the repository:
https://github.com/pliang279/Competitive-Emergent-Communication.git
options.py
- Read the options from the commandlinedataloader.py
- Create and handle data for toy instanceschatbots.py
- Conversational agents - Abot and QbotlearnChart.py
- Obtain evolution of language chart from checkpointshtml.py
- Easy creation of html tablesutilities.py
- Helper functionstrain.py
- Script to train conversational agentstest.py
- Script to test agents
Please look at the scripts under scripts/
to see how train our model.
For example, scripts/train_111.sh
represents training a team with 3 sources of competitive influence: reward sharing, dialog overhearing, and task sharing.
plot.py
parses all these results and plots the test accuracies across training epochs, with standard deviations highlighted
The folder cooperative_baselines/
is largely modified from the initial cooperative settings of Task & Talk, as presented in https://github.com/batra-mlp-lab/lang-emerge.
If you find this code useful, please cite our paper:
@inproceedings{liang2020_competitive,
title={On Emergent Communication in Competitive Multi-Agent Teams},
author={Paul Pu Liang, Jeffrey Chen, Ruslan Salakhutdinov, Louis-Philippe Morency, and Satwik Kottur},
booktitle = {Proceedings of the 19th International Conference on Autonomous Agents and MultiAgent Systems, {AAMAS} '20},
year={2020},
}
This codebase was adapted from https://github.com/batra-mlp-lab/lang-emerge.