Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Meta Learning

Le méta-apprentissage entraîne un modèle sur de nombreuses tâches pour qu’il s’adapte à une nouvelle tâche à partir de quelques exemples. Découvre le fonctionnement des épisodes, de MAML et des réseaux prototypiques.

Le méta-apprentissage, souvent appelé « apprendre à apprendre », est une approche d’apprentissage automatique (ML) qui entraîne un modèle sur de nombreuses tâches apparentées afin qu’il puisse s’adapter rapidement à une nouvelle tâche, généralement à partir de quelques exemples annotés. Alors que l’apprentissage supervisé ajuste un modèle sur un seul jeu de données, le méta-apprentissage optimise le processus d’apprentissage lui-même : les poids initiaux, l’espace d’incorporation utilisé pour comparer les exemples ou un réseau qui apprend à partir d’exemples en une seule passe avant. Sa principale application est l’apprentissage à partir de quelques exemples, qui consiste à reconnaître de nouvelles classes à partir d’un ou de quelques exemples chacune, ainsi que les robots et autres agents qui doivent s’adapter à de nouvelles conditions à la volée.

Fonctionnement du méta-apprentissage#

Le méta-apprentissage s’effectue par épisodes qui reproduisent la situation à laquelle le modèle sera confronté lors des tests. Chaque épisode échantillonne une tâche, par exemple un problème de classification 5-way 1-shot composé de cinq classes ayant chacune une image annotée. Les exemples annotés constituent l’ensemble de support, et les exemples mis de côté des mêmes classes constituent l’ensemble de requêtes. Dans une boucle interne, le modèle s’adapte à l’ensemble de support ; dans une boucle externe, les méta-paramètres sont mis à jour en fonction des performances du modèle adapté sur l’ensemble de requêtes. Le modèle est ainsi récompensé pour sa capacité d’adaptation plutôt que pour sa mémorisation d’une tâche particulière. Les classes utilisées pour les méta-tests ne sont jamais présentes pendant le méta-entraînement.

Principales approches#

  • Basé sur l’optimisation : Model-Agnostic Meta-Learning (MAML) apprend une initialisation à partir de laquelle une ou quelques étapes de descente de gradient sur l’ensemble de support d’une nouvelle tâche donnent de bons résultats. La boucle externe différencie la mise à jour interne, ce qui nécessite des gradients du second ordre ; les variantes du premier ordre comme Reptile d’OpenAI évitent ce coût en rapprochant l’initialisation des poids adaptés pour chaque tâche.
  • Basé sur des métriques : ces méthodes apprennent un espace d’incorporation où les exemples peuvent être classés selon la distance qui les sépare. Les réseaux prototypiques calculent la moyenne des incorporations de support de chaque classe pour en faire un prototype et attribuent chaque requête au prototype le plus proche ; ainsi, l’ajout d’une classe au moment du test ne nécessite aucun entraînement.
  • Basé sur un modèle : un réseau tel qu’un réseau neuronal récurrent (RNN) doté d’une mémoire externe lit l’ensemble de support et prédit directement les étiquettes des requêtes, en apprenant la procédure d’adaptation dans ses activations. L’article sur GPT-3 décrit l’apprentissage en contexte dans les grands modèles de langage (LLMs), qui consiste à résoudre une tâche à partir d’exemples dans le prompt, comme la boucle interne de ce type de méta-apprentissage, le préentraînement constituant la boucle externe.

Le propre test de régression de MAML demande à un petit réseau d’ajuster des ondes sinusoïdales d’amplitude et de phase aléatoires à partir de 10 points chacune. L’exemple suivant en PyTorch effectue le méta-entraînement de l’initialisation avec les deux boucles, puis teste une étape d’adaptation sur de nouvelles ondes sinusoïdales :

import torch
import torch.nn.functional as F
from torch import nn
from torch.func import functional_call

torch.manual_seed(0)
net = nn.Sequential(nn.Linear(1, 40), nn.ReLU(), nn.Linear(40, 40), nn.ReLU(), nn.Linear(40, 1))
meta_optimizer = torch.optim.Adam(net.parameters(), lr=0.001)


