Das Porträt von Robert Holzmann

Ein Blick in die Werkstatt

Seit über 200 Jahren werden scheidende Gouverneure oder Präsident:innen der OeNB traditionell in einem Porträt verewigt. Die so entstandene Ahnengalerie ehemaliger OeNB-Spitzen kann im 5. Stock des Hauptgebäudes bewundert werden. Passend zum „KI-Jahr 2024“ der OeNB fiel die Wahl des Künstlers bzw. der Künstlerin für das Porträt von Gouverneur Robert Holzmann auf einen KI-Algorithmus, der für diesen Zweck entwickelt bzw. angepasst wurde. Die KI-Entwickler geben hier einen Einblick in die Technik dieser Kunstproduktion.
Christoph Siebenbrunner, Roland Ramp, Martin Weber 

Generative KI für Bilder

Als Grundlage dient ein vortrainiertes Modell aus der Stable-Diffusion-Familie. Die Veröffentlichung zu latenten Diffusionsmodellen im Jahr 2022 sowie die Veröffentlichung des entwickelten Modells waren Mitauslöser für den aktuellen Boom generativer künstlicher Intelligenz (KI). Im Vergleich zu früheren Ansätzen der generativen KI, die vor allem im Bereich der Bildgenerierung auf „generative adversarial networks“ (GAN) setzte, stellen latente Diffusionsmodelle eine effiziente Alternative dar, die Training auf großen Datensätzen und hochqualitative Ergebnisse ermöglicht. Sie sind auf die Bildgenerierung spezialisiert und unterscheiden sich somit von multimodalen Modellen, beispielsweise aus der GPT-Familie, die sowohl Texte als auch Bilder (oder andere Output-Modi) generieren können und auf einer grundsätzlich anderen Architektur aufbauen (sogenannte Transformer).

Latente Diffusionsmodelle sind eine Verfeinerung von Diffusionsmodellen. Im Kontext von Bildgenerierung ist das Grundprinzip von Diffusionsmodellen, aus mehr oder weniger zufälligem Rauschen schrittweise ein Bild zu erzeugen. Wie bei allen KI-Modellen lassen sich zwei grundsätzliche Phasen unterscheiden: (1) das Training, in dem das Modell aus vorgegebenen Beispielen „lernt“, die gewünschte Aufgabe zu lösen, und (2) die Inferenz, bei der das trainierte Modell auf neue Instanzen der Aufgabe angewandt wird.

Das Training für ein Diffusionsmodell sieht so aus, dass aus jedem Beispielbild eine Folge von immer stärker verrauschten Trainingsbildern erstellt wird, bis zu dem Punkt, an dem das Bild – auch für Computer – von zufälligem Rauschen praktisch nicht mehr zu unterscheiden ist. Ausgehend von diesem praktisch zufälligen Rauschen ist die Aufgabe des Modells dann, jeweils einen Schritt in der Folge zurückzugehen, also aus dem vorgegebenen Bild jenes Rauschen zu entfernen, das in diesem Schritt der Folge hinzugefügt wurde. Abbildung 1a und 1b stellen diesen Prozess des Verrauschens und Entrauschens grafisch dar.

Mathematisch kann die Bildfolge als Markov-Kette betrachtet werden. Bezeichnen wir mit x t die Bildinformation zu Schritt t in der Verrauschungskette, dann modelliert das Modell die bedingte Verteilung p θ ( x t 1 | x t ) , bedingt auf den Schritt x t = x t 1 + ε t , wobei ε t das zusätzliche Rauschen ist, das in Schritt t hinzugefügt wurde. Die Verteilung ist parametrisiert durch die Parameter θ des Modells, das Modell selbst besteht aus einem neuronalen Netz mit einer U-Net-Architektur (Link). Ziel des Modells ist, wie erwähnt, das Rauschen ε t in x t zu identifizieren, um daraus x t 1 rekonstruieren zu können. Es lernt also quasi, in der Markov-Kette rückwärts zu gehen. Bezeichnen wir mit ε θ ( x t , t ) das vom Modell identifizierte Rauschen in x t , dann ist die Zielfunktion des Trainings, die durchschnittliche Abweichung 𝔼 ( ε θ ( x t , t ) ε t ) zu minimieren.

Beispiel des Verrauschens anhand des OeNB-Gebäudes in fünf Bildern
Abbildung 1a: Erstellen einer Trainingsfolge durch Verrauschen eines Trainingsbildes
Beispiel des Entrauschens anhand des OeNB-Gebäudes in fünf Bildern
Abbildung 1b: Die KI wird darauf trainiert, die Bilder schrittweise wieder zu entrauschen.

