Les embeddings et les vecteurs sont des concepts fondamentaux en intelligence artificielle et en apprentissage automatique. Ils permettent de représenter des données complexes, comme des images ou des textes, sous une forme numérique facile à manipuler par les algorithmes.
Un embedding est une représentation dense de données dans un espace de dimension fixe. Pour des images, les embeddings sont des vecteurs numériques qui capturent les caractéristiques essentielles de chaque image. Par exemple, un embedding peut transformer une image en un vecteur de 512 dimensions où chaque dimension représente une caractéristique spécifique de l'image.
Un vecteur est simplement une liste de nombres. En IA, les vecteurs sont utilisés pour représenter des objets de manière numérique. Chaque élément du vecteur correspond à une caractéristique ou une dimension de l'objet. Par exemple, un vecteur pour une image peut représenter les couleurs, les formes, les textures, etc.
Imaginez que vous avez une bibliothèque et que chaque livre est décrit par plusieurs caractéristiques (titre, auteur, nombre de pages, genre, etc.). Si chaque livre était transformé en un vecteur, chaque dimension de ce vecteur pourrait représenter une de ces caractéristiques. Un embedding, dans ce cas, serait un vecteur qui résume toutes ces informations de manière concise, par exemple, en capturant l'essence du genre et du style de l'auteur en quelques dimensions.
Classer des images inconnues dans des classes également inconnues du modèle, sans avoir besoin de réentraîner un modèle. Pour cela, nous utiliserons un modèle d'embedding pré-entraîné sur ImageNet (ViT-B-16), une base de données vectorielle avec pgvector, et des outils pour générer et comparer les embeddings.
Pourquoi ? Nous devons transformer nos images en vecteurs pour pouvoir les comparer et les classer. Le modèle ViT-B-16 pré-entraîné sur ImageNet est utilisé pour cette tâche.
Outil :