Emergent Communication is a flexible, bottom-up framework that studies the properties of protocols created by artificial agents (sender-receiver pairs) to coordinate and solve a task. This project focuses on studying how individual idiolects formed through local interactions are extrapolated to form a communal language.
This codebase implements EC from scratch in a population, using the Gumbel-Softmax Relaxation. You will also find implementations of Inner Speech, a new cognitive architecture, inspired by the Rational Speech Acts (RSA) framework.
Please ensure you have anaconda installed. If not, install it using the instructions here: https://www.anaconda.com/download
Run the following bash commands on your terminal:
conda env create -f environment.yaml
conda activate ec
Data: The simulated objects used for training the models are created in the code itself. A random seed is set to ensure the data produced is consistent across execution runs, and to enable comparisons in performance.
- Open Training.ipynb in a Jupyter environment.
- Select 'ec' as your python kernel's environment.
- Click 'Run All', or individually run the relevant cell.
- Open Visualisations.ipynb in a Jupyter environment.
- Select 'ec' as your python kernel's environment.
- Click 'Run All', or individually run the relevant cell.
EC-Submission/
│
├──readme.md
│
├──environment.yaml
│
├──Training.ipynb
│
├──Visualisations.ipynb
│
├──ModelFiles/
│ ├──exp8.1/
│ ├──exp8.2/
│ ├──...
│ └──exp8.8/
│
└──Images/
├──image1.pdf
├──...
└──imageX.pdf