This repository contains data for Miniproject 10: Meta-Learning with Reptile in the Cognitive Robotics lecture taught by Prof. Dr. Helge Ritter (AG Neuroinformatik, Universität Bielefeld). The miniproject focuses on exploring a variant of the Model-Agnostic Meta-Learning (MAML) method called Reptile. For more information on Reptile and its scalability as a meta-learning algorithm, refer to the web article "Reptile - a scalable Meta-Learning Algorithm" published by OpenAI here. Additionally, you may find insights on first-order meta-learning algorithms in the paper titled On First-Order Meta-Learning Algorithms by A. Nichol, J. Achiam, and J. Schulman.
-
read the web-article, the comment paper and inspect the code (take details from the original article where missing)
-
reproduce the learning of the example function (parameters as in the original paper, i.e. 1-64-64-1-network, 32 gradient steps, amplitude and phase ranges as above)
-
consider the cases
- of plain learning from a random weight initialization and
- learning after weight optimization according to the Reptile algorithm of the example implementation
-
visualize in each case the results before and after training and compare the outcomes of (i) and (ii) above
-
finally, replace the sine function by the forward kinematics of a two-link robot arm with segment lengths
and , and joint angles , end effector coordinates (and no phase):
(this requires to use a network that can transform a pair
of joint angles to a pair of end effector coordinates . E.g. experiment with a 2-64-64-2-shaped network and again use 10 randomly sampled training points) -
repeat the above experiments for this case, now visualizing the error as an error surface above the
space (e.g., visualizing error as color) -
create an interactive result report about your exploration results on the Reptile algorithm