Projekt 1 - Vertrauenswürdige nichtlineare Regler

Einleitung:

Die modellbasierte Policy Optimization ermöglicht das Lernen leistungsfähiger nichtlinearer Regler für komplexe Systeme.
Dazu können probabilistische Systemmodelle verwendet werden, um Unsicherheiten zu berücksichtigen und damit geeignete Policies z. B. in Form von Radial-basis-function (RBF) Netzwerken zu lernen.
Eine erlernte Policy ist jedoch eine Black Box, die nicht interpretierbar und damit nicht vertrauenswürdig ist.
Daher ist es von Interesse, auf Basis vorhandener Daten vertrauenswürdige Bereiche (Trust Regions) einer Policy zu identifizieren, um deren Einsatz in realen Anwendungen zu ermöglichen.

Aufgaben:

  • Einarbeitung in die Funktionsweise der modellbasierten Policy Optimization
  • Modellierung von Systemmodellen mit Bayes'schen neuronalen Netzen
  • Lernen geeigneter Policies für Beispielanwendungen wie ein inverses Pendel oder das Moon Lander Problem
  • Entwicklung eines Verfahrens zur Identifiaktion von Trust Regions von gelernten Policies
  • Optional: Nutzung der Informationen über die Trust Regions zur gezielten Verbesserung der Policies durch Active Learning Methoden

Voraussetzungen:

  • Gute Kenntnisse in Python
  • Grundkenntnisse im maschinellen Lernen
  • Vorkenntnisse zu Probabilistic Frameworks in Python vorteilhaft
SS24 Projekt1
Quelle: Stochastic Control for Cooperative Cyber-Physical Networking, Florian Rosenthal, DOI: 10.5445/IR/1000146730

Projekt 2 - Optimization-based Construction of an Open Low-Discrepancy Sequence

Introduction:

Most of us learned about the “rectangle rule” or “midpoint rule” for quadrature (numerical integration) of 1D functions already in school. It evaluates the integrand simply at equidistant locations. In 2D, we know that the infamous Fibonacci lattice is the best point set, but for higher dimensions, an equivalent is still unknown. However, we know an easy-to-compute optimality measure whose global optimum is in 1D the equidistant point set and in 2D the Fibonacci lattice. In this project, we aim to produce ≥3D quadrature point sets by minimizing that optimality measure. To make it feasible, we greedily optimize only one sample at a time keeping the previous ones in place, thereby obtaining a sequence of points of which the first L points (L depending on the desired accuracy) can then be used for cubature applications.

Tasks:

  • Implement optimality measure from the literature
  • Inspect the formula and determine sort of optimization problem
  • Derive and implement a global optimization strategy, derive complexity order
  • Compute 1D, 2D, 3D, 4D, … points
  • Compare against state-of-art sequences for cubature

Requirements:

  • Basic knowledge in higher scientific language (Julia, Python, Matlab, Mathematica)
  • Preferred: Julia
SS24 Projekt2
[Deterministic Gaussian Sampling With Generalized Fibonacci Grids Frisch, Hanebeck 2021]

Projekt 3 - Explore Variational Autoencoder for AI-Generated Content

Introduction:

Let’s explore AIGC! Variational Autoencoder (VAE) plays a crucial role in the realm of AI-Generated Content (AIGC). AIGC focuses on using AI techniques to create content, such as images. VAEs contribute to AIGC significantly by generating new data points for a diverse and realistic content. They accomplish this by learning to encode input data into a lower-dimensional latent space and then decoding it back to the original input space. Since VAEs are currently trained in an unsupervised fashion, it's natural to wonder: Can we incorporate label information to assist in generating samples? This is feasible, and we refer to this scenario as Conditional VAEs (CVAEs). Furthermore, exploring the combination of VAEs with the capability of Gaussian Processes to model correlations between samples is also worthwhile.

Tasks:

  • Explain the mathematical fundamentals, architecture and training process of a VAE.
  • Graphically illustrate the applications of VAEs for image generation.
  • Compare between VAEs and other generative models like GANs or Diffusion models.
  • Explore CVAEs by imposing control over the data generation process.

Requirements:

  • Basic programming skills (e.g. Python) and deep learning framework (e.g. PyTorch).
  • Machine learning fundamentals.
  • Independent learning and exploration.

Literature:

  • D Kingma, M Welling: Auto-Encoding Variational Bayes, 2013 (Link)
  • D Kingma, M Welling: An Introduction to Variational Autoencoders, 2019 (Link)
  • C Luo: Understanding Diffusion Models: A Unified Perspective, 2022 (Link)
SS24 Projekt3
Source: D Hafner: Building Variational Auto-Encoders in TensorFlow

Projekt 4 – Schätzung von Kumulativen Verteilungsfunktionen mit neuronalen Netzen

Einleitung:

Ein häufig auftretendes Problem in der Statistik ist die Schätzung einer kontinuierlichen Wahrscheinlichkeitsverteilung aus einer Menge von Samples. Dieses Problem wird meist im Raum der Dichtefunktionen möglicher Verteilungen gelöst, z.B. Kernel-Schätzer, Normalizing Flows. Wird jedes Samples als Dirac-Stoß interpretiert, der die gleiche Menge an Wahrscheinlichkeitsmasse repräsentiert, entstehen in der Optimierung jedoch Nebenbedingung für das Integral über bestimmte Regionen der Dichte.
Diese lassen sich mit obigen Methoden nur bedingt umsetzen, da insbesondere das Integrieren über ein neuronales Netz im Allgemeinen nur numerisch möglich und damit zeitaufwändig ist. Das Ziel des Praktikums ist es einen Schätzer für die Kumulative Verteilungsfunktion (cdf) einer Wahrscheinlichkeitsverteilung zu entwickeln. Durch die Schätzung der cdf statt der Dichtefunktion lassen sich Integralbedingungen leichter behandeln. Die geschätzte cdf soll durch ein neuronales Netzwerk dargestellt werden (siehe Literatur).

Aufgaben:

  • Literaturrecherche zum Lernen von CDFs mit neuronalen Netzen
  • Implementation eines CDF-Schätzers
  • Evaluation des Schätzers an verschiedenen Beispielen in 2 und mehr Dimensionen

Voraussetzungen:

  • Programmierkenntnisse (Python)
  • Erfahrungen mit pytorch oder tensorflow sind hilfreich
  • Grundlagen der Wahrscheinlichkeitsrechnung

Literatur:

  • Li, H., Kluger, Y.: Neural Inverse Transform Sampler (Link)
  • Kortvelesy, R.: Fixed Integral Neural Networks (Link)
SS24 Projekt4

Projekt 5 - Neuro-Dynamic Programming für eine intelligente Ansteuerung eines Multi-Aktoren-Array Sortierers

Einleitung:

Partial Observable Markov Decision Processes (POMDPs) sind eine Klasse von sequentiellen Entscheidungsproblemen, in denen sich ein Agent in jedem Zeitschritt für eine Handlungsmöglichkeit (Aktion) entscheiden muss. Ziel des Agenten ist es, seine erwartete Belohnung (Reward) innerhalb eines betrachteten Zeithorizonts zu maximieren. Mit Hilfe von Dynamic Programming können hierbei optimale Entscheidungen gefunden werden. Jedoch leidet Dynamic Programming bei Systemen mit vielen Handlungsmöglichkeiten unter dem Fluch der Dimensionalität (Curse of Dimensionality), sodass Lösungen nicht mehr in praktikabler Rechenzeit gefunden werden können. Für solche Situationen existieren in der Literatur approximative Verfahren aus dem Neuro-Dynamic Programming bzw. Reinforcement Learning, welche für ein gegebenes stochastisches Modell des Systems näherungsweise die optimalen Stellgrößen finden.

In diesem Praktikum sollen Verfahren des Neuro-Dynamic Programmings implementiert und verglichen werden. Als Beispielsystem dient hierbei ein bereits vorhandenes hybrides POMDP-Modell eines optischen Sortierers mit mehreren Reihen mechanischer Aktoren. Ziel des Sortierers ist es, einzelne Aktoren so anzusteuern, dass möglichst alle auszusortierenden Teilchen aussortiert werden, jedoch keine nicht-auszuschleusenden Teilchen.

Aufgaben:

  • Einarbeitung in POMDPs und Verfahren des Neuro-dynamic Programmings mit diskreten oder kontinuierlichen Stellgrößen, insbesondere in das Linear Least-Squares Temporal Difference Learning
  • Anpassung und Implementierung der Ansätze an die Gegebenheiten des Beispielsystems
  • Vergleich der Verfahren und Validierung gegenüber bisher implementieren Verfahren
  • Übertrag auf einen bereits vorhandenen Prototypen und praktische Erprobung an diesem (optional)

Voraussetzungen:

  • Grundkenntnisse in Python
  • Grundkenntnisse über Kalman-Filter und stochastische Informationsverarbeitung
  • Grundkenntnisse in Reinforcement Learning oder Model Predictive Control vorteilhaft
SS24 Projekt5