XYZNOT

Articles · arXiv 2103.00020

Learning Transferable Visual Models From Natural Language Supervision

Publié le cs.CVcs.LG arXivPDF

Lire avec traduction et IA

Résumé en trois lignes

  1. 🎯 Les systèmes classiques de vision par ordinateur dépendent de jeux d'étiquettes fixes et prédéterminés qui exigent des annotations coûteuses et peinent à généraliser aux nouveaux concepts visuels.
  2. 🔧 Contrastive Language-Image Pre-training (CLIP) entraîne conjointement un encodeur d'images et un encodeur de texte pour maximiser la similarité cosinus des paires image-légende appariées sur de grands minilots via une perte d'entropie croisée symétrique.
  3. 📈 Égale les 76,2 % de précision top-1 d'un ResNet-50 entièrement supervisé sur ImageNet en zero-shot, sans exploiter aucun des 1,28M d'exemples étiquetés d'ImageNet.

Résumé

Les systèmes de vision par ordinateur à l'état de l'art sont entraînés pour prédire un ensemble fixe de catégories d'objets prédéterminées. Cette forme restreinte de supervision limite leur généralité et leur utilisabilité, car des données étiquetées supplémentaires sont nécessaires pour spécifier tout autre concept visuel. Apprendre directement à partir de texte brut décrivant des images est une alternative prometteuse qui tire parti d'une source de supervision bien plus large. Nous démontrons que la tâche simple de pré-entraînement consistant à prédire quelle légende correspond à quelle image est un moyen efficace et scalable d'apprendre des représentations visuelles SOTA à partir de zéro, sur un ensemble de données de 400 millions de paires (image, texte) collectées sur Internet. Après le pré-entraînement, le langage naturel est utilisé pour faire référence aux concepts visuels appris (ou en décrire de nouveaux), permettant un transfert zero-shot du modèle vers des tâches en aval. Nous étudions les performances de cette approche en établissant des benchmarks sur plus de 30 jeux de données de vision par ordinateur existants et variés, couvrant des tâches telles que l'OCR, la reconnaissance d'actions dans des vidéos, la géolocalisation et de nombreux types de classification d'objets à grain fin. Le modèle se transfère de manière non triviale à la plupart des tâches et est souvent compétitif avec une baseline entièrement supervisée, sans nécessiter d'entraînement spécifique au jeu de données. Par exemple, nous égalons la précision du ResNet-50 original sur ImageNet en zero-shot sans avoir besoin d'utiliser l'un des 1,28 million d'exemples d'entraînement sur lesquels il a été entraîné. Nous publions notre code et les poids des modèles pré-entraînés à l'adresse https://github.com/OpenAI/CLIP.

Résumé original (anglais)

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.

Guide de lecture

Problème et motivation

Les modèles de vision à l'état de l'art reposent traditionnellement sur des benchmarks de classification à ensemble fermé et annotés par des humains, tels qu'ImageNet. Ce paradigme d'étiquettes fixes restreint leur utilité : reconnaître tout concept situé en dehors du vocabulaire cible exige de collecter et d'annoter de nouvelles données. À l'inverse, le traitement du langage naturel a réussi sa transition vers un pré-entraînement agnostique à la tâche, directement sur des volumes massifs de texte web (par ex. GPT-3), produisant des modèles capables de généralisation zero-shot grâce à des interfaces texte-à-texte. Les auteurs étudient ici si la montée en échelle de la supervision par le langage naturel sur des données web peut engendrer des représentations visuelles généralisables à un large éventail de tâches de vision par ordinateur, sans nécessiter de fine-tuning supervisé dédié à un jeu de données.

