Hauptnavigation

Pages about teaching are available in German only Zurück zu der Liste der Abschlussarbeiten

Zertifizierung von Normalizing-Flow-Modellen

Title Zertifizierung von Normalizing-Flow-Modellen
Description

Normalizing Flows [1] sind eine Familie probabilistischer Modelle, die kontinuierliche Wahrscheinlichkeitsverteilungen darstellen können. Sie werden auf einem Datensatz von Beispielen trainiert und können dann sowohl genutzt werden, um die Wahrscheinlichkeitsdichte von Datenpunkten zu bestimmen (Inferenz), als auch um neue Daten zu generieren. Dazu wird ausgehend von einer einfachen A-Priori-Verteilung (z.B. multivariate Normalverteilung) der Wahrscheinlichkeitsraum durch eine Reihe von invertierbaren Transformationen verformt, bis er möglichst genau mit der Verteilung der Daten übereinstimmt. Die Transformationen haben Parameter, die mithilfe von Gradientenabstieg gelernt werden.

Die Transformationen (Flows), aus denen das Modell besteht, sind beliebig konfigurierbar: Häufig werden (tiefe) neuronale Netze oder Faltungsnetze als Komponenten verwendet, um komplexe Bilddatensätze zu lernen, aber auch Flows mit weniger Parametern für kleinere Datensätze sind möglich. Dies, zusammen mit weiteren Hyperparametern des Modells (z.B. Tiefe, Optimierungsmethode), führt zu einem Tradeoff zwischen der Qualität der Ergebnisse und weiteren Eigenschaften wie Laufzeit, Speicher- und Energieverbrauch. Auch theoretische Garantien oder Einschränkungen können von der Wahl solcher Parameter abhängen. Ziel dieser Arbeit ist es, eine Reihe von Normalizing-Flow-Modellen mit Hinblick auf diesen Tradeoff zu untersuchen. Zu diesem Zweck sollen Experimente vorbereitet und durchgeführt werden, in denen Normalizing Flows auf synthetischen und echten Datensätzen trainiert und hinsichtlich ihrer Qualität und weiterer zuvor genannter Kenngrößen untersucht werden. Am Ende sollen die Eigenschaften der verwendeten Modelle in Form von Zertifikaten einheitlich und leicht verständlich dargestellt werden, um so mit anderen probabilistischen Modellen leicht vergleichbar zu sein.

 

Normalizing Flows [1] are a family of probabilistic models that can represent continuous probability distributions. They are trained on a data set of examples and can then be used both to determine the probability density of data points (inference) and to generate new data. To do this, starting with a simple a priori distribution (e.g., multivariate normal distribution), the probability space is deformed through a series of invertible transformations until it matches the distribution of the data as closely as possible. The transformations have parameters that are learned using gradient descent.

The transformations (flows) that make up the model are arbitrarily configurable: often (deep) neural networks or convolutional networks are used as components to learn complex image datasets, but flows with fewer parameters for smaller datasets are also possible. This, together with other hyperparameters of the model (e.g. depth, optimization method), leads to a tradeoff between the quality of the results and other properties such as runtime, memory and energy consumption. Theoretical guarantees or constraints may also depend on the choice of such parameters. The goal of this work is to investigate a number of normalizing flow models with respect to this tradeoff. For this purpose, experiments will be prepared and performed in which normalizing flows will be trained on synthetic and real data sets and investigated with respect to their quality and other previously mentioned parameters. In the end, the properties of the used models shall be presented in a uniform and easily understandable way in the form of certificates, in order to be easily comparable with other probabilistic models.

 

[1] Kobyzev, I., Prince, S. J. D. & Brubaker, M. A. Normalizing Flows: An Introduction and Review of Current Methods. IEEE Trans. Pattern Anal. Mach. Intell. 1–1 (2020) doi:10.1109/TPAMI.2020.2992934.

Qualification

Normalizing Flows sind probabilistische Modelle, darum sind gute Kenntnisse zur Statistik (Wahrscheinlichkeitsverteilungen, KL-Divergenz, ...) erforderlich. Weiterhin sollte mind. ein Modul zum Thema Maschinelles Lernen (z.B. Mustererkennung, Computer Vision, Wissensentdeckung in Datenbanken, oder durch Seminare oder Projektgruppen) vorgewiesen werden. Da Experimente in Code durchgeführt werden sollen, ist Programmiererfahrung (optimalerweise Python) sehr hilfreich, am besten im Zusammenhang mit maschinellem Lernen (z.B. Numpy, PyTorch, SciPy).

 

Normalizing Flows are probabilistic models, therefore a good knowledge of statistics (probability distributions, KL-divergence, ...) is required. Furthermore, at least one module on machine learning (e.g. pattern recognition, computer vision, knowledge discovery in databases, or through seminars or project groups) should be presented. Since experiments will be performed in code, programming experience (ideally Python) is very helpful, preferably related to machine learning (e.g. Numpy, PyTorch, SciPy).

Professor Morik, Katharina
Status Entwurf