Polydesk-logotype
Polydesk.ai — Header

Model-Agnostic Meta-Learning (MAML)

MAML (Model-Agnostic Meta-Learning) est un algorithme de meta-learning qui apprend une initialisation optimale des paramètres d’un réseau neuronal, telle que quelques pas de descente de gradient sur les données d’une nouvelle tâche suffisent pour obtenir de bonnes performances de généralisation sur cette tâche.

Fiche rapide : MAML
Auteurs
Chelsea Finn, Pieter Abbeel, Sergey Levine (UC Berkeley)
Publication
ICML 2017 (soumis mars 2017)
Famille
Meta-learning optimization-based
Principe
Optimisation bi-niveau : inner loop (adaptation) + outer loop (meta-update)
Domaines
Classification, régression, reinforcement learning
Benchmark
miniImageNet 5-way 1-shot : ~48% | 5-way 5-shot : ~63% (Conv-4, 2017)
Code
github.com/cbfinn/maml (TensorFlow)

L’idée centrale : entraîner un modèle pour qu’il soit facile à fine-tuner

La phrase clé de l’article MAML est : « In effect, our method trains the model to be easy to fine-tune. » Toute la puissance de l’algorithme est contenue dans cette formulation. Le fine-tuning classique prend un modèle pré-entraîné et l’adapte à une nouvelle tâche via quelques pas de gradient. MAML pousse cette logique un cran plus loin : il choisit l’initialisation des paramètres de manière à ce que le fine-tuning soit maximalement efficace, même avec très peu de données et très peu de pas de gradient.

L’analogie : imaginez que vous êtes à un carrefour (l’initialisation θ) d’où partent plusieurs chemins vers différentes destinations (les tâches). MAML cherche le carrefour optimal depuis lequel vous pouvez atteindre n’importe quelle destination en faisant le moins de pas possible. Ce n’est pas le point le plus performant sur une tâche donnée, mais le point le plus adaptable à toutes les tâches.

Ce qui rend MAML unique parmi les algorithmes de meta-learning, c’est son caractère agnostique au modèle. Il fonctionne avec n’importe quelle architecture entraînable par descente de gradient : CNN, RNN, MLP, et par extension, n’importe quel problème formulable comme une optimisation différentiable. Classification, régression, reinforcement learning : MAML s’applique à tous ces domaines sans modification structurelle.

L’algorithme en détail

Formulation mathématique

Soit fθ un modèle paramétré par θ, et p(T) une distribution sur les tâches. MAML optimise θ pour que, après adaptation sur une tâche Ti, le modèle soit performant sur cette tâche.

Boucle interne (inner loop) : adaptation à une tâche. Pour une tâche Ti avec son support set Dis, on calcule la perte LTi(fθ) et on effectue un ou plusieurs pas de descente de gradient :

θ'_i = θ - α × ∇_θ L_Ti(f_θ)    (un pas de gradient avec learning rate α)

Les paramètres adaptés θ’i sont spécifiques à la tâche Ti. Ce processus simule un fine-tuning rapide à partir de l’initialisation θ.

Boucle externe (outer loop) : meta-optimisation. L’initialisation θ est mise à jour pour minimiser la perte agrégée sur les query sets de toutes les tâches, évaluée avec les paramètres adaptés θ’i :

