Soif d'expertise ?

Abonnez-vous à notre newsletter Tea O'Clock !

Je m'abonne

Les différentes façons d'utiliser les modèles de langage dans la classification d'images

Arthur Bastide
Publié le
28/11/2024
Cet article explore diverses méthodes dérivées d'articles de recherche qui visent à améliorer la classification d'images en intégrant de différentes manières les grands modèles de langage (LLM). Ces méthodes ne sont pas conçues pour que les LLMs effectuent la totalité de la tâche de classification mais pour "booster" les méthodes existantes. Bien que les approches discutées ici ne couvrent pas tout le potentiel des LLM pour de tels cas d'utilisation, elles permettent de mettre en évidence trois "familles" émergentes de classification.

Vous pouvez trouver une proposition d'implémentation pour la dernière méthode discutée dans cet article sur mon dépôt GitHub → ici ←.

Avant d'entrer dans le vif du sujet, revenons sur quelques concepts clés.

Classification des images

La classification des images sur le site machine learning consiste à attribuer une étiquette spécifique (ou "classe" ou "étiquette") à une image à partir d'un ensemble fini d'étiquettes. Cette opération peut être effectuée au sein d'une même famille (par exemple, identifier la race d'un chien parmi toutes les races possibles) ou afin de distinguer des familles distinctes (par exemple, déterminer si une image représente une voiture, une maison, un bateau ou un animal).

L'objectif est de former un modèle qui utilise les caractéristiques des images (formes, couleurs, textures, etc.) pour prédire leurs étiquettes. Le traitement de toutes les entrées d'une image n'étant pas pratique (par exemple, une image couleur de 224x224 pixels a 224 x 224 x 3 entrées, soit plus de 150 000 caractéristiques), les réseaux neuronaux convolutionnels (CNN) extraient et réduisent les caractéristiques de l'image sans perdre d'informations essentielles. Si cette méthode est très efficace pour les prédictions, elle rend impossible l'interprétation des coefficients du modèle, car les caractéristiques ne sont pas des informations interprétables. C'est une limitation que les LLM peuvent aider à résoudre.

Classification d'images sans prise de vue

Un autre concept clé est la classification "zero-shot", qui permet de classer les images dans des catégories qui n'ont jamais été explicitement vues pendant l'apprentissage du modèle. Cela est possible grâce à des modèles tels que CLIP (Contrastive Language-Image Pre-Training), un modèle d'intégration texte-image capable de vectoriser les images et le texte dans le même espace d'intégration. CLIP est entraîné sur 400 millions d'images étiquetées. Par exemple, l'image d'un chien et la phrase "une image d'un chien" seront très proches dans cet espace.

Le processus de classification à partir de zéro est le suivant :

  1. Nous intégrons toutes les étiquettes d'intérêt à l'aide de CLIP (par exemple, 10 étiquettes).
  2. Pour ce faire, nous utilisons une invite telle que "une photo de {label}" afin de générer 10 enregistrements.
  3. Nous intégrons l'image à étiqueter à l'aide de CLIP.
  4. Nous mesurons la similarité en cosinus entre l'image incorporée et chaque étiquette incorporée.
  5. Nous sélectionnons l'étiquette présentant la plus grande similarité (ou la plus grande probabilité si les similarités sont passées par une fonction softmax).

Cette méthode peut être représentée mathématiquement comme suit :

Où x est l'image à classer, C={c1,c2,...,cn} est un ensemble prédéfini d'étiquettes, ϕI / ϕT sont les codeurs d'image et de texte (par exemple, CLIP), et f(c) est l'invite "une photo de {c}".

Il s'agit de la méthode de classification de base sans prise de vue, souvent appelée "Vanilla CLIP".

Classification d'images "zero-shot" améliorée

Tout d'abord, les LLMs améliorent facilement la classification zéro-shot grâce aux descriptions des étiquettes qu'ils peuvent fournir. En effet, au lieu d'intégrer "Une photo de {label}", nous intégrons la description de l'étiquette fournie par le LLM, en affinant son positionnement dans l'espace d'intégration.

Cette approche est représentée par l'équation suivante :

