Projekt 1 Vergleich von Verfahren des Approximate Dynamic Programmings für intelligente Agenten

Einleitung:

Partial Observable Markov Decision Processes (POMDPs) sind eine Klasse von sequentiellen Entscheidungsproblemen, in denen sich ein Agent in jedem Zeitschritt für eine von mehreren Handlungsmöglichkeiten (Aktionen) 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 (Course of Dimensionality), sodass Lösungen nicht mehr in praktikabler Rechenzeit gefunden werden können. Für solche Situationen existieren in der Literatur approximative Verfahren, wie Rollout, Open-Loop Feedback Control und Q-Factor Approximation sowie verwandte Verfahren aus dem Neuro-Dynamic Programming bzw. Reinforcement Learning.

In diesem Praktikum sollen verschiedene Verfahren implementiert und verglichen werden. Als Beispielsystem dient hierbei ein bereits vorhandenes POMDP-Modell eines Rillensortierers mit mehreren mechanischen Aktoren. Ziel des Sortierers ist es, einzelne, in der Rille hintereinander angeordnete Aktoren so anzusteuern, dass möglichst alle auszusortierenden Teilchen aussortiert werden, jedoch keine nicht-auszuschleusenden Teilchen.

Aufgaben:

  • Einarbeitung in POMDPs und approximativer Verfahren aus dem Dynamic Programming
  • Anpassung und Implementierung der Ansätze und an die Gegebenheiten des Beispielsystems
  • Implementierung einer alternativen Modellierung des Systems und Anpassung einzelner Verfahren auf dieses
  • optional: Übertrag auf ein 2D-System (Rutschensortierer)
  • Vergleich der Verfahren und Validierung gegenüber bisher implementieren Verfahren wie Monte-Carlo Tree Search

Voraussetzungen:

  • Grundkenntnisse in Python
  • Grundkenntnisse über Kalman-Filter und stochastische Informationsverarbeitung
WS2324_Projekt1

Projekt 2 Iterative Filtering and Smoothing for Nonlinear Dynamic Systems

Einleitung:

The goal of Bayesian inference for nonlinear dynamic system is the estimation of the posterior distribution of the system’s state given a set of observations. While the classical Kalman filter can find optimal solutions for linear systems, some approximations and assumptions have to be made for nonlinear systems. These result in final estimates, that are more or less far from the actual ground truth distribution.
Filters for nonlinear systems like the Extended or Unscented Kalman filter only process each measurement once, in the forward direction. Their respective smoother versions add a backwards pass to this initial solution to improve the results. Iterative filters and smoothers try to improve this even further by additionally introducing iterative refinement to each filter step.

This lab project should investigate and compare the influence of different smoothing and iteration methods on the accuracy of the final estimate. As a starting point, this paper gives an overview of Gaussian filtering and smoothing and a first algorithm to consider in the project.

Aufgaben:

  • Literature research on nonlinear state estimation
  • Adaption and implementation of a selection of algorithms, for example iterative extended/unscented Kalman filters and smoothers, and approximate expectation propagation
  • Evaluation and comparison of the selected algorithms on an example system

Voraussetzungen:

  • Programming skills (Python or Julia)
  • Basic knowledge on Kalman filters and stochastic information processing
WS2324_Projekt2

Projekt 3 Clustering des Eingangsraums von Bayes'schen neuronalen Netzen

Einleitung:

Bayes'sche neuronale Netze (BNNs) sind eine Erweiterung von klassischen neuronalen Netzen, die es ermöglichen Wahrscheinlichkeitsverteilungen über die Modellparameter (Gewichte) und Prädiktionen anzugeben.
Die Qualität der Unsicherheitsschätzungen hängt allerdings stark von der Menge und der Verteilung der Daten ab. Aus Regionen, in denen mehr Trainingsdaten zur Verfügung stehen, folgen meist auch bessere Prädiktionen. Daher ist es sinnvoll, die Qualität eines BNNs nicht global zu bewerten, sondern einzelne Regionen im Eingangsraum zu betrachten.

In diesem Praktikum soll im ersten Schritt ein Verfahren entwickelt werden, um anhand von Testdaten Regionen im Eingangsraum eines BNNs zu identifizieren. Im zweiten Schritt soll die Qualität der Prädiktionen pro Region mit herkömmlichen Kalibrierungsmaßen bewertet werden.

Aufgaben:

  • Einarbeitung in die Funktionsweise von BNNs
  • Recherche zu geeigneten Clustering Verfahren und Verfahren zur Suche von Formprimitiven zur Identifizierung von Regionen in Punktewolken
  • Training von BNNs mit künstlichen Datensätzen und verschiedenen Eingangsdimensionen
  • Implementierung und Vergleich verschiedener Clusteringverfahren
  • Überprüfung der Qualität der Prädiktionen pro Region/Cluster

Voraussetzungen:

  • Gute Kenntnisse in Python
  • Grundkenntnisse im maschinellen Lernen
  • Vorkenntnisse zu Probabilistic Frameworks in Python vorteilhaft
WS2324_Projekt3