Embeddings
Découvre comment les embeddings font le lien entre les données humaines et la logique machine. Apprends à générer des représentations vectorielles pour les tâches d’IA avec Ultralytics YOLO26 et explore la plateforme Ultralytics.
Les embeddings sont des représentations vectorielles denses, continues et de faible dimension de variables discrètes. Ils servent de traducteur fondamental entre les données humaines et la logique des machines. Dans le domaine de l’intelligence artificielle (AI), les ordinateurs ne peuvent pas comprendre intuitivement les données non structurées et désordonnées telles que le texte, les images ou l’audio. Les embeddings résolvent ce problème en convertissant ces entrées en listes de nombres réels, appelées vecteurs, qui existent dans un espace mathématique de grande dimension. Contrairement aux encodages traditionnels, qui peuvent simplement attribuer un identifiant aléatoire à un objet, les embeddings sont appris au cours de l’entraînement, ce qui garantit que les éléments sémantiquement similaires — comme les mots « roi » et « reine », ou les images de deux chats différents — sont positionnés à proximité les uns des autres dans l’espace vectoriel.
Fonctionnement des embeddings#
La création d’un embedding consiste à transmettre des données brutes à un réseau neuronal conçu pour l’extraction de caractéristiques. Pendant l’entraînement, le modèle apprend à condenser les caractéristiques essentielles de l’entrée sous une forme numérique compacte. Par exemple, un modèle de vision par ordinateur (CV) qui analyse une photographie ne se contente pas de voir des pixels ; il associe les formes, les textures et les couleurs à une coordonnée précise dans un graphique multidimensionnel. Pour mesurer la similarité, les systèmes calculent la distance entre ces coordonnées à l’aide de métriques telles que la similarité cosinus ou la distance euclidienne. Cette proximité mathématique permet aux algorithmes d’effectuer efficacement des tâches complexes comme la classification et le regroupement.
Applications concrètes#
Les embeddings servent de moteur à de nombreuses fonctionnalités intelligentes utilisées dans les produits logiciels modernes.
- Recherche sémantique : les moteurs de recherche traditionnels reposent souvent sur la correspondance exacte des mots-clés, ce qui échoue si un utilisateur recherche « auto » alors que le document contient « voiture ». Les embeddings capturent le sens des mots. En représentant la requête de recherche et les documents de la base de données sous forme de vecteurs, le système peut récupérer des résultats correspondant à l’intention de l’utilisateur, même si les mots précis diffèrent.
- Systèmes de recommandation : les services de streaming et les sites de commerce électronique utilisent les embeddings pour personnaliser l’expérience des utilisateurs. Si un utilisateur regarde un film de science-fiction, le système identifie le vecteur d’embedding de ce film et recherche dans la base de données d’autres films dont les vecteurs sont proches. Cela permet de formuler des suggestions précises fondées sur la similarité du contenu plutôt que seulement sur des balises ou des catégories définies manuellement.
- Apprentissage zero-shot : les modèles avancés utilisent des embeddings conjoints pour relier différentes modalités, comme le texte et les images. Un système peut ainsi reconnaître des objets qu’il n’a jamais vus explicitement pendant l’entraînement en associant l’embedding de l’image à l’embedding textuel du nom de l’objet.
Générer des embeddings avec Python#
Des modèles de pointe comme YOLO26 peuvent être utilisés pour générer efficacement des embeddings robustes d’images. L’exemple suivant montre comment extraire un vecteur de caractéristiques d’une image à l’aide du package Python ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embeddings for an image
# The embed() method returns the feature vector representing the image content
embedding_vector = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the embedding (e.g., a vector of length 1280)
print(f"Embedding shape: {embedding_vector[0].shape}")Embeddings et concepts associés#
Pour mettre efficacement en œuvre des solutions d’IA, il est utile de distinguer les embeddings des termes techniques étroitement associés.
- Embeddings et recherche vectorielle : l’embedding est la représentation des données elle-même, c’est-à-dire la liste de nombres. La recherche vectorielle est le processus ultérieur qui consiste à interroger une base de données pour trouver les plus proches voisins de cet embedding. Des outils spécialisés, appelés bases de données vectorielles, sont souvent utilisés pour stocker et rechercher ces embeddings à grande échelle.
- Embeddings et tokenisation : dans le traitement automatique du langage naturel (NLP), la tokenisation est l’étape préliminaire qui consiste à diviser le texte en unités plus petites, appelées tokens. Ces tokens sont ensuite associés à des embeddings. La tokenisation prépare donc les données, tandis que les embeddings représentent leur signification.
- Embeddings et apprentissage profond : l’apprentissage profond est le domaine plus vaste de l’apprentissage automatique fondé sur les réseaux neuronaux. Les embeddings constituent une sortie ou une couche spécifique au sein d’une architecture d’apprentissage profond et servent souvent de pont entre les entrées brutes et les couches décisionnelles du modèle.
Les développeurs qui souhaitent gérer le cycle de vie de leurs jeux de données, notamment l’annotation et l’entraînement de modèles pour générer des embeddings personnalisés, peuvent utiliser la plateforme Ultralytics. Cet outil complet simplifie le workflow, de la gestion des données au déploiement, en garantissant que les embeddings qui alimentent tes applications proviennent de données de haute qualité et soigneusement sélectionnées. Que tu utilises des frameworks comme PyTorch ou TensorFlow, maîtriser les embeddings est une étape essentielle pour créer des systèmes sophistiqués de reconnaissance de formes.









