Please note: We do not offer any summer internships. The theses and projects listed here are only available to students enrolled at the University of Freiburg. If you are not enrolled and are interested in working with our group, we encourage you to apply to our MSc programme. Information on this programme and how to apply can be found here: http://www.tf.uni-freiburg.de/studies/degree_programmes/master/msc_informatik.html

Getting in Touch about Projects and Theses

Since machine learning is currently one of the hottest topics around, our small group is flooded with requests, and we may not be able to offer projects to every interested student. Generally, it helps for finding a matching project if you have taken and excelled at our courses. All projects in our research group should be carried out in teams of at least 2 students (max. 4). Theses can also be done in synergy with theses/projects by others, but each student has to write their thesis by themselves, appropriately acknowledging work done by others. We strongly recommend doing a MSc project with our group before inquiring about a MSc thesis.

In order to make the selection process of students and topics as effective as possible, we ask potential candidates for projects/theses to send us an email (optimally, already as a team) to aad-staff@cs.uni-freiburg.de (or only to the person(s) in charge of a specific project you're interesting in) with the following information (per team member):

1) Are you a BSc or MSc student? Which term? If BSc, are you planning on staying in Freiburg for a MSc?
2) Which ML-related courses have you taken?
3) Can you please attach your transcript of records?
4) Which projects have you done so far (in Freiburg and elsewhere)?
5) Which topics interest you most?

Since different projects require different skill sets, please also rate your skills in the following categories on a scale from ++ (very good) to -- (no knowledge/skill):
6. Creativity / ideas for developing new algorithms
7. Getting someone else's large code base to run
8. Running comprehensive experimental studies / keeping track of results
9. Self-motivation to push through even if things don't work for a while
10. Coding skills
         a. Python
         b. TensorFlow
         c. Keras
         d. PyTorch
         e. C/C++
11. Ability to read a RL paper, implement it and get it to work
12. Ability to read a DL paper, implement it and get it to work
13. Formal background, linear algebra
14. Formal background, proofs

Possible Topics

Here, we collect possible topics for BSc/MSc projects or theses. Please note that the list of projects below is typically incomplete, since we always have new ideas as time goes by and we do not always update the website right away. The most up-to-date list of projects can be found in the following (partially overlapping) presentations: Open student projects (Deep Learning course WS 2017/18) and Open student projects (Reinforcement learning course WS 2017/18. Below, you can find additional details for some projects.

Joint Architecture and Hyperparameter Search for Deep Neural Networks

Deep learning has celebrated many successes, establishing new state-of-the-art performance in many important domains (e.g., image recognition and speech recognition). However, applying it in practice can be challenging because it requires many crucial design decisions, such as choosing a neural network architecture and its hyperparameters. Recent advances in Automated Machine Learning (AutoML) have led to automated tools that can compete with machine learning experts on supervised learning tasks. However, current AutoML tools do not yet support modern neural networks effectively.

No available projects

Algorithm Configuration and Hyperparameter Optimization

The performance of many algorithms depends on their parameter settings which have to be adjusted based on the set of input instances at hand. For example, the parameters of AI planners have to be changed based on the planning task at hand. Unfortunately, manual parameter tuning is a tedious and error-prone task. Therefore, automated algorithm configuration tools (e.g., our state-of-the-art tool SMAC) can help users by automatically optimizing the parameters of their algorithms.

Constructing Better Benchmark Problems

Progress in hyperparameter optimization and algorithm configuration relies on the availability of relevant and realistic benchmark problems. Unfortunately these are often expensive to evaluate, e.g. when optimizing the hyperparameters of a neural network one has to train and evaluate multiple networks. Having cheap-to-evaluate, but meaningful problems, new approaches could be evaluated in early stages within a fraction of time it would take to run the real benchmark problem. This project is about evaluating and constructing machine learning models to use them as surrogate benchmark problems.


  • Basics in algorithm configuration and/or hyperparameter tuning
  • Strong Python programming skills


Contact Katharina Eggensperger

Deep Reinforcement Learning for learning programs

Deep reinforcement learning is arguably the hottest topic in machine learning, and this set of projects will explore its use for learning and improving programs.

BLBT: Deep Learning for EEG Data

Decoding EEG data is a challenging task and has recently been approached with deep learning. All of the following projects aim to improve an existing decoding pipeline by applying recent state-of-the-art techniques.


  • Understanding of neural networks
  • Strong Python programming skills
  • Understanding of EEG (optional, but beneficial)


Recurrent neural networks for decoding motor control data

Currently, our pipeline uses feedforward networks, which naturally do not capture information over time. As EEG data can be considered as a time series, a promising extension is to use recurrent neural networks instead.

Architecture Search

The current pipeline has been handcrafted and strongly builds on domain expert knowledge. This project aims at exploiting hyperparameter search to automatically design well performing decoders and with that supports and accelerate research.

Data Augmentation for EEG data

EEG data to train a model is usually scarce as one recording contains less than 1000 samples. One way to overcome this limitation is to do data augmentation by applying transformations to the training data and make the resulting model invariant to these transformations. Well performing transformations, such as rotation and rescaling are known to improve generalization performance for image classification, but for EEG data it is not clear which transformations will work. In this project you will create and evaluate possible transformations for EEG data.

Contact Robin Schirrmeister