r/pauwels_ml · u/pauwels_ml ·

Embeddings : la proximité entre deux vecteurs est un choix de métrique

Il existe plusieurs façons de mesurer la distance — ou la similarité — entre deux vecteurs. Et selon la géométrie de l’espace, la façon dont les représentations sont construites et ce qu’on cherche à mesurer, elles ne racontent pas forcément la même chose.
Distance euclidienne, similarité cosinus… choisir une métrique n’est donc pas anodin.
Extrait de ma dernière vidéo YouTube « La géométrie cachée des embeddings » — lien en bio et en story à la une.
#embeddings #cosineSimilarity #deeplearning

Dire que deux vecteurs sont « proches » n'est pas une évidence : cela dépend de la métrique choisie. La similarité cosinus mesure l'angle entre deux vecteurs, ignorant leur longueur (norme). La distance euclidienne (ou L2), en revanche, mesure la distance directe entre leurs extrémités, donc sensible à la longueur.

Le choix de la métrique change la notion de voisinage. Dans certains espaces, comme celui des embeddings textuels normalisés, les vecteurs ont une longueur fixe. Dans ce cas précis, minimiser la distance euclidienne revient mathématiquement à maximiser la similarité cosinus. Les deux méthodes donnent donc les mêmes résultats.

Cependant, dans d'autres espaces (comme certains modèles graphiques ou géométriques), la norme porte une information utile (par exemple, l'importance d'un nœud ou la magnitude d'une caractéristique). Ici, la distance euclidienne et la similarité cosinus peuvent identifier des voisins différents. Ce n'est pas une erreur, mais une conséquence directe de la géométrie de l'espace.

Exemple :
Considérons deux vecteurs en 2D : A = (1, 0) et B = (100, 0).

  • Similarité cosinus : L'angle est de 0 degré. Ils sont parfaitement alignés, donc très « proches » directionnellement.
  • Distance euclidienne : La distance est de 99 unités. Ils sont très « éloignés » spatialement.