Qu’est-ce que l’incorporation ?

22 décembre 2023

Auteurs

Joel Barnard

Writer

Qu’est-ce que l’incorporation ?

Les plongements sont un moyen de représenter des objets comme du texte, des images et de l’audio sous forme de points dans un espace vectoriel continu, dont l’emplacement est sémantiquement significatif pour les algorithmes de machine learning (ML).

Les plongements (ou « embeddings » sont un outil essentiel pour les ingénieurs en ML qui créent des moteurs de recherche de texte et d’images, des systèmes de recommandation, des chatbots, des systèmes de détection des fraudes et de nombreuses autres applications. Les plongements permettent par essence aux modèles de machine learning de trouver des objets similaires.

Contrairement à d’autres techniques de ML, les plongements sont appris à partir de données grâce à divers algorithmes, tels que des réseaux de neurones : leur définition ne nécessite pas explicitement une expertise humaine. Ils permettent au modèle d’apprendre des motifs et des relations complexes dans les données que les humains ne seraient pas capables d’identifier.

Par exemple, l’implémentation de l’incorporation d’OpenAI permet à ChatGPT de comprendre facilement les relations qui unissent différents mots et catégories au lieu d’analyser chaque mot séparément. Grâce aux incorporations, les modèles GPT d’OpenAI peuvent générer des réponses plus cohérentes et plus pertinentes aux questions et sollicitations des utilisateurs.

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets.

Fonctionnement de l’incorporation

La plupart des algorithmes de machine learning ne peuvent accepter comme entrées que des données numériques de faible dimension. Il est donc nécessaire de convertir les données au format numérique. Cela peut impliquer la création d’une représentation « sac de mots » (bag of words) pour les données textuelles, la conversion d’images en pixels ou encore la transformation de données graphiques en matrice numérique.

Les objets qui entrent dans un modèle d’incorporation sont générés sous forme d’incorporations, représentées sous forme de vecteurs. Un vecteur est une série de nombres (par exemple, 1489, 22… 3, 777), où chaque nombre indique où se trouve un objet le long d’une dimension spécifiée. Le nombre de dimensions peut atteindre un millier ou plus en fonction de la complexité des données entrées. Plus une incorporation est proche des autres dans cet espace n-dimensionnel, plus elles sont similaires. La similarité de distribution est déterminée par la longueur des points vectoriels d’un objet à l’autre (mesurée par euclidienne, cosinus ou autre).

Le modèle Word2Vec (Word to Vector), développé par Google en 2013, permet de créer efficacement des plongements lexicaux en utilisant un réseau neuronal à deux couches. Il prend comme entrée un mot et sort une coordonnée n-dimensionnelle (le vecteur incorporant) afin que, lorsque vous tracez ces vecteurs de mots dans un espace tridimensionnel, les synonymes se regroupent.

Voici comment deux mots, « papa » et « maman », seraient représentés comme vecteurs :

 « dun(e)d ».=[0.1548,0.4848,,1.864] 

 « mom ».=[0.8785,0.8974,,2.794] 

Bien qu’il existe une certaine similarité entre ces deux mots, nous pouvons nous attendre à ce que « père » soit beaucoup plus proche de « papa » dans l’espace vectoriel, ce qui donnerait un produit scalaire plus élevé (une mesure de la direction relative de deux vecteurs et de la proximité de leur alignement dans la direction vers laquelle ils pointent).

Un exemple plus complexe est l’incorporation de recommandations, qui fonctionne en représentant les utilisateurs et les éléments (par exemple, les films, les produits, les articles) sous forme de vecteurs de grande dimension dans un espace vectoriel continu. Ces incorporations capturent les caractéristiques latentes qui reflètent les préférences des utilisateurs et les caractéristiques des éléments. L’idée est d’apprendre une représentation pour chaque utilisateur et chaque élément de manière à ce que le produit scalaire de leurs incorporations soit en corrélation avec la préférence de l’utilisateur pour cet article.

Chaque utilisateur et chaque élément sont associés à un vecteur d’incorporation. Ces vecteurs sont généralement appris à partir d’un modèle de recommandation lors d’un processus d’entraînement. Les incorporations d’utilisateurs et d’éléments sont organisées en matrices. Les lignes de la matrice d’utilisateurs représentent les utilisateurs, et celles de la matrice d’éléments représentent les éléments.

Le score de recommandation d’un couple élément-utilisateur peut être calculé en prenant le produit scalaire du vecteur d’incorporation de l’utilisateur et celui du vecteur d’incorporation de l’élément. Plus le produit scalaire est élevé, plus l’utilisateur est susceptible d’être intéressé par l’élément.

 Recommendun(e)TionScore=USerEmbeddingITemEmbedding 

Les matrices d’incorporation sont apprises à partir d’un processus d’entraînement à l’aide d’interactions passées de l’utilisateur avec l’élément. Le modèle vise à minimiser la différence entre les scores prédits et les préférences réelles des utilisateurs (par exemple, avis, clics, achats).

Une fois le modèle entraîné, il peut servir à générer des recommandations de premier plan pour les utilisateurs. Les éléments avec les scores prévus les plus élevés pour un utilisateur sont recommandés.

Groupe d’experts | Podcast

Décryptage de l’IA : Tour d’horizon hebdomadaire

Rejoignez notre panel d’ingénieurs, de chercheurs, de chefs de produits et autres spécialistes de premier plan pour connaître l’essentiel de l'actualité et des dernières tendances dans le domaine de l’IA.

Pourquoi utiliser l’incorporation

Les plongements, ou embeddings, sont utilisés dans divers domaines et champs d’application en raison de leur capacité à transformer des données de grande dimension et catégorielles en représentations vectorielles continues, capturant des relations, une sémantique et des motifs significatifs. Voici quelques-unes des raisons pour lesquelles les plongements sont utilisés en science des données :

Représentation sémantique

En mappant des entités (mots, images, nœuds dans un graphique, etc.) à des vecteurs dans un espace continu, les incorporations saisissent les relations sémantiques et les similitudes, ce qui permet aux modèles de mieux comprendre et généraliser les informations.

Réduction de la dimensionnalité

Les données de grande dimension, telles que le texte, les images ou les graphiques, peuvent être transformées en représentations de moindre dimension, ce qui les rend plus efficaces sur le plan des calculs et plus faciles à utiliser.

Généralisation améliorée des modèles

En apprenant des représentations significatives à partir de données, les modèles peuvent généraliser leur analyse à des exemples non étudiés, rendant les incorporations cruciales pour les tâches avec des données étiquetées comme limitées.

Visualisation efficace

Des techniques comme t-SNE peuvent être appliquées pour visualiser les incorporations de grande dimension en deux ou trois dimensions, fournissant des informations sur les relations et les clusters dans les données.

Entraînement efficace dans les réseaux neuronaux

Les couches d’incorporation sont couramment utilisées dans les architectures de réseaux neuronaux pour mapper les entrées catégorielles aux vecteurs continus, facilitant la rétropropagation et l’optimisation.

Quels objets peuvent être incorporés ?

Les incorporations sont des représentations polyvalentes qui peuvent être appliquées à un large éventail de types de données. Voici quelques-uns des objets les plus courants pouvant être incorporés :

Mots

L’incorporation de mots, plus connue sous l’appellation « plongement lexical », saisit les relations sémantiques et la signification contextuelle des mots en fonction de leurs schémas d’utilisation dans un corpus de langue donné. Chaque mot est représenté comme un vecteur de nombres réels dense et de taille fixe. C’est le contraire d’un vecteur creux, comme l’encodage one hot, qui comporte de nombreuses entrées nulles.

Les plongements lexicaux ont considérablement amélioré les performances des modèles de traitement automatique du langage naturel (NLP) en fournissant une représentation des mots plus significative et plus efficace. Ces plongements permettent aux machines de comprendre et de traiter le langage en saisissant les nuances sémantiques et les relations contextuelles, les rendant utiles pour un large éventail d’applications, notamment l’analyse des sentiments, la traduction automatique et la recherche d’information.

Parmi les modèles de plongement lexical les plus populaires, on trouve Word2Vec, GloVe (Global Vectors for Word Representation), FastText et les incorporations dérivées de modèles basés sur des transformers, tels que BERT (Bidirectionnel Encoder Representations from Transformers) et GPT (Generative Pre-trained Transformer).

Texte

L’incorporation de texte va plus loin que le plongement lexical pour représenter des phrases, des paragraphes ou des documents entiers dans un espace vectoriel continu. L’incorporation de texte joue un rôle crucial dans divers champs d’application du NLP, telles que l’analyse des sentiments, la classification de texte, la traduction automatique, la réponse aux questions et la récupération d’informations.

Des modèles tels que Doc2Vec, USE (Universal Sentence Encoder), BERT et ELMO (Embeddings from Language Models) ont été entraînés à partir d’énormes quantités de corpus d’incorporations pré-entraînés, tels que Wikipédia et Google News.

Images

L’incorporation d’images est conçue pour saisir des caractéristiques visuelles et des informations sémantiques sur le contenu des images. L’incorporation d’images est particulièrement utile pour diverses tâches de vision par ordinateur : elle permet de modéliser les similitudes entre images, la classification des images, la détection d’objets et d’autres tâches de reconnaissance visuelle.

Les modèles tels que VGG (Visual Geometry Group), ResNet (Residual Networks), Inception (GoogLeNet) et EfficientNet comptent parmi les réseaux neuronaux convolutifs (CNN) les plus populaires pour l’incorporation d’images. Ces modèles ont été pré-entraînés sur des jeux de données d’image à grande échelle et peuvent être utilisés comme de puissants extracteurs de fonctionnalités.

Audio

Semblables aux incorporations d’images et de texte, les incorporations audio sont souvent générées à l’aide d’architectures d’apprentissage profond, notamment les réseaux neuronaux récurrents (RNN), les réseaux neuronaux convolutifs (CNN) ou les modèles hybrides qui combinent les deux. Ces incorporations saisissent les caractéristiques pertinentes des données audio, ce qui permet une analyse, un traitement et des indicateurs de similarité efficaces. Les incorporations audio sont particulièrement utiles dans les champs d’application tels que la reconnaissance vocale, la classification audio et l’analyse musicale, entre autres.

Graphiques

L’incorporation de graphiques est essentielle pour diverses tâches, notamment la classification des nœuds, la prédiction des liens et la détection des communautés dans des réseaux complexes. Ces incorporations sont utiles dans l’analyse des réseaux sociaux, les systèmes de recommandation, l’analyse des réseaux biologiques, la détection des fraudes et divers autres domaines où les données peuvent être représentées sous forme de graphiques.

Comment les incorporations sont créées

Les incorporations sont créées via un processus appelé « apprentissage par incorporation ». Bien que la méthode spécifique utilisée dépende du type de données incorporées, les incorporations sont créées en suivant ces étapes générales :

  1. Choisissez ou entraînez un modèle d’incorporation : sélectionnez un modèle d’intégration préexistant adapté à vos données et à votre tâche, ou entraînez-en un nouveau si nécessaire. Pour le texte, vous pouvez choisir Word2Vec, GloVe ou BERT. Pour les images, vous pouvez utiliser des CNN pré-entraînés comme VGG ou ResNet.

  2. Préparez vos données : Formatez vos données de manière à ce qu’elles soient compatibles avec le modèle d’incorporation choisi. Pour le texte, cela implique la tokenisation et éventuellement le prétraitement. Pour les images, vous devrez peut-être les redimensionner et les normaliser.

  3. Chargez ou entraînez le modèle d’incorporation : si vous utilisez un modèle pré-entraîné, chargez les poids et l’architecture. Si vous entraînez un nouveau modèle, fournissez à l’algorithme vos données d’entraînement préparées en amont.

  4. Générez des incorporations : pour chaque donnée, utilisez le modèle entraîné ou chargé pour générer des incorporations. Par exemple, si vous utilisez un modèle de plongement lexical, entrez un mot pour obtenir son vecteur correspondant.

  5. Intégrez des incorporations à votre application : utilisez les incorporations générées comme fonctionnalités dans votre modèle de machine learning ou à des fins de recherche de similarités, de recommandation, de clustering, etc., selon votre tâche spécifique.

Dans tous les cas d’incorporation, l’idée est de représenter les données dans un espace vectoriel continu où les relations significatives sont conservées. Le processus d’entraînement consiste à ajuster les paramètres du modèle pour minimiser la différence entre les valeurs prévues et réelles suivant la fonction d’objectif choisie. Une fois entraînées, les incorporations peuvent être utilisées pour diverses tâches en aval.

Exemples concrets d’incorporations

 

Par exemple, l’implémentation de l’incorporation d’OpenAI permet à ChatGPT de comprendre facilement les relations qui unissent différents mots et catégories au lieu d’analyser chaque mot séparément. Voici quelques exemples :

Traitement automatique du langage naturel (NLP)

  • Plongements lexicaux dans l’analyse des sentiments : les modèles utilisés pour le plongement lexical comme Word2Vec ou GloVe représentent les mots dans un espace vectoriel continu. Les modèles d’analyse des sentiments peuvent en tirer parti pour comprendre et catégoriser le sentiment d’un texte.

  • BERT pour la réponse aux questions : les plongements BERT sont utilisés dans les systèmes de questions-réponses. Le modèle peut comprendre le contexte de la question et du document et en extraire des informations pertinentes.

  • Similarité entre les textes avec Doc2Vec : les plongements Doc2Vec sont appliqués à des tâches telles que la recherche de documents similaires. Les plongements de documents sont comparés pour mesurer la similarité sémantique entre eux.

Vision par ordinateur

  • Classification d’images avec les CNN : les réseaux neuronaux convolutifs (CNN), tels que VGG ou ResNet, sont utilisés pour les tâches de classification des images. Les caractéristiques de la couche finale ou des couches intermédiaires peuvent servir de plongements vectoriels pour les images.

  • Récupération d’images avec CLIP : le modèle CLIP reconnaît les plongements conjoints pour les images et le texte. Cela permet par exemple la récupération d’images basée sur des requêtes en langage naturel.

  • Reconnaissance faciale avec FaceNet : FaceNet crée des plongements pour les visages qui peuvent être utilisés pour la reconnaissance faciale. Ces plongements servent souvent à mesurer la similarité entre différents visages.

Systèmes de recommandation

  • Filtrage collaboratif avec des plongements : les plongements sont utilisés pour représenter les utilisateurs et les éléments dans les modèles de filtrage collaboratif. Les méthodes de factorisation de matrice s’appuient sur ces plongements pour formuler des recommandations personnalisées.

  • Recommandations de produits avec plongements lexicaux : dans l’e-commerce, les descriptions ou les avis sur les produits peuvent être intégrés en se basant sur des plongements lexicaux. Des produits similaires peuvent être recommandés sur la base de la similarité sémantique de leurs plongements.

Utilisations multimodales

  • Traduction multimodale avec MUSE : le modèle MUSE (Multilingual Universal Sentence Encoder) est doté d’une compréhension multilingue et multimodale. Il peut être utilisé pour des tâches telles que la traduction de texte d’une langue à l’autre ou la mise en correspondance d’images avec leurs descriptions.

  • Recherche multimodale à l’aide de plongements conjoints : des plongements conjoints sont appris pour différentes modalités, telles que les images et le texte. Cela permet une recherche multimodale : une requête dans une modalité peut récupérer des résultats dans une autre.

Détection des anomalies

  • Détection des anomalies du réseau avec des plongements de graphes : des plongements sur les nœuds du réseau peuvent être utilisés pour détecter les anomalies. Des changements dans l’espace de plongements peuvent indiquer un comportement inhabituel.

  • Détection des fraudes avec les plongements de transactions : les plongements de données de transaction peuvent permettre d’identifier les tendances associées à des activités frauduleuses. Des plongements inhabituels peuvent indiquer des transactions potentiellement frauduleuses.

Ces exemples mettent en évidence la polyvalence des incorporations dans divers champs d’application, mettant en valeur leur capacité à saisir des représentations et des relations significatives dans différents types de données.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Conseils et services en matière d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct