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

Autoencoder

Un autoencodeur apprend à compresser les données en un code compact, puis à les reconstruire, sans étiquettes. Présentation de sa structure, de ses variantes, de la détection d’anomalies et du code.

Un autoencodeur est un réseau neuronal entraîné à reproduire sa propre entrée. Un encodeur mappe l'entrée vers un code compact, souvent appelé représentation latente ; un décodeur mappe le code vers une reconstruction, et l'entraînement minimise la différence entre l'entrée et la reconstruction. Comme la cible est l'entrée elle-même, les autoencodeurs apprennent à partir de données non annotées, une forme d'apprentissage non supervisé aujourd'hui généralement classée comme apprentissage auto-supervisé. Ce qui rend le réseau utile, c'est une contrainte qui l'empêche de simplement recopier l'entrée, par exemple un goulot d'étranglement étroit, l'ajout de bruit, des entrées masquées ou une pénalité de parcimonie ; cette contrainte le force à apprendre la structure qui rend les données compressibles. Les autoencodeurs servent à la réduction de dimensionnalité, à la détection d'anomalies, au débruitage, au préentraînement et comme étape de compression des générateurs d'images modernes.

Fonctionnement des autoencodeurs#

L'encodeur f mappe une entrée x vers un code z = f(x), le décodeur g produit une reconstruction x̂ = g(z), et l'entraînement minimise une perte de reconstruction, comme l'erreur quadratique moyenne entre x et x̂, par rétropropagation. Dans un autoencodeur sous-complet, z a beaucoup moins de dimensions que x ; le code est donc un résumé de l'espace latent qui ne conserve que ce dont le décodeur a besoin. Un autoencodeur linéaire entraîné avec l'erreur quadratique apprend le même sous-espace que l'analyse en composantes principales (PCA), résultat démontré par Pierre Baldi et Kurt Hornik en 1989, tandis que les fonctions d'activation non linéaires permettent aux autoencodeurs plus profonds de saisir des structures courbes que la PCA ne peut pas représenter. Dans un article publié dans Science en 2006, Geoffrey Hinton et Ruslan Salakhutdinov ont montré que les autoencodeurs profonds produisaient, pour les images et les documents, des codes de faible dimension bien meilleurs que la PCA.

Les variantes qui ne dépendent pas d'un goulot d'étranglement étroit corrompent plutôt l'entrée et évaluent quand même la reconstruction par rapport à l'original intact :

Types d'autoencodeurs#

  • Débruitage : Ajoute du bruit à l'entrée et entraîne le réseau à retrouver l'original propre, comme Pascal Vincent et ses collègues l'ont décrit en 2008. Les caractéristiques apprises résistent aux corruptions, et le modèle entraîné peut nettoyer des images ou des signaux bruités.
  • Parcimonieux : Utilise plus d'unités de code que d'entrées, mais pénalise le nombre d'unités actives simultanément. Les autoencodeurs parcimonieux entraînés sur les activations internes des grands modèles de langage (LLM) les décomposent en nombreuses caractéristiques, chacune tendant à correspondre à un concept interprétable.
  • Variationnel (VAE) : L'encodeur produit une distribution de probabilité sur les codes, et une pénalité de divergence KL la maintient proche d'une distribution normale standard, de sorte que le décodage d'un code échantillonné aléatoirement génère de nouvelles données. Diederik Kingma et Max Welling ont présenté le VAE en 2013.
  • Quantifié vectoriellement (VQ-VAE) : Chaque vecteur de code est ramené à l'entrée la plus proche d'un dictionnaire de codes appris par quantification vectorielle, ce qui convertit les images ou l'audio en jetons discrets qu'un modèle autorégressif peut générer.
  • Masqué : Masque la majeure partie de l'entrée et reconstruit les parties manquantes. Les autoencodeurs masqués (MAE) masquent 75 % des patches d'une image, et l'encodeur entraîné de cette façon devient un puissant backbone pour d'autres tâches de vision. Le Segment Anything Model (SAM) de Meta, disponible dans le package Ultralytics, construit son encodeur d'image à partir d'un Vision Transformer préentraîné avec MAE, tandis que SAM 2 utilise un encodeur Hiera préentraîné avec MAE ; les caractéristiques à l'origine de chaque masque interactif ont donc d'abord été apprises en complétant des patches masqués.

