CLIP vs. Sprach-Bild-Vortrainingsalgorithmen

Dieser Artikel bezieht sich auf: AIGC-Artefakt-CLIP: technische Details und Anwendungsbeispiele_Baihai IDP Blog-CSDN Blog

1. Überblick über CLIP

CLIP: Konstatives Sprach-Bild-Vortraining. Es handelt sich um ein multimodales Open-Source-Zero-Shot-Modell. Bei einem Bild und einer Textbeschreibung kann das Modell die Textbeschreibung vorhersagen, die für das Bild am relevantesten ist, oder es kann das Bild vorhersagen, das für den Text am relevantesten ist.

Open Source: Das Modell wurde von OpenAI erstellt und als Open Source bereitgestellt.

Multimodal: CLIP kombiniert gleichzeitig Techniken aus mehreren Bereichen, wie etwa der Verarbeitung natürlicher Sprache und Computer Vision.

Zero-Shot: Zero-Shot-Lernen ist eine Methode, die auf unsichtbare Etiketten verallgemeinert, und wir müssen nicht speziell darin geschult werden, sie zu klassifizieren.

Konstative Sprache: Diese Technik ermöglicht es CLIP zu verstehen, dass ähnliche Darstellungen nahe beieinander und unterschiedliche Darstellungen weit voneinander entfernt sein sollten.

2. Kontrastives Vortraining

Angenommen, wir haben N Bilder und ihre jeweiligen Beschreibungssätze, zum Beispiel: <Bild1, Text1>, <Bild2, Text2>, <BildN, TextN>.

Der Zweck des kontrastiven, unbeaufsichtigten Vortrainings besteht darin, einen Bild-Encoder und einen Text-Encoder gleichzeitig zu trainieren und Bildeinbettungen [I1, I2 ... IN] und Texteinbettungen [T1, T2 ... TN] auf folgende Weise zu erzeugen: korrekt Die Kosinusähnlichkeit des <Bild-Text>-Einbettungspaares <I1,T1>, <I2,T2> (wobei i=j) ist am größten. Im Gegensatz dazu haben die unähnlichen Paare <I1,T2>, <I1,T3>...<Ii,Tj> (wobei i≠j) die geringste Kosinusähnlichkeit.

Schrittbeschreibung:

1. Das Modell empfängt zunächst N <Bild-Text>-Paare

2. Der Text-Encoder ist ein Standard-Transformer-Modell und der Bild-Encoder kann ein ResNet-Modell sein.

3. Für jedes Bild im Stapel berechnet der Bildencoder einen Bildvektor. Beispielsweise entspricht das erste Bild dem I1-Vektor, das zweite dem I2-Vektor und so weiter. Jeder Vektor hat die Größe dim (dim ist die Größe der zugrunde liegenden Dimension). Daher ist die Ausgabe dieses Schritts eine N*dim-Matrix.

4. In ähnlicher Weise wird die Textbeschreibung in einen Text mit [T1,T2,...,TN] komprimiert, was zu einer N*dim-Matrix führt.

5. Multiplizieren Sie abschließend diese Matrizen, um die paarweise Kosinusähnlichkeit zwischen jedem Bild und der Textbeschreibung zu berechnen, wodurch eine N*N-Matrix generiert wird, wie in der Abbildung oben gezeigt.

6. Unser Ziel ist es, die Kosinusähnlichkeit auf der Diagonale zu maximieren. Dies sind die richtigen <Bild-Text>-Paare. Im Gegensatz dazu sollte die Ähnlichkeit von Elementen außerhalb der Diagonale minimiert werden. Als Optimierungsziel verwendet das Modell eine symmetrische Kreuzentropieverlustfunktion. Diese Art von Verlustfunktion optimiert sowohl die Bild-zu-Text-Ausrichtung als auch die Text-zu-Bild-Ausrichtung.

 3. Zero-Shot-Klassifizierung

3.1 Grundlinie

Die Basislinie ist eine gängige Klassifizierungsmethode, wie in der folgenden Abbildung dargestellt.

Laden Sie zunächst ein vorab trainiertes Hochleistungs-CNN wie ResNet herunter und verwenden Sie es zur Merkmalsextraktion, um Bildmerkmale zu erhalten.

Diese Merkmale werden dann als Eingabe für einen Standardklassifikator wie die logistische Regression verwendet. Klassifikatoren werden überwacht trainiert, wobei Bildbeschriftungen Zielvariablen sind.

3.2 Zero-Shot-Klassifizierung von CLIP

Zunächst wird eine Reihe von Textbeschreibungen bereitgestellt, die als Texteinbettungen kodiert werden

Machen Sie dann dasselbe für Bilder, die in Bildeinbettungen codiert werden

Schließlich berechnet CLIP die paarweise Kosinusähnlichkeit zwischen Bildeinbettungen und Texteinbettungen. Als Vorhersageergebnis wird der Texthinweis mit der höchsten Ähnlichkeit ausgewählt.

 

Je suppose que tu aimes

Origine blog.csdn.net/benben044/article/details/131069428
conseillé
Classement