Original implementation by Tristan Deleu based on Chelsea Finn et al. in Pytorch.
2d-navigation without attack | 2d-navigation with attack |
---|---|
Halfcheetah-vel without attack | Halfcheetah-vel with attack |
---|---|
Meta learning, as a learning how to learn method, has become the focus of researchers in recent years because of its great prospect in the field of artificial intelligence. During the meta training, the meta learner can develop a common learning strategy, such as the learning experience memory modules or a fast adaptation initial value, for not only the computer vision tasks but also the reinforcement learning tasks. Despite its approvingly efficient performance, meta learning is under the suspicion of security. The dependability and robustness of meta learning are doubtful, especially in the reinforcement learning area when given an extremely complex task environment. Even though meta reinforcement learning has not been extensively applied, it would be too late to consider the potential threat when attacks occur. Therefore, in our paper, we create an adversarial attacking method on the sampling process of meta reinforcement learning.
To avoid any conflict with your existing Python setup, and to keep this project self-contained, it is suggested to work in a conda environment with Anaconda
. To create a conda environment:
conda create -n your_env_name python=3.8
Activate it and install the requirements in requirements.txt
.
conda activate your_env_name
pip install -r requirements.txt
- Python 3.8 or above
- PyTorch 1.9.1
- MuJoCo 200
- mujoco-py 2.0.2.13
python train.py --config configs/maml/2d-navigation.yaml --output-folder 2d_navigation --seed 1 --num-workers 8 --use-cuda
python test.py --config 2d_navigation/config.json --policy 2d_navigation/policy.th --output 2d_navigation/results.npz --num-batches 10 --meta-batch-size 20 --num-workers 12 --use-cuda
python draw.py --resultpath 2d_navigation --output_folder 2d_navigation/returns --num-batches 10 --num-traj 20
python train_intermittent.py --config configs/maml/2d-navigation.yaml --output-folder 2d_navigation_inter --seed 1 --num-workers 8 --use-cuda
python train_persistent.py --config configs/maml/2d-navigation.yaml --output-folder 2d_navigation_pers --seed 1 --num-workers 8 --use-cuda
This project contains experiments implementation of
Chelsea Finn, Pieter Abbeel, and Sergey Levine. Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. International Conference on Machine Learning (ICML), 2017 [ArXiv]
If you want to cite the paper
@article{finn17maml,
author = {Chelsea Finn and Pieter Abbeel and Sergey Levine},
title = {{Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks}},
journal = {International Conference on Machine Learning (ICML)},
year = {2017},
url = {http://arxiv.org/abs/1703.03400}
}
Feel free to dive in! Open an issue or submit PRs.
Standard Readme follows the Contributor Covenant Code of Conduct.
Thanks goes to these wonderful people (emoji key):
Haozhe Lei 💻 🔣 📖 🤔 🚧 📆 💬 👀 🎨 |
Tao Li 🎨 📋 🤔 🔣 🖋 💬 |
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT © Haozhe Lei