Few-Shot Learning
Le few-shot learning (FSL) est un paradigme de machine learning dans lequel un modèle apprend à reconnaître de nouvelles classes ou à réaliser de nouvelles tâches à partir de seulement quelques exemples labellisés (typiquement 1 à 10 par classe), en s’appuyant sur des connaissances préalablement acquises lors d’un entraînement sur des tâches connexes.
- Alias
- FSL, apprentissage à partir de peu d’exemples
- Catégorie
- Meta-learning / Apprentissage par transfert
- Variantes
- One-shot learning (1 exemple), zero-shot learning (0 exemple)
- Familles
- Metric-based, optimization-based, transfer-based
- Benchmark clé
- miniImageNet (5-way 5-shot : ~68-82% selon méthode)
- Usage LLM
- Few-shot prompting / in-context learning
Pourquoi le few-shot learning existe
Le deep learning classique est vorace en données. Entraîner un classificateur d’images performant nécessite des milliers, voire des millions d’exemples labellisés par classe. En vision par ordinateur, en NLP, en robotique, cette exigence est souvent irréaliste. Les données labellisées sont coûteuses à produire (imagerie médicale nécessitant un expert pathologiste), rares par nature (espèces menacées, défauts industriels peu fréquents), ou sensibles en termes de confidentialité (données médicales, financières).
Le few-shot learning renverse cette logique. Au lieu d’apprendre chaque tâche de zéro avec des tonnes de données, le modèle apprend à apprendre. Il acquiert, sur un grand nombre de tâches d’entraînement, la capacité de s’adapter rapidement à une nouvelle tâche à partir de quelques exemples seulement. L’analogie humaine est directe : vous n’avez pas besoin de voir 10 000 photos d’un zèbre pour reconnaître un zèbre. Quelques images suffisent, parce que vous savez déjà ce qu’est un animal, une forme, une texture rayée.
Le paradigme N-way K-shot
Le few-shot learning s’évalue via un protocole standardisé appelé N-way K-shot. Le principe : on présente au modèle N classes qu’il n’a jamais vues, avec K exemples labellisés pour chacune (le support set). Le modèle doit ensuite classifier correctement de nouvelles données non labellisées (le query set) parmi ces N classes.
Les configurations les plus courantes sont le 5-way 1-shot (5 classes, 1 exemple chacune) et le 5-way 5-shot (5 classes, 5 exemples chacune). La première teste la capacité d’apprentissage extrême avec un minimum absolu de données. La seconde offre un peu plus de marge et représente le scénario le plus évalué dans la littérature.
Entraînement épisodique
L’astuce fondamentale du FSL est l’entraînement épisodique. Plutôt que de montrer au modèle toutes les données d’entraînement en vrac, on simule des milliers de « mini-tâches » (épisodes) qui reproduisent exactement les conditions du test. Chaque épisode échantillonne aléatoirement N classes parmi les classes d’entraînement, tire K exemples par classe comme support set, puis évalue sur un query set.
Le modèle voit ainsi des milliers de tâches N-way K-shot pendant l’entraînement. Il n’apprend pas à reconnaître des classes spécifiques (les classes de test sont complètement disjointes des classes d’entraînement), mais à résoudre le problème général de classification à partir de peu d’exemples. C’est du meta-learning : apprendre à apprendre.
Les trois familles de méthodes
Les approches de few-shot learning se divisent en trois grandes catégories, chacune avec une philosophie différente pour résoudre le problème de la rareté des données.
Méthodes basées sur les métriques (metric-based)
L’idée centrale : apprendre un espace d’embedding dans lequel les exemples de la même classe sont proches et ceux de classes différentes sont éloignés. À l’inférence, on classifie simplement par proximité. Aucune mise à jour de gradient n’est nécessaire au moment du test, ce qui rend l’inférence rapide.
Matching Networks (Vinyals et al., 2016) sont le travail fondateur. Ils apprennent un embedding qui encode les exemples du support set et du query set, puis utilisent un mécanisme d’attention (attention kernel) pour mesurer la similarité entre un exemple de requête et chaque exemple du support. La classification se fait par un vote pondéré par la similarité.
Prototypical Networks (Snell et al., 2017) simplifient cette approche. Pour chaque classe, on calcule le prototype (la moyenne des embeddings du support set). On classifie ensuite chaque requête en mesurant sa distance euclidienne aux prototypes. Malgré sa simplicité, cette méthode est remarquablement efficace : environ 68% de précision sur miniImageNet en 5-way 5-shot avec un encodeur simple (Conv-4).
TADAM (Oreshkin et al., 2018) améliore les Prototypical Networks en rendant les embeddings spécifiques à la tâche. Pour classifier des oiseaux, le réseau accentue les features de texture et de couleur. Pour des voitures, il privilégie les features de forme. Ce task conditioning booste les performances à environ 76,7% sur miniImageNet 5-way 5-shot.
Relation Networks (Sung et al., 2018) remplacent la distance euclidienne fixe par un module de relation appris. Un second réseau neuronal prend en entrée les features de l’exemple de requête et du support, et prédit directement un score de similarité. C’est plus flexible mais plus lent à l’inférence.
| Méthode | Année | miniImageNet 5-way 5-shot | Principe clé |
|---|---|---|---|
| Matching Networks | 2016 | ~55-60% | Attention sur le support set |
| Prototypical Networks | 2017 | ~68% | Distance aux prototypes de classe |
| Relation Networks | 2018 | ~65% | Score de similarité appris |
| TADAM | 2018 | ~76,7% | Embeddings conditionnés par la tâche |
| SimpleShot (baseline) | 2019 | ~81,5% | ResNet pré-entraîné + L2 + nearest centroid |
Méthodes basées sur l’optimisation (optimization-based)
Ces méthodes cherchent des paramètres d’initialisation qui permettent une adaptation rapide à une nouvelle tâche en seulement quelques pas de gradient. Au lieu de figer le modèle après l’entraînement, on continue à le fine-tuner sur le support set de chaque nouvelle tâche.
MAML (Finn et al., 2017) est l’algorithme fondateur de cette famille. Il utilise deux boucles d’optimisation imbriquées : la boucle interne adapte le modèle à une tâche spécifique via quelques pas de gradient sur le support set, la boucle externe ajuste les paramètres d’initialisation pour que l’adaptation interne soit la plus efficace possible. MAML atteint environ 63% sur miniImageNet 5-way 5-shot. Sa force est d’être agnostique au modèle : il fonctionne avec n’importe quelle architecture différentiable.
LEO (Rusu et al., 2019) résout un problème clé de MAML : fine-tuner des millions de paramètres à partir de 5 exemples provoque de l’overfitting. LEO optimise dans un espace latent de faible dimension, puis décode vers les paramètres complets du modèle. Résultat : environ 77,6% sur miniImageNet 5-way 5-shot.
Reptile (Nichol et al., 2018) simplifie MAML en éliminant le calcul coûteux des gradients de second ordre. Au lieu de la double boucle de MAML, Reptile effectue simplement quelques pas de SGD sur chaque tâche, puis déplace les paramètres globaux vers les paramètres adaptés. C’est une approximation de premier ordre, beaucoup plus simple à implémenter, avec des performances compétitives.
Méthodes basées sur le transfer learning
L’approche la plus pragmatique : pré-entraîner un réseau profond sur un grand dataset (les classes d’entraînement), puis adapter les dernières couches ou le classificateur final sur le support set de la nouvelle tâche. C’est du transfer learning classique appliqué au contexte few-shot.
Le Meta-Transfer Learning combine pré-entraînement et meta-learning : on pré-entraîne un réseau profond sur les classes de base, on gèle la majorité des couches comme extracteur de features, puis on meta-apprend uniquement le classificateur final. Cette approche est la plus pratique pour les systèmes en production car elle est simple à implémenter et bénéficie de la richesse des features des grands réseaux pré-entraînés.
Le résultat ICLR 2020 d’une baseline de fine-tuning transductif a montré que cette approche simple surpassait l’état de l’art sur miniImageNet, tieredImageNet, CIFAR-FS et FC-100. Le message : ne sous-estimez jamais une baseline bien implémentée.
Few-shot learning et LLM : l’in-context learning
L’article « Language Models are Few-Shot Learners » (Brown et al., 2020) a redéfini le concept de few-shot learning pour les grands modèles de langage. GPT-3, avec ses 175 milliards de paramètres, a démontré qu’il pouvait réaliser de nouvelles tâches simplement en recevant quelques exemples dans le prompt, sans aucune mise à jour de poids. C’est le few-shot prompting, une forme d’in-context learning (ICL).
Le mécanisme est fondamentalement différent du FSL classique en vision. En FSL classique, le modèle est explicitement entraîné pour s’adapter à de nouvelles tâches (via l’entraînement épisodique ou MAML). En few-shot prompting, le modèle n’est pas modifié : les exemples sont simplement placés dans le contexte (le prompt), et le modèle utilise ses capacités de prédiction du prochain token pour imiter le pattern des exemples fournis.
Comment fonctionne l’in-context learning
Des recherches récentes suggèrent que l’attention des Transformers implémente implicitement un algorithme d’optimisation (similaire à la descente de gradient) sur les exemples du contexte. Le modèle ne se contente pas de « copier » le pattern des exemples : il extrait une représentation de la tâche et l’applique aux nouvelles requêtes. Des études montrent même que le few-shot prompting fonctionne avec des labels aléatoires (ce qui suggère que le format et la structure importent autant que les labels eux-mêmes).
Bonnes pratiques du few-shot prompting
Pour les LLM actuels comme ChatGPT, Claude ou Gemini, le few-shot prompting reste une technique essentielle :
Choisissez des exemples diversifiés et représentatifs. Si vous voulez classifier des sentiments, incluez des cas positifs, négatifs et ambigus. L’ordre des exemples peut influencer la réponse : placez les cas les plus représentatifs en premier. Le nombre optimal d’exemples dépend de la complexité de la tâche : 3 à 5 exemples suffisent souvent pour des tâches de classification simple, davantage pour des tâches complexes.
Combinez le few-shot prompting avec le chain-of-thought (CoT) pour les tâches de raisonnement. Au lieu de montrer uniquement l’entrée et la sortie, montrez aussi le raisonnement intermédiaire. Cette combinaison est significativement plus performante que le few-shot standard sur les problèmes de mathématiques, logique et raisonnement multi-étapes.
Benchmarks et datasets
L’évaluation du few-shot learning repose sur des benchmarks standardisés avec des protocoles précis. Voici les principaux :
| Benchmark | Domaine | Classes | Split (train/val/test) | Difficulté |
|---|---|---|---|---|
| miniImageNet | Vision générale | 100 (600 images/classe) | 64 / 16 / 20 | Standard |
| tieredImageNet | Vision (hiérarchique) | 608 classes, 34 super-catégories | 351 / 97 / 160 | Élevée (classes sémantiquement distantes) |
| Omniglot | Caractères manuscrits | 1 623 caractères, 50 alphabets | Variable | Faible (historique) |
| CIFAR-FS | Vision générale | 100 (600 images/classe) | 64 / 16 / 20 | Standard |
| CUB-200-2011 | Classification fine-grained (oiseaux) | 200 espèces | Variable | Élevée (différences subtiles) |
| Meta-Dataset | Multi-domaine | 10 datasets combinés | Variable | Très élevée (cross-domain) |
miniImageNet est le benchmark de référence que tout article FSL doit rapporter. Cependant, des recherches (ICLR 2020) ont soulevé des doutes sur la signification réelle des progrès sur ce benchmark : la variance entre épisodes est très élevée, et des baselines simples (fine-tuning transductif) rivalisent avec les méthodes sophistiquées. tieredImageNet est préférable pour tester la vraie généralisation car les classes de test sont sémantiquement éloignées des classes d’entraînement (pas le cas sur miniImageNet).
Applications concrètes
Imagerie médicale
L’imagerie médicale est le cas d’usage par excellence du FSL. Les maladies rares n’ont, par définition, que peu de cas documentés. Former un expert médical pour annoter des images est coûteux. Le few-shot learning permet d’entraîner des classificateurs de lésions cutanées, de tumeurs ou de pathologies rétiniennes à partir de quelques dizaines d’images annotées par un pathologiste.
L’approche GPT-4V avec in-context learning appliquée à la classification de cancers colorectaux et à la détection de tumeurs dans les ganglions lymphatiques montre que même quelques exemples visuels dans le prompt suffisent pour obtenir des performances compétitives avec des réseaux spécialisés. C’est un changement de paradigme pour la médecine numérique.
Vision industrielle et contrôle qualité
Les défauts de fabrication sont par nature rares et variés. Un nouveau type de défaut peut apparaître sans préavis. Le few-shot learning permet d’entraîner un détecteur de défauts avec seulement quelques exemples du nouveau type, sans réentraîner tout le système. Les Prototypical Networks sont particulièrement adaptés ici car ils permettent une mise à jour rapide du détecteur en ajoutant simplement les embeddings de nouveaux exemples.
NLP et classification de texte
SetFit (Sentence Transformer Fine-Tuning) est une approche spécialisée pour le few-shot learning en classification de texte. Elle fine-tune un modèle de type Sentence-BERT sur des paires contrastives générées à partir des quelques exemples disponibles, puis entraîne un classificateur sur les embeddings obtenus. Les performances sont remarquables avec seulement 8 à 16 exemples par classe.
Dans le contexte réglementaire, des LLM open-source comme Flan-T5 ont démontré des capacités de zero-shot et few-shot learning compétitives avec des modèles BioBERT fine-tunés sur des milliers d’exemples, pour des tâches comme l’identification d’interactions médicamenteuses dans les notices pharmaceutiques.
Robotique
Un robot doit apprendre à manipuler de nouveaux objets, s’adapter à de nouveaux environnements, exécuter de nouvelles instructions. MAML et ses variantes sont largement utilisés en robotique car ils permettent une adaptation rapide des politiques de contrôle à partir de quelques démonstrations ou essais. Le robot apprend une initialisation des paramètres qui facilite l’adaptation rapide à chaque nouvelle tâche motrice.
Sécurité et authentification
La reconnaissance faciale one-shot (vérifier qu’un visage correspond à une photo d’identité) est l’une des applications les plus déployées du FSL. Les Siamese Networks, qui comparent deux images en mesurant la similarité de leurs embeddings, sont le fondement de nombreux systèmes biométriques. La vérification de signatures manuscrites fonctionne sur le même principe.
Few-shot learning et apprentissage autosupervisé
La combinaison du FSL avec l’apprentissage autosupervisé (SSL) représente une direction de recherche prometteuse. L’idée : pré-entraîner un encodeur de features via SSL sur un grand volume de données non labellisées, puis utiliser cet encodeur comme backbone pour le few-shot learning.
Des travaux montrent que le SSL (MoCo, SimCLR, BYOL) produit des features plus robustes et transférables que l’entraînement supervisé classique, ce qui bénéficie directement au FSL. Avec des données SSL issues d’ImageNet (900 classes), les performances en FSL augmentent d’environ 16% par rapport aux baselines supervisées. Le contrastive learning est particulièrement adapté car il apprend naturellement des embeddings où les exemples similaires sont proches, exactement ce dont les méthodes metric-based ont besoin.
Limites et défis actuels
Fragilité des benchmarks
Les progrès mesurés sur miniImageNet sont à prendre avec précaution. La variance entre épisodes est très élevée, et les intervalles de confiance des différentes méthodes se chevauchent souvent. Des baselines simples (fine-tuning transductif, SimpleShot) rivalisent avec des méthodes de meta-learning sophistiquées. Le problème n’est pas que le FSL ne fonctionne pas, c’est que les benchmarks actuels ne discriminent peut-être pas suffisamment les méthodes.
Cross-domain few-shot learning
La plupart des benchmarks évaluent le FSL sur des classes du même domaine (toutes issues d’ImageNet). En pratique, le défi est souvent cross-domain : entraîner sur des images naturelles et s’adapter à de l’imagerie médicale, par exemple. Le distributional shift entre domaines rend le problème significativement plus difficile. Les benchmarks cross-domain comme Meta-Dataset et miniImageNet → CUB évaluent cette dimension.
Open-task few-shot learning
Les protocoles standard utilisent un N et un K fixes pendant l’entraînement et le test. En déploiement réel, le nombre de classes et d’exemples varie. Des travaux récents (Open-MAML, publiés dans Scientific Reports en 2026) formalisent ce problème comme un « structural shift » épisodique : le modèle doit extrapoler vers des configurations N-way K-shot qu’il n’a jamais vues pendant l’entraînement.
Qualité critique des exemples
Avec 5 exemples par classe, chaque label compte. Un seul exemple mal labellisé ou non représentatif peut dégrader fortement les performances. Le FSL réduit le volume d’annotation nécessaire mais augmente drastiquement les exigences de qualité. Le consensus multi-annotateurs et l’annotation experte deviennent indispensables, pas optionnels.
Frameworks et outils
| Outil | Type | Méthodes incluses | Licence |
|---|---|---|---|
| learn2learn | Librairie PyTorch | MAML, Prototypical Nets, Matching Nets, Reptile | Open Source |
| Torchmeta | Librairie PyTorch | Datasets meta-learning, task samplers | Open Source |
| SetFit | Librairie Hugging Face | Few-shot text classification via contrastive fine-tuning | Open Source |
| Higher (Meta-learning) | Librairie PyTorch | Gradients d’ordre supérieur pour MAML | Open Source |
Quelle approche choisir
La stratégie optimale dépend de votre contexte :
Si vous avez un bon encodeur pré-entraîné pour votre domaine (par exemple, un Vision Transformer pré-entraîné sur ImageNet), commencez par la baseline SimpleShot (ou un simple fine-tuning des dernières couches). C’est souvent suffisant et trivial à implémenter.
Si le transfer learning ne suffit pas et que vous avez besoin d’une inférence rapide, passez aux méthodes metric-based (Prototypical Networks en premier). Elles n’exigent aucun calcul de gradient au moment du test et s’adaptent instantanément à de nouvelles classes en calculant simplement les prototypes.
Si vous devez maximiser la précision et que la complexité d’implémentation est acceptable, les méthodes optimization-based (MAML, LEO) offrent les meilleures performances sur les réseaux profonds. Mais attention : elles nécessitent du calcul de gradient à l’inférence, ce qui augmente la latence.
Pour la classification de texte, SetFit est la solution la plus directe. Pour les tâches de NLP générales, le few-shot prompting avec un LLM performant est souvent le choix le plus pragmatique.
Verdict
Le few-shot learning a profondément transformé notre rapport aux données en ML. Il a prouvé qu’on peut atteindre des performances utiles avec une fraction des données habituellement requises. Mais il faut être lucide sur ses limites : sur les benchmarks standards, des baselines de transfer learning simples rivalisent souvent avec le meta-learning sophistiqué. La vraie valeur du FSL se manifeste dans les scénarios où le transfer learning échoue (domains très spécialisés, classes complètement nouvelles).
Avec l’avènement des LLM et de l’in-context learning, le few-shot learning a pris une dimension entièrement nouvelle. Fournir quelques exemples dans un prompt pour qu’un modèle généraliste réalise une tâche spécialisée est devenu la manière la plus accessible et la plus répandue de faire du FSL. Pour les praticiens, le conseil est pragmatique : commencez par le few-shot prompting avec un bon LLM. Si la performance ou la latence ne suffisent pas, explorez les Prototypical Networks ou le fine-tuning avec SetFit. Ne recourez à MAML que si vous avez un vrai besoin d’adaptation paramétrique et les ressources de calcul pour le supporter.
Questions fréquentes sur le few-shot learning
Quelle est la différence entre few-shot, one-shot et zero-shot learning ?
Ces trois termes désignent le nombre d’exemples labellisés disponibles par classe au moment du test. Le few-shot learning utilise entre 2 et 10 exemples par classe (typiquement 5). Le one-shot learning n’utilise qu’un seul exemple par classe, ce qui est simplement un cas extrême de FSL. Le zero-shot learning n’utilise aucun exemple labellisé : le modèle doit s’appuyer sur des descriptions sémantiques des classes (attributs, texte) ou sur ses connaissances acquises pendant le pré-entraînement. En pratique dans les LLM, le zero-shot signifie pas d’exemples dans le prompt, le few-shot signifie quelques exemples dans le prompt.
Le few-shot prompting dans les LLM est-il le même concept que le few-shot learning classique ?
Pas exactement. Le FSL classique (meta-learning) entraîne explicitement un modèle pour s’adapter à de nouvelles tâches via un entraînement épisodique ou une boucle d’optimisation interne. Le few-shot prompting dans les LLM exploite une capacité émergente des grands modèles : les exemples placés dans le prompt guident le modèle sans aucune modification de ses poids. Le résultat pratique est similaire (apprendre d’un petit nombre d’exemples), mais le mécanisme sous-jacent est très différent. Le prompting repose sur l’attention des Transformers, pas sur du meta-learning explicite.
Combien d’exemples faut-il pour le few-shot learning ?
Le benchmark standard est le 5-way 5-shot (5 exemples par classe). En pratique, les performances augmentent significativement entre 1 et 5 exemples, puis les gains marginaux diminuent. Pour les LLM, 3 à 5 exemples dans le prompt suffisent souvent pour des tâches simples (classification de sentiment, extraction d’entités). Pour des tâches complexes ou des domaines spécialisés, 8 à 16 exemples peuvent être nécessaires. La qualité des exemples (diversité, représentativité, absence de bruit) compte plus que la quantité.
Prototypical Networks ou MAML : lequel choisir ?
Pour la majorité des cas pratiques, commencez par les Prototypical Networks. Ils sont simples à implémenter, rapides à l’inférence (pas de gradient au test), et performants. MAML est préférable quand vous avez besoin d’adapter un réseau profond complexe (comme en robotique) et que vous pouvez tolérer une inférence plus lente. LEO ou Reptile sont de bons compromis si vous voulez les avantages du meta-learning optimization-based sans la complexité computationnelle de MAML.
Le few-shot learning peut-il remplacer l’entraînement supervisé classique ?
Non. Si vous disposez de milliers d’exemples labellisés par classe, l’entraînement supervisé classique (ou le fine-tuning d’un modèle pré-entraîné) restera presque toujours supérieur au FSL. Le few-shot learning est pertinent quand les données labellisées sont rares, coûteuses ou impossibles à obtenir en quantité. C’est un outil complémentaire, pas un remplacement. L’idéal est souvent une approche hybride : utiliser le FSL pour les classes à faible effectif tout en gardant un entraînement classique pour les classes bien représentées.