Multi-agent emergent language learning: Modular framework for studying communication protocols in fully reproducible referential games
Clone the repo and run the demo:
git clone https://github.com/bangyen/emergent.git
cd emergent
pip install -e .
pytest # optional: run tests
langlab train --steps 1000 --k 5 --v 6Or open in Colab: Colab Notebook.
| Metric | Value |
|---|---|
| Referential Accuracy | ~40-50% (Baseline) |
| Compositional Generalization | Supported |
- Multi-Agent Communication — Speaker-listener neural agents with discrete message generation using Gumbel-Softmax for differentiable training.
- Flexible Architectures — Support for MLP and sequence-based (RNN) agents with residual connections and layer normalization.
- Comprehensive Analysis — Tools for evaluation on IID and compositional splits, and research report generation.
- Reproducible Research — Seeded experiments and automated test validation.
emergent/
├── emergent_demo.ipynb # Colab notebook demo
├── src/langlab/ # Core implementation
│ ├── core/ # Agent architectures and channel logic
│ ├── training/ # Training loops and grounding protocols
│ ├── data/ # World generation and datasets
│ ├── analysis/ # Evaluation and report generation
│ ├── apps/ # CLI interface
│ └── utils/ # Shared utilities
├── tests/ # Unit and integration tests
├── docs/ # Documentation and figures
└── outputs/ # Experiment results and checkpoints
- ✅ Overall test coverage of ~70% (
pytest) - ✅ Reproducible seeds for experiments
- ✅ Core CLI functionality verified
- Emergence of Linguistic Communication from Referential Games with Symbolic and Pixel Input - Lazaridou et al. (2018) - Foundational work on emergent language in referential games
- Emergent Communication of Generalizations - Mu & Goodman (2021) - Generalizable communication protocols in referential games
This project is licensed under the MIT License.