Idées clés

  • Apprentissage à partir de la supervision du langage naturel : Utiliser des paires (image, texte) collectées sur le web comme signal d'entraînement relie directement les caractéristiques visuelles à la sémantique riche du langage naturel, s'affranchissant de l'étiquetage discret 1-parmi-N.
  • Apprentissage contrastif pour l'efficacité : Prédire les tokens textuels exacts (génération de légendes) est très coûteux en calcul. Formuler l'objectif comme une tâche d'appariement contrastif — distinguer les vraies paires (image, texte) des paires incorrectes au sein d'un minilot — s'avère 4 fois plus efficace en termes d'échantillons que la prédiction par sac de mots (bag-of-words) et bien plus rapide que la modélisation générative.
  • Classification zero-shot vue comme des classifieurs linéaires dynamiques : Les classes du jeu de données cible sont projetées par l'encodeur de texte sous forme de vecteurs d'attributs. Ces vecteurs font office de poids pour un classifieur linéaire zero-shot appliqué aux plongements d'images.
  • Prompt Engineering et Ensembling : Les performances zero-shot sont sensibles à la syntaxe et au contexte de l'invite. Insérer les noms de classes dans des phrases complètes (par ex. "A photo of a {label}.") et combiner plusieurs variantes d'invites (ensembling) améliore le transfert zero-shot d'environ 5 points sur ImageNet.

Méthode (avec les équations clés)

CLIP construit un espace de plongement multimodal en entraînant conjointement un encodeur d'images et un encodeur de texte sur un jeu de données de 400 millions de paires (image, texte) extraites du web (WIT).

  1. Extraction de caractéristiques et projection : Étant donné un minilot de paires image-texte pour , chaque encodeur projette les entrées dans un espace conjoint de dimension au moyen des projections linéaires et :

  2. Matrice de similarité : Les logits sont calculés par similarité cosinus mise à l'échelle : où est un paramètre de température apprenable initialisé à 0,07 et tronqué pour éviter d'échelonner les logits au-delà de 100.

  3. Perte d'entropie croisée symétrique : La perte totale est la moyenne des pertes de classification image-vers-texte et texte-vers-image calculées sur la matrice d'appariement :

  4. Inférence zero-shot : Pour un jeu de données comportant classes, des modèles de texte (templates, ex. "a photo of a {class_name}") sont encodés en . Pour une image de test , les probabilités prédites sont :

Résultats (avec les chiffres les plus marquants)

  • ImageNet en Zero-Shot : CLIP (ViT-L/14@336px) atteint une précision top-1 de 76,2 % (et 95 % en top-5) en zero-shot sur ImageNet, égalant le ResNet-50 supervisé d'origine sans exploiter son 1,28 million d'images d'entraînement.
  • Zero-Shot vs. Baseline supervisée : Évalué sur 27 jeux de données en aval, CLIP zero-shot surpasse une sonde linéaire (linear probe) entièrement supervisée appliquée aux représentations standard de ResNet-50 sur 16 de ces 27 jeux de données.
  • Comparaison en Few-Shot : CLIP en zero-shot égale les performances moyennes d'un classifieur linéaire 4-shot entraîné sur les mêmes représentations CLIP, et rivalise avec un modèle BiT-M ResNet-152x2 en 16-shot.
  • Qualité des représentations par Linear Probe : En évaluant les représentations gelées via des sondes linéaires supervisées, le meilleur modèle de CLIP surpasse Noisy Student EfficientNet-L2 sur 21 des 27 jeux de données, excellant en OCR, en reconnaissance d'actions vidéo (Kinetics-700 : +14,5 % par rapport à ResNet-50) et en géolocalisation.
  • Robustesse aux décalages de distribution : Sur 7 jeux de données présentant des décalages naturels de distribution (ImageNetV2, ImageNet-R, ImageNet-A, ObjectNet, etc.), CLIP en zero-shot réduit jusqu'à 75 % la chute de précision entre les données en distribution et hors distribution, comparativement aux modèles entraînés sur ImageNet classique.

Limites et questions ouvertes

  • Tâches abstraites, spécialisées et systématiques : CLIP zero-shot éprouve de grandes difficultés avec le comptage (CLEVRCounts), les tâches à granularité fine nécessitant des distinctions subtiles (FGVCAircraft, Flowers102), ainsi que les domaines très spécialisés absents du web généraliste (détection de tumeurs sur PatchCamelyon ; estimation de distance sur KITTI).
  • Données véritablement hors distribution : Sur les chiffres manuscrits de MNIST, CLIP zero-shot n'atteint que 88 % de précision — en deçà d'une régression logistique sur les pixels bruts —, montrant qu'il contourne la fragilité hors distribution par la diversité de ses données plutôt qu'il ne la résout structurellement.
  • Besoins en calcul : Selon les tendances actuelles de mise à l'échelle, égaler l'état de l'art global supervisé sur tous les benchmarks uniquement en zero-shot nécessiterait une puissance de calcul multipliée par environ 1000.
  • Biais sociaux et dénigrement : Les analyses menées sur le benchmark FairFace révèlent des disparités d'erreurs notables, incluant des classifications erronées non humaines ou associées à la criminalité ciblant de façon disproportionnée les personnes noires et les jeunes, ces biais variant fortement selon la formulation des étiquettes et les seuils retenus.