Où D(c) est la description de l'étiquette c.
Il convient de noter que l'on calcule ici une moyenne des similitudes en cosinus des descriptions de classe. Cette technique, appelée "prompt ensembling" (qui implique généralement le calcul de la moyenne des embeddings), améliore la précision de la classification.
Cette méthode est particulièrement efficace car les différentes techniques d'incitation (DCLIP, WaffleCLIP, CuPL) donnent des résultats variables en fonction des ensembles de données. Elle permet donc un positionnement plus robuste des étiquettes dans l'espace d'intégration.

D'autres méthodes vont au-delà de l'optimisation des descriptions des étiquettes cibles. Par exemple, dans leur étude "Enhancing Zero-Shot Image Classification with Multimodal Large Language Models (Amélioration de la classification d'images sans prise de vue avec des modèles multimodaux à grand langage)les équipes de recherche de Google se sont concentrées sur l'optimisation de l'intégration de l'image d'entrée en combinant trois intégrations distinctes :

  1. L'intégration de l'image elle-même.
  2. L'intégration de la description de l'image générée par un LLM multimodal.
  3. L'intégration de l'étiquette prédite par un LLM multimodal, qui est fourni avec toutes les étiquettes possibles.

Vous trouverez ci-dessous une représentation visuelle de cette approche :

L'exemple ci-dessous met en évidence deux des trois entrées dérivées de l'image à classer : la description de l'image par le LLM et l'étiquette prédite par le LLM ("crayon").

Même si la prédiction fournie en entrée est incorrecte, l'inclusion de cette entrée améliore de manière significative les performances du modèle dans tous les ensembles de données testés (par exemple, pour ImageNet, la précision est passée de 70,7 à 73,4).

Nous venons d'introduire le rôle central des LLM dans la classification des images : leur capacité à affiner le positionnement des étiquettes cibles et des images d'entrée dans un espace d'intégration partagé.

"Classification des images "low-shot

Les méthodes discutées précédemment ne fonctionnent bien que si les descriptions textuelles des étiquettes (générées par le LLM) sont pertinentes. Cependant, pour certains ensembles de données, tels que le célèbre ensemble de données sur les fleurs d'iris, les résultats peuvent être assez médiocres. Deux raisons principales expliquent cela :

  1. Les LLM, formés uniquement sur des données textuelles, manquent parfois de nuance dans leur compréhension des aspects visuels.
  2. Lorsque l'on tente de générer des descriptions d'étiquettes à l'aide d'une seule invite générique conçue pour n'importe quelle tâche de classification, les résultats peuvent parfois être très génériques (par exemple, "l'étiquette {label} peut avoir plusieurs couleurs").

La méthode WaffleCLIP (Roth et al., 2023) met en évidence ce problème : dans de nombreux cas, le remplacement de mots aléatoires dans les descriptions d'étiquettes par des termes vagues et, surtout, sans rapport, n'a que peu d'impact sur la précision.

La méthode "Iterative Optimization with Visual Feedback" introduit le concept de classification d'images "low-shot" en proposant une approche pour optimiser les descriptions d'étiquettes. Elle intègre deux aspects clés de la vie réelle : l'interaction avec l'environnement et l'optimisation itérative. La reconnaissance humaine de nouveaux objets implique un processus dynamique : nous mettons progressivement à jour nos connaissances en fonction de l'environnement de l'objet, en ne conservant que les informations utiles et en éliminant les détails non pertinents.