Das Ergebnis ist ein Modell, das durch mehrfache Anwendung aus einem Startbild bestehend aus zufälligem Rauschen ein hochqualitatives Bild erzeugt (Inferenz). Was jetzt noch fehlt, ist ein Weg, das Ergebnis zu steuern. Bei Stable Diffusion erfolgt dies über Text-Prompts. Damit das Modell zusätzlich zum Entfernen des Rauschens auch die Bedeutung von Text-Prompts erlernen kann, muss der Bilddatensatz zusätzlich mit Texten annotiert werden. So könnte das Ausgangsbild in Abbildung 1 beispielsweise mit Texten wie „OeNB-Hauptgebäude“, „Nationalbank“, „Bürogebäude“ oder ähnlichem annotiert werden. In der Praxis werden solche Annotierungen typischerweise automatisch aus Metadaten, die beim Web-Scraping von Bildern mitausgelesen werden, erzeugt. Der vorher erwähnte Prozess des Entrauschens erhält jetzt nicht nur das aktuelle (verrauschte) Bild als Eingabe, sondern zusätzlich den Annotations-Text des Bildes (in Form eines Embedding-Vektors, basierend auf einem separaten Modell, das Text in eine Zahlenrepräsentation umwandelt).

Bezeichnen wir den zu einem Bild gehörigen Embedding-Vektor mit y, so wird nun die bedingte Verteilung p θ ( x t 1 | x t , y ) modelliert, und die Zielfunktion des Trainings ist 𝔼 ( ε θ ( x t , t , y ) ε t ) . Der Embedding-Vektor ist über alle Trainingsschritte t konstant, da er die Text-Beschreibung des Ursprungsbildes x 0 darstellt.


Das Modell, das aus dem um Texte erweiterten Training resultiert, kann nun aus einem Startbild mit zufälligem Rauschen und einem zusätzlichen Text-Prompt ein hochqualitatives Bild erzeugen. Durch Verändern des Rauschens können somit zu einem gegebenen Text-Prompt verschiedene Ergebnisbilder erzeugt werden.

Der oben beschriebene Prozess beschreibt Diffusionsmodelle. Die eingangs erwähnten latenten Diffusionsmodelle unterscheiden sich insofern, als das Ver- und Entrauschen nicht direkt auf Basis der Bilder passiert, sondern auf einer komprimierten Version der Bilder. Die Komprimierung beruht auf dem Prinzip der sogenannten Autoencoder, einer gängigen und etablierten Methode im Machine-Learning. Diese Komprimierung stellt einen Trade-off dar, bei dem kleine Qualitätseinbußen in der Bildqualität für eine höhere Effizienz im Training hingenommen werden. Der Beitrag des Stable-Diffusion-Papers war es zu zeigen, dass der Qualitätsgewinn durch das verbesserte Training den Verlust durch die Komprimierung überwiegt.

Prompting

Die oben erwähnte Verknüpfung der Bildgenerierung mit Text-Token in der Trainingsphase ermöglicht es in der Inferenz, also in der Generierungsphase, dem Modell durch Texteingabe Anweisungen zu geben, wie das Ergebnis aussehen soll. Dieses Prompting hat großen Einfluss auf das Ergebnis und dessen Qualität, weshalb dem „prompt engineering“, also der Erstellung geeigneter Texteingaben, eine große Bedeutung zukommt. Zusätzlich zu den erwähnten Textanweisungen gibt es noch weitere Möglichkeiten, das Ergebnis mittels Prompts zu steuern. Bei sogenannten Negativ-Prompts werden zusätzlich Stichworte angegeben, die im Ergebnisbild vermieden werden sollen. Bei der sogenannten Prompt-Gewichtung wird das Gewicht einzelner Prompt-Elemente verstärkt. Abbildung 2 zeigt ein Beispiel, wie dem Modell in natürlicher Sprache die Anweisung gegeben wird ein fiktives Bild des Hauptgebäudes der OeNB zu erstellen, und wie das Ergebnis mittels eines Negativprompts verfeinert werden kann.

Gebäude der OeNB
Abbildung 2: links das Ergebnis für den Prompt „Photography of the Austrian national bank in the dusk“; rechts wurden mit dem zusätzlichen Negativ-Prompt „Letters“ die Buchstaben über dem Eingang entfernt

