In den letzten Jahren hat die künstliche Intelligenz bei aufgabenspezifischen Anwendungen wie der Vervollständigung von Texten und der Bildklassifizierung erhebliche Fortschritte gemacht. Bis vor kurzem fehlte es jedoch an Fortschritten in Bezug auf ein allgemeineres, bereichsübergreifendes Verständnis. Mit dem Aufkommen multimodaler Modelle wie DALL-E und CLIP ist es nun möglich, Text, Bilder und Kombinationen aus beidem in einem Modell zu interpretieren und zu generieren. In diesem Blogpost werde ich in die Welt der multimodalen KI eintauchen: Wir werden sehen, was das ist und einen Blick auf die Geschichte werfen. Zweitens werden wir uns DALL-E und CLIP etwas genauer ansehen und einige Experimente, die wir mit diesen Modellen durchgeführt haben.
Lassen Sie uns zunächst einmal erklären, was eine Modalität ist. Als Menschen können wir die Welt um uns herum verstehen: Wir können Objekte sehen, Töne hören und Bücher lesen. Jedes dieser Signale kann als eine andere Modalität betrachtet werden: Bilder, Audio und Text. Die verschiedenen Modalitäten sind durch unterschiedliche statistische Eigenschaften gekennzeichnet. So werden beispielsweise Bilder in der Regel durch die Speicherung von Pixelwerten in einer 2D-Karte dargestellt, während Text als eine Folge von numerischen Vektoren dargestellt werden kann, wobei jeder Vektor ein Wort darstellt.
Damit die KI die Welt um uns herum verstehen kann, muss sie in der Lage sein, diese verschiedenen Modalitäten zu interpretieren und gleichzeitig Schlussfolgerungen zu ziehen. Multimodale KI tut genau das. Sie verwendet verschiedene Modalitäten als Input/Output und kombiniert sie im selben Modell. Einige Anwendungsbeispiele sind: die Erstellung einer Bildunterschrift, die Beantwortung visueller Fragen oder die Erkennung von Emotionen auf der Grundlage von Audio und Text. In diesem Blogpost werden wir uns speziell mit Modellen befassen, die Text und Bilder kombinieren. Doch zunächst wollen wir einen Blick auf die Geschichte der multimodalen KI in allen Modalitäten werfen.
Eines der frühesten Beispiele für multimodale Forschung ist die audiovisuelle Spracherkennung (AVSR) von Yuhas et al. (1989). Sie wurde durch den McGurk-Effekt motiviert, ein Phänomen, das eine Interaktion zwischen Hören und Sehen bei der Sprachwahrnehmung demonstriert. Es zeigt, dass ein Geräusch anders wahrgenommen werden kann, wenn es mit einer nicht passenden visuellen Komponente kombiniert wird. Derzeit wird AVSR vor allem bei verrauschten Audiosignalen eingesetzt, da sich die visuellen Informationen in Kombination mit hochwertigen Audiosignalen als redundant erwiesen haben.
Eine zweite wichtige Kategorie von multimodalen Anwendungen kommt aus dem Bereich der Indizierung und Abfrage von Multimedia-Inhalten. Dieses Problem wurde zunächst mit stichwortbasierten Ansätzen gelöst, aber in den späten 1990er Jahren wurden neue Techniken eingesetzt, um den Inhalt direkt abzufragen. Es wurden multimodale Modelle entwickelt, die Video und Audio als Input kombinierten, um die inhaltsbasierte Videoindizierung zu unterstützen. Snoek et al. (2003) geben einen Überblick über den Stand der Technik zu dieser Zeit.
Eine dritte Kategorie der multimodalen Forschung entstand in den frühen 2000er Jahren im Bereich der Emotionserkennung mit dem Ziel, menschliches Verhalten bei sozialen Interaktionen zu verstehen. Im Jahr 2011 wurde der erste audiovisuelle Emotionswettbewerb (AVEC) organisiert. Ab 2012 wurden dank der großen technischen Fortschritte bei der Bildklassifizierung und später bei der Gesichtserkennung große Fortschritte erzielt. Eine Zusammenfassung der jüngsten Fortschritte bei der multimodalen Affekterkennung wurde von D'Mello et al. (2015) veröffentlicht.
In jüngster Zeit ist eine neue Kategorie multimodaler Anwendungen entstanden, bei denen Sprache und Sehen im Vordergrund stehen: Medienbeschreibung und -erzeugung. Eine der repräsentativsten Anwendungen ist die Bildbeschriftung, bei der die Aufgabe darin besteht, eine Textbeschreibung des eingegebenen Bildes zu erstellen. Im Jahr 2017 stellten Vaswani et al. Transformatoren als neue Modellarchitektur für NLP-Anwendungen vor. Bald darauf wurden Transformatoren auch für Bildverarbeitungsanwendungen eingesetzt. Im Jahr 2021 veröffentlichte OpenAI zwei multimodale Modelle (DALL-E & CLIP), die Bild- und Textdaten kombinieren und die Transformatorarchitektur verwenden. Beide Netzwerke verwenden eine große Anzahl von Parametern und werden auf riesigen Datensätzen trainiert. Sie zeigen sehr beeindruckende Ergebnisse. Angesichts dieser jüngsten Entwicklung glaube ich, dass wir erst am Anfang dessen stehen, was uns die multimodale KI zu bieten hat, und dass sie uns in Zukunft noch mehr überwältigen wird.
Genug davon, was multimodale KI ist und warum es sie gibt, schauen wir uns jetzt an, wie sie funktioniert. Im weiteren Verlauf dieses Blogposts werden wir uns diese beiden Modelle genauer ansehen: DALL-E UND CLIP. Wir werden jedes Modell kurz beschreiben, seine Fähigkeiten und wie es trainiert wurde. Außerdem stellen wir einige Experimente vor, die wir mit diesen beiden Modellen durchgeführt haben: Wir haben unser eigenes DALL-E-Modell von Grund auf trainiert und ein vortrainiertes CLIP-Modell verwendet und getestet.
Mit GPT-2 wurde der Grundstein gelegt, um Transformator-Netzwerke mit mehreren Milliarden Parametern zu schaffen. DALL-E ist ein generatives Netz mit 12 Milliarden Parametern, das Bilder auf der Grundlage von Texteingaben erzeugt. Es kann Bilder auf der Grundlage einer Beschreibung von Grund auf neu generieren, aber auch bestimmte rechteckige Bereiche eines bestehenden Bildes in Übereinstimmung mit der Texteingabe neu generieren. Um auf 12 Milliarden Parameter zu skalieren, erstellte OpenAI einen Datensatz mit 250 Millionen Text-Bild-Paaren, um das Netzwerk zu trainieren.
Um zu verstehen, wie das Netzwerk funktioniert, empfehle ich das Video von Yannic Kilcher, in dem er erklärt, wie DALL-E funktioniert, oder die Lektüre des Papiers. Hier werde ich nur einige der Grundlagen erklären. Zunächst müssen Sie wissen, dass DALL-E einen vortrainierten Variations-Autokodierer (VAE) verwendet, der alle Bilder auf ein 32x32-Gitter von Token abbildet, wobei jedes Token Teil eines festen Vokabulars der Größe 8192 ist. Diese VAE, die die Bilder auf der Grundlage des 32x32-Gitters rekonstruieren kann, ermöglicht es dem Netzwerk, auf relativ kleinem Raum über das Bild nachzudenken. Zweitens kombiniert DALL-E die 256 BPE-kodierten Text-Token mit diesen 32x32 Token (=1024) und modelliert sie autoregressiv als einen einzigen Datenstrom. Das bedeutet, dass der Transformator bei jeder Iteration darauf trainiert wird, das nächste Token auf der Grundlage des Eingabetextes und der bereits generierten Token zu erzeugen. Der Transformator ist ein reines Decoder-Modell, bei dem jedes Bild-Token alle Text-Token in einer seiner Aufmerksamkeitsschichten berücksichtigen kann und die anderen Bild-Token nur spärlich beachtet werden.
DALL-E ist daher in der Lage, sehr beeindruckende Bilder zu erzeugen. Zu seinen Fähigkeiten gehört es, nicht verwandte Konzepte auf plausible Weise zu kombinieren (a), anthropomorphisierte Versionen von Tieren und Objekten zu erstellen (b), Text zu rendern (c) und Transformationen auf bestehende Bilder anzuwenden (d). Beispiele für diese Fähigkeiten sind in der folgenden Abbildung zu sehen.
Bei ML6 versuchen wir, an der Spitze der Innovation zu bleiben. Die Veröffentlichung von DALL-E und dem dazugehörigen Code bot uns eine gute Gelegenheit, damit zu experimentieren. Der Code, den wir für dieses Experiment verwendet haben, ist hier zu finden: github.com/lucidrains/DALLE-pytorch. Beachten Sie, dass der Code zwar veröffentlicht wurde, aber das bereits trainierte Modell nicht verfügbar ist, sodass wir das Modell von Grund auf neu trainieren mussten. Wir haben DALL-E mit einem Datensatz trainiert, den wir aus Material Design Icons erstellt haben, wobei wir 6000 Bilder mit einer Beschreibung hatten. Wir entschieden uns, jedes Icon 8 Mal für 8 verschiedene Farben hinzuzufügen, so dass wir einen Datensatz von 48.000 Bildern erhielten. Die Bildauflösung betrug 128x128.
Damit es mit einem kleineren Datensatz funktioniert, und auch wegen der begrenzten Rechenressourcen, mussten die trainierten Netze sehr viel kleiner sein. Eine Technik besteht darin, die Eingabegröße zu verringern, indem Bilder mit geringerer Auflösung verwendet werden oder indem die Eingabegröße der Text-Token begrenzt wird. Eine andere Technik besteht darin, die Netze weniger tief zu machen. Zunächst trainierten wir das VAE mit einer Vokabulargröße von 512. Das DALL-E wurde dann mit 32 Eingabe-Token trainiert, und die Größe des Netzwerks wurde begrenzt.
Die Ergebnisse sind recht interessant zu sehen. Die Qualität ist weit von den Ergebnissen entfernt, die von OpenAI präsentiert wurden. Das ist nicht überraschend, wenn man bedenkt, dass wir einen so kleinen Datensatz verwendet haben. Aber wir können sehen, dass unser Netzwerk einige Konzepte gelernt hat und auch gelernt hat, sie zu kombinieren. Damit es noch besser funktioniert, kann noch etwas Zeit in die Optimierung der Netzwerkgröße für kleine Bilder und in längeres Training investiert werden.
Was wir noch nicht über DALL-E erwähnt haben, ist, dass es ein zusätzliches Modell verwendet, um die resultierenden Bilder zu bewerten, ein Modell namens CLIP. DALL-E kann z. B. bis zu 512 Bilder erzeugen und nur die besten 32 werden auf der Grundlage der von CLIP ermittelten Rangfolge behalten.
CLIP ist eine Reihe von Modellen, die für verschiedene Sehaufgaben verallgemeinert werden können, ohne explizit für diese Aufgaben trainiert zu werden. SOTA-Modelle erbringen oft gute Leistungen bei der Aufgabe, für die sie trainiert wurden, lassen sich aber nicht auf andere Aufgaben verallgemeinern. CLIP zielt darauf ab, dieses Problem zu lösen. Sie schlagen eine Pre-Training-Aufgabe vor, bei der das Modell anhand eines Bildes vorhersagen muss, welcher von 32.768 zufällig ausgewählten Textabschnitten in ihrem Datensatz tatsächlich mit dem Bild gepaart wurde. Wie bei DALL-E verwenden sie einen riesigen Datensatz mit 400 Millionen Paaren (Bild, Text), um das Modell zu trainieren.
Um diese Aufgabe zu lösen, müssen CLIP-Modelle unserer Meinung nach lernen, eine Vielzahl von visuellen Konzepten in Bildern zu erkennen und sie mit ihren Namen zu verknüpfen. Infolgedessen können CLIP-Modelle ohne weiteres auf viele visuelle Klassifizierungsaufgaben angewendet werden. Ein Beispiel hierfür ist in der nachstehenden Abbildung dargestellt. Die Trainingsdaten für CLIP könnten aus mehreren Bildern von Hunden bestehen, die mit einer textlichen Beschreibung gepaart sind. Wenn wir CLIP dann zur Klassifizierung der Tierart verwenden wollen, können wir dies tun, indem wir die verschiedenen Tierarten in eine Beschreibung wie "ein Foto von einem Hund" aufnehmen. Und dann können wir sehen, mit welcher Beschreibung das Bild am ehesten gepaart wird.
Dieses Verhalten wird als Zero Shot Learning bezeichnet. Es bezieht sich auf das Erkennen eines Konzepts, ohne explizit Beispiele dafür gesehen zu haben. Das Modell hat noch nie beschriftete Bilder von Hunden gesehen, ist aber dennoch in der Lage, die Klassifizierungsaufgabe zu erfüllen. Dadurch kann das Modell sofort eingesetzt werden, ohne dass ein beschrifteter Datensatz erforderlich ist, dessen Erstellung oft teuer ist.
Während das DALL-E-Modell nicht veröffentlicht wurde, wurden für CLIP der Quellcode und das trainierte Modell öffentlich zugänglich gemacht. Dies bot uns wiederum die Gelegenheit, das Modell selbst auszuprobieren. Wir haben eine Anwendung mit Code aus dem folgenden Repository erstellt: https://github.com/openai/CLIP.
Jeder, der bei ML6 arbeitet, weiß, dass Meme Teil unserer Kultur sind, und wir haben jede Woche viel Spaß beim Teilen und Erstellen von Memen. Deshalb präsentieren wir Ihnen: den Meme-Finder. Eine Anwendung, die von meinem Kollegen Thomas Dehaene entwickelt wurde und mit der Meme-Vorlagen anhand einer Textbeschreibung gefunden werden können. Wir haben alle Meme-Bilder vorher mit CLIP eingebettet, und wenn jemand eine Suchanfrage eingibt, betten wir den Text ein und geben die ähnlichsten Bilder von Memes zurück. Sie können es selbst ausprobieren unter https://memefinder.ml6.eu/.
Wir haben uns angeschaut, was multimodale KI ist, welche Anwendungen sie hat und was die neuesten Fortschritte sind. Vor allem die letzten Entwicklungen machen mich sehr neugierig und gespannt auf das, was noch kommen wird. Wir sehen deutlich, wie die Kombination aus riesigen Rechenkapazitäten und großen Datensätzen, gepaart mit dem richtigen Modell, zu großartigen und sehr leistungsfähigen Modellen führen kann. Schade, dass nicht jeder ML-Ingenieur 250 GPUs und einen Datensatz von über 100 Millionen Bildern zur Verfügung hat.
DALL-E und CLIP sind beides sehr beeindruckende Modelle, von denen wir eine Menge lernen können. In beiden Modellen wird deutlich gezeigt, wie KI in der Lage ist, über verschiedene Datentypen hinweg zu lernen. Bilder und Text haben sehr unterschiedliche Eigenschaften, und doch können wir sie im selben Raum modellieren. Das ist etwas, was wir uns vor 10 Jahren nicht vorstellen konnten, als wir kaum in der Lage waren, Bilder zu klassifizieren. Stellen Sie sich vor, was die KI in weiteren 10 Jahren leisten kann...