Découvrez l'apprentissage contrastif dans le domaine du machine learning. Apprenez comment il utilise des données auto-supervisées pour créer des fonctionnalités d'IA robustes pour Ultralytics et la vision par ordinateur.
L'apprentissage contrastif est un paradigme d'apprentissage automatique qui enseigne aux modèles à comprendre les données en comparant des échantillons similaires et dissemblables. Contrairement à l'apprentissage supervisé traditionnel, qui repose fortement sur des ensembles de données étiquetés manuellement, l'apprentissage contrastif est souvent utilisé dans des contextes d'apprentissage auto-supervisé. L' idée centrale est simple mais puissante : le modèle apprend à rapprocher les représentations d'éléments connexes (paires positives) dans un espace vectoriel tout en éloignant les éléments non liés (paires négatives). Ce processus permet aux algorithmes de construire des caractéristiques robustes et généralisables à partir de grandes quantités de données non étiquetées, ce qui est crucial pour faire évoluer les systèmes d'intelligence artificielle (IA).
Au cœur de l'apprentissage contrastif se trouve le concept d'apprentissage par comparaison. Au lieu de mémoriser qu'une image spécifique est un « chat », le modèle apprend que deux photos différentes d'un chat sont plus similaires l'une à l'autre que chacune d'elles ne l'est à une photo d'un chien. Cela s'obtient généralement grâce à l' augmentation des données. Une image d'entrée, souvent appelée « ancre », est transformée en deux versions différentes à l'aide de techniques telles que le recadrage, le retournement ou la variation de couleur . Ces deux versions forment une paire positive. Le modèle est ensuite entraîné à minimiser la distance entre leurs intégrations tout en maximisant la distance par rapport à d'autres images aléatoires (échantillons négatifs) du lot.
Cette approche aide le réseau neuronal à se concentrer sur les caractéristiques sémantiques de haut niveau plutôt que sur les détails de bas niveau au niveau des pixels. Par exemple, qu'une voiture soit rouge ou bleue, ou qu'elle soit orientée vers la gauche ou vers la droite, le concept sous-jacent de « voiture » reste le même. En ignorant ces variations superficielles , le modèle développe une compréhension plus profonde du monde visuel, ce qui profite considérablement aux tâches en aval telles que la détection et la classification d'objets.
L'apprentissage par contraste est devenu une pierre angulaire pour de nombreuses applications d'IA de pointe, en particulier lorsque les données étiquetées sont rares ou coûteuses à obtenir.
Il est utile de différencier l'apprentissage par contraste des techniques similaires afin de comprendre son rôle unique dans le paysage de l'apprentissage automatique (ML).
Bien que l'entraînement d'un modèle contrastif à partir de zéro nécessite beaucoup de ressources, vous pouvez facilement utiliser des modèles pré-entraînés pour
extraire des caractéristiques. L'exemple suivant montre comment charger un modèle et extraire le vecteur de caractéristiques (intégration)
d'une image à l'aide de la fonction ultralytics paquet. Cet encastrement représente le contenu sémantique appris via des
techniques similaires au pré-entraînement contrastif.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")
Cette capacité à extraire des caractéristiques riches et significatives rend l'apprentissage contrastif essentiel à la construction de systèmes modernes de vision par ordinateur (CV), permettant une recherche d'images efficace et des analyses avancées. Pour gérer les ensembles de données et former des modèles personnalisés qui tirent parti de ces architectures avancées, la Ultralytics fournit un environnement rationalisé pour le déploiement et la surveillance.