Termes clés

CLIP
Contrastive Language-Image Pre-training ; un cadre qui entraîne conjointement des encodeurs d'images et de texte à l'aide d'un objectif contrastif sur des paires de données issues du web.
WIT
WebImageText ; jeu de données élaboré par OpenAI comprenant 400 millions de paires (image, texte) collectées sur Internet à partir de 500 000 requêtes de recherche.
Zero-Shot Transfer (transfert zero-shot)
Évaluation d'un modèle sur des jeux de données et tâches inédits en utilisant des descriptions de concepts en langage naturel, sans ajuster les paramètres sur la tâche cible.
Prompt Engineering (ingénierie d'invites)
Formulation des noms de classes dans des modèles contextuels en langage naturel (par ex. 'Une photo d'un {label}, une espèce d'animal.') pour combler le fossé de distribution textuelle du pré-entraînement.
Prompt Ensembling (combinaison d'invites)
Moyennage des vecteurs de plongement textuels obtenus à partir de plusieurs invites contextuelles différentes pour une même classe avant de calculer la similarité de classification.
Effective Robustness (robustesse effective)
Amélioration de la précision hors distribution au-delà de ce qui est prédit par les performances en distribution selon les lois d'échelle des modèles de référence.
Linear Probe (sonde linéaire)
Couche de classification linéaire supervisée et régularisée, entraînée sur des représentations de caractéristiques pré-entraînées et gelées pour en mesurer la qualité intrinsèque.
Attention Pooling (agrégation par attention)
Couche d'agrégation spatiale modifiée pour les architectures ResNet, implémentée sous la forme d'une attention multi-têtes QKV à une couche conditionnée par les caractéristiques globales moyennées.

Questions

Pourquoi CLIP a-t-il privilégié l'apprentissage contrastif à la génération de légendes d'images ?

Les modèles génératifs de légendage tentent de prédire les tokens textuels exacts, ce qui exige un coût de calcul colossal compte tenu de l'immense diversité des descriptions. L'apprentissage contrastif résout une tâche proxy plus simple consistant à apparier des textes entiers aux images ; il se montre 4 fois plus efficace en calcul que la prédiction par sac de mots et plus d'un ordre de grandeur plus économe que les modèles génératifs.

Comment la classification zero-shot fonctionne-t-elle lors de l'inférence dans CLIP ?

Chaque classe candidate est insérée dans un modèle textuel (prompt template) puis projetée par l'encodeur de texte. Ces plongements normalisés servent de vecteurs de poids fixes pour un classifieur linéaire dynamique, évalué sur les plongements d'images normalisés via la similarité cosinus et une fonction softmax.

Pourquoi CLIP en zero-shot est-il plus robuste aux décalages de distribution que les modèles ImageNet supervisés ?

Les modèles supervisés sur ImageNet mémorisent fréquemment des corrélations fallacieuses et des propriétés statistiques de surface spécifiques à la distribution visuelle d'ImageNet. CLIP en zero-shot évite le fine-tuning sur la distribution d'entraînement cible, ce qui réduit considérablement la baisse de performance lors des évaluations sur des jeux décalés comme ImageNet-A, ObjectNet et ImageNet-R.

Le chevauchement avec les données d'entraînement explique-t-il les bons résultats de CLIP en zero-shot ?

Non. Une analyse de déduplication des données a révélé un chevauchement médian de seulement 2,2 % sur 35 jeux de données en aval. La suppression des échantillons redondants n'a que rarement modifié la précision d'évaluation de plus de 0,1 %, le gain maximum observé n'étant que de 0,6 % sur Birdsnap.

La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.

Lire avec traduction et IA