Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Similitude cosinus

Découvrez comment la similarité cosinus permet de mesurer la similarité entre vecteurs en IA. Calculez des représentations visuelles à l'aide d Ultralytics et évoluez grâce à Ultralytics .

La similarité cosinus est une mesure mathématique fondamentale utilisée en apprentissage automatique (ML) et en intelligence artificielle (IA) pour évaluer le degré de similitude entre deux tableaux multidimensionnels ou vecteurs, indépendamment de leur taille ou de leur amplitude. En calculant l'angle entre deux points dans un espace vectoriel, elle détermine s'ils pointent approximativement dans la même direction. Cette approche angulaire est essentielle pour traiter des données où l'orientation importe davantage que la longueur totale, ce qui la rend très efficace pour comparer des représentations abstraites de données telles que les incorporations.

Comprendre les calculs qui sous-tendent le système métrique

Pour calculer cet indicateur, on calcule le produit scalaire de deux vecteurs et on le divise par le produit de leurs magnitudes respectives (longueurs). Le score obtenu se situe toujours dans une plage fixe comprise entre -1 et 1 :

  • Un score de 1 signifie que les vecteurs pointent exactement dans la même direction, ce qui indique une similitude maximale.
  • Un score de 0 signifie que les vecteurs sont parfaitement orthogonaux (à angle droit), ce qui signifie qu'il n'y a aucune similarité directionnelle.
  • Un score de -1 signifie qu'ils pointent exactement dans des directions opposées.

Dans de nombreux frameworks modernes d'apprentissage profond conçus pour la vision par ordinateur (CV), vous pouvez facilement accéder à des fonctions optimisées pour cette opération mathématique, telles que le module « functional »PyTorch ou TensorFlow .

Différencier des concepts connexes

Il est utile de distinguer la similarité cosinus des autres mesures couramment utilisées en analyse de données afin de comprendre quand l'utiliser :

  • Distance cosinus: Bien que ces termes soient étroitement liés, ils sont inversement proportionnels. La distance cosinus se calcule simplement comme étant 1 moins la similarité cosinus. Par conséquent, une distance plus petite indique une plus grande similarité entre les vecteurs.
  • Distance euclidienne: cette mesure évalue la distance physique en ligne droite entre deux points, ce qui la rend très sensible à la taille ou à l'amplitude globale des vecteurs. En revanche, la similarité cosinus ne tient compte que de l'angle. Par exemple, dans l' analyse de texte, un long document et une courte phrase peuvent présenter une grande distance euclidienne, mais s'ils traitent du même sujet, leur similarité cosinus restera élevée.

Applications de l'IA dans le monde réel

La similarité cosinus constitue le moteur central de nombreux logiciels modernes, faisant le lien entre les données brutes et l'intention humaine.

Mesurer la similarité visuelle avec Ultralytics

Vous pouvez extraire des vecteurs de caractéristiques de haute dimension directement à partir de données visuelles à l'aide de modèles de vision de pointe. Le Python suivant montre comment charger un modèle Ultralytics pour la classification d'images, générer des représentations pour deux images et effectuer un calcul de similarité cosinus afin de mesurer leur ressemblance visuelle.

import torch
import torch.nn.functional as F
from ultralytics import YOLO

# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Generate embedding vectors for two separate images
results = model.embed(["bus.jpg", "car.jpg"])

# Calculate the cosine similarity between the two visual embeddings
similarity = F.cosine_similarity(torch.tensor(results[0]), torch.tensor(results[1]), dim=0)
print(f"Visual Similarity Score: {similarity.item():.4f}")

Pour les développeurs qui souhaitent étendre ces capacités de recherche sémantique, il est essentiel de former des modèles de base d'une grande précision. La Ultralytics simplifie ce processus en proposant des outils performants pour l'annotation des données, un apprentissage évolutif dans le cloud et un déploiement transparent des modèles, garantissant ainsi que vos représentations sous-jacentes soient aussi précises et pertinentes que possible.

Construisons ensemble l'avenir de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique