Machine Learning

Machine learning helps to learn from enormous amounts of data gathered as a direct or indirect product of a process, whether it be an industrial product line, efficient farming for food production, prediction of bacterial growth, or any other industrial, healthcare-related, or technological endeavor. Similar to humans, machine learning extracts patterns from data if enough examples are provided. Reinforcement learning is an action-oriented type of learning in which an agent tries to maximise a given reward signal, without being told explicitly which actions to take. This type of learning is often combined with other types of machine learning. For instance, deep learning is widely applied in scenarios with large state spaces.

The topic of machine learning leads to projects of varying nature such as theoretical (algorithm development, computational efficiency, and convergence of machine learning algorithm, formal representation), algorithm training for classification or regression (see some example projects below), predictive maintenance, and reinforcement learning.

Related Modules

Available Project Proposals

If you are interested in the general topic of Machine Learning, or if have your own project idea related to the topic, please contact us directly. Alternatively, you can also work on one of the following concrete project proposals:

  • Point cloud classification, segmentation, and visulization

    Supervisors: Faizan Ahmed

    Point clouds are sets of spatial data points captured by 3D scanning techniques such as lidar. These point clouds contain many million points of data, resulting in 3D representations of the railway environment. Point cloud data can be used to create machine learning models that can classify the object in rail infrastructure automatically. 

    The main research question is: How to reliably segment, classify, and visualize point clouds for railway catenary systems with scant computational power, memory, and ground truth labels?

    However, the student can focus on a (combination of) topic(s) given below:

    • create an end-to-end pipeline for point cloud visualization using existing libraries
    • visualizing model output(or intermediate processing) to explore interpretability/explainability
    • leverage existing trained models for point cloud labeling
    • pre-process (down-sampling. Augmentation, filtering, voxelization etc.) point clouds for accurate model training
    • train deep learning models for point cloud segmentation and object detection
    • analyze the variation in object sizes with relation to the accuracy of the trained models.
    • analyze the effect of point cloud density on accuracy
    • determine the accuracy of the trained model objectively (or What are the excellent metric for such machine learning tasks?)
    • connecting point clouds with existing 3D object libraries

    Some previous assignments related to this topic:

  • Inference of risk models using machine learning techniques

    Supervisors: Lisandro A. Jimenez-Roa, Matthias Volk

    Risk models such as fault trees (FTs) are formalisms typically used in reliability engineering, safety, and risk analysis. A known drawback of FTs is the time-consuming manual construction of these models, making them prone to human errors and incompleteness. Thanks to the ever-increasing availability of inspection and monitoring data, the development of algorithms that take care of this task in a data-driven manner are possible.

    In [1] this challenge was tackled using multi-objective evolutionary algorithms, yielding compact and reliable FT models. Building upon this work, several interesting research directions are possible.

    Research directions

    • Guided inference: The current algorithm [1] takes a long time to converge when randomly applying genetic operators. One possible research direction is therefore to investigate to what extent knowledge about the models can be included to guide the genetic operators. One possibility is the inclusion of a Bayesian probability to improve the inference.
    • Noisy and incomplete data sets: Current approaches only consider noise-free and complete failure data sets, which is of course not representative of real applications. Thus, it is interesting to investigate how to effectively deal and account for noise and incompleteness in failure data sets when inferring FT models in a data-driven manner.
    • Reinforcement Learning: Other approaches to infer fault tree models can be investigated. One promising approach is to use Reinforcement Learning (RL). RL is a sub-field of machine learning that addresses the problem of automating learning of optimal decisions over time. Literature in this direction is [2] where the authors used RL to discover the optimal architecture of Convolutional Neural Networks. The goal of this project is to construct a Q-learning agent that discovers the optimal and compact FT structure, encoding failure modes in a data-driven manner.

    References

    [1] Jimenez-Roa, L. A., Heskes, T., Tinga, T., & Stoelinga, M. I. A. (2021). Automatic inference of fault tree models via multi-objective evolutionary algorithms. Manuscript available online.

    [2] Baker, B., Gupta, O., Naik, N., & Raskar, R. (2016). Designing neural network architectures using reinforcement learning. arXiv preprint arXiv:1611.02167.

    Requirements

    Most research directions encompass a prototypical implementation. It is therefore advisable to be familiar with the Python programing language.

  • Leveraging machine learning to dissect requirements specification

    Supervisor: Faizan Ahmed

    Requirement engineering is a fundamental step in software development. It is also a step that causes many disputes if not done properly. Current development in machine learning, especially in natural language processing, warrants an investigation to mine patterns in the realm of functional and non-functional requirements. This project aims to investigate the applicability of various machine learning techniques to cluster and classify functional/non-functional requirements.

  • Development of verification tools

    DEVELOPMENT OF VERIFICATION TOOLS

    Contact person: Ernst Moritz Hahn, e.m.hahn@utwente.nl

    Title: Development of verification tools

    Description: Due to the increasing deployment of Deep Neural Networks (DNNs) in real-world security-critical domains, including autonomous vehicles and collision avoidance systems, formally checking the robustness of DNNs is becoming crucial. Several techniques have been developed in recent years to verify DNNs, such as VeriNet, AlphaBeta-Crown, and DeepPoly. Each of these works has its own pros and cons. The goal of this project is to implement and/or evaluate one of the three verification tools mentioned above, as discussed with the contact person.

    This project will be performed in collaboration with Audi AG Ingolstadt.

    Objectives:

    • Develop and optimize current state-of-the-art techniques in backdoor testing for classification models.
    • Extend current approaches to work for Regression applications
    • Evaluate the methods for several industrial applications

    Key Requirements/Skills/Experience:

    • Course of studies in a technical area (e. g. computer science, mathematics or comparable) and excellent academic track record
    • Interest or knowledge in at least one of the following topics: machine learning, neural networks, optimization theory
    • Programming skills in Python and Matlab
    • Knowledge of AI and big data frameworks, e. g. TensorFlow, Keras, PyTorch, Scikit-learn

Contact