L’apprentissage few-shot est un framework de machine learning dans lequel un modèle d’IA apprend à effectuer des prédictions précises en s’entraînant sur un très petit nombre d’exemples étiquetés. Cette méthode est généralement utilisée pour entraîner des modèles pour des tâches de classification lorsque les données d’entraînement appropriées sont rares.
L’apprentissage few-shot (FSL) est un sous-ensemble de ce que l’on appelle parfois plus généralement l’apprentissage n-shot, une catégorie d’intelligence artificielle qui comprend également l’apprentissage one-shot (qui ne comporte qu’un seul exemple étiqueté de chaque classe à apprendre) et l’apprentissage zero-shot (qui ne comporte aucun exemple étiqueté). Alors que l’apprentissage one-shot est essentiellement une variante plus complexe du FSL, l’apprentissage zero-shot est un problème d’apprentissage distinct qui nécessite des méthodologies qui lui sont propres.
En principe, le FSL vise à imiter la capacité humaine à apprendre à partir de quelques exemples. Ce qui n’est pas le cas de l’apprentissage supervisé conventionnel, qui utilise généralement plusieurs centaines (ou milliers) de points de données étiquetés sur plusieurs cycles d’entraînement pour apprendre aux modèles d’IA à reconnaître les classes de données. Bien que puissant, l’apprentissage supervisé n’est pas pratique dans certaines situations réelles : il est souvent difficile d’obtenir des exemples étiquetés en raison des coûts prohibitifs et de l’expertise spécifique nécessaire pour annoter correctement les données, ou de la rareté des échantillons existants comme dans le domaine de l’écriture manuscrite, des maladies rares ou des espèces en voie d’extinction et récemment découvertes.
Bien que certains algorithmes et architectures de réseaux neuronaux spécifiques aient obtenu des succès notables dans les tâches FSL, l’apprentissage few-shot est défini par la nature du problème d’apprentissage plutôt que par l’utilisation d’une méthode ou d’une structure de modèle donnée. Les méthodes d’apprentissage few-shot sont très variées, allant de l’adaptation de modèles pré-entraînés pour une utilisation dans des tâches similaires à l’utilisation de modèles génératifs pour créer de nouveaux échantillons, en passant par les méthodes de méta-apprentissage qui entraînent les modèles à bien généraliser à de nouveaux problèmes de classification et à différentes classes de données, plutôt qu’à exécuter une tâche spécifique.
Bien que l’apprentissage few-shot puisse utiliser une grande variété d’algorithmes ou d’architectures de réseaux neuronaux, la plupart des méthodes reposent sur l’apprentissage par transfert ou le méta-apprentissage (ou une combinaison des deux).
Si l’apprentissage few-shot peut aussi être appliqué aux tâches de régression (ou même à l’apprentissage par renforcement), la plupart des publications concernant le FSL se concentrent sur les cas d’utilisation de la classification. Certaines méthodes FSL peuvent être utilisées conjointement avec d’autres solutions pour remédier à la rareté des données étiquetées : par exemple avec les méthodes d’apprentissage semi-supervisé qui intègrent des informations provenant de grandes quantités de données non étiquetées, ainsi que des informations issues d’un apprentissage de type few-shot sur les quelques échantillons étiquetés disponibles.1
Les méthodes basées sur l’apprentissage par transfert se concentrent sur l’adaptation d’un modèle pré-entraîné pour apprendre de nouvelles tâches ou des classes de données encore inconnues.
Lorsque peu d’échantillons étiquetés sont disponibles, utiliser l’apprentissage supervisé pour entraîner un modèle à partir de zéro conduit souvent à un surajustement. C’est le cas notamment des modèles comportant un grand nombre de paramètres, comme les réseaux neuronaux convolutifs (CNN) généralement utilisés en vision par ordinateur ou les réseaux basés sur des transformeurs pour le traitement automatique du langage naturel (NLP). Le modèle peut donner de bons résultats sur des données de test, mais de mauvais résultats sur des données réelles. Cependant, la collecte d’une quantité de données suffisamment importante pour éviter le surajustement constitue souvent un obstacle à l’entraînement des modèles.
L’apprentissage par transfert offre une solution pratique, car il tire parti de fonctionnalités et de représentations utiles qu’un modèle entraîné a déjà apprises. Une approche simple consiste à affiner un modèle de classification pour effectuer la même tâche pour une nouvelle classe grâce à un apprentissage supervisé sur un petit nombre d’exemples étiquetés. Des approches plus complexes enseignent de nouvelles compétences par conception de tâches en aval pertinentes (souvent de méta-apprentissage) à un modèle qui a été pré-entraîné via des tâches prétextes auto-supervisées : cette méthode est de plus en plus utilisée en NLP, en particulier dans le contexte des modèles de fondation.
Des approches plus complexes d’apprentissage par transfert adaptent un réseau neuronal entraîné via des modifications de l’architecture réseau : par exemple, en remplaçant ou en réentraînant les couches externes d’un réseau neuronal, où se produit la classification finale, tout en conservant les couches internes où se produit l’extraction des caractéristiques. Le gel des poids des modèles (ou la régularisation des modifications apportées) pour toutes les couches sauf les plus externes peut garantir que les modifications ultérieures n’entraîneront pas un « oubli catastrophique » des connaissances déjà acquises. Dans un contexte few-shot, cela permet d’accélérer considérablement l’apprentissage.
L’apprentissage par transfert est plus efficace lorsque l’entraînement initial du modèle est pertinent pour la nouvelle tâche. Par exemple, un modèle entraîné à reconnaître certaines espèces d’oiseaux se généralisera correctement à d’autres espèces d’oiseaux qu’il ne connaît pas après l’avoir réglé à l’aide de quelques échantillons étiquetés, car les poids appris des filtres que le CNN utilise pour les convolutions sont déjà optimisés pour capturer les caractéristiques qui correspondent à la classification des oiseaux (comme le plumage, le bec, la taille des ailes, etc.). En revanche, l’utilisation de l’apprentissage few-shot pour apprendre au même modèle à reconnaître des véhicules donnera des résultats moins satisfaisants.
Une solution au problème des échantillons de données étiquetés limités consiste à générer des échantillons d’entraînement supplémentaires. C’est particulièrement utile lorsque les exemples concrets d’une certaine classe de données sont extrêmement rares, comme dans le cas des maladies rares ou des espèces exotiques.
La génération de données, via des modèles génératifs tels que les réseaux antagonistes génératifs (GAN) ou les auto-encodeurs variationnels (VAE), peut potentiellement produire suffisamment d’échantillons ressemblant aux échantillons étiquetés d’origine pour effectuer un apprentissage supervisé conventionnel, à condition que les échantillons d’origine soient suffisamment diversifiés pour éviter un surajustement.
L’augmentation des données, c’est-à-dire le processus de création de nouveaux échantillons en appliquant différentes transformations aux échantillons d’origine, peut être combinée à d’autres méthodes. Elle peut ainsi permettre de créer des échantillons de correspondance à utiliser dans le méta-apprentissage métrique dans un processus similaire à l’apprentissage auto-supervisé contrastif.
Contrairement à l’apprentissage supervisé ou au réglage précis dans lequel un classificateur est entraîné sur des tâches exactes pour lesquelles il sera utilisé et où l’ensemble d’entraînement contient les mêmes classes sur lesquelles le modèle sera testé, le méta-apprentissage adopte une approche plus large et plus indirecte. Alors que les approches basées sur l’apprentissage par transfert adaptent les modèles pré-entraînés, les méthodes de méta-apprentissage entraînent souvent les systèmes de bout en bout en partant de zéro.
Selon Santoro et al., le « méta-apprentissage » fait référence à des scénarios dans lesquels plusieurs tâches sont utilisées pour entraîner un modèle à la fois à court et à long terme. Au sein de chaque tâche, le modèle apprend rapidement à faire des prédictions pertinentes pour le domaine limité de cette tâche spécifique ; à travers les tâches, le modèle acquiert progressivement des connaissances en capturant la manière dont les modèles et la structure des tâches varient selon les domaines cibles. Ce processus à deux niveaux est souvent décrit comme le modèle « apprendre à apprendre ».2
Par exemple, l’objectif de nombreuses méthodes de méta-apprentissage de premier plan est d’entraîner une fonction de modèle, sur plusieurs épisodes d’entraînement, à générer une prédiction du degré de similitude entre les points de données de toutes les classes, y compris les classes que le modèle n’a pas encore vues, pour ensuite utiliser les enseignements de ce processus pour résoudre des tâches en aval (comme des problèmes de classification spécifiquement définis).
Certaines approches de méta-apprentissage fonctionnent à un niveau plus abstrait, en entraînant des modèles plus faciles à entraîner. Dans l’apprentissage supervisé traditionnel, les paramètres d’un modèle (comme les poids et les biais) sont ce qui est « appris », tandis que les hyperparamètres du modèle, comme le taux d’apprentissage ou la manière dont les paramètres sont initialisés, sont configurés avant l’entraînement et ne font pas partie du processus d’apprentissage. Le méta-apprentissage permet d’obtenir une approximation des avantages de l’apprentissage par transfert en apprenant des points de départ idéaux : les initialisations de paramètres ou d’autres choix d’hyperparamètres qui se généraliseront à différents ensembles de données en un minimum d’étapes d’entraînement.
Bien qu’une grande variété d’architectures de modèles de machine learning puisse être utilisée pour l’apprentissage few-shot, la structure de l’entraînement et de l’évaluation du FSL suit généralement un cadre N-way-K-shot, dans lequel N représente le nombre de classes et K le nombre d’exemples (ou « shots ») fournis pour chaque classe.
Dans la classification N-Way-K-Shot, le modèle subit plusieurs épisodes d’entraînement. Chaque épisode d’entraînement comprend une ou plusieurs tâches d’entraînement. Les modèles sont évalués via des tâches de test dont la structure reflète celle des tâches d’entraînement. Chaque tâche d’entraînement (et tâche de test) comprend deux ensembles de données :
L’objectif du méta-apprentissage étant d’entraîner des modèles à bien se généraliser à des données encore inconnues, plutôt que de reconnaître des classes de données spécifiques, chaque tâche d’entraînement inclut généralement des classes de données différentes de celles utilisées dans les tâches d’entraînement précédentes.
Pour tester la capacité du modèle à faire des prédictions de similarité précises pour des classes jusque-là inconnues, l’ensemble de support et l’ensemble de requêtes utilisés pour le test doivent contenir des classes de données entièrement nouvelles auxquelles le modèle n’a pas encore été exposé dans des tâches d’entraînement.
Les algorithmes de méta-apprentissage basés sur des métriques fonctionnent sur un principe similaire à celui des K plus proches voisins : au lieu de prédire la classification en modélisant directement la limite de décision entre les classes, les approches basées sur des métriques génèrent une valeur continue (comme une représentation vectorielle) pour représenter un échantillon de données spécifique, et faire des inférences en apprenant une fonction qui mesure une certaine distance représentant la similarité entre cette valeur et la valeur des différents échantillons ou classes auxquels elle est comparée.
Les réseaux siamois, un développement relativement précoce des algorithmes basés sur les métriques, résolvent les problèmes de classification binaire en utilisant l’apprentissage contrastif : sur deux échantillons présentés, les réseaux siamois prédisent s’il s’agit d’une paire positive (concordance) ou négative (non-concordance). La fonction de perte du modèle permet de minimiser la distance entre les représentations vectorielles de paires positives et maximiser la distance entre les représentations de paires négatives. Les modèles de perte de triplets sont assez similaires : selon un échantillon « d’ancrage » et deux échantillons supplémentaires, un concordant et un non-concordant, le modèle prédit lequel est une correspondance positive et lequel ne l’est pas.
Dans les deux méthodes, il est important que les échantillons d’entraînement soient relativement difficiles à distinguer les uns des autres, sinon le modèle ne sera pas forcé d’apprendre des paramètres qui produisent des représentations plus efficaces. L’augmentation des données est souvent utilisée lorsque les échantillons concordants sont rares.
Alors que les réseaux siamois ne peuvent résoudre que des tâches de classification binaire, les réseaux de correspondance peuvent effectuer une classification multivoie. À ce titre, ils sont considérés comme l’un des premiers algorithmes d’apprentissage « few-shot » dédiés.
Les réseaux de correspondance génèrent une représentation pour chaque échantillon dans les ensembles de support et de requêtes à l’aide d’un réseau neuronal approprié (tel qu’un CNN pour les tâches d’image ou LLM pour les tâches en langage naturel) et prédisent la classification en mesurant la distance cosinus entre la représentation de l’échantillon de requêtes et celle des échantillons de support disponibles.
Les réseaux prototypiques calculent les caractéristiques moyennes de tous les échantillons disponibles pour chaque classe afin de calculer un prototype pour chaque classe. La classification d’un point de données défini est ensuite déterminée par sa proximité relative avec les prototypes de chaque classe. Contrairement aux réseaux de correspondance, les réseaux prototypiques utilisent la distance euclidienne plutôt que la distance cosinus.
De nombreuses améliorations de cette approche ont été proposées : par exemple, Zhu et Koniusz ont suggéré d’utiliser la propagation d’étiquettes pour améliorer le processus de prototypage.3
Un réseau de relations (RN) fonctionne sur le même principe général que les réseaux de correspondance et prototypiques. Les RN utilisent également un module de représentations qui apprend à calculer les représentations pour les images d’entrée et les prototypes de classe. Mais contrairement à ces deux algorithmes, qui prédéfinissent la fonction de distance utilisée pour comparer les représentations, les RN ajoutent un module de relations qui apprend une fonction de distance non linéaire qui convient le mieux aux problèmes de classification spécifiques rencontrés.
Le deep learning nécessite traditionnellement de nombreuses mises à jour itératives des paramètres du modèle par le biais de la rétropropagation et de la descente de gradient, qui à son tour dépend d’une énorme quantité d’exemples étiquetés pour alimenter les lots d’entraînement. Pour entraîner efficacement un réseau neuronal à partir de zéro pour l’apprentissage few-shot, il faut pouvoir optimiser les poids des modèles en seulement quelques étapes de mise à jour.
Les approches de méta-apprentissage basées sur l’optimisation, également appelées méta-apprentissage basé sur les gradients (GMBL), visent à apprendre les paramètres initiaux du modèle ou les hyperparamètres d’un réseau neuronal qui peuvent être réglés efficacement pour des tâches pertinentes. La technique consiste à optimiser le processus de descente de gradient, c’est-à-dire à méta-optimiser le processus d’optimisation lui-même.
Le MAML (Model Agnostic Meta Learning) figure parmi les approches basées sur l’optimisation les plus importantes et a servi de fondement à un certain nombre de méthodes dérivées de sa méthodologie de base. Comme son nom l’indique, le méta-apprentissage indépendant du modèle ne se concentre pas sur une tâche spécifique ou sur une architecture de modèle d’IA : il peut être utilisé sur n’importe quel modèle qui apprend par descente de gradient.
Le MAML implique deux niveaux différents de mise à jour des paramètres sur un ensemble de tâches d’entraînement FSL variées, p(T). Dans chaque épisode d’entraînement, une nouvelle tâche Ti est échantillonnée au hasard à partir de p(T) ; la descente de gradient, réalisée en K étapes de taille α, est utilisée pour optimiser un vecteur de paramètres de modèle spécifiques à une tâche (θ’i) après chaque tâche d’entraînement. Sur plusieurs épisodes d’entraînement, un ensemble de méta-paramètres (θ) est optimisé en appliquant une descente de gradient, par méta-étapes de taille β, aux paramètres θ’i spécifiques à la tâche. En d’autres termes, alors que la descente de gradient ordinaire calcule les dérivées afin d’optimiser les paramètres d’un modèle pour une tâche donnée, le MAML calcule les dérivées des dérivées (ou « dérivées du second ordre ») pour optimiser les paramètres initiaux d’un modèle en vue d’une optimisation ultérieure spécifique à la tâche.
Selon l’article original, l’objectif est de « trouver des paramètres de modèle qui sont sensibles aux changements dans la tâche, de sorte que de petites modifications des paramètres produisent de grandes améliorations sur la fonction de perte de toute tâche tirée de p(T). Cela offre des avantages similaires à ceux de l’apprentissage par transfert, tout en contournant le besoin de grandes quantités de données étiquetées pour le pré-entraînement.
Les adaptations proposées pour le modèle MAML sont notamment les suivantes :
MAML du premier ordre (FOMAML) : le recours de MAML aux dérivées du second ordre est coûteux en termes de calcul et nécessite beaucoup de mémoire. FOMAML simplifie le processus via une série d’hypothèses qui permettent une méta-optimisation en utilisant uniquement des dérivées du premier ordre.
Reptile : Reptile présente un point intermédiaire entre la sophistication de MAML et la simplicité de FOMAML : il utilise des dérivées du premier ordre, mais implémente des règles uniques pour la façon dont les paramètres sont mis à jour.4
Optimisation de la taille des pas : des variantes comme Meta-SGD5 et Alpha MAML6 permettent d’optimiser la taille et la direction des pas pour α et β. De même, MAML++7 introduit un certain nombre de modifications pour accroître la stabilité et l’efficacité des calculs.
Les approches de méta-apprentissage peuvent utiliser des réseaux de mémoire à long et à court terme (LSTM) basés sur des RNN pour entraîner un modèle de méta-apprenant afin de capturer à la fois les connaissances à court terme de chaque tâche d’entraînement et les connaissances à long terme communes à chaque tâche. Ce méta-apprenant est ensuite utilisé pour entraîner un classificateur de réseau neuronal.
Plutôt que d’instancier et de mettre à jour explicitement un ensemble unique de méta-paramètres de modèle θ, l’optimisation par représentation latente apprend une distribution générative de paramètres de modèle spécifiques à une tâche d’une manière similaire aux auto-encodeurs variationnels (VAE), qui servent le même objectif. L’optimisation des gradients peut alors être effectuée au sein de cet espace de représentation appris à faible dimension.
Les techniques d’apprentissage à partir d’un petit nombre d’exemples ont une grande variété d’applications, car de nombreux secteurs et domaines de recherche peuvent bénéficier de la capacité d’apprendre rapidement et efficacement à partir d’un nombre relativement limité d’exemples.
Alors que de nombreux algorithmes FSL de premier plan ont été développés à l’origine (ou ont fait leurs preuves) pour des tâches de classification d’images, le FSL peut également être utilisé pour des problèmes de vision par ordinateur plus complexes.
Bien que la détection d’objets soit un problème beaucoup plus complexe que la classification d’images, dans la mesure où les objets doivent être non seulement classifiés mais aussi localisés avec précision, la classification d’images est généralement une condition préalable. Ainsi, de nombreuses idées utilisées pour la classification peuvent être adoptées pour la détection d’objets few-shot.8
De même, un certain nombre d’architectures de modèles ont été proposées pour la segmentation sémantique few-shot.9
Le FSL peut permettre aux robots de s’adapter rapidement à de nouveaux environnements et à de nouvelles tâches grâce à des tâches de classification few-shot10 et à l’apprentissage par renforcement.11
Le FSL a montré des résultats prometteurs pour le traitement du langage naturel (NLP), notamment grâce à l’apprentissage par transfert : il s’agit d’un moyen intuitif d’adapter de grands modèles de langage (LLM), pré-entraînés sur un corpus massif de données non étiquetées, à des tâches spécifiques telles que la classification de textes et l’analyse de sentiments qui peuvent nécessiter une compréhension contextuelle spécifique.
Le potentiel du FSL pour acclimater rapidement un modèle à des classes de données rares et inconnues est particulièrement prometteur pour les domaines médicaux, dans lesquels la rareté de certaines affections ou l’expertise requise pour annoter avec précision des données médicales (comme les IRM ou l’échocardiographie) peuvent rendre l’acquisition d’un grand nombre d’échantillons étiquetés extrêmement difficile.
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.
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.
Découvrez comment choisir le modèle de fondation d’IA le mieux adapté à votre cas d’utilisation.
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.
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.
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.
1 « Realistic Evaluation of Deep Semi-Supervised Learning Algorithms », arXiv, 17 juin 2019
2 « A survey on semi-supervised learning », Springer, 15 novembre 2019
3 « Transductive active learning – A new semi-supervised learning approach based on iteratively refined generative models to capture structure in data », Information Sciences (Volume 293), 18 septembre 2014
4 « Semantic Segmentation with Active Semi-Supervised Learning », arXiv, 16 octobre 2022
5 « Semi-supervised learning by Entropy Minimization », Advances in Neural Information Processing Systems 17, 2004
6 « Density-based semi-supervised clustering », Data Mining and Knowledge Discovery, novembre 2010
7 « Semi-Supervised Learning with Ladder Networks », arXiv, 24 novembre 2015
8 « Learning with Pseudo-Ensembles », arXiv, 16 décembre 2014
9 « Temporal Ensembling for Semi-Supervised Learning », arXiv, 15 mars 2017
10 « Improved Techniques for Training GANs », arXiv, 10 juin 2016