Giter Site home page Giter Site logo

backpropper / s2p Goto Github PK

View Code? Open in Web Editor NEW
16.0 3.0 2.0 14 KB

Code repository for On the interaction between supervision and self-play in emergent communication (ICLR 2020)

License: MIT License

Python 100.00%
emergent-communication self-play

s2p's Introduction

On the interaction between supervision and self-play in emergent communication

Code repository of the models described in the paper accepted at ICLR 2020 On the interaction between supervision and self-play in emergent communication.

Dependencies

Python

  • Python>=3.6
  • PyTorch>=1.2

GPU

  • CUDA>=10.1
  • cuDNN>=7.6

Downloading features for IBR game

The preprocssed feature files for MS COCO images/captions can be downloaded from here. The image features are obtained through a pretrained Resnet-50 model where each feature is of dimension 2048. Extract the zip file and place the folder inside the ibr_game folder.

OR game

Change the directory to or_game.

$ cd or_game

Training a population of agents using sched S2P

$ python train.py --num-compbot-samples-train 1000 --init-supervised-iters 5 --num-selfplay-iters 20 --num-supervised-iters 5 --num-iters 100 --num-encoders-train 50

where num-compbot-samples-train is the size of seed dataset $\mathcal{D}$, num-selfplay-iters is $l$, num-supervision-iters is $m$, and num-encoders-train is the number of agents in the population.

IBR game

Change the directory to ibr_game.

$ cd ibr_game

Training a single set of agents using sched S2P

$ python train.py --num_distrs 9 --num_seed_examples 10000 --s2p_schedule sched --s2p_selfplay_updates 50 --s2p_spk_updates 50 --s2p_list_updates 50 --min_list_steps 2000 --min_spk_steps 1000 --max_iters 300

where num_distrs is the total number of distractors $D$, num_seed_examples is the size of seed dataset $\mathcal{D}$, s2p_schedule is the type of S2P, s2p_selfplay_updates is $l$, and s2p_list_updates is $m$.

Finetune listener over the whole seed data

$ python finetune.py --num_seed_examples 1000 --num_total_seed_samples 10000 --num_distrs 9  ----trainpop_files <TRAINPOP_FILES>

where num_seed_examples is the number of train samples in the seed dataset $\mathcal{D}_{train}$, num_total_seed_samples is the size of the whole seed dataset $\mathcal{D}$, and <TRAINPOP_FILES> is the path to the directory where the listener parameters are stored.

Dataset & Related Code Attribution

  • MS COCO is licensed under Creative Commons.
  • This project is licensed under the terms of the MIT license.

Citation

If you find the resources in this repository useful, please consider citing:

@inproceedings{lowe*2020on,
    title = {On the interaction between supervision and self-play in emergent communication},
    author = {Ryan Lowe* and Abhinav Gupta* and Jakob Foerster and Douwe Kiela and Joelle Pineau},
    booktitle = {International Conference on Learning Representations},
    year = {2020},
    url = {https://openreview.net/forum?id=rJxGLlBtwH}
}

s2p's People

Contributors

backpropper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

majadoon nik7273

s2p's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.