Meta-learning: learning to learn. Generalization of neural network capability for task series

  • Subject:AI Algorithms, Deep learning, Meta-learning
  • Type:Bachelor-/ Masterarbeit
  • Date:ab 06 / 2024
  • Tutor:

    M. Sc. Anqi Chu 

Meta-learning: learning to learn. Generalization of neural network capability for task series


Neural networks have demonstrated their strong capabilities in various domains, such as recognizing objects into images, translating language, and playing games. However, a neural network is trained only for a specific task and the ability cannot be adopted in another scenario. A neural network that can recognize handwriting, for example, cannot find out the differences between cats and dogs.
The meta-learning method describes the philosophy of "learning to learn". Here, a set of tasks are considered together and generalization is learned. A Machine Learning model learns not only the tasks themselves, but also how to train itself better.
In the context of this thesis, you are going to exploring the possibilities for meta-learning with numerous focuses at your choice. Possible topics could be: Meta-Learning in multi-task learning environments, Imitation learning, Adaptive learning etc.


The concrete tasks are related to the topic that you select, but the general process of the work is summarized as follows:

  • Literature research of the SOTA approaches in the related area (Review of SOTA)
  • Design of your own framework with respect to the desired workload (could be but not limited to classification, regression and reinforcement learning problems) 
  • Design, training and optimization of neural networks (e.g., feature selection, network pruning & quantization, knowledge distillation), comparison with other SOTA or classical approaches
  • Generalization of the framework to enable good performance on different tasks
  • Evaluation and analysis of the results


  • High motivation to learn new technologies
  • Knowledge of machine learning algorithms, ideally reinforcement learning 
  • Experience with programming languages such as Python, C++ and Java
  • Analytical, problem-solving, and communication skills