Textanweisungen können auch genutzt werden, um den Stil des Ergebnisbildes zu steuern. War „Style Transfer" früher eine eigene Aufgabe, für die eigene Modelle entwickelt wurden, um ein bereits fertiges Bild erst in einem zweiten Schritt in eine bestimme Stilrichtung zu „übersetzen“, so schaffen moderne Modelle z. B. aus der Stable-Diffusion-Familie, bereits direkt die Ausgabe in einem gewünschten Stil (Style Rendition). Siehe Abbildung 3 für ein Beispiel.

Gebäude der OeNB
Abbildung 3: „Painting of the Austrian national bank in the dusk in the style of van Gogh“

Bei der Erstellung des Porträts von Robert Holzmann wurden zunächst mittels Prompt-gesteuerter Style Rendition Beispielbilder in verschiedenen Stilrichtungen erzeugt, aus denen eine Vorauswahl getroffen wurde. Dabei hat sich eine von Andy Warhol inspirierte Pop-Art-Stilrichtung durchgesetzt. Daraufhin wurde der Prompt in umfangreichen Experimenten weiter angepasst, um eine gewünschte Steuerung der Pose und anderer Bildelemente zu erreichen, wobei sowohl Prompt-Gewichtung als auch Negativ-Prompts zum Einsatz kamen.

Finetuning

Mit dem oben erwähnten Prompting können Anweisungen gegeben werden. Dies funktioniert jedoch nur insoweit, als im Trainingsdatensatz auch genügend Beispiele für das gewünschte Ergebnis vorhanden sind. Für manche bekannte Persönlichkeiten oder Gebäude mag dies der Fall sein. Im Allgemeinen wird es jedoch nicht möglich sein, ein Bild einer beliebigen Person mit einem Standard-Modell zu generieren. Mit img2img (s. nächstes Kapitel) besteht die Möglichkeit, ein einzelnes Bild als Vorlage zu verwenden. Unserer Erfahrung nach war dies aber nicht ausreichend, um ein Bild von Robert Holzmann in der gewünschten Qualität zu erstellen. Deshalb musste ein neues Modell mit Beispielbildern von Robert Holzmann trainiert werden. Für dieses Training haben wir auf einem bereits trainierten Stable-Diffusion-Modell aufgesetzt und es quasi weitertrainiert (Finetuning). Wir haben für das Finetuning eine Variante des Dreambooth-Algorithmus eingesetzt, der von Google-Forscher:innen für den Zweck des Hinzufügens einzelner Subjekte zu einem bestehenden generativen Modell entwickelt wurde. Der Vorteil von Finetuning gegenüber dem vollständigen Training eines neuen Modells besteht – neben dem deutlich geringeren Rechenaufwand – darin, dass vergleichsweise wenig Trainingsbilder benötigt werden. So waren für das Finetuning von Gouverneur Holzmann lediglich 10 Beispielbilder notwendig, um eine zufriedenstellende Rekonstruktion zu erreichen (s. Abbildung 4). An dieser Stelle sei erwähnt, dass die Generierung von Bildern einer Person eine mächtige Technologie ist, deren Einsatz Verantwortungsbewusstsein erfordert.

Gouverneur Holzmann
Abbildung 4: links Trainingsbilder, die für das Finetuning eines Modells für Robert Holzmann verwendet wurden; rechts generierte Beispielbilder aus dem trainierten Modell.

Steuern des Ergebnisses

Durch den Wunsch des Gouverneurs, eine spezifische Pose zu generieren, stieß die Steuerung durch Text-Prompts selbst im „finegetunten“ Modell an ihre Grenzen. Deshalb kam hier ein weiterer Ansatz zum Einsatz: die sogenannte Image-to-Image -Generierung (img2img). Diese nutzt gleichsam als Trick den Umstand, dass das Diffusionsmodell Bilder – wie eingangs erwähnt – aus zufälligem Rauschen generiert. Bei img2img wird statt eines rein zufälligen Rauschens eine verrauschte Version eines Bildes, das als Vorlage dienen soll, als Ausgangspunkt gewählt. Dies machte es wahrscheinlich, dass das Ergebnisbild Ähnlichkeit mit dem Eingangsbild aufweist. Die Stärke der Ähnlichkeit kann durch die Stärke des hinzugefügten Rauschens gesteuert werden. Die für unseren Zweck angemessene Stärke des hinzugefügten Rauschens haben wir in Experimenten durch Trial-and-Error ermittelt.

Durch den Einsatz von img2img konnte die gewünschte Steuerung der Pose erreicht werden. Unsere Experimente haben auch gezeigt, dass img2img ohne Finetuning nicht ausreichend gewesen wäre, um die gewünschte Ähnlichkeit der abgebildeten Person mit Gouverneur Holzmann zu erreichen, weshalb wir beide Ansätze kombiniert haben.

