Apprentissage Few-shot et Zero-shot

From Systems analysis Wiki
Jump to navigation Jump to search

L'apprentissage avec un petit nombre d'exemples (Few-shot Learning, FSL) et l'apprentissage sans exemples (Zero-shot Learning, ZSL) sont des paradigmes d'apprentissage automatique visant à résoudre le problème du manque de données étiquetées. Ils permettent aux modèles d'apprendre et de généraliser des connaissances à partir d'une quantité très limitée d'informations, ce qui est essentiel pour l'application de l'intelligence artificielle dans des scénarios réels où la collecte de grands ensembles de données est impossible ou peu pratique.

Le problème omniprésent du manque de données

Les modèles modernes d'apprentissage profond obtiennent des résultats impressionnants, mais leur efficacité dépend généralement directement de vastes volumes de données étiquetées. La collecte et l'annotation de telles données constituent un processus coûteux, laborieux et souvent impossible. Ce problème, connu sous le nom de « pénurie de données », est particulièrement aigu dans des domaines tels que :

  • Le diagnostic de maladies rares.
  • La production industrielle spécialisée.
  • La robotique et l'interaction avec de nouveaux objets.
  • La catégorisation de nouveaux produits ou sujets apparaissant constamment.

Le FSL et le ZSL offrent une solution en déplaçant l'accent des « big data » vers les « smart data », en se concentrant sur le transfert et la généralisation efficaces des connaissances.

Apprentissage avec un petit nombre d'exemples (Few-shot Learning)

Le Few-shot Learning (FSL) est un paradigme dans lequel un modèle apprend à reconnaître de nouvelles classes sur la base d'un très petit nombre d'exemples étiquetés (généralement de 1 à 5), appelés ensemble de support (support set).

Idée clé

L'idée principale du FSL n'est pas simplement d'apprendre des caractéristiques pour des classes spécifiques, mais d'apprendre le processus d'apprentissage lui-même (learning to learn). Le modèle doit s'adapter rapidement à de nouvelles tâches inconnues en utilisant un nombre minimal d'exemples. Ceci est réalisé grâce à l'utilisation de connaissances préalablement acquises et de stratégies d'adaptation.

Principales approches en FSL

  • Méta-apprentissage (« Apprendre à apprendre ») : C'est le paradigme dominant en FSL. Le modèle est entraîné sur un grand nombre de tâches diverses afin d'apprendre à s'adapter efficacement à de nouvelles tâches.
    • Basées sur les métriques : Les modèles (par exemple, les réseaux siamois ou prototypiques) apprennent à construire un espace de plongements (embeddings) où la distance entre les vecteurs reflète la proximité sémantique. La classification d'un nouvel exemple se fait en comparant son embedding à ceux de l'ensemble de support.
    • Basées sur l'optimisation : Les modèles (par exemple, MAML) apprennent à trouver une initialisation des paramètres qui permet de s'adapter rapidement (en quelques étapes de descente de gradient) à une nouvelle tâche.
  • Apprentissage en contexte (In-Context Learning) : Avec l'émergence des grands modèles de langage (LLM), une approche est devenue populaire où les exemples de l'ensemble de support sont fournis directement au modèle dans le prompt. Le modèle effectue un « méta-apprentissage implicite » pendant l'inférence, s'adaptant à la tâche sans mettre à jour ses poids.

Approches étendues en FSL

  • One-shot Learning : C'est un cas particulier du FSL où le nombre d'exemples pour chaque classe est égal à un (K=1 dans la notation « N-way K-shot »). Les exemples classiques d'architectures sont les Matching Networks et les Siamese Networks.
  • Méthodes génératives et augmentation de données : Le FSL utilise activement des modèles génératifs (GAN, VAE, modèles de diffusion) pour synthétiser des exemples de données supplémentaires. Cela permet d'étendre artificiellement l'ensemble de support et d'améliorer la qualité de la classification, en particulier pour les classes rares ou inhabituelles.
  • FSL transductif : Contrairement à l'approche standard (inductive), le modèle prend ici en compte non seulement l'ensemble de support étiqueté lors de l'adaptation, mais aussi l'ensemble des exemples de test non étiquetés (requêtes). Cela permet de capturer la structure des données dans les requêtes, par exemple à l'aide de techniques de propagation d'étiquettes (label propagation), et d'améliorer la robustesse de la classification.

Apprentissage sans exemples (Zero-shot Learning)

Le Zero-shot Learning (ZSL) est un paradigme dans lequel un modèle est capable de reconnaître des classes pour lesquelles il n'a vu aucun exemple pendant la phase d'entraînement.

Idée clé

Ceci est réalisé grâce à l'utilisation d'informations sémantiques auxiliaires qui décrivent à la fois les classes vues et non vues. Le modèle apprend une projection de l'espace des caractéristiques d'entrée (par exemple, des images) vers un espace sémantique commun.