La méthodologie, dont vous trouverez le diagramme visuel ci-dessus, se compose de trois étapes principales :

  1. Initialisation : Les descriptions d'étiquettes initiales D0 sont générées par un LLM (comme décrit dans les méthodes précédentes). L'objectif est d'optimiser ces descriptions.
  2. Retour d'information visuel : L'idée est de fournir à un LLM des connaissances visuelles à partir d'un modèle tel que CLIP:un certain texte
    • Un petit ensemble d'images est sélectionné pour chaque étiquette (par exemple, un ensemble "d'entraînement", bien que nous nuancerons cette terminologie).
    • Une prédiction zéro est effectuée pour chaque image à l'aide des descriptions initiales D0.
    • Des mesures telles que la précision et une matrice de confusion personnalisée sont calculées (les détails des équations sont présentés ci-dessous).
      • Au lieu d'incrémenter de +1 uniquement la catégorie prédite, +1 est ajouté à toutes les étiquettes dont la similarité en cosinus dépasse λ fois la similarité en cosinus de la description de la classe de référence (équation 3).
      • Une fois la matrice construite, la somme est calculée pour chaque étiquette (équation 4) et le top-m est retenu (équation 5). Il s'agit des dix premiers labels dont les descriptions sont les moins claires pour CLIP.
      • Instead of using argmax or softmax, this matrix highlights labels for which the prediction is incorrect. The parameter λ represents the level of strictness (or leniency if λ<1, penalizing label descriptions with cosine similarities slightly below the ground-truth description’s similarity).
    • Le retour d'information visuel V(D) est ensuite converti en informations textuelles à l'aide d'un LLM : du texte
      • "Pour l'étiquette ..., avec des descriptions ..., les étiquettes les plus confuses sont ..., dont les descriptions sont ...".
  3. Optimisation itérative : Pour chaque étiquette, trois sous-étapes sont réalisées : du texte
    • Mutation : En utilisant le retour visuel V(D), un LLM génère K nouveaux ensembles de descriptions (pour assurer la diversité en vue de l'optimisation). Les descriptions non pertinentes - celles qui sont très proches de celles d'autres étiquettes les plus ambiguës (top-m) - sont supprimées et remplacées par de nouvelles.
    • Croisement : Toutes les combinaisons possibles de nouvelles descriptions à travers les ensembles sont générées, leur retour visuel est évalué et la meilleure description est retenue pour l'itération suivante. Cela garantit que l'itération suivante commence avec les meilleures descriptions de l'étape précédente.
    • Mise à jour de la banque de mémoire :un texte
      • Les descriptions sont classées comme suit : "inchangé", "supprimé" ou "ajouté".
      • Les descriptions "ajoutées" sont stockées comme "positives", ce qui garantit que la précision de D(i) > D(i-1) (il en va de même pour les descriptions "supprimées").
      • Ces banques de mémoire sont fournies au LLM à chaque itération, avec un retour d'information visuel, pour produire de nouveaux ensembles de descriptions. Cela garantit que de nouvelles descriptions sont toujours générées et que les descriptions supprimées ne sont pas réutilisées.

Où d′ représente les descriptions d'une étiquette, et d représente les descriptions de l'étiquette de référence.

Voici un exemple des résultats obtenus sur l'ensemble de données Flowers102, comparés à la méthode CuPL (l'une des méthodes "zero-shot" avec des techniques d'incitation spécifiques). Les diagrammes à barres mettent en évidence les trois meilleures et les trois pires descriptions pour l'étiquette "Prince of Wales Feathers".

Pourquoi parle-t-on de classification d'images "low-shot" ? Cette méthode diverge de la classification "zero-shot" car elle utilise un petit nombre d'images étiquetées pour optimiser les descriptions des étiquettes cibles. Toutefois, l'objectif final reste d'améliorer les prédictions "zero-shot". Il ne s'agit donc pas d'une formation traditionnelle à l'apprentissage automatique, car il n'y a pas de risque de surajustement. C'est la raison pour laquelle le terme "low-shot" est utilisé.

"Classification des images "standard amélioré

Les LLM pourraient-ils également améliorer les modèles traditionnels de classification d'images (ceux mentionnés dans l'introduction) ? Une approche répondant à cette question est présentée dans le document de recherche "LLM-based Hierarchical Concept Decomposition for Interpretable Fine-Grained Image Classification (Décomposition hiérarchique de concepts basée sur les LLM pour une classification d'images interprétable à grain fin)." L'objectif principal de cette approche est de surmonter une limitation mentionnée précédemment - le manque d'interprétabilité dans les modèles CNN - nous permettant de répondre à des questions telles que :

  • Quels sont les éléments visuels qui distinguent le mieux les étiquettes d'une classe ?
  • Quelles sont les caractéristiques les plus ou les moins importantes pour chaque label ?
  • Pourquoi mon modèle a-t-il fait cette prédiction ?
  • Pourquoi mon modèle a-t-il mal classé cette étiquette ?

