Glossaire

Recherche vectorielle

Découvre comment la recherche vectorielle révolutionne l'IA en permettant la similarité sémantique dans la recherche de données pour le NLP, la recherche visuelle, les systèmes de recommandation, et plus encore !

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La recherche vectorielle est une technique puissante utilisée en intelligence artificielle (IA) et en apprentissage automatique (ML) pour trouver des éléments qui sont sémantiquement similaires, plutôt que de simplement correspondre à des mots-clés. Elle fonctionne en représentant les points de données - tels que les documents textuels, les images, les clips audio ou les profils d'utilisateurs - sous forme de vecteurs numériques appelés embeddings. Ces vecteurs capturent la signification ou les caractéristiques sous-jacentes des données. La recherche vectorielle trouve ensuite les vecteurs d'un ensemble de données qui sont "les plus proches" d'un vecteur d'interrogation donné dans un espace à haute dimension, en utilisant généralement des mesures de distance telles que la similarité cosinusoïdale ou la distance euclidienne. Cela permet une recherche plus nuancée et contextuelle par rapport aux méthodes traditionnelles.

Comment fonctionne la recherche vectorielle

Le processus comprend généralement plusieurs étapes clés :

  1. Génération d'embeddings : Les données sont converties en vecteurs à haute dimension (embeddings) à l'aide de modèles d'apprentissage profond (DL) pré-entraînés, tels que BERT pour le texte ou Vision Transformers (ViT) pour les images. Ces modèles sont entraînés sur de vastes ensembles de données pour apprendre des représentations significatives. Par exemple , Ultralytics YOLO principalement connus pour la détection d'objets, génèrent également des vecteurs de caractéristiques qui pourraient potentiellement être adaptés à des tâches de recherche visuelle.
  2. Indexation : Les vecteurs générés sont stockés et indexés dans une base de données vectorielle spécialisée. Ces bases de données sont optimisées pour interroger efficacement les données à haute dimension, souvent à l'aide d'algorithmes ANN (Approximate Nearest Neighbor) tels que HNSW (Hierarchical Navigable Small World) ou ScaNN (Scalable Nearest Neighbors). Les techniques ANN échangent une petite quantité de précision contre des améliorations significatives de la vitesse, ce qui rend la recherche vectorielle faisable pour les grands ensembles de données.
  3. Recherche : Lorsqu'une requête de recherche est effectuée (par exemple, une phrase de texte ou une image), elle est d'abord convertie dans le même format vectoriel à l'aide du même modèle d'intégration.
  4. Calcul de la similarité : La base de données vectorielles recherche ensuite dans son index les vecteurs les plus similaires au vecteur interrogé en fonction d'une mesure de distance choisie (par exemple, similarité cosinus, distance euclidienne, produit de points).
  5. Récupération : Les éléments correspondant aux vecteurs les plus proches sont renvoyés en tant que résultats de la recherche.

Concepts et technologies clés

  • Vector Embeddings : Représentations numériques capturant la signification sémantique. Les modèles les apprennent au cours de la formation sur de grands ensembles de données comme ImageNet.
  • Bases de données vectorielles : Des systèmes comme Pinecone, Weaviate, Milvus et Chroma DB sont conçus pour stocker et interroger des vecteurs.
  • Mesures de similarité : Les fonctions mathématiques (par exemple, la similarité cosinusienne, la distance euclidienne) utilisées pour mesurer la "proximité" entre les vecteurs.
  • Voisin le plus proche (ANN) : Algorithmes qui trouvent efficacement les voisins les plus proches, ce qui est crucial pour les performances à grande échelle. Des bibliothèques comme Faiss (Facebook AI Similarity Search) fournissent des implémentations.
  • Réduction de la dimensionnalité : Des techniques comme l'ACP (analyse en composantes principales) peuvent parfois être utilisées pour réduire les dimensions des vecteurs, ce qui peut accélérer la recherche au prix d'une certaine perte d'informations.

Applications dans le monde réel

La recherche vectorielle permet une large gamme d'applications intelligentes :

  • Recherche sémantique: Les moteurs de recherche (comme Google Search) ou les bases de connaissances internes permettent de comprendre l'intention de la requête au-delà des mots-clés. Par exemple, une recherche sur "idées de dîners sains" peut renvoyer des recettes de salades, de poulet grillé et de bols de quinoa, même si ces mots exacts ne figurent pas dans les documents, parce que leurs vecteurs d'intégration sont proches dans leur signification.
  • Systèmes de recommandation: Des plateformes comme Netflix ou Spotify utilisent la recherche vectorielle pour trouver des éléments (films, chansons, produits) similaires à ceux qu'un utilisateur a aimés ou avec lesquels il a interagi précédemment, en se basant sur les similitudes de leurs représentations vectorielles.
  • Reconnaissance et recherche d'images: Trouver des images visuellement similaires (recherche d'images inversées) ou identifier des produits dans des photos pour le commerce électronique. Il s'agit d'un domaine d'application essentiel de la vision par ordinateur (VA).
  • Détection d'anomalie: Identifier les points de données inhabituels (par exemple, les transactions frauduleuses, les intrusions dans le réseau) dont les vecteurs se situent loin des grappes de vecteurs de données normales.
  • Traitement du langage naturel (NLP): Améliorer les applications telles que la réponse aux questions, la détection des doublons et le regroupement des données textuelles en fonction du sujet ou du sentiment.
  • Génération améliorée par récupération (RAG) : Utilisé dans les grands modèles de langage (LLM) pour récupérer le contexte pertinent d'une base de connaissances avant de générer une réponse, ce qui améliore l'exactitude des faits et réduit les hallucinations.

Recherche vectorielle vs. recherche par mot-clé

La principale différence réside dans la façon dont la similarité est déterminée :

  • Recherche par mot-clé : Correspond à des mots ou des phrases exacts en utilisant des techniques telles que les index inversés. Elle a du mal avec les synonymes, le contexte et les variations de langage.
  • Recherche vectorielle : Les correspondances sont basées sur la similarité sémantique capturée dans les enchâssements de vecteurs. Elle peut trouver des résultats pertinents même si les mots-clés exacts ne correspondent pas, en comprenant l'intention ou le concept sous-jacent.

Si la recherche vectorielle offre des résultats plus nuancés, elle nécessite d'importantes ressources informatiques pour la génération d'embedded et l'indexation, souvent gérées efficacement par des plateformes comme Ultralytics HUB pour la gestion des modèles et des ensembles de données. Les systèmes modernes combinent souvent la recherche par mot-clé et la recherche vectorielle (recherche hybride) pour tirer parti des atouts de chaque approche. Tu peux explorer divers tutoriels et guides pour comprendre comment les concepts connexes tels que le déploiement de modèles et les mesures de performance s'appliquent à ces systèmes.

Tout lire