Autoencodeurs & VAE

LLM & IA
Deep Learning
Explorer les espaces latents, la compression d’information et les modèles génératifs variationnels.

La modélisation générative cherche à comprendre la structure sous-jacente des données pour en créer de nouvelles. Plutôt que de manipuler des images ou des sons directement dans leur espace d’origine très complexe, nous utilisons des autoencodeurs pour compresser cette information dans un espace réduit, appelé espace latent.

🔍 L’Autoencodeur Classique (AE)

Un autoencodeur fonctionne comme un sablier sémantique. Les grains de sable représentent les composantes des vecteurs de données.

Architecture d’un Autoencodeur Classique
L’Entrée (\(x\))

Le vecteur d’entrée \(x\) contient les données brutes à haute dimension : pixels d’image, coefficients spectraux, embeddings textuels… Chaque composante est un grain de sable indépendant, sans structure apparente.

\[x \in \mathbb{R}^n\]

L’Encodeur (\(f_\theta\))

L’encodeur projette les données d’entrée dans un espace de dimension réduite. En réduisant les dimensions, il élimine le bruit et force le réseau à apprendre une représentation compacte.

\[f_\theta(x) \to z\]

Le Bottleneck (\(z\))

Le col de bouteille central est la couche la plus étroite du réseau. Cette contrainte physique force les données à se condenser sous forme de concepts sémantiques utiles à la reconstruction.

\[z \in \mathbb{R}^d \quad (d \ll n)\]

Le Décodeur (\(g_\phi\))

Le décodeur reconstruit les données d’origine à partir du vecteur latent comprimé. Il cherche à produire une réplique la plus proche possible de l’entrée.

\[g_\phi(z) \to \hat{x}\]

La Sortie (\(\hat{x}\))

La réplique reconstruite \(\hat{x}\) revient dans le même format que l’entrée. Au début, elle n’est pas parfaite : certains grains retombent presque au bon endroit, d’autres restent décalés.

\[\hat{x} = g_\phi(z)\]

Rétropropagation

La sortie reconstruite est comparée à l’entrée originale. Chaque écart entre \(x\) et \(\hat{x}\) contribue à l’erreur de reconstruction.

\[\mathcal{L}_{AE}(\theta, \phi) = \| x - g_\phi(f_\theta(x)) \|^2\]

Pendant l’entraînement, cette erreur remonte dans le réseau : les paramètres de l’encodeur et du décodeur sont ajustés pour mieux faire correspondre la reconstruction à l’entrée.

Applications pratiques des Autoencodeurs
  1. Débruitage (Denoising Autoencoders - DAE) : On ajoute du bruit à l’entrée \(x\), mais le réseau doit reconstruire la version propre. Cela l’empêche d’apprendre la simple fonction identité et le force à capturer la structure réelle des données.
  2. Détection d’anomalies : Entraîné uniquement sur des données normales (ex: transactions légitimes), l’autoencodeur obtiendra un taux d’erreur de reconstruction très élevé sur des données anormales (fraudes), permettant de les détecter facilement.

🎲 Du Déterminisme au Probabilisme : Le VAE

L’Autoencodeur Variationnel (VAE) résout le problème de la fragmentation en rendant l’espace latent probabiliste et continu (Wikipedia contributors 2026).

Au lieu d’encoder une entrée sous forme d’un point fixe \(z\), le VAE l’encode sous forme de paramètres d’une distribution de probabilité : une moyenne \(\mu\) et un écart-type \(\sigma\) (ou sa variance \(\sigma^2\)).

Interpolation dans l’espace latent (AE vs VAE)
AE (Déterministe)

Les concepts sont des points isolés. Entre les deux, l’interpolation traverse des zones vides (“Trou sémantique”), produisant des décodages invalides ou incohérents.

VAE (Probabiliste)

L’espace est modélisé sous forme de nuages de probabilités qui se recouvrent légèrement. L’interpolation permet une transition visuelle continue et réaliste d’un concept à l’autre.

🧮 VQ-VAE : Espace Latent Discret

Les VAE classiques modélisent un espace latent continu. Cependant, de nombreuses données du monde réel (comme les mots ou les éléments constitutifs d’une image) possèdent une nature discrète.

Le Vector Quantized VAE (VQ-VAE) remplace l’espace latent continu par un ensemble fini de vecteurs représentatifs, appelé un Codebook (Shi n.d.).

Simulation : Quantification vectorielle VQ-VAE

Déplacez le vecteur continu de sortie d’encodeur (cercle bleu) pour observer comment il est projeté (quantifié) sur le vecteur le plus proche du codebook discret (points verts) :

Vecteur continu Code VQ (k*) Distance Euclidienne

Le vecteur continu issu de l’encodeur est projeté sur le code discret \(E_{k^*}\) le plus proche au sens de la distance Euclidienne : \[k^* = \operatorname{argmin}_k \| z_e(x) - e_k \|_2\]

References

Shi, Songxuan. n.d. “Rethinking VAE: From Continuous to Discrete Representations Without Probabilistic Assumptions.” arXiv Preprint, n.d. https://doi.org/10.1117/12.2325104.5836440672001.
Wikipedia contributors. 2026. “Variational Autoencoder.” Wikipedia, The Free Encyclopedia. https://en.wikipedia.org/wiki/Variational_autoencoder.