θ ← θ - β × ∇_θ Σ_i L_Ti(f_{θ'_i})    (meta-update avec learning rate β)

La subtilité critique : le gradient de la boucle externe est calculé par rapport à θ (l’initialisation), pas par rapport à θ’i (les paramètres adaptés). Puisque θ’i dépend de θ via l’opération de gradient de la boucle interne, cela nécessite de calculer un gradient de gradient : les gradients de second ordre (Hessienne).

Gradients de second ordre : le coût de MAML Le calcul des gradients de second ordre est le principal coût computationnel de MAML. Il nécessite de stocker le graphe de calcul complet à travers la boucle interne, ce qui consomme beaucoup de mémoire GPU. Pour un réseau profond avec des millions de paramètres, ce coût peut être prohibitif. C’est la principale motivation des variantes de premier ordre (FOMAML, Reptile).

Pseudo-code

# Initialiser θ aléatoirement
θ = random_init()

for iteration in range(num_iterations):
    # Échantillonner un batch de tâches
    tasks = sample_tasks(p(T), batch_size)
    
    meta_loss = 0
    for T_i in tasks:
        # Support set et query set pour la tâche T_i
        D_s, D_q = T_i.support, T_i.query
        
        # INNER LOOP : adaptation à T_i
        loss_s = compute_loss(f_θ, D_s)
        θ'_i = θ - α * grad(loss_s, θ)
        
        # Évaluer sur le query set AVEC les paramètres adaptés
        loss_q = compute_loss(f_{θ'_i}, D_q)
        meta_loss += loss_q
    
    # OUTER LOOP : meta-update de l'initialisation θ
    θ = θ - β * grad(meta_loss, θ)  # gradients de second ordre ici

Nombre de pas internes

L’article original utilise un seul pas de gradient interne pour la plupart des expériences. Un seul pas semble restrictif, mais MAML est conçu pour que ce unique pas soit maximalement informatif. En pratique, utiliser 2 à 5 pas internes peut améliorer les performances, au prix d’un coût de calcul accru (chaque pas interne supplémentaire ajoute un niveau de gradients). Au moment du test, on peut utiliser plus de pas de gradient qu’à l’entraînement : les auteurs montrent que MAML continue à s’améliorer avec des pas supplémentaires sans overfitting aux données limitées du support set.

Variantes de MAML

First-Order MAML (FOMAML)

FOMAML simplifie MAML en ignorant les gradients de second ordre dans la boucle externe. Au lieu de calculer ∇θ L(fθ’) en propageant à travers la boucle interne, FOMAML approxime en utilisant directement ∇θ’ L(fθ’), le gradient évalué aux paramètres adaptés. C’est une approximation de premier ordre qui élimine le calcul de la Hessienne.

Le résultat surprenant : FOMAML performe presque aussi bien que MAML complet sur la majorité des benchmarks. L’article original rapporte que les performances de FOMAML sont comparables à celles de MAML sur Omniglot et miniImageNet, tout en étant significativement moins coûteux en mémoire et en calcul. Cette observation a conduit à l’hypothèse que les termes de second ordre, bien que théoriquement importants, contribuent peu en pratique.

Reptile

Reptile (Nichol & Schulman, OpenAI, 2018) simplifie encore davantage. Au lieu des deux boucles imbriquées de MAML, Reptile effectue K pas de SGD standard sur une tâche échantillonnée, obtenant des paramètres θ̃, puis déplace l’initialisation θ vers θ̃ :

θ ← θ + ε × (θ̃ - θ)

C’est équivalent à MAML dans la limite de petits learning rates, avec une implémentation triviale. Pas de gradients de second ordre, pas de graphe de calcul à stocker, pas de librairie spécialisée nécessaire. Quelques lignes de code suffisent.

MAML++ (Antoniou et al., 2019)

MAML++ introduit plusieurs améliorations pratiques pour stabiliser l’entraînement. Parmi les plus importantes : des learning rates appris par couche et par pas (au lieu d’un α global), un annealing du learning rate externe, une stabilisation des gradients via gradient clipping, et une augmentation de données pendant la boucle interne. Ces modifications améliorent substantiellement la convergence, les performances finales et la robustesse aux hyperparamètres.

LEO (Rusu et al., 2019)

LEO (Latent Embedding Optimization) résout le problème d’overfitting de MAML sur les réseaux profonds. Ajuster des millions de paramètres avec 5 exemples est voué à l’échec. LEO encode les paramètres du classificateur dans un espace latent de faible dimension, effectue l’adaptation dans cet espace, puis décode vers les paramètres complets. Résultat : environ 77,6% sur miniImageNet 5-way 5-shot, l’un des meilleurs scores parmi les méthodes optimization-based.

ANIL (Raghu et al., 2020)

ANIL (Almost No Inner Loop) teste une hypothèse provocatrice : seule la dernière couche (le classificateur) a besoin d’être adaptée dans la boucle interne ; les couches de features n’ont pas besoin d’être modifiées. Les résultats montrent que ANIL atteint des performances comparables à MAML complet, ce qui suggère que MAML apprend principalement une bonne représentation de features (via la boucle externe) et que la boucle interne sert surtout à adapter le classificateur.

Variante Année Gradient miniImageNet 5w-5s Avantage principal
MAML 2017 Second ordre ~63% Agnostique au modèle, polyvalent
FOMAML 2017 Premier ordre ~63% Moins coûteux, performances quasi-identiques
Reptile 2018 Premier ordre ~62% Implémentation triviale
MAML++ 2019 Second ordre ~68% Entraînement stabilisé, LR appris
LEO 2019 Second (latent) ~77,6% Adaptation en espace latent
ANIL 2020 Second ordre ~63% Adapte uniquement le classificateur

Domaines d’application

Few-shot classification

C’est le terrain historique de MAML. Sur Omniglot et miniImageNet, MAML a démontré des performances compétitives avec les méthodes metric-based (Matching Networks, Prototypical Networks) tout en étant applicable à d’autres types de tâches. Cependant, sur les benchmarks de classification pure, les méthodes metric-based sont souvent préférées en production car elles ne nécessitent pas de gradient à l’inférence.

Few-shot regression

MAML a été le premier algorithme de meta-learning à démontrer des résultats convaincants en régression few-shot. L’expérience canonique : apprendre à régresser des sinusoïdes d’amplitude et de phase variables à partir de quelques points. MAML apprend non seulement à interpoler entre les points donnés, mais aussi à extrapoler correctement la forme périodique, montrant qu’il capture la structure sous-jacente de la famille de fonctions.

Reinforcement learning

L’application au RL est l’un des apports distinctifs de MAML par rapport aux méthodes metric-based (qui ne s’appliquent pas directement au RL). Dans les expériences de navigation 2D et de locomotion, MAML entraîne une politique qui peut s’adapter à de nouveaux objectifs ou à de nouvelles dynamiques physiques en quelques épisodes d’interaction. Le pré-entraînement classique (entraîner sur un mélange de tâches) échoue sur ces benchmarks, parfois pire que l’initialisation aléatoire. MAML, lui, apprend une initialisation spécifiquement conçue pour l’adaptation rapide.

Les applications concrètes en robotique incluent l’adaptation d’un bras robotique à de nouveaux objets (formes, poids, textures différents), l’adaptation locomotrice à de nouveaux terrains (glissant, rugueux, incliné), et l’apprentissage de nouvelles compétences à partir de quelques démonstrations humaines.

NLP et classification de texte

MAML a été adapté au NLP pour la classification de texte few-shot, la reconnaissance d’entités nommées avec peu d’exemples, et l’extraction de relations. En NLP, la boucle interne fine-tune les dernières couches d’un modèle de langage pré-entraîné sur le support set d’une nouvelle tâche. Cependant, avec l’avènement du few-shot prompting via les LLM, MAML est moins utilisé en NLP que dans les domaines où les LLM ne s’appliquent pas directement.

Imagerie médicale

La détection de pathologies rares avec peu de cas annotés est un cas d’usage naturel. MAML permet d’entraîner un modèle de classification d’images médicales sur des pathologies courantes, puis de l’adapter à une pathologie rare avec seulement quelques images annotées par un expert. La capacité de MAML à adapter l’ensemble du réseau (pas seulement le classificateur) est un avantage pour les domaines où le distributional shift entre tâches est important (images de différents scanners, différentes populations).

Autres domaines

MAML a été appliqué avec succès à la reconnaissance d’activités humaines par radar, à l’optimisation de mémoire flash NAND sous variation de processus de fabrication, à la prédiction de séries temporelles, et à la découverte de médicaments (adaptation rapide de modèles de prédiction d’activité moléculaire). Sa polyvalence est son atout distinctif : partout où il y a une distribution de tâches et des données limitées par tâche, MAML est candidat.

Forces et limites

Forces

Agnosticisme au modèle. MAML fonctionne avec n’importe quelle architecture différentiable. C’est sa propriété la plus distinctive. Contrairement aux Prototypical Networks (spécifiques à la classification) ou aux MANN (qui nécessitent une architecture à mémoire), MAML est un algorithme d’entraînement, pas une architecture.

Polyvalence. Classification, régression, RL : MAML s’applique sans modification structurelle à tous ces problèmes. Changez la fonction de perte, et le même algorithme fonctionne.

Adaptation paramétrique complète. MAML adapte l’ensemble du réseau (ou les couches choisies) à chaque nouvelle tâche. C’est plus expressif que les méthodes metric-based qui figent le réseau après l’entraînement.

Limites

Coût computationnel. Les gradients de second ordre nécessitent de stocker le graphe de calcul complet à travers les pas internes. La mémoire GPU requise croît linéairement avec le nombre de pas internes et la taille du réseau. La librairie PyTorch higher facilite ce calcul, mais le coût reste significatif.

Instabilité de l’entraînement. L’optimisation bi-niveau est intrinsèquement instable. Les gradients de second ordre peuvent exploser ou vanishing. Le choix des learning rates α et β, du nombre de pas internes, et de la taille du meta-batch influence fortement la convergence. MAML++ atténue ces problèmes avec des learning rates appris et du gradient clipping.

Overfitting en haute dimension. Adapter des millions de paramètres avec K=5 exemples conduit à de l’overfitting sévère. LEO résout ce problème en optimisant dans un espace latent. ANIL montre qu’adapter uniquement le classificateur est souvent suffisant, ce qui questionne l’utilité d’adapter l’ensemble du réseau.

Initialisation unique. MAML apprend une seule initialisation θ partagée par toutes les tâches. Si la distribution des tâches est multimodale (deux types de tâches très différents), une initialisation unique est sous-optimale. Multimodal MAML (Vuorio et al., 2019) adresse ce problème en apprenant plusieurs modes d’initialisation.

MAML vs. ProtoNets : guide de choix rapide Utilisez les Prototypical Networks si votre problème est de la classification et que l’inférence rapide compte. Utilisez MAML si vous avez besoin de la polyvalence (régression, RL), si le transfer learning classique échoue dans votre domaine, ou si l’adaptation du réseau entier (pas juste le classificateur) est nécessaire. Pour la majorité des cas de classification en production, les ProtoNets sont un meilleur choix.

Implémentation pratique

Librairies

Outil Framework Fonction Licence
learn2learn PyTorch MAML, FOMAML, Reptile, ProtoNets + datasets Open Source
higher PyTorch Différentiation à travers l’optimiseur (gradients d’ordre supérieur) Open Source
cbfinn/maml TensorFlow Implémentation originale de Finn et al. Open Source
Torchmeta PyTorch Datasets meta-learning, task samplers Open Source

Conseils pratiques

Commencez par FOMAML. La différence de performance avec MAML complet est minime, et l’implémentation est beaucoup plus simple. Passez à MAML complet uniquement si FOMAML ne suffit pas.

Learning rates. Le learning rate interne α et le learning rate externe β doivent être calibrés conjointement. Un α trop élevé provoque des oscillations dans la boucle interne. Un β trop élevé déstabilise la meta-optimisation. Typiquement, α ∈ [0.01, 0.1] et β ∈ [0.001, 0.01]. MAML++ rend ces learning rates apprenables, ce qui est fortement recommandé.

Nombre de pas internes. Un seul pas interne est suffisant pour de nombreuses tâches. Plus de pas améliore la performance au test mais augmente le coût d’entraînement. Au moment du test, vous pouvez utiliser plus de pas que pendant l’entraînement sans risque d’overfitting significatif.

Meta-batch size. Utilisez un meta-batch de 4 à 8 tâches pour le 1-shot et 2 à 4 pour le 5-shot. Un meta-batch trop petit rend le gradient de la boucle externe bruyant. Un meta-batch trop grand ralentit l’entraînement sans gain proportionnel.

L’héritage de MAML

MAML est l’un des articles les plus cités du meta-learning (plus de 15 000 citations sur Google Scholar). Son influence dépasse le few-shot learning : le concept d’optimisation bi-niveau (apprendre une initialisation optimisée pour l’adaptation) a été adopté dans le fine-tuning de modèles de langage, l’adaptation de domaine, l’apprentissage continu, et même le design automatique d’architectures neurales.

La thèse de Chelsea Finn, « Learning to Learn with Gradients », a consolidé les fondations théoriques de MAML et ouvert la voie à une compréhension plus profonde du lien entre meta-learning, optimisation bi-niveau et inférence bayésienne. Probabilistic MAML (Finn et al., 2018) montre que MAML peut être interprété comme une approximation d’inférence variationnelle, ce qui offre une justification théorique à son efficacité.

Verdict

MAML est l’algorithme qui a démocratisé le meta-learning optimization-based. Son agnosticisme au modèle et sa polyvalence (classification, régression, RL) en font un outil unique dans le paysage du meta-learning. Aucune autre méthode ne combine cette flexibilité avec une fondation théorique aussi solide.

En pratique, MAML brille dans les domaines où les méthodes metric-based ne s’appliquent pas (RL, régression) et où le distributional shift entre tâches nécessite une adaptation paramétrique profonde. Pour la classification few-shot pure, les Prototypical Networks sont souvent un meilleur choix (plus simples, plus rapides à l’inférence). Pour une implémentation rapide, commencez par FOMAML ou Reptile, qui offrent 95% des bénéfices de MAML à une fraction du coût. Et si l’instabilité de l’entraînement vous freine, MAML++ avec des learning rates appris est la version recommandée pour la production.


Questions fréquentes sur MAML

Pourquoi MAML est-il dit « agnostique au modèle » ?

MAML ne fait aucune hypothèse sur l’architecture du modèle. Il fonctionne avec tout modèle entraînable par descente de gradient : CNN, RNN, Transformers, MLP, réseaux de politique en RL. L’algorithme MAML est une procédure d’entraînement, pas une architecture. Vous pouvez l’appliquer à votre réseau existant sans le modifier. Cette propriété le distingue des méthodes metric-based (qui imposent un classificateur par distance) et des MANN (qui nécessitent une mémoire externe).

Quelle est la différence entre MAML et le fine-tuning classique ?

Le fine-tuning classique prend un modèle pré-entraîné (par exemple, ImageNet) et l’adapte à une nouvelle tâche. L’initialisation n’est pas optimisée pour l’adaptation rapide : elle résulte simplement de l’entraînement sur la tâche source. MAML, en revanche, optimise explicitement l’initialisation pour que le fine-tuning soit maximalement efficace avec très peu de données et très peu de pas de gradient. La différence est subtile mais fondamentale : MAML produit une initialisation qui est « à un pas de gradient de distance » de la solution optimale pour n’importe quelle tâche de la distribution.

FOMAML est-il suffisant en pratique ?

Oui, dans la grande majorité des cas. FOMAML ignore les gradients de second ordre de MAML, ce qui réduit significativement le coût en mémoire et en calcul. L’article original et les études ultérieures montrent que FOMAML atteint des performances très proches de MAML complet sur les benchmarks standards (Omniglot, miniImageNet). La librairie learn2learn facilite le basculement entre MAML et FOMAML. Commencez toujours par FOMAML et passez à MAML complet uniquement si les performances sont insuffisantes.

MAML ou Reptile : lequel choisir ?

Reptile est une excellente alternative quand la simplicité d’implémentation est prioritaire. Son code tient en quelques lignes et ne nécessite aucune librairie spécialisée (pas de higher, pas de graphe de calcul à stocker). Les performances sont légèrement inférieures à MAML/FOMAML sur la plupart des benchmarks, mais la différence est souvent négligeable. Choisissez Reptile pour le prototypage rapide et les projets où la complexité du code doit rester minimale. Choisissez MAML/FOMAML quand chaque point de pourcentage de précision compte.

MAML est-il encore pertinent face aux LLM et à l’in-context learning ?

Oui, pour des domaines spécifiques. Les LLM avec few-shot prompting sont plus simples et souvent plus performants pour les tâches de NLP. Mais MAML reste pertinent dans trois scénarios : la vision par ordinateur (les LLM ne sont pas le paradigme dominant pour la classification d’images few-shot), le reinforcement learning (le few-shot prompting ne s’applique pas au RL), et le déploiement edge (MAML produit des modèles compacts qui fonctionnent sans connexion cloud). La polyvalence de MAML garantit sa pertinence dans ces niches que les LLM ne couvrent pas.

Polydesk.ai — Footer