Découvrez comment CLIP d'OpenAI révolutionne l'IA avec l'apprentissage zéro-shot, l'alignement image-texte et les applications concrètes dans la vision par ordinateur.
CLIP (Contrastive Language-Image Pre-training) est une architecture de modèle multimodale révolutionnaire introduite par l'OpenAI OpenAI qui comble le fossé entre la vision par ordinateur et le traitement du langage naturel. naturel. Contrairement aux systèmes traditionnels de vision par ordinateur formés sur des ensembles fixes de catégories pré-étiquetées, CLIP apprend à associer des images à des descriptions textuelles en s'entraînant sur des centaines d'images et de descriptions textuelles. d'associer des images à des descriptions textuelles en s'entraînant sur des centaines de millions de paires image-texte collectées sur Internet. internet. Cette approche permet au modèle de comprendre les concepts visuels à travers la lentille du langage naturel. une capacité connue sous le nom d'apprentissage à zéro coup, où le modèle peut classify correctement classify images dans des catégories qu'il n'a jamais vues explicitement au cours de la formation. En alignant visuel et textuel dans un espace de caractéristiques partagé, CLIP sert de modèle de base polyvalent pour un large éventail d'applications en aval. polyvalent pour un large éventail de tâches d'IA en aval. en aval.
Le mécanisme de base de CLIP repose sur deux encodeurs distincts : un transformateur de vision (ViT) ou un ResNet pour pour traiter les images, et un transformateur de texte pour traiter le langage. le langage. Le modèle utilise l'apprentissage contrastif pour synchroniser ces deux encodeurs. l 'apprentissage contrastif pour synchroniser ces deux modalités. Pendant la formation, CLIP reçoit un lot de paires (image, texte) et apprend à prédire quelle description de texte correspond à quelle image. correspond à l'image. Il optimise ses paramètres afin de maximiser la similarité en cosinus entre les entre les embeddings des paires correctes tout en minimisant la minimiser la similarité pour les paires incorrectes.
Ce processus de formation aboutit à un espace latent partagé où les images et les textes sémantiquement similaires sont situés à proximité les uns des autres. proches les uns des autres. Par exemple, la représentation vectorielle d'une image d'un "golden retriever" sera très proche de la représentation vectorielle de la chaîne de texte "une photo d'un golden retriever". de la représentation vectorielle de la chaîne de texte "une photo d'un golden retriever". Cet alignement permet aux aux développeurs d'effectuer une classification d'images en en fournissant simplement une liste d'étiquettes de texte potentielles, que le modèle compare à l'image d'entrée pour trouver la meilleure correspondance. meilleure correspondance.
La flexibilité du CLIP a conduit à son adoption dans de nombreuses industries et applications :
Bien que CLIP ait été conçu à l'origine pour la classification, ses capacités d'encodage de texte ont été intégrées dans des architectures modernes de détection d'objets. modernes de détection d'objets pour permettre la détection de vocabulaires ouverts. Le modèle YOLO permet de définir des classes personnalisées au moment de l'exécution à l'aide d'invites en langage naturel, en tirant parti de la compréhension linguistique de CLIP pour identifier les objets sans réapprentissage. pour identifier les objets sans réapprentissage.
L'exemple suivant montre comment utiliser un modèle YOLO avec la fonction ultralytics pour detect
des objets personnalisés définis par le texte :
from ultralytics import YOLO
# Load a pre-trained YOLO-World model utilizing CLIP-based text features
model = YOLO("yolov8s-world.pt")
# Define custom classes using natural language prompts
model.set_classes(["person wearing a hat", "red backpack"])
# Run inference on an image to detect the specified objects
results = model.predict("bus_stop.jpg")
# Display the detection results
results[0].show()
Il est important de distinguer CLIP des modèles supervisés standard tels que ResNet ou les versions antérieures de YOLO.
Les recherches récentes combinent souvent ces approches. Par exemple, modèles de langage de vision (VLM) utilisent souvent CLIP comme colonne vertébrale pour fournir une richesse sémantique, tandis que les améliorations architecturales apportées par des modèles tels que YOLO26 visent à améliorer la vitesse et la précision de ces systèmes multimodaux.