Gouverneur Holzmann
Abbildung 5 img2img: links das Ausgangsbild; in der Mitte eine verrauschte Version des Ausgangsbildes als Start für die img2img-Generierung; rechts das Ergebnisbild. Zum Einsatz kam hier das eigens mittels Finetuning trainierte Modell sowie ein in Experimenten ermittelter geeigneter Prompt.

Ausbessern von Details

Manche Details, wie die Darstellung von Händen, stellen – zumindest für die Generation von Modellen, die zum Projektzeitpunkt öffentlich verfügbar waren – eine Herausforderung dar, die selbst durch die oben beschriebene Kombination von Methoden (Prompting, Finetuning und img2img) nicht vollständig zufriedenstellend gelöst werden konnte. Hier war also ein anderer Ansatz gefragt.

Beim sogenannten Inpainting wird eine Maske über ein Bild gelegt und dem Modell in der Generierungsphase nur erlaubt, Veränderungen im maskierten Teil vorzunehmen. Da das gesamte Bild als Kontext verfügbar ist, kann durch Inpainting typischerweise eine „logische“ Fortsetzung des Bildes in den maskierten Bereich hinein erreicht werden. Der Generierungsprozess selbst funktioniert analog zum klassischen Generierungsprozess, d. h., er kann durch Prompts zusätzlich gesteuert werden und es können auch Teile der Ausgangsinformation in verrauschter Version verwendet werden (analog zu img2img). Durch die Verwendung von Inpainting war es möglich, die Hand im Ergebnisbild aus dem vorigen Kapitel in konsistenter Weise zu korrigieren, sodass sich das Ergebnisbild stilistisch konsistent und ohne Brüche präsentiert. Hierzu wurde nur der Bereich der Hand maskiert, deren aktueller Stil durch nur teilweises Verrauschen dieses Bildelements teils mitübergeben und das Ergebnis dann durch einen geeigneten Prompt in die gewünschte Richtung gesteuert wurde. Somit konnte dem Bild der letzte Feinschliff verliehen werden.

Gouverneur Holzmann
Abbildung 6 Inpainting: links das Ausgangsbild mit fehlerhafter Hand; in der Mitte der für das Inpainting maskierte Bereich der Hand; rechts das Ergebnisbild nach dem Inpainting mit korrigierter Hand.

Signatur

Kunstwerke von menschlichen Künstlern werden typischerweise signiert. Bei manchen KI-generierten Bildern werden auch signaturähnliche Bildelemente mitgeneriert, da diese aus den Trainingsbildern bekannt waren. Bei unserem Bild war dies jedoch nicht der Fall. Wir haben uns entschlossen, dass auch dieses Bild eine Signatur verdient hatte. Passend zum Thema des maschinengenerierten Porträts haben wir beschlossen, die Signatur in einen maschinenlesbaren QR-Code zu verpacken. Dies ermöglicht, direkt vom physischen Bild auf die hier vorliegende Website mit einer Beschreibung zu verweisen und somit das physische Kunstwerk um digitale Inhalte zu erweitern. Die verlinkte Web-Adresse (URL) ist somit ein permanenter Bestandteil des Bilds, während sich die Struktur der OeNB-Website über die Zeit ändern kann. Deshalb wurde für den QR-Code eine URL mit einem simplen Pfad unter der OeNB-Domain gewählt, von der der Webserver der OeNB auf den jeweils aktuellen Pfad für diesen Artikel auf der OeNB-Website weiterleitet.

Um ein ästhetisch ansprechendes Ergebnis zu erzielen und gleichzeitig auch die Signatur mit freiem Auge lesbar zu machen, haben wir einen ästhetischen QR-Code gestaltet, der sich deutlich vom Schachbrettmuster klassischer QR-Codes unterscheidet (s. Abbildung 7). Zur Erstellung eines solchen QR-Codes kommen eine Reihe weiterer Techniken zum Einsatz, die sich unter anderem die im QR-Code-Standard definierte Fehlertoleranz zunutze machen. Hier ins Detail zu gehen, würde den Rahmen sprengen, wir verweisen auf die freundliche Unterstützung der Designer von Lumicode bei der Erstellung. Das Design selbst besteht aus den Initialen der KI-Entwickler, in einem Quadrat arrangiert, und greift das quadratische Format sowohl des QR-Codes als auch des gesamten Porträts nochmals auf.

Abbildung 7: ästhetischer QR-Code mit einem Link auf die hier vorliegende Webseite und den Initialen der Entwickler (Roland Ramp, Martin Weber und Christoph Siebenbrunner) als Signatur für das Porträt.