Mécanismes d'information sémantique

  • Attributs sémantiques : Les classes sont décrites par un ensemble d'attributs définis par l'homme (par exemple, pour la classe « zèbre » : [a_des_rayures, a_des_sabots, est_un_mammifère]).
  • Plongements de mots (Word Embeddings) : Les noms des classes ou leurs descriptions textuelles sont transformés en plongements (embeddings) à l'aide de modèles de langage pré-entraînés (par exemple, Word2Vec, BERT).
  • Prompting dans les LLM : Avec l'avènement des modèles multimodaux comme CLIP, le ZSL peut être réalisé en comparant le plongement d'une image avec les plongements des descriptions textuelles des classes (par exemple, « une photo d'un chien », « une photo d'un chat »).

Types de ZSL : Traditionnel, Généralisé, Inductif et Transductif

  • ZSL traditionnel : Lors de la phase de test, le modèle doit classifier des exemples provenant uniquement des classes non vues.
  • ZSL généralisé (Generalized ZSL, GZSL) : Un scénario plus réaliste et complexe où le modèle doit classifier des exemples provenant à la fois des classes vues et non vues. Cela exige du modèle non seulement de reconnaître le nouveau, mais aussi de le distinguer de ce qui est déjà connu, en luttant contre un biais en faveur des classes vues.
  • ZSL inductif : La configuration standard où le modèle est entraîné uniquement sur les données et les descriptions sémantiques des classes vues, sans aucun accès aux informations sur les classes non vues.
  • ZSL transductif : Un schéma plus avancé où le modèle peut utiliser des exemples non étiquetés des classes non vues pendant l'entraînement. Cela permet d'adapter à l'avance l'espace sémantique et d'améliorer la qualité finale.

Approches génératives en ZSL

  • Génération de caractéristiques pour les classes non vues : Pour résoudre le problème de biais dans le GZSL, les modèles génératifs (VAE, GAN) sont largement utilisés. Ils ne synthétisent pas les images elles-mêmes, mais leurs vecteurs de caractéristiques (plongements) pour les classes non vues, en se basant sur leurs descriptions sémantiques. Cela permet d'équilibrer l'ensemble de données pour l'entraînement du classifieur final.

Analyse comparative et synergie

Comparaison des paradigmes d'apprentissage avec des données limitées
Aspect Apprentissage avec un petit nombre d'exemples (FSL) Apprentissage sans exemples (ZSL)
Idée principale Apprendre à s'adapter rapidement à de nouvelles classes sur la base de quelques exemples. Apprendre à reconnaître de nouvelles classes sur la base de leurs descriptions sémantiques.
Exigences en données pour une nouvelle tâche/classe Quelques exemples étiquetés (1-5) pour chaque nouvelle classe. Zéro exemple étiqueté ; une description sémantique est requise.
Transfert de connaissances Apprentissage de connaissances procédurales (« comment s'adapter ») ou d'un bon espace de caractéristiques. Apprentissage des relations sémantiques et des attributs, transfert de connaissances via un espace sémantique commun.
Cas d'utilisation typiques Prototypage rapide, personnalisation, reconnaissance d'objets rares, robotique. Détection de nouvelles espèces, catégorisation de sujets émergents, traitement de types de produits entièrement nouveaux.

Nuances clés et tendances actuelles

  • Différence entre Zero-shot Learning et Zero-shot Prompting : Il est important de distinguer ces deux concepts. Le ZSL est un paradigme architectural d'apprentissage automatique qui nécessite un modèle spécifique et des informations sémantiques. Le Zero-shot Prompting est une technique appliquée d'ingénierie de prompt où un grand modèle de langage (par exemple, GPT-4) résout une tâche sans exemples dans le prompt, en se basant uniquement sur ses connaissances internes.
  • Rôle du pré-entraînement à grande échelle : Le succès actuel du FSL et du ZSL est en grande partie dû à de puissants modèles de fondation (BERT, CLIP, GPT-4). Leur pré-entraînement sur d'immenses corpus de données crée un frontend de plongement (embedding) universel et sémantiquement riche, qui sert d'excellente base pour une adaptation rapide et une inférence sémantique en cas de manque de données.

Le FSL et le ZSL représentent différents points sur le spectre de l'efficacité de l'utilisation des données et sont souvent utilisés conjointement. Par exemple, le ZSL peut être utilisé pour initialiser des représentations qui sont ensuite affinées par le FSL lorsque les premiers exemples d'une nouvelle classe apparaissent.

Principaux instituts de recherche et acteurs

La recherche dans les domaines du FSL et du ZSL est activement menée tant dans les milieux universitaires que dans les laboratoires industriels.

  • Universités : Université Stanford, Université de Pékin, Université nationale de Singapour.
  • Laboratoires industriels : Google AI, Meta AI, OpenAI.

Avec l'avènement des puissants modèles de fondation, l'accent de la recherche s'est déplacé du développement d'architectures spécialisées pour le FSL/ZSL vers les méthodes d'adaptation efficace de ces modèles.

Voir aussi

  • Large language models

Bibliographie

  • Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
  • Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
  • Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
  • Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
  • Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
  • Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
  • Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
  • Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
  • Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
  • Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
  • Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
  • Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.