def sine_task_losses():
    """Sample a sine-wave task, adapt on 10 points with one gradient step, and return query losses before and after."""
    amplitude, phase = torch.empty(1).uniform_(0.1, 5), torch.empty(1).uniform_(0, 3.14)
    x = torch.empty(20, 1).uniform_(-5, 5)
    y = amplitude * torch.sin(x + phase)
    params = dict(net.named_parameters())
    support_loss = F.mse_loss(functional_call(net, params, x[:10]), y[:10])
    grads = torch.autograd.grad(support_loss, list(params.values()), create_graph=True)  # inner loop
    adapted = {name: p - 0.01 * g for (name, p), g in zip(params.items(), grads)}
    before = F.mse_loss(functional_call(net, params, x[10:]), y[10:])
    after = F.mse_loss(functional_call(net, adapted, x[10:]), y[10:])
    return before, after


# Outer loop: update the shared initialization so that one inner step fits each new task
for step in range(10000):
    meta_loss = sum(sine_task_losses()[1] for _ in range(4))
    meta_optimizer.zero_grad()
    meta_loss.backward()
    meta_optimizer.step()

# On 500 unseen sine waves, compare query error before and after the one-step adaptation
losses = torch.tensor([[loss.item() for loss in sine_task_losses()] for _ in range(500)])
print(f"query MSE before adaptation: {losses[:, 0].mean():.2f}, after one step: {losses[:, 1].mean():.2f}")

Le programme affiche query MSE before adaptation: 3.10, after one step: 0.70. L’initialisation issue du méta-apprentissage n’ajuste aucune onde sinusoïdale particulière, mais une seule étape de gradient sur 10 points réduit de plus de quatre fois l’erreur sur les nouveaux points d’une onde inconnue.

  • Apprentissage par transfert : réutilise les poids entraînés sur une grande tâche comme point de départ pour une autre, sans les optimiser pour favoriser l’adaptabilité. Le réglage fin d’un détecteur Ultralytics YOLO26 préentraîné sur COCO à l’aide d’un jeu de données personnalisé relève de l’apprentissage par transfert : ses poids initiaux proviennent d’un entraînement classique sur COCO, et son adaptation repose sur un jeu de données annoté et de nombreuses epochs d’entraînement plutôt que sur quelques exemples et quelques étapes de gradient.
  • Apprentissage à partir de quelques exemples : problème consistant à apprendre à partir de très peu d’exemples. Le méta-apprentissage est une famille de solutions ; les incorporations préentraînées associées à un classificateur simple en constituent une autre.
  • Apprentissage automatique automatisé (AutoML) : recherche des architectures et des hyperparamètres, généralement pour un seul jeu de données à la fois. Certaines études considèrent l’apprentissage des hyperparamètres sur plusieurs tâches comme du méta-apprentissage.
  • Apprentissage continu : apprend une séquence de tâches sans oublier les précédentes, tandis que le méta-apprentissage prépare un modèle à apprendre rapidement de nouvelles tâches.

Benchmarks et résultats#

Les benchmarks d’images en few-shot ont alimenté la majeure partie de la recherche en méta-apprentissage : Omniglot contient 1 623 caractères manuscrits issus de 50 alphabets, et miniImageNet utilise 100 classes d’ImageNet avec 600 images chacune, réparties en classes distinctes pour le méta-entraînement, la validation et le test. Deux études ultérieures ont remis en question la contribution réelle du méta-apprentissage. « Apprentissage rapide ou réutilisation des caractéristiques ? » a montré que le succès de MAML provient principalement de la réutilisation des caractéristiques apprises dans la boucle externe, et sa variante simplifiée ANIL, qui n’adapte que la couche finale dans la boucle interne, a égalé MAML. « Repenser la classification d’images en few-shot » a ensuite établi qu’un classificateur linéaire sur un bon plongement, appris par entraînement supervisé classique ou auto-supervisé sur les classes de méta-entraînement, surpassait les principales méthodes de méta-apprentissage few-shot de l’époque.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique