L’apprentissage zero-shot (ZSL) est un scénario de machine learning dans lequel un modèle d’IA est entraîné à reconnaître et à catégoriser des objets ou des concepts sans avoir vu d’exemples de ces catégories ou concepts au préalable.
La plupart des modèles de deep learning (apprentissage profond) de pointe pour la classification ou la régression sont entraînés par apprentissage supervisé, ce qui nécessite de nombreux examples étiquetés de classes de données pertinentes. Les modèles « apprennent » en effectuant des prédictions sur un jeu de données d’entraînement étiqueté ; les étiquettes de données fournissent à la fois l’éventail de réponses possibles et les réponses correctes (ou vérité terrain) pour chaque exemple d’entraînement. « Apprendre » signifie ici ajuster les pondérations du modèle pour minimiser les différences entre les prédictions du modèle et la vérité terrain. Ce processus nécessite une quantité suffisante d’échantillons étiquetés pour de nombreuses séries d’entraînement et de mises à jour.
Bien que puissant, l’apprentissage supervisé n’est pas pratique dans certains scénarios du monde réel. L’annotation de grandes quantités d’échantillons de données est coûteuse et prend du temps, et dans des cas tels que les maladies rares et les espèces récemment découvertes, les exemples peuvent être rares ou inexistants. Envisagez les tâches de reconnaissance d’image : selon une étude, les humains peuvent reconnaître environ 30 000 catégories d’objets pouvant être distingués individuellement.1 Il n’est pas possible pour les modèles d’intelligence artificielle, en termes de temps, de coûts et de ressources informatiques, d’appréhender à distance les capacités humaines s’ils doivent être explicitement entraînés sur des données étiquetées pour chaque classe.
La nécessité pour les modèles de machine learning de pouvoir se généraliser rapidement à un grand nombre de catégories sémantiques avec un minimum d’entraînement a donné naissance au n-shot learning, un sous-ensemble du machine learning qui comprend également le few-shot learning (FSL) et le one-shot learning. L’apprentissage « few-shot » fait généralement appel à des méthodes d’apprentissage par transfert et de méta-apprentissage pour entraîner les modèles à reconnaître rapidement de nouvelles classes avec seulement quelques exemples d’entraînement étiquetés (ou, dans le cas d’un apprentissage one-shot, avec un seul exemple étiqueté).
Le zero-shot learning (ZSL), comme toutes les méthodes n-shot learning, ne se rapporte pas à un algorithme spécifique ou à une architecture de réseaux neuronaux, mais à la nature même du problème d’apprentissage : dans le ZSL, le modèle n’est pas entraîné sur des exemples étiquetés de classes non vues sur lesquelles il est demandé d’effectuer des prédictions après l’entraînement.
Cette configuration du problème ne tient pas compte de la présence de cette classe (bien que non étiquetée) dans les données d’entraînement. Par exemple, certains grands modèles de langage (LLM) sont bien adaptés aux tâches ZSL, car ils sont pré-entraînés par apprentissage auto-supervisé sur un corpus massif de textes qui peuvent contenir des références accidentelles ou des connaissances sur des classes de données non vues. En l’absence d’exemples étiquetés sur lesquels s’appuyer, les méthodes ZSL reposent toutes sur l’utilisation de ces connaissances auxiliaires pour formuler des prédictions.
Compte tenu de sa polyvalence et de son large éventail de cas d’utilisation, le zero-shot learning est devenu un domaine de recherche de plus en plus important dans la science des données, en particulier dans les domaines de la vision par ordinateur et du traitement automatique du langage naturel (NLP).
Dans un contexte ZSL conventionnel, le modèle est testé sur un ensemble de données contenant des échantillons de classes de données non vues. Bien qu’utile pour développer et valider des méthodologies zero-shot, il ne reflète pas les conditions réelles les plus courantes : l’apprentissage généralisé zero-shot (GSZL) se rapporte au problème spécifique d’apprentissage zero-shot dans lequel les points de données que le modèle. est chargé de classer peuvent appartenir soit à des classes non vues, soit à des classes vues, c’est-à-dire les classes que le modèle a déjà « apprises » à partir d’exemples étiquetés.
Le GSZL doit surmonter un défi supplémentaire : la tendance des classificateurs à biaiser les prédictions en faveur des classes qu’il a vues lors de l’entraînement par rapport aux classes non vues auxquelles il n’a pas encore été exposé. Par conséquent, le GSZL nécessite souvent des techniques supplémentaires pour atténuer ce biais.
En l’absence d’exemples étiquetés des catégories sur lesquelles le modèle est entraîné, les problèmes zero-shot learning s’appuient sur des informations auxiliaires, soit des descriptions textuelles, des attributs, des représentations intégrées ou d’autres informations sémantiques pertinentes pour la tâche à accomplir.
Plutôt que de modéliser directement les frontières de décision entre les classes, les techniques d’apprentissage zero-shot produisent généralement un vecteur de probabilité représentant la probabilité qu’une entrée donnée appartienne à certaines classes. Les méthodes GSZL peuvent ajouter un discriminateur préliminaire qui détermine d’abord si l’échantillon appartient à une classe déjà vue ou à une nouvelle classe, puis procède en conséquence.
Dans l’apprentissage supervisé, ainsi que dans l’apprentissage few-shot (FSL), le modèle apprend à reconnaître différentes classes en observant directement un ou plusieurs exemples étiquetés de chaque classe. Sans ces annotations explicites pour les guider, l’apprentissage zero-shot nécessite une compréhension plus fondamentale de la signification de l’étiquette.
Par exemple, imaginez qu’un enfant veuille apprendre à quoi ressemble un oiseau. Dans un processus qui s’apparente à un apprentissage supervisé ou few-shot, l’enfant apprend en regardant des images portant la mention « oiseau » dans un livre d’images d’animaux. À l’avenir, il reconnaîtra un oiseau parce qu’il ressemble aux images qu’il a déjà vues. Mais dans un scénario ZSL, aucun exemple étiqueté de ce type n’est disponible. À la place, l’enfant pourrait lire une entrée d’encyclopédie sur les oiseaux et apprendre que ce sont des animaux de petite ou moyenne taille avec des plumes, un bec et des ailes qui peuvent voler dans les airs. Il pourra alors reconnaître un oiseau dans le monde réel, même s’il n’en a jamais vu auparavant, car il a appris le concept d’oiseau.
Comme mentionné précédemment, les LLM ont démontré un potentiel naturel pour le ZSL, dérivé de leur capacité à comprendre fondamentalement le sens des mots utilisés pour nommer les classes de données.
Pour minimiser le temps et les ressources nécessaires à l’entraînement, ainsi que la quantité d’informations auxiliaires nécessaires à l’identification des classes non vues, le ZSL tirent souvent partis de l’apprentissage par transfert, c’est-à-dire la réutilisation d’un modèle entraîné pour une nouvelle tâche, au lieu d’entraîner des modèles à partir de zéro.
L’apprentissage par transfert est beaucoup utilisé dans les méthodes ZSL qui représentent des classes et des échantillons sous forme de plongements sémantiques. Par exemple, un modèle effectuant une classification de texte zero-shot peut utiliser un modèle basé sur un transformeur comme BERT, déjà pré-entraîné sur un corpus massif de données linguistiques, pour convertir les mots en plongements vectoriels. De même, un modèle de classification d’images zero-shot peut réutiliser un réseau neuronal convolutif (CNN) pré-entraîné comme un ResNet ou un U-Net, car il aura déjà appris les poids de filtre permettant d’identifier les caractéristiques d’images importantes qui pourraient éclairer la classification.
L’apprentissage par transfert est particulièrement important pour le GSZL, dans lequel la connaissance du modèle des classes vues peut être utilisée comme information auxiliaire sur les classes non vues. Par exemple, imaginons qu’un modèle de détection d’objets ait déjà appris à reconnaître les grizzlis. Au lieu de l’entraîner à reconnaître également les ours polaires en lui fournissant des exemples étiquetés d’ours polaires, il peut être entraîné à comprendre que les ours polaires ressemblent à des grizzlis à fourrure blanche.
Ce processus de transfert des connaissances acquises vers de nouvelles tâches et différentes classes est également appelé adaptation de domaine.
Les méthodes d’apprentissage zero-shot basées sur les attributs utilisent une logique similaire à celle de l’apprentissage supervisé conventionnel. Plutôt que d’entraîner directement un classificateur sur des exemples étiquetés de chaque classe de données, les classificateurs sont entraînés sur des fonctionnalités étiquetées de certaines classes de données, comme la couleur, la forme ou d’autres caractéristiques clés.
Bien que les classes cibles ne soient pas directement visibles pendant l’entraînement, l’étiquette d’une classe non vue peut être déduite si ses attributs ressemblent à des classes d’attributs présentes dans les données d’entraînement.
Une fois que le classificateur a appris toutes les caractéristiques pertinentes, il peut utiliser les descriptions sémantiques des différentes classes. Cette approche est particulièrement utile lorsque les exemples étiquetés d’une classe cible ne sont pas disponibles, mais que les exemples étiquetés de ses caractéristiques sont relativement abondants. Par exemple, un modèle peut apprendre les « rayures » à partir d’images de tigres et de zèbres ; il peut apprendre le « jaune » à partir d’images de canaris et un « insecte volant » à partir d’images de mouches. Le modèle peut désormais effectuer une classification zero-shot des abeilles, malgré l’absence d’images d’abeilles dans l’ensemble d’apprentissage, car il peut les comprendre comme une combinaison de caractéristiques apprises : « insectes volants jaunes à rayures ».
Bien que polyvalentes et utiles dans de bonnes circonstances, les méthodes ZSL basées sur des attributs présentent des inconvénients importants :
De nombreuses méthodes ZSL représentent à la fois des classes et des échantillons comme des représentations vectorielles sémantiques, c’est-à-dire des représentations vectorielles qui permettent de refléter les fonctionnalités ou la signification de différents points de données (et la relation entre eux). La classification est ensuite déterminée en mesurant la similarité entre la représentation vectorielle sémantique d’un échantillon donné et les représentations vectorielles des différentes classes dans lesquelles il pourrait être classé.
Une fois que les points de données ont été convertis en représentations vectorielles, la classification est déterminée en utilisant des principes similaires à ceux des algorithmes des K plus proches voisins : certains indicateurs de distance, comme la similarité cosinus, la distance euclidienne ou la distance de Wasserstein, permettent de mesurer la proximité de la représentation vectorielle des données d’entrée avec les représentations vectorielles pour chaque classe potentielle. Plus la représentation vectorielle de cet échantillon de données est proche (ou similaire) de la représentation vectorielle d’une classe donnée, plus elle est susceptible d’appartenir à cette classe.
Ces représentations vectorielles peuvent être générées de plusieurs façons. Exemple :
Les modèles et algorithmes pré-entraînés comme BERT, word2vec ou GloVe (Global Vectors) peuvent facilement générer des représentations vectorielles pour les mots (comme les noms des étiquettes de classe).
De même, les réseaux d’encodeurs des CNN pré-entraînés comme ResNet (ou les encodeurs d’images basés sur des transformateurs comme ViT) peuvent faire de même pour les images.
Les auto-encodeurs peuvent apprendre des représentations latentes, c’est-à-dire des encodages compressés de plus petite dimension qui isolent les variables les plus distinctives d’une entrée de données, d’échantillons ou de classes donnés.
Au lieu de l’apprentissage par transfert, diverses architectures de réseaux neuronaux peuvent être entraînées à partir de zéro sur des données d’apprentissage pertinentes, telles que des échantillons de classes de données pour lesquels des exemples étiquetés sont disponibles, afin de générer des représentations vectorielles efficaces.
Comme les méthodes basées sur les représentations vectorielles traitent généralement des informations auxiliaires et des représentations dans l’espace vectoriel de différentes formes (ou modalités) de données, telles que les représentations vectorielles de mots qui décrivent une étiquette de classe et celles d’images de photographies qui pourraient appartenir à cette classe, elles nécessitent un moyen de faciliter la comparaison entre les représentations vectorielles de différents types de données.
Pour être comparées, les représentations vectorielles de types et de tailles différents doivent être normalisées et projetées dans un espace sémantique partagé de grande dimension, appelé espace commun de représentations vectorielles, où elles peuvent être comparées dans un environnement d’entités semblables. Dans l’abstrait, cela fonctionne de manière semblable au concept qui consiste à trouver le plus petit dénominateur commun pour comparer des fractions différentes. Un mappage corrélatif fort entre les différentes sources de représentations vectorielles est essentiel aux performances de généralisation d’un modèle.3
Certains modèles d’apprentissage zero-shot utilisent également l’apprentissage contrastif pour mieux aligner les représentations vectorielles sémantiques de différents modèles ou algorithmes : en utilisant des paires de représentations vectorielles sémantiques, l’apprentissage contrastif entraîne les modèles à minimiser la distance entre les paires « positives » (comme la représentation vectorielle d’une image d’un chien et celle du mot « chien ») et à maximiser la distance entre les paires « négatives » (qui ne correspondent pas).
Un moyen efficace de garantir l’alignement entre les représentations vectorielles de différents modèles est d’entraîner conjointement ces modèles côte à côte. Par exemple, le modèle CLIP (Contrastive Language-Image Pre-training) d’OpenAI a été entraîné sur un énorme jeu de données non étiquetées de plus de 400 millions de paires image-légende provenant d’Internet.4
Ces paires ont permis d’entraîner conjointement un encodeur d’image et un encodeur de texte à partir de zéro, en utilisant la perte contrastive pour maximiser la similarité cosinus entre les représentations vectorielles d’images et les représentations vectorielles de leurs sous-titres correspondants. Cela a permis d’acquérir une aptitude naturelle à la classification zero-shot : sans réglage précis, CLIP a démontré d’excellentes performances de classification sur 27 ensembles de données de classification d’images différents.
L’IA générative offre une solution alternative au problème de l’apprentissage zero-shot : utiliser des informations auxiliaires pour générer des échantillons de données.
Les méthodes génératives peuvent exploiter les représentations sémantiques de classes non vues pour générer des échantillons qui, une fois étiquetés, peuvent être utilisés pour convertir le problème d’apprentissage en apprentissage supervisé standard. Bien que les échantillons non étiquetés (ou les représentations de classes vues étroitement liées) puissent faciliter la synthèse des échantillons, dans un contexte zero-shot, ce processus repose souvent principalement sur des descriptions sémantiques.
Les LLM peuvent réduire le travail nécessaire pour produire des descriptions de haute qualité : dans le document de publication de son modèle de génération de texte vers image DALL-E 3, OpenAI a noté que les légendes synthétiques amélioraient même les performances du modèle par rapport aux légendes de vérité terrain.5
Les auto-encodeurs variationnels (VAE) sont des modèles génératifs auto-supervisés qui apprennent des représentations latentes des données d’entraînement sous la forme d’une distribution paramétrée de variables latentes. En d’autres termes, ils apprennent à coder une classe de données non pas comme une représentation vectorielle sémantique statique, mais comme une distribution de probabilité dans un espace latent. Le décodeur peut ensuite être utilisé pour générer un échantillon aléatoire à partir de cet espace latent. Les VAE conditionnels (CVAE) peuvent contraindre les propriétés des échantillons synthétisés en maximisant la probabilité des variables choisies.
Les GAN sont constitués de deux réseaux neuronaux, entraînés conjointement dans un jeu antagoniste à somme nulle : un générateur qui utilise des attributs sémantiques et un bruit gaussien pour synthétiser les échantillons et un discriminateur qui détermine si les échantillons sont réels ou « faux » (c’est-à-dire synthétisés par le générateur). Le commentaire du discriminateur est utilisé pour entraîner le générateur jusqu’à ce que le discriminateur ne puisse plus faire la distinction entre les vrais et les faux échantillons. Depuis le premier article consacré au GAN en 2014, un certain nombre de modifications ont été apportées pour affiner et stabiliser ce processus.
Les VAE et les GAN présentent tous deux des inconvénients :
Les VAE sont stables, mais ont tendance à générer des images floues en raison de la nature de la façon dont les échantillons sont reconstruits à partir de l’espace latent.
Les GAN apprennent à générer des images de haute qualité, mais sont sujets à la déstabilisation car ils doivent faire converger deux processus d’entraînement distincts.
Bien qu’un certain nombre de modifications aient été développées pour affiner et stabiliser les deux processus, la combinaison des deux architectures de modèles a donné des résultats prometteurs dans un contexte zero-shot.6
Les LLM peuvent également être utilisés pour synthétiser des échantillons étiquetés : par exemple, en utilisant un modèle autorégressif comme Llama 2 pour générer des échantillons permettant d’entraîner un modèle de langage bidirectionnel comme Sentence-BERT pour des tâches de classification de texte.
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.
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.
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écouvrez comment les PDG peuvent trouver un équilibre entre la valeur que l’IA générative peut créer, l’investissement qu’elle exige et les risques qu’elle introduit.
Apprenez des concepts fondamentaux et développez vos compétences grâce à des ateliers pratiques, à des cours, à des projets guidés, à des essais et à d’autres ressources.
Découvrez comment intégrer en toute confiance l’IA générative et le machine learning dans votre entreprise.
Vous voulez obtenir un meilleur retour sur vos investissements dans l’IA ? Découvrez comment la mise à l’échelle de l’IA générative dans des domaines clés favorise le changement en aidant vos meilleurs éléments à créer et à fournir de nouvelles solutions innovantes.
Nous avons interrogé 2 000 entreprises à propos de leurs initiatives d’IA pour découvrir ce qui fonctionne, ce qui ne fonctionne pas et comment progresser.
IBM Granite est notre famille de modèles d’IA ouverts, performants et fiables, conçus pour les entreprises et optimisés pour dimensionner vos applications d’IA. Explorez les options de langage, de code, de séries temporelles et de garde-fous.
Découvrez comment choisir le modèle de fondation d’IA le mieux adapté à votre cas d’utilisation.
Explorez les trois éléments clés d’une stratégie d’IA réussie : créer un avantage concurrentiel, étendre l’IA à l’ensemble de l’entreprise et faire progresser l’IA digne de confiance.
1 « Recognition-by-components : A theory of human image understanding », Psychological Review vol. 94 (pages 115–147), 1987.
2 « Zero-shot Learning Using Multimodal Descriptions », Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, 2022.
3 « Data-Efficient Language-Supervised Zero-Shot Learning with Self-Distillation », arXiv, 18 avril 2021.
4 « CLIP : Connecting text and images », OpenAI, 5 janvier 2021.
5 « Improving Image Generation with Better Captions », OpenAI, 2023.
6 « Zero-VAE-GAN : Generating Unseen Features for Generalized and Transductive Zero-Shot Learning », PubMed, 13 janvier 2023.