Model-Agnostic Meta-Learning
This repo contains code accompaning the paper, Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks (Finn et al., ICML 2017). It includes code for running the few-shot reinforcement learning experiments.
For the experiments in the supervised domain, see this codebase.
Dependencies
This code is based off of the rllab code repository and can be installed in the same way (see below). This codebase is not necessarily backwards compatible with rllab.
The MAML code uses the TensorFlow rllab version, so be sure to install TensorFlow v1.0+.
Usage
Scripts for running the experiments found in the paper are located in maml_examples/
.
The pointmass environment is located in maml_examples/
whereas the MuJoCo environments are located in rllab/envs/mujoco/
.
Speed of Code
One current limitation of the code is that it is particularly slow. We welcome contributions to speed it up. We expect the biggest speed improvements to come from better parallelization of sampling and meta-learning graph computation.
Contact
To ask questions or report issues, please open an issue on the issues tracker.
rllab
rllab is a framework for developing and evaluating reinforcement learning algorithms. It includes a wide range of continuous control tasks plus implementations of the following algorithms:
- REINFORCE
- Truncated Natural Policy Gradient
- Reward-Weighted Regression
- Relative Entropy Policy Search
- Trust Region Policy Optimization
- Cross Entropy Method
- Covariance Matrix Adaption Evolution Strategy
- Deep Deterministic Policy Gradient
rllab is fully compatible with OpenAI Gym. See here for instructions and examples.
rllab only officially supports Python 3.5+. For an older snapshot of rllab sitting on Python 2, please use the py2 branch.
rllab comes with support for running reinforcement learning experiments on an EC2 cluster, and tools for visualizing the results. See the documentation for details.
The main modules use Theano as the underlying framework, and we have support for TensorFlow under sandbox/rocky/tf.
Documentation
Documentation is available online: https://rllab.readthedocs.org/en/latest/.
Citing rllab
If you use rllab for academic research, you are highly encouraged to cite the following paper:
- Yan Duan, Xi Chen, Rein Houthooft, John Schulman, Pieter Abbeel. "Benchmarking Deep Reinforcement Learning for Continuous Control". Proceedings of the 33rd International Conference on Machine Learning (ICML), 2016.
Credits
rllab was originally developed by Rocky Duan (UC Berkeley / OpenAI), Peter Chen (UC Berkeley), Rein Houthooft (UC Berkeley / OpenAI), John Schulman (UC Berkeley / OpenAI), and Pieter Abbeel (UC Berkeley / OpenAI). The library is continued to be jointly developed by people at OpenAI and UC Berkeley.
Slides
Slides presented at ICML 2016: https://www.dropbox.com/s/rqtpp1jv2jtzxeg/ICML2016_benchmarking_slides.pdf?dl=0