La méthode, schématisée ci-dessus, peut être décrite comme suit (en utilisant comme exemple la classe "chien", avec des étiquettes correspondant à différentes races) :

  1. Nous déterminons toutes les caractéristiques visuelles de la catégorie "chien" par le biais d'invites successivesen construisant un arbre visuel de la catégorie :du texte
    • Nous identifions les "parties visuelles" : Il s'agit des composantes visuelles primaires de la catégorie (par exemple, la tête, les yeux, le pelage, la queue, les pattes). Si possible, nous demandons au LLM de subdiviser les parties visuelles en composants plus granulaires (par exemple, dans la tête, il y a la bouche ; dans la bouche, il y a les dents, et ainsi de suite). Un seuil de granularité (ou profondeur maximale de l'arbre) est défini.
    • Nous identifions des "attributs visuels" : Ils caractérisent les parties visuelles (par exemple, la taille, la forme, la couleur, la texture). Ici, l'invite fournit des exemples, car chaque partie visuelle a des attributs spécifiques (par exemple, l'attribut "opacité" ne caractérise pas la partie visuelle "nez").
    • We identify "attribute values": For each combination of visual part and visual attribute, we determine all possible values for the category. For instance, for the visual part "tail" and the visual attribute "length," possible values could be {"short," "medium," "long"} or {"<10 cm," "10-20 cm," ">20 cm"}. To identify these attribute values, the LLM considers all labels in the class (e.g., all dog breeds provided), and redundant values are removed to retain only unique ones (since some labels may have similar attribute values). These values form the leaves of the tree, and we name "visual clues" the branches, that’s to say all the combinations of visual parts, visual attributes, and attribute values.
    • Chaque "indice visuel" est converti en langage naturel (phrases descriptives) et intégré à l'aide du CLIP : 

