Calculateur de Complexité VAE
Paramètres, empreinte mémoire et coût d'entraînement d'un Auto-Encodeur Variationnel
Astuce de reparamétrisation : Au lieu d'échantillonner z ~ q(z|x) directement (non différentiable), on pose z = μ + σ · ε où ε ~ N(0,I), ce qui rend le gradient rétropropageable à travers la couche stochastique.
ELBO : L'objectif d'entraînement maximise la borne inférieure de vraisemblance (Evidence Lower BOund), soit la somme du terme de reconstruction E[log p(x|z)] et du régulariseur KL qui pousse q(z|x) vers la prior gaussienne p(z).
Questions fréquentes Auto-encodeur variationnel
Un auto-encodeur variationnel (VAE) est un modèle génératif de deep learning qui apprend à compresser des données en une distribution probabiliste dans un espace latent, puis à reconstruire des données plausibles à partir d’échantillons tirés de cette distribution.
Qu'est-ce qu'un auto-encodeur variationnel ?
Un auto-encodeur variationnel est un réseau de neurones profond qui combine compression et génération : il encode les données en paramètres de distribution (moyenne μ et variance σ²), puis génère de nouvelles données en échantillonnant depuis cette distribution.
Contrairement à un autoencodeur déterministe, un VAE ne mappe pas chaque entrée vers un point fixe dans l’espace latent. Il la mappe vers une région — une gaussienne — ce qui rend l’espace latent continu et interpolable.
Cette propriété est fondamentale : elle permet de générer de nouveaux exemples en naviguant dans l’espace latent, pas seulement de reconstruire les entrées connues. Le terme “variationnel” vient de l’inférence variationnelle bayésienne, dont le VAE est une application pratique à grande échelle via la rétropropagation.
Comment fonctionne un auto-encodeur variationnel ?
Le VAE se compose de deux réseaux entraînés conjointement : un encodeur qui produit μ et log σ² pour chaque entrée, et un décodeur qui reconstruit l’entrée depuis un point z échantillonné dans cette distribution.
L’astuce de reparamétrisation est la clé technique : plutôt que d’échantillonner z ~ N(μ, σ²) directement (opération non différentiable), on pose z = μ + σ · ε où ε ~ N(0, I). Cela rend le gradient propageable à travers l’opération stochastique.
La fonction de perte ELBO (Evidence Lower BOund) se décompose en deux termes :
- Reconstruction : mesure l’écart entre l’entrée originale et la sortie reconstruite (MSE ou entropie croisée selon le type de données)
- Divergence KL : régularise l’espace latent en forçant q(z|x) à rester proche de la prior gaussienne N(0, I)
ELBO = E[log p(x|z)] - β · KL(q(z|x) || p(z))
Le paramètre β (issu du β-VAE) contrôle le compromis entre fidélité de reconstruction et régularisation de l’espace latent. Un β élevé produit un espace latent plus organisé au prix d’une reconstruction moins précise.
Quelle différence entre un VAE et un auto-encodeur, GAN ou Transformer encodeur ?
| Modèle | Type | Espace latent | Génération | Entraînement |
|---|---|---|---|---|
| Auto-encodeur classique | Déterministe | Points discrets | Non contrôlée | Reconstruction seule |
| VAE | Probabiliste | Distributions continues | Interpolable | ELBO (reconstruction + KL) |
| GAN | Implicite | Vecteur de bruit | Haute qualité visuelle | Adversarial (instable) |
| Transformer encodeur | Représentation | Contextuel, discret | Non natif | Tâche supervisée ou masquée |
VAE vs auto-encodeur classique : l’encodeur classique mappe vers un vecteur fixe. Générer de nouveaux exemples depuis cet espace produit des artefacts car l’espace n’est pas structuré. Le VAE impose une structure continue via la pénalité KL.
VAE vs GAN : un GAN génère des images plus réalistes mais son entraînement est instable (effondrement de mode). Le VAE offre un espace latent interprétable et un entraînement stable, au prix d’une légère flou dans les reconstructions.
VAE vs encodeur de Transformer : un encodeur de Transformer (BERT, ViT) produit des représentations discriminatives pour des tâches classifiantes. Il n’est pas conçu pour la génération et ne possède pas d’espace latent probabiliste natif.
VAE vs encodeur-décodeur standard : une architecture encodeur-décodeur (seq2seq, U-Net) optimise uniquement la reconstruction. Elle ne modélise pas de distribution sur z et ne permet pas d’échantillonnage contrôlé.
Quels sont les exemples concrets d'utilisation d'un VAE ?
Les VAE s’appliquent dans tout domaine où générer ou interpoler entre des exemples apporte de la valeur.
Génération d’images : entraîné sur CelebA, un VAE permet d’interpoler entre deux visages en naviguant dans l’espace latent, produisant des transitions visuellement cohérentes.
Découverte de molécules : des laboratoires pharmaceutiques (Inviria, Recursion) encodent des structures chimiques dans un espace latent continu, puis optimisent des propriétés moléculaires par gradient descent dans cet espace — impossible avec des représentations discrètes.
Anomaly detection : un VAE entraîné sur des données normales (transactions bancaires, logs système) attribue une probabilité faible aux entrées anormales. L’erreur de reconstruction sert de score d’anomalie.
Compression de données audio : des architectures comme SoundStream utilisent des principes proches du VAE pour compresser la parole avec un espace latent structuré.
Génération de texte contrôlée : dans les VAE textuels (Bowman et al., 2016), l’espace latent encode le style ou le sentiment, permettant de réécrire une phrase en modifiant uniquement sa polarité.
Quels sont les avantages d'un auto-encodeur variationnel ?
Le principal avantage du VAE est son espace latent structuré et continu, qui rend la génération contrôlable et l’interpolation entre exemples sémantiquement cohérente.
Entraînement stable : contrairement aux GANs, le VAE optimise un objectif unique (ELBO) sans dynamique adversariale. L’entraînement converge de façon prévisible.
Représentations interprétables : les dimensions de l’espace latent tendent à capter des facteurs de variation indépendants, surtout avec β > 1. Cela facilite le contrôle et l’analyse des représentations.
Polyvalence : le même cadre s’applique aux images, séquences, graphes, données tabulaires, et données multimodales avec des adaptations mineures de l’architecture.
Inférence probabiliste : le VAE produit une distribution sur z, pas un point. Cela permet d’estimer l’incertitude sur les représentations — utile en détection d’anomalies et en apprentissage actif.
Quelles sont les limites d'un auto-encodeur variationnel ?
La limite la plus connue du VAE est le flou des reconstructions : la perte MSE tend à moyenner les modes de la distribution de sortie, produisant des images moins nettes que celles d’un GAN.
Posterior collapse : sur des données textuelles, l’encodeur peut apprendre à ignorer z (le décodeur apprend à générer sans utiliser l’espace latent). Ce phénomène, dit “posterior collapse”, se produit quand le décodeur est trop puissant ou quand le poids KL est trop élevé en début d’entraînement.
Hypothèse gaussienne : la prior N(0, I) est une simplification. Pour des distributions de données complexes, cette hypothèse peut sous-contraindre ou sur-contraindre l’espace latent selon les cas.
Dimensionnalité de l’espace latent : le choix de la taille de z est un hyperparamètre sensible. Un z trop petit perd de l’information ; un z trop grand dilue la structure et réintroduit des comportements proches d’un encodeur déterministe.
Scalabilité : pour des images haute résolution, les VAE standards peinent à capturer les détails fins. Les VAE hiérarchiques (NVAE, VDVAE) adressent ce problème au prix d’une complexité architecturale significative.
Comment choisir la dimension de l'espace latent d'un VAE ?
Il n’existe pas de règle universelle : la dimension latente optimale dépend de la complexité intrinsèque des données, pas de leur dimension d’entrée.
Une approche empirique consiste à entraîner plusieurs VAE avec des dimensions croissantes et à mesurer l’ELBO sur un ensemble de validation ainsi que l’utilisation effective des dimensions latentes (via l’activité des unités, AU). Si la majorité des dimensions restent inactives (variance proche de la prior), la capacité est sur-dimensionnée.
Pour des images 28×28 (MNIST), des espaces de 2 à 20 dimensions suffisent. Pour des images naturelles 256×256, des espaces de 128 à 512 dimensions sont courants. Pour des molécules, 256 à 512 dimensions permettent des interpolations chimiquement cohérentes.
Une dimension trop petite crée un goulot d’étranglement informatif qui détériore la reconstruction. Une dimension trop grande réduit la contrainte de régularisation et rapproche le VAE d’un autoencodeur classique.
Qu'est-ce que le posterior collapse dans un VAE et comment l'éviter ?
Le posterior collapse survient quand l’encodeur apprend à produire une distribution identique à la prior — q(z|x) ≈ p(z) — rendant z non informatif pour le décodeur.
Ce phénomène est fréquent avec des décodeurs autorégressifs puissants (LSTM, Transformer) qui apprennent à générer sans utiliser z. La divergence KL devient nulle, ce qui satisfait formellement l’objectif ELBO sans que z encode quoi que ce soit.
Solutions documentées :
- KL annealing : démarrer avec un poids β = 0 et l’augmenter graduellement pendant l’entraînement
- Free bits : garantir un encodage minimal en fixant un plancher sur la divergence KL par dimension
- Décodeur moins puissant : limiter la capacité du décodeur pour le forcer à utiliser z
- δ-VAE : imposer une contrainte de distance minimale entre q(z|x) et p(z)
Quelle est la différence entre un β-VAE et un VAE standard ?
Un β-VAE introduit un scalaire β > 1 devant le terme KL dans l’ELBO, augmentant la pression de régularisation sur l’espace latent au-delà de ce que le cadre bayésien standard impose.
Lβ = E[log p(x|z)] - β · KL(q(z|x) || p(z))
Avec β = 1, on retrouve le VAE standard. Avec β > 1, l’espace latent devient plus disentangled : les dimensions apprennent à représenter des facteurs de variation indépendants et interprétables (par exemple, orientation, couleur, forme dans des données visuelles).
Le coût est une dégradation de la qualité de reconstruction : un β élevé sacrifie la fidélité au profit de l’organisation de l’espace latent.
Le β-VAE a été formalisé par Higgins et al. (DeepMind, 2017) dans le contexte de l’apprentissage de représentations disentangled, et reste la modification la plus simple et la plus utilisée du VAE standard.