Détection d'anomalies par erreur de reconstruction#

Un autoencodeur entraîné uniquement sur des données normales reconstruit bien les entrées normales et mal les entrées inconnues ; l'erreur de reconstruction sert donc de score d'anomalie pour les défauts de fabrication, les transactions frauduleuses ou les machines défaillantes, sans qu'il soit nécessaire de disposer d'anomalies étiquetées. L'extrait PyTorch ci-dessous entraîne un petit autoencodeur sur les chiffres manuscrits inclus dans scikit-learn, en excluant tous les 7, puis compare son erreur sur les chiffres mis de côté à celle obtenue sur les 7 :

import torch
from sklearn.datasets import load_digits
from torch import nn

# 8x8 handwritten digits scaled to [0, 1]; every 7 is held out as the unseen anomaly
digits = load_digits()
x = torch.tensor(digits.data / 16, dtype=torch.float32)
normal, sevens = x[digits.target != 7], x[digits.target == 7]
train, test = normal[:1200], normal[1200:]

# Encoder: 64 pixels to an 8-number code; decoder: code back to 64 pixels
torch.manual_seed(0)
encoder = nn.Sequential(nn.Linear(64, 32), nn.ReLU(), nn.Linear(32, 8))
decoder = nn.Sequential(nn.Linear(8, 32), nn.ReLU(), nn.Linear(32, 64), nn.Sigmoid())
model = nn.Sequential(encoder, decoder)
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
for step in range(1000):
    optimizer.zero_grad()
    nn.functional.mse_loss(model(train), train).backward()  # reconstruction error
    optimizer.step()

with torch.no_grad():
    for name, data in [("Held-out digits", test), ("Unseen 7s", sevens)]:
        print(f"{name}: reconstruction error {nn.functional.mse_loss(model(data), data):.4f}")

Il affiche une erreur de reconstruction de 0.0163 pour les chiffres mis de côté et de 0.0547 pour les 7, soit une moyenne 3,4 fois supérieure ; un seuil appliqué à l'erreur de chaque image transforme cet écart en indicateur d'anomalie. Un autoencodeur peut aussi trop bien généraliser et reconstruire fidèlement certaines anomalies ; les systèmes pratiques règlent donc la taille du goulot d'étranglement et le seuil à partir de données de validation qui incluent des anomalies connues.

  • Réseaux antagonistes génératifs (GANs) : Le générateur d'un GAN transforme du bruit aléatoire en données et apprend à partir d'un discriminateur, sans encodeur ni cible de reconstruction. Les VAE génèrent également des données ; leur objectif fondé sur la vraisemblance rend l'entraînement plus stable, mais tend à produire des images plus floues.
  • U-Net : Reprend la structure encodeur-décodeur, mais transforme l'entrée en une cible différente, comme un masque de segmentation, et fait passer des connexions de saut autour du goulot d'étranglement ; dans un autoencodeur, celles-ci permettraient au réseau de copier son entrée.
  • Apprentissage contrastif : Apprend des représentations en comparant les échantillons entre eux ; ses caractéristiques capturent donc ce qui distingue les images et ignorent les détails au niveau des pixels qu'une perte de reconstruction doit préserver.
  • Plongements : Le code produit par un encodeur est une forme de plongement, et les autoencodeurs sont l'une des différentes méthodes permettant de les apprendre.

Autoencodeurs pour la génération d'images#

Les modèles de diffusion latente, comme Stable Diffusion, exécutent leur processus de diffusion dans l'espace latent d'un autoencodeur et décodent le résultat en pixels à la fin. Stable Diffusion 1.x utilise un autoencodeur régularisé par KL qui compresse une image RGB de 512×512 en un latent de 64×64×4, soit 48 fois moins de valeurs à traiter à chaque étape de débruitage par le modèle de diffusion.

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