FInC-Flow: Schnelle und invertierbare $k \times k$-Faltungen für Normalisierungsflüsse

Invertierbare Faltungen sind seit ihrer Einführung in Glow ein wesentlicher Bestandteil zur Konstruktion ausdrucksstarker normalisierender Fluss-basierter Generativmodelle. Mehrere Ansätze wurden unternommen, um invertierbare $k \times k$-Faltungen zu entwerfen, die sowohl im Trainings- als auch im Sampling-Verfahren effizient sind. Obwohl diese Ansätze die Ausdruckskraft und die Sampling-Effizienz verbesserten, lagen sie hinsichtlich der Sampling-Zeit erheblich hinter Glow zurück, das lediglich $1 \times 1$-Faltungen verwendete. Zudem maskieren viele dieser Ansätze eine große Anzahl der zugrundeliegenden Faltungsparameter, was zu einer reduzierten Ausdruckskraft bei gegebener Laufzeitbudget führt. Wir stellen eine $k \times k$-Faltungs-Schicht sowie eine tiefes normalisierendes Fluss-Architektur vor, die i.) einen schnellen parallelen Inversionsalgorithmus mit Laufzeit O$(n k^2)$ besitzt (wobei $n$ die Höhe und Breite des Eingabebildes und $k$ die Kernelgröße ist), ii.) die minimal mögliche Anzahl an lernbaren Parametern pro Schicht maskiert, und iii.) eine bessere Vorwärtspass- und Sampling-Zeit erreicht, die mit anderen $k \times k$-Faltungsbasierten Modellen auf realen Benchmark-Datensätzen vergleichbar ist. Wir stellen eine Implementierung des vorgeschlagenen parallelen Algorithmus für das Sampling mittels unserer invertierbaren Faltungen auf GPUs bereit. Benchmark-Tests auf den Datensätzen CIFAR-10, ImageNet und CelebA zeigen eine vergleichbare Leistung bezüglich Bits pro Dimension im Vergleich zu früheren Arbeiten, wobei die Sampling-Zeit jedoch signifikant verbessert wird.