Portfolio of Malte Ebner
Machine Learning Engineer
Supervised learning models perform best when trained on a lot of data, but annotating training data is very costly in some domains. Active learning aims to chose only the most informative subset of unlabelled samples for annotation, thus saving annotation cost. Several heuristics for choosing this subset have been developed, which use fix policies for their choice. They are easily understandable and applied. However, there is no heuristic performing optimal in all settings. This lead to the development of agents learning the best selection policy from data. They formulate active learning as a Markov decision process and applying reinforcement learning (RL) methods to it. Their advantage is that they are able to use many features and to adapt to the specific task.
The master thesis proposed a new approach combining these advantages of learning active learning and heuristics: Active learning is learned using a parametrised ensemble of agents, where the parameters are learned using Monte Carlo policy search. As this approach can incorporate any active learning agent into its ensemble, it allows to increase the performance of every active learning agent by learning how to combine it with others. The graph shows the performance of various active learning frameworks on the fashion-MNIST image classification task. The ensemble (in orange) developed in this thesis is able to outperform heuristics even when choosing a batch of 64 samples to label next at once.
Dense, Convolutional and Recurrent Neural Networks, Random Forests, Q-Learning, Imitation Learning, Automatic hyperparamater optimization with tree parzen estimators
python, tensorflow/keras, scikit-learn, hyperopt, matplotlib
This thesis models project schedules as high-dimesional, mixed, probabilistic and nonlinear optimization problem and solves it using various black-box algorithms.
Bayessian Optimization, Genetic Algorithm, Actor-Critic Algorithm, Variational Autoencoder, Dense Neural Network, multi-input multi-output networks
python, tensorflow/keras, hyperopt, emukit, GPyOpt
This project was part of a laboratory course in detection and pattern recognition at the University of Stuttgart. The input data consists of 3d-scans of body tissue with multiple channels, the output was one class per voxel of the scan.
As part of the project, a whole classification pipeline with following steps was developed: feature selection, feature normalization, outlier removal, partitioning, training of a classifier, saving of the results and visualization. The majority ensemble classifier performing best consisted of following single classifiers: CNN, dense NN, nearest mean, logistic regresssion, gaussian mixture model, SVM, kNN. The implementation was in matlab.
This project was also part of a laboratory course in detection and pattern recognition at the University of Stuttgart. We developed a model to identify the speaker of a sentence by learning a model of the speakers voice using the UBM-GMM based system. Additionally, we compared different methods to detect voice activity in both noisy and non-noisy environments. Furthermore we tested the system’s performance if a background speaker with lower volume additional to the main speaker makes the detection of the main speaker more difficult. The implementation was in matlab.
As project of the course in ‘deep learning for natural language processing’ at the University of Stuttgart, I developed a convolutional neural network with keras/tensorflow to classify the emotion of speakers using mel and prosody features. My classifier performed 2nd-best out of 30 classifiers by peer students.
As part of the ‘MNIST challenge’ of the course in ‘detection and pattern recognition’ at the University of Stuttgart, I developed a convolutional neural network in matlab to reach 99.56% accuracy on the MNIST dataset.