AI-For-Beginners/translations/de/lessons/X-Extras/X1-MultiModal
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

Multi-Modal Netzwerke

Nach dem Erfolg von Transformermodellen zur Lösung von NLP-Aufgaben wurden dieselben oder ähnliche Architekturen auf Aufgaben der Computer Vision angewendet. Das Interesse wächst, Modelle zu entwickeln, die die Fähigkeiten von Vision und natürlicher Sprache kombinieren. Ein solcher Versuch wurde von OpenAI unternommen und trägt den Namen CLIP und DALL.E.

Kontrastives Bildvortraining (CLIP)

Die Hauptidee von CLIP besteht darin, Textaufforderungen mit einem Bild zu vergleichen und zu bestimmen, wie gut das Bild zur Aufforderung passt.

CLIP Architektur

Bild aus diesem Blogbeitrag

Das Modell wird mit Bildern aus dem Internet und deren Beschreibungen trainiert. Für jede Batch nehmen wir N Paare von (Bild, Text) und wandeln sie in einige Vektorrepräsentationen um. Diese Repräsentationen werden dann zusammengeführt. Die Verlustfunktion ist so definiert, dass die Kosinusähnlichkeit zwischen Vektoren eines Paares (z.B. I und T) maximiert und die Kosinusähnlichkeit zwischen allen anderen Paaren minimiert wird. Das ist der Grund, warum dieser Ansatz als kontrastiv bezeichnet wird.

Das CLIP-Modell/bibliothek ist von OpenAI GitHub verfügbar. Der Ansatz wird in diesem Blogbeitrag beschrieben und detaillierter in diesem Papier.

Sobald dieses Modell vortrainiert ist, können wir ihm eine Batch von Bildern und eine Batch von Textaufforderungen geben, und es wird uns den Tensor mit Wahrscheinlichkeiten zurückgeben. CLIP kann für mehrere Aufgaben verwendet werden:

Bildklassifikation

Angenommen, wir müssen Bilder zwischen, sagen wir, Katzen, Hunden und Menschen klassifizieren. In diesem Fall können wir dem Modell ein Bild und eine Reihe von Textaufforderungen geben: "ein Bild einer Katze", "ein Bild eines Hundes", "ein Bild eines Menschen". In dem resultierenden Vektor von 3 Wahrscheinlichkeiten müssen wir nur den Index mit dem höchsten Wert auswählen.

CLIP für Bildklassifikation

Bild aus diesem Blogbeitrag

Textbasierte Bildsuche

Wir können auch das Gegenteil tun. Wenn wir eine Sammlung von Bildern haben, können wir diese Sammlung dem Modell übergeben und eine Textaufforderung - das wird uns das Bild zurückgeben, das der gegebenen Aufforderung am ähnlichsten ist.

✍️ Beispiel: CLIP für Bildklassifikation und Bildsuche verwenden

Öffnen Sie das Clip.ipynb Notizbuch, um CLIP in Aktion zu sehen.

Bildgenerierung mit VQGAN+ CLIP

CLIP kann auch für die Bildgenerierung aus einer Textaufforderung verwendet werden. Um dies zu tun, benötigen wir ein Generator-Modell, das in der Lage ist, Bilder basierend auf einem Vektor-Input zu erzeugen. Eines dieser Modelle wird VQGAN (Vektor-Quantisierter GAN) genannt.

Die Hauptideen von VQGAN, die es von gewöhnlichen GAN unterscheiden, sind die folgenden:

  • Verwendung einer autoregressiven Transformer-Architektur zur Generierung einer Sequenz von kontextreichen visuellen Teilen, die das Bild zusammensetzen. Diese visuellen Teile werden wiederum von CNN gelernt.
  • Verwendung eines Subbild-Discriminators, der erkennt, ob Teile des Bildes "echt" oder "falsch" sind (im Gegensatz zu dem "Alles-oder-Nichts"-Ansatz in traditionellen GANs).

Erfahren Sie mehr über VQGAN auf der Website Taming Transformers.

Einer der wichtigen Unterschiede zwischen VQGAN und traditionellen GAN ist, dass letztere aus jedem Eingangsvektor ein annehmbares Bild erzeugen können, während VQGAN wahrscheinlich ein Bild erzeugt, das nicht kohärent wäre. Daher müssen wir den Bildschaffungsprozess weiter leiten, und das kann mit CLIP erfolgen.

VQGAN+CLIP Architektur

Um ein Bild zu erzeugen, das einer Textaufforderung entspricht, beginnen wir mit einem zufälligen Kodierungsvektor, der durch VQGAN geleitet wird, um ein Bild zu erzeugen. Dann wird CLIP verwendet, um eine Verlustfunktion zu erzeugen, die zeigt, wie gut das Bild zur Textaufforderung passt. Das Ziel ist es dann, diesen Verlust zu minimieren, indem wir die Eingangsvektorparameter mittels Rückpropagation anpassen.

Eine großartige Bibliothek, die VQGAN+CLIP implementiert, ist Pixray.

Bild von Pixray erzeugt Bild von Pixray erzeugt Bild von Pixray erzeugt
Bild erzeugt aus der Aufforderung ein Nahaufnahme-Aquarell-Porträt eines jungen männlichen Lehrers für Literatur mit einem Buch Bild erzeugt aus der Aufforderung ein Nahaufnahme-Öl-Porträt einer jungen weiblichen Lehrerin für Informatik mit einem Computer Bild erzeugt aus der Aufforderung ein Nahaufnahme-Öl-Porträt eines alten männlichen Lehrers für Mathematik vor einer Tafel

Bilder aus der Sammlung Künstliche Lehrer von Dmitry Soshnikov

DALL-E

DALL-E 1

DALL-E ist eine Version von GPT-3, die darauf trainiert wurde, Bilder aus Aufforderungen zu generieren. Es wurde mit 12 Milliarden Parametern trainiert.

Im Gegensatz zu CLIP erhält DALL-E sowohl Text als auch Bild als einen einzigen Stream von Tokens für Bilder und Text. Daher können Sie aus mehreren Aufforderungen Bilder basierend auf dem Text generieren.

DALL-E 2

Der Hauptunterschied zwischen DALL-E 1 und 2 besteht darin, dass es realistischere Bilder und Kunstwerke generiert.

Beispiele für Bildgenerierungen mit DALL-E:

Bild von Pixray erzeugt Bild von Pixray erzeugt Bild von Pixray erzeugt
Bild erzeugt aus der Aufforderung ein Nahaufnahme-Aquarell-Porträt eines jungen männlichen Lehrers für Literatur mit einem Buch Bild erzeugt aus der Aufforderung ein Nahaufnahme-Öl-Porträt einer jungen weiblichen Lehrerin für Informatik mit einem Computer Bild erzeugt aus der Aufforderung ein Nahaufnahme-Öl-Porträt eines alten männlichen Lehrers für Mathematik vor einer Tafel

Referenzen

Haftungsausschluss:
Dieses Dokument wurde mithilfe von maschinellen KI-Übersetzungsdiensten übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.