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.
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.
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 :
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".
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 :
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é.
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 :
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 :
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é.
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 :
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) :
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" :
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 :
L'approche permet d'interpréter le modèle à trois niveaux :
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 :
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 :
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 :
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).
Découvrez les dernières actualités, articles, replays de webinars et événements fifty-five dans notre newsletter mensuelle Tea O’Clock.