En utilisant les connaissances du LLM, nous générons ainsi un ensemble de phrases descriptives ("indices visuels") pour une classe donnée. Voici un exemple d'une partie de l'arbre (visualisé à l'aide de la bibliothèque Python pydot) pour l'étiquette "Bouledogue français" :

  1. Chaque image de l'ensemble de données est intégrée dans le même espace à l'aide du modèle CLIP.
  2. Pour chaque image, un score de similarité cosinus est calculé pour chaque indice visuel. Il y a donc autant de scores de similarité que de feuilles dans l'arbre.
  3. Ces scores de similarité sont utilisés comme caractéristiques pour un modèle de classification. Les caractéristiques sont donc interprétables.
  1. Un modèle est formé pour chaque "partie visuelle" principale, et l'étiquette la plus souvent prédite parmi les modèles est sélectionnée comme étiquette finale prédite.

Comme cette méthode pourrait être pertinente pour certains cas d'utilisation sur Fifty-five (en particulier ceux liés à l'optimisation des créations publicitaires), et afin d'illustrer ses points forts par rapport à la classification d'images traditionnelle, nous avons implémenté une version codée de cette approche, disponible sur mon dépôt GitHub. Avant de partager quelques exemples de résultats, quelques remarques préliminaires :

  • Nous avons testé cette méthode sur le célèbre ensemble de données Stanford Dogs, qui contient plus de 20 000 images de plus de 120 races de chiens. L'une des spécificités de ce jeu de données est l'inclusion de fichiers .xml spécifiant les limites des cultures afin de se concentrer sur l'élément clé de chaque image, ce qui améliore les performances du modèle.
  • Pour les résultats ci-dessous, le modèle a été entraîné sur seulement 10 races de chiens (1 715 images) afin de simplifier l'analyse des résultats.
  • Contrairement à la méthode originale, nous n'avons pas divisé le modèle en sous-modèles dédiés à des parties visuelles spécifiques. Au lieu de cela, notre modèle contenait un nombre important de caractéristiques (194), que nous avons réduites à 110 par une recherche en grille sur le seuil d'importance des caractéristiques (calculé à l'aide de la technique de permutation des caractéristiques, applicable aux modèles arborescents).

L'approche permet d'interpréter le modèle à trois niveaux :

  1. Niveau de classe :

Nous pouvons analyser quels indices visuels sont les plus (ou les moins) efficaces pour distinguer les races de chiens. L'importance des caractéristiques est calculée à l'aide de la technique de permutation des caractéristiques appliquée à notre modèle Random Forest : 

En tirant parti de notre distinction entre "parties visuelles" et "attributs visuels", nous pouvons étudier plus avant lesquels sont les plus efficaces pour différencier les étiquettes :

  1. Niveau de l'étiquette :

Des analyses similaires peuvent être effectuées pour les labels. Par exemple, voici les trois caractéristiques les plus importantes et les moins importantes pour chaque étiquette (calculées cette fois-ci à l'aide des coefficients de Gini, ce qui explique pourquoi les caractéristiques les moins importantes ont des valeurs positives) :

La matrice de confusion met en évidence les races de chiens que le modèle a le plus souvent mal classées :

La confusion la plus fréquente se produit entre les étiquettes "Lhasa" et "Scotch Terrier". En examinant les 30 caractéristiques les plus importantes pour chaque étiquette, nous constatons que 10 caractéristiques sont partagées entre les deux étiquettes, ce qui explique la confusion : 

  1. Niveau de prédiction : 

Pour approfondir la question, nous pouvons examiner une prédiction spécifique dans laquelle le modèle a mal classé ces étiquettes :

Bien que proche, la probabilité de "Lhasa" (vrai label) pour cette image est plus faible que celle de "Scotch Terrier" (label prédit). Pour mieux comprendre les prédictions du modèle, les valeurs SHAP (SHapley Additive exPlanations) donnent un aperçu plus approfondi des probabilités d'une prédiction spécifique, principalement pour deux raisons :

  • Ils calculent la valeur intrinsèque des caractéristiques en élaborant des modèles basés sur toutes les combinaisons possibles de caractéristiques. Avec l'analyse des coefficients de pondération pour les modèles linéaires ou des coefficients de GINI pour les modèles arborescents, nous ne pouvons pas évaluer si l'importance des caractéristiques n'est pas corrélée à l'utilisation d'autres variables indépendantes dans le modèle.
  • Ils attribuent des poids spécifiques à une prédiction donnée. Par exemple, si le poids d'une caractéristique est élevé pour le modèle global, mais que la valeur de la variable est faible pour une entrée spécifique, sa valeur SHAP pour la prédiction sera minimale.

Dans notre exemple, comme les Scotch Terriers sont principalement noirs, en particulier dans notre ensemble de données, nous comprenons l'importance d'indices visuels tels que "la couleur du ventre est noire" ou "la couleur de la fourrure du dos est noire". Ainsi, le pelage noir que porte le chien Lhasa sur l'image est très susceptible d'expliquer l'erreur du modèle.

Ces exemples montrent le potentiel des LLM pour améliorer la classification des images. Les améliorations ne sont pas directement liées à la performance (les modèles CNN atteignent généralement une plus grande précision), mais plutôt à l'interprétabilité du modèle.

Toutes ces méthodes ont un point commun : elles fournissent des informations descriptives sur une classe et ses étiquettes, soit par un processus itératif impliquant quelques images et un modèle d'intégration multimodale (méthode "low-shot"), soit par une décomposition arborescente hiérarchique (méthode "enhanced standard"). La dépendance à l'égard de la connaissance du LLM est donc une limitation qui mérite d'être soulignée.

Bien que nous ayons classé ces méthodes en trois "familles" de classification, elles ne s'excluent pas mutuellement. Par exemple, nous pourrions envisager d'utiliser les descriptions de la méthode "low-shot" comme caractéristiques pour le modèle "enhanced standard" (même si nous devons nous assurer que nous disposons de suffisamment d'images pour les deux processus de formation spécifiques).

Tous les articles

Articles similaires

Création d'une boucle de rétroaction entre les tests d'incrémentalité et les modèles de marketing mix à l'aide de modèles basés sur des agents

02 min
Romain Warlop

Approfondissez vos simulations de stratégies marketing grâce aux modèles basés sur des agents.

02 min
Romain Warlop

Soif d'expertise ? Abonnez-vous à notre newsletter.

Découvrez les dernières actualités, articles, replays de webinars et événements fifty-five dans notre newsletter mensuelle Tea O’Clock.

Prénom*
Nom de famille*
Entreprise*
Langue préférée*
Email*
Merci !

Votre demande d'abonnement a bien été prise en compte.
Oups ! Un problème est survenu lors de la soumission du formulaire.