Giter Club home page Giter Club logo

broil's Introduction

Bayesian Robust Optmization for Imitatation Learning

Daniel Brown, Scott Niekum, Marek Petrik

Read the paper: arXiv Link.

Source Code

This repository contains code to reproduce the experiments.

If you find this repository is useful in your research, please cite our paper:

@InProceedings{brown2020broil,
  title = {Bayesian Robust Optimization for Imitation Learning},
  author = {Brown, Daniel S. and Niekum, Scott and Petrik, Marek},
  booktitle={Advances in neural information processing systems (NeurIPS)},
  year={2020}
}

First install all dependencies via conda

conda env create --file environment.yml
conda activate broil
python -m ipykernel install --user --name=broil

Before running any of the commands below, make sure to first activate the conda environment

conda activate broil

Machine Replacement Experiment:

Generate plot of efficient frontier

python machine_replacement.py

generate plot of action probs

python machine_replacement_action_probs.py

generate and plot histogram of return dists for different values of lambda

python machine_replacement_gen_return_dists.py 
python machine_replacement_plot_return_dists.py

Ambiguous Demo Experiment:

To reproduce the ambiguous demonstration experiment run the following ipython notebook:

jupyter notebook AmbiguousDemos.ipynb

Make sure to change the kernel of the notebook to use the broil conda env by selecting from the dropdown menu: Kernel -> Change kernel -> broil. Screen shot for how to change kernel

Computational Stress Tests (see Appendix for details):

To reproduce the experiments and plots for the computational efficiency stress tests run:

python machine_replacement_experiment_stress_test_numrewards.py
python machine_replacement_experiment_stress_test_numstates.py
python grid_world_stress_test_numstates.py

Note that these will take a while to run. When they are complete you can generate plots using the following Jupyter notebook:

jupyter notebook StressTestPlots.ipynb

broil's People

Contributors

dsbrown1331 avatar

Stargazers

 avatar  avatar dyabel avatar Sharath Raparthy avatar

Watchers

James Cloos avatar  avatar Rishi Parikh avatar

broil'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.