Paper · arXiv 2103.00020
Learning Transferable Visual Models From Natural Language Supervision
Veröffentlicht cs.CVcs.LG arXivPDF
Zusammenfassung in drei Zeilen
- 🎯 Standard-Computer-Vision-Systeme hängen von festen, vordefinierten Label-Mengen ab, die teure Annotationen erfordern und nicht auf neuartige visuelle Konzepte generalisieren können.
- 🔧 Contrastive Language-Image Pre-training (CLIP) trainiert gemeinsam einen Bild- und einen Text-Encoder, um die Kosinus-Ähnlichkeit für zusammengehörige Bild-Unterschrift-Paare über große Batches mittels symmetrischem Cross-Entropy-Loss zu maximieren.
- 📈 Erreicht Zero-Shot die Top-1-Genauigkeit von 76,2 % eines voll überwachten ResNet-50 auf ImageNet, ohne eines der 1,28 Mio. gelabelten ImageNet-Beispiele zu verwenden.
Abstract
Moderne Computer-Vision-Systeme werden darauf trainiert, eine feste Menge vordefinierter Objektkategorien vorherzusagen. Diese eingeschränkte Form der Überwachung limitiert ihre Generalisierbarkeit und Nutzbarkeit, da für jedes weitere visuelle Konzept zusätzliche annotierte Daten benötigt werden. Das Lernen direkt aus Roh-Text über Bilder ist eine vielversprechende Alternative, die eine deutlich breitere Quelle der Überwachung nutzt. Wir zeigen, dass die einfache Pre-Training-Aufgabe der Vorhersage, welche Bildunterschrift zu welchem Bild gehört, ein effizienter und skalierbarer Weg ist, um SOTA-Bildrepräsentationen von Grund auf auf einem aus dem Internet gesammelten Datensatz von 400 Millionen (Bild, Text)-Paaren zu lernen. Nach dem Pre-Training wird natürliche Sprache verwendet, um auf gelernte visuelle Konzepte zu verweisen (oder neue zu beschreiben), was den Zero-Shot-Transfer des Modells auf Downstream-Aufgaben ermöglicht. Wir untersuchen die Performanz dieses Ansatzes durch Benchmarking auf über 30 verschiedenen bestehenden Computer-Vision-Datensätzen, die Aufgaben wie OCR, Video-Aktionserkennung, Geo-Lokalisierung und viele Arten feingranularer Objektklassifikation umfassen. Das Modell transferiert auf fast alle Aufgaben nicht-trivial und ist oft konkurrenzfähig mit einer voll überwachten Baseline – ganz ohne datensatzspezifisches Training. Beispielsweise erreichen wir Zero-Shot die Genauigkeit des ursprünglichen ResNet-50 auf ImageNet, ohne auch nur eines der 1,28 Millionen Trainingsbeispiele zu benötigen, auf denen es trainiert wurde. Wir veröffentlichen unseren Code und vortrainierte Modellgewichte unter https://github.com/OpenAI/CLIP.
Original-Abstract (Englisch)
State-of-the-art computer vision systems are trained to predict a fixed set of predetermined object categories. This restricted form of supervision limits their generality and usability since additional labeled data is needed to specify any other visual concept. Learning directly from raw text about images is a promising alternative which leverages a much broader source of supervision. We demonstrate that the simple pre-training task of predicting which caption goes with which image is an efficient and scalable way to learn SOTA image representations from scratch on a dataset of 400 million (image, text) pairs collected from the internet. After pre-training, natural language is used to reference learned visual concepts (or describe new ones) enabling zero-shot transfer of the model to downstream tasks. We study the performance of this approach by benchmarking on over 30 different existing computer vision datasets, spanning tasks such as OCR, action recognition in videos, geo-localization, and many types of fine-grained object classification. The model transfers non-trivially to most tasks and is often competitive with a fully supervised baseline without the need for any dataset specific training. For instance, we match the accuracy of the original ResNet-50 on ImageNet zero-shot without needing to use any of the 1.28 million training examples it was trained on. We release our code and pre-trained model weights at https://github.com/OpenAI/CLIP.
Leseleitfaden
Problem und Motivation
Moderne Vision-Modelle basieren traditionell auf Crowd-annotierten, geschlossenen Klassifikations-Benchmarks wie ImageNet. Dieses Paradigma fester Klassen schränkt ihre Verwendbarkeit ein: Um ein Konzept außerhalb des Zielvokabulars zu erkennen, müssen neue Daten gesammelt und annotiert werden. Im Gegensatz dazu hat sich die Verarbeitung natürlicher Sprache erfolgreich in Richtung aufgabenagnostischem Pre-Training direkt auf Web-Scale-Texten verlagert (z. B. GPT-3), wodurch Modelle entstanden sind, die zur Zero-Shot-Generalisierung über Text-zu-Text-Schnittstellen fähig sind. Die Autoren untersuchen, ob die Skalierung der Überwachung durch natürliche Sprache auf Daten im Web-Maßstab visuelle Repräsentationen hervorbringen kann, die über verschiedenste Computer-Vision-Aufgaben hinweg ohne datensatzspezifisches überwachtes Fine-Tuning breit generalisieren.
Kernideen
- Lernen aus Überwachung durch natürliche Sprache: Die Verwendung von aus dem Web gescrapten (Bild, Text)-Paaren als Trainingssignale verknüpft visuelle Merkmale direkt mit reichhaltiger natürlichsprachlicher Semantik und umgeht so diskrete 1-aus-N-Klassenlabels.
- Kontrastives Lernen für mehr Effizienz: Die Vorhersage exakter Text-Tokens (generatives Captioning) ist rechentechnisch ineffizient. Die Formulierung des Ziels als kontrastive Matching-Aufgabe – das Unterscheiden echter (Bild, Text)-Paare von inkorrekten Paaren innerhalb eines Minibatches – erweist sich als 4-mal sample-effizienter als Bag-of-Words-Vorhersagen und deutlich schneller als generative Modelle.
- Zero-Shot-Klassifikation als dynamische lineare Klassifikatoren: Klassen des Zieldatensatzes werden über den Text-Encoder in Merkmalsvektoren eingebettet. Diese Vektoren fungieren als Gewichte für einen linearen Zero-Shot-Klassifikator gegenüber den Bild-Embeddings.
- Prompt Engineering und Ensembling: Die Zero-Shot-Performanz reagiert sensibel auf Prompt-Syntax und -Kontext. Das Einbetten von Klassennamen in vollständige Sätze (z. B.
"A photo of a {label}.") und das Ensembling über mehrere Prompt-Variationen verbessert den Zero-Shot-Transfer auf ImageNet um etwa 5 Prozentpunkte.
Methode (mit den wichtigsten Gleichungen)
CLIP konstruiert einen multimodalen Embedding-Raum durch das gemeinsame Training eines Bild-Encoders und eines Text-Encoders auf einem Datensatz von 400 Millionen aus dem Internet gescrapten (Bild, Text)-Paaren (WIT).
Merkmalsextraktion und Projektion: Gegeben ein Minibatch aus Bild-Text-Paaren für , bildet jeder Encoder die Eingaben auf eine gemeinsame Dimension mit linearen Projektionen und ab:
Ähnlichkeitsmatrix: Die Logits werden mittels skalierter Kosinus-Ähnlichkeit berechnet: wobei ein lernbarer Temperaturparameter ist, der mit 0,07 initialisiert und gecroppt wird, um eine Skalierung der Logits über 100 hinaus zu verhindern.
Symmetrischer Cross-Entropy-Loss: Der Gesamtverlust ist der Mittelwert aus den Bild-zu-Text- und Text-zu-Bild-Klassifikationsverlusten über die -Paarungsmatrix:
Zero-Shot-Inferenz: Für einen Datensatz mit Klassen werden Textvorlagen (z. B.
"a photo of a {class_name}") in kodiert. Für ein Testbild lauten die vorhergesagten Wahrscheinlichkeiten:
Ergebnisse (mit den wichtigsten Zahlen)
- Zero-Shot ImageNet: CLIP (ViT-L/14@336px) erreicht Zero-Shot 76,2 % Top-1-Genauigkeit (und 95 % Top-5-Genauigkeit) auf ImageNet und schließt damit zum ursprünglichen überwachten ResNet-50 auf, ohne dessen 1,28 Millionen Trainingsbilder zu nutzen.
- Zero-Shot vs. überwachte Baseline: Bei der Evaluierung über 27 Downstream-Datensätze übertrifft Zero-Shot-CLIP einen voll überwachten linearen Probe auf Standard-ResNet-50-Merkmalen auf 16 von 27 Datensätzen.
- Few-Shot-Vergleich: Zero-Shot-CLIP entspricht der durchschnittlichen Leistung eines 4-Shot linearen Klassifikators, der auf denselben CLIP-Merkmalsrepräsentationen trainiert wurde, und konkurriert mit einem 16-Shot BiT-M ResNet-152x2-Modell.
- Repräsentationsqualität via Linear Probe: Bei der Evaluierung eingefrorener Repräsentationen mit überwachten linearen Probes übertrifft das beste CLIP-Modell Noisy Student EfficientNet-L2 auf 21 von 27 Datensätzen, mit herausragenden Ergebnissen in OCR, Video-Aktionserkennung (Kinetics-700: +14,5 % gegenüber ResNet-50) und Geo-Lokalisierung.
- Robustheit gegenüber Verteilungsverschiebungen (Distribution Shift): Über 7 Datensätze mit natürlichen Verteilungsverschiebungen hinweg (ImageNetV2, ImageNet-R, ImageNet-A, ObjectNet usw.) verringert Zero-Shot-CLIP den Genauigkeitsabfall zwischen In-Distribution und Out-of-Distribution im Vergleich zu standardmäßig auf ImageNet trainierten Modellen um bis zu 75 %.
Grenzen und offene Fragen
- Abstrakte, spezialisierte und systematische Aufgaben: Zero-Shot-CLIP schneidet bei Zählaufgaben (CLEVRCounts), feingranularen Aufgaben mit geringen Unterschieden (FGVCAircraft, Flowers102) und domänenspezifischen Aufgaben außerhalb typischer Webinhalte (Tumorerkennung auf PatchCamelyon; Distanzschätzung auf KITTI) deutlich schlechter ab.
- Echte Out-of-Distribution-Daten: Bei handgeschriebenen Ziffern (MNIST) erreicht Zero-Shot-CLIP lediglich 88 % Genauigkeit – schlechter als eine logistische Regression auf Rohpixeln –, was zeigt, dass CLIP die Anfälligkeit für Verteilungsverschiebungen eher umgeht als prinzipiell löst.
- Rechenaufwand: Um den allgemeinen überwachten State-of-the-Art rein über Zero-Shot über alle Benchmarks hinweg zu erreichen, ist nach aktuellen Skalierungstrends ein geschätzt 1000-facher Rechenaufwand nötig.
- Gesellschaftliche Vorurteile (Social Biases) und Diskriminierung: Untersuchungen mit dem FairFace-Benchmark offenbaren signifikante Verzerrungen bei Fehlklassifikationen, darunter nicht-menschliche und kriminalitätsbezogene Fehletikettierungen, die überproportional Schwarze Personen und jüngere Menschen betreffen und stark vom Entwurf der Klassenlabels und Schwellenwerten abhängen.
Schlüsselbegriffe
- CLIP
- Contrastive Language-Image Pre-training; ein Framework, das Bild- und Text-Encoder gemeinsam über ein kontrastives Ziel auf gepaarten Webdaten trainiert.
- WIT
- WebImageText; OpenAIs kuratierter Datensatz mit 400 Millionen (Bild, Text)-Paaren, die unter Verwendung von 500.000 Suchbegriffen aus Internetquellen gesammelt wurden.
- Zero-Shot Transfer
- Evaluierung eines Modells auf ungesehenen Datensätzen und Aufgaben mithilfe natürlichsprachlicher Konzeptbeschreibungen ohne Parameteranpassung auf der Zielaufgabe.
- Prompt Engineering
- Formulierung von Klassennamen in natürlichsprachliche Kontextvorlagen (z. B. 'A photo of a {label}, a type of pet.'), um die Lücke zur Textverteilung des Pre-Trainings zu überbrücken.
- Prompt Ensembling
- Mittelung der Text-Embedding-Vektoren, die aus mehreren verschiedenen Kontext-Prompts für dieselbe Klasse generiert wurden, vor der Berechnung der Klassifikationsähnlichkeit.
- Effective Robustness
- Verbesserungen der Out-of-Distribution-Genauigkeit, die über das hinausgehen, was nach Standard-Baseline-Skalierungstrends aus der In-Distribution-Performanz zu erwarten wäre.
- Linear Probe
- Eine überwachte, regularisierte lineare Klassifikationsschicht, die auf eingefrorenen, vortrainierten Merkmalsrepräsentationen trainiert wird, um deren Qualität zu messen.
- Attention Pooling
- Eine modifizierte räumliche Pooling-Schicht für ResNet-Backbones, implementiert als einschichtige Multi-Head-QKV-Attention, konditioniert auf global durchschnittsgepoolten Merkmalen.
Fragen
Warum hat sich CLIP für kontrastives Lernen anstelle von Bild-Caption-Generierung entschieden?
Generative Captioning-Modelle versuchen, exakte Text-Tokens vorherzusagen, was aufgrund der enormen Varianz von Bildunterschriften immensen Rechenaufwand erfordert. Kontrastives Lernen löst die einfachere Proxy-Aufgabe des Matchings ganzer Texte zu Bildern, was 4-mal recheneffizienter als Bag-of-Words-Vorhersagen und über eine Größenordnung effizienter als generative Modelle ist.
Wie funktioniert die Zero-Shot-Klassifikation zur Testzeit in CLIP?
Jedes Kandidaten-Klassenlabel wird in eine Text-Prompt-Vorlage eingefügt und über den Text-Encoder eingebettet. Diese normalisierten Embeddings fungieren als feste Gewichtsvektoren eines dynamischen linearen Klassifikators, der gegen normalisierte Bild-Embeddings mittels Kosinus-Ähnlichkeit und Softmax ausgewertet wird.
Warum ist Zero-Shot-CLIP robuster gegenüber Verteilungsverschiebungen als überwachte ImageNet-Modelle?
Überwachte ImageNet-Modelle memorieren häufig Scheinkorrelationen und Oberflächenstatistiken, die spezifisch für die visuelle Verteilung von ImageNet sind. Zero-Shot-CLIP vermeidet das Fine-Tuning auf die Ziel-Trainingsverteilung, wodurch der Leistungsabfall bei der Evaluierung auf veränderten Datensätzen wie ImageNet-A, ObjectNet und ImageNet-R erheblich verringert wird.
Erklären Überschneidungen im Trainingsdatensatz die starken Zero-Shot-Benchmark-Ergebnisse von CLIP?
Nein. Eine Daten-Deduplizierungsanalyse ergab eine mediane Überlappung von nur 2,2 % über 35 Downstream-Datensätze hinweg. Das Entfernen überlappender Stichproben veränderte die Evaluierungsgenauigkeit selten um mehr als 0,1 %, mit einer maximal festgestellten Verbesserung von lediglich 0,6 % auf Birdsnap.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.