Giter Club home page Giter Club logo

lio's Introduction

Learning to Incentivize Others

This is the code for experiments in the paper Learning to Incentivize Other Learning Agents. Baselines are included.

Setup

  • Python 3.6
  • Tensorflow >= 1.12
  • OpenAI Gym == 0.10.9
  • Clone and pip install Sequential Social Dilemma, which is a fork from the original open-source implementation.
  • Clone and pip install LOLA if you wish to run this baseline.
  • Clone this repository and run $ pip install -e . from the root.

Navigation

  • alg/ - Implementation of LIO and PG/AC baselines
  • env/ - Implementation of the Escape Room game and wrappers around the SSD environment.
  • results/ - Results of training will be stored in subfolders here. Each independent training run will create a subfolder that contains the final Tensorflow model, and reward log files. For example, 5 parallel independent training runs would create results/cleanup/10x10_lio_0,...,results/cleanup/10x10_lio_4 (depending on configurable strings in config files).
  • utils/ - Utility methods

Examples

Train LIO on Escape Room

  • Set config values in alg/config_room_lio.py
  • cd into the alg folder
  • Execute training script $ python train_multiprocess.py lio er. Default settings conduct 5 parallel runs with different seeds.
  • For a single run, execute $ python train_lio.py er.

Train LIO on Cleanup

  • Set config values in alg/config_ssd_lio.py
  • cd into the alg folder
  • Execute training script $ python train_multiprocess.py lio ssd.
  • For a single run, execute $ python train_ssd.py.

Citation

@article{yang2020learning,
  title={Learning to incentivize other learning agents},
  author={Yang, Jiachen and Li, Ang and Farajtabar, Mehrdad and Sunehag, Peter and Hughes, Edward and Zha, Hongyuan},
  journal={Advances in Neural Information Processing Systems},
  volume={33},
  pages={15208--15219},
  year={2020}
}

License

See LICENSE.

SPDX-License-Identifier: MIT

lio's People

Contributors

011235813 avatar qiaodan-cuhk avatar

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.