// ==========================================
// _ojs_bridge.qmd — OJS Global Namespace Bridge
//
// Include ONCE at the top of each chapter index.qmd:
// {{< include ../../assets/_ojs_bridge.qmd >}}
//
// window.aptitek is set by an async `<script type="module">` in the page
// header (_quarto.yml include-in-header). That import may resolve AFTER
// OJS starts executing, causing `aptitek` to be undefined.
//
// Fix: return a Promise from this cell. OJS suspends all downstream cells
// until the promise resolves — the built-in, idiomatic solution for async
// dependencies in Observable JS.
//
// ✅ Zero-maintenance: adding a new export to index.js barrel is
// instantly available — no edits to this file ever needed.
// ✅ Race-condition-safe: downstream cells never see undefined.
// ✅ Anti-double-definition: only ONE OJS name (`aptitek`) is defined.
// ==========================================
aptitek = {
if (window.aptitek) return window.aptitek;
return new Promise(resolve => {
const check = () =>
window.aptitek
? resolve(window.aptitek)
: requestAnimationFrame(check);
check();
});
}5 🎲 Autoencodeurs et Modèles Variationnels (VAE)
5.1 L’Autoencodeur Classique
Un autoencodeur apprend à compresser puis à reconstruire ses données d’entrée en passant par un goulot d’étranglement très étroit — comme résumer un livre en dix mots, puis tenter de le réécrire depuis ce résumé.
🔍 Détails techniques
L’autoencodeur classique ne doit pas être appréhendé comme un simple mécanisme de copie, mais comme une architecture de contrainte forçant l’extraction de caractéristiques sémantiques. En privant le réseau de ressources dimensionnelles, on l’oblige à résoudre un problème d’optimisation sous contrainte de goulot d’étranglement (bottleneck). Toute l’astuce réside dans cette privation délibérée : c’est le manque de capacité qui génère la représentation utile (Giguère n.d.; Canziani et al. 2020).
5.1.1 Le Triptyque Architectural
L’autoencodeur a trois pièces : l’encodeur qui compresse, le goulot qui étrangle, et le décodeur qui tente de reconstruire. C’est la petitesse du goulot qui force la compression à être sémantiquement utile.
🔍 Détails techniques
Le système s’articule autour de trois composantes fondamentales (Machine Learning at Berkeley n.d.; Talbi 2021) :
L’Encodeur (\mathbf{z} = f_\theta(\mathbf{x})) : Une fonction paramétrique projetant l’entrée \mathbf{x} de haute dimension vers un espace latent \mathbf{z} de dimensionnalité réduite. Architecturalement, il peut s’agir d’un MLP ou d’un CNN pour les images.
Le Goulot d’étranglement (Bottleneck) : La couche critique dont la dimension d_z \ll d_x limite le flux d’information. Cette couche agit comme un filtre sémantique : seule l’information structurellement indispensable à la reconstruction peut y passer.
Le Décodeur (\hat{\mathbf{x}} = g_\phi(\mathbf{z})) : La fonction réciproque qui tente de reconstruire le signal original à partir de la représentation compressée. Il est souvent symétrique à l’encodeur.
5.1.2 L’Objectif de Reconstruction
Le modèle est entraîné à reproduire fidèlement sa propre entrée après l’avoir comprimée : plus l’écart entre l’original et la reconstruction est petit, mieux le goulot a retenu l’essentiel.
🔍 Détails mathématiques
Mathématiquement, l’entraînement minimise la perte de reconstruction :
\mathcal{L}(\theta, \phi) = \mathbb{E}_{\mathbf{x} \sim p_{\text{data}}}\!\left[\|\mathbf{x} - g_\phi(f_\theta(\mathbf{x}))\|^2\right]
Cette contrainte force le modèle à ignorer les variations stochastiques (le bruit) pour ne conserver que les composantes principales du jeu de données. L’autoencodeur agit ainsi comme une extension non-linéaire de l’Analyse en Composantes Principales (ACP/PCA) : là où la PCA trouve le sous-espace linéaire optimal, l’autoencodeur apprend le manifold non-linéaire sur lequel réside réellement la distribution des données (Fournier and Aloise 2021).
5.1.3 Applications Pratiques
Grâce à sa capacité à distiller l’essentiel, l’autoencodeur sert de débruiteur, de détecteur d’anomalies (tout ce qu’il ne sait pas reconstruire est “anormal”), et d’outil de visualisation de l’espace latent.
🔍 Détails techniques
La contrainte du goulot d’étranglement génère plusieurs capacités utiles :
Compression et Réduction de Dimension : La représentation latente \mathbf{z} constitue une représentation compacte, exploitable pour la visualisation (t-SNE sur \mathbf{z}) ou comme entrée d’un modèle aval (Fournier and Aloise 2021).
Débruitage (Denoising Autoencoders) : En entraînant le modèle à reconstruire \mathbf{x} à partir d’une version bruitée \tilde{\mathbf{x}} = \mathbf{x} + \epsilon, on force l’encodeur à ignorer le bruit aléatoire. L’espace latent ne pouvant encodeur le bruit faute de capacité, le décodeur apprend à reconstruire la structure propre du signal (Bengio 2012).
Détection d’Anomalies : Pour une donnée hors-distribution, la perte de reconstruction \|\mathbf{x} - \hat{\mathbf{x}}\|^2 est structurellement élevée, le modèle n’ayant pas de “vocabulaire latent” pour la représenter. Ce signal constitue un détecteur d’anomalies sans supervision.
5.1.4 Fragmentation du Manifold
L’espace latent de l’autoencodeur ressemble à un archipel : des îles valides entourées de vide. Tirer un point aléatoire dans ce vide produit un décodage incohérent — c’est ce qui motive le VAE.
🔍 Détails techniques
Malgré ces qualités, l’autoencodeur classique souffre d’un défaut architectural critique : la fragmentation du manifold latent. L’espace \mathbf{z} est discontinu, parsemé de “trous sémantiques” entre les clusters correspondant aux différentes classes. Interpoler entre deux points latents valides peut produire des reconstructions incohérentes (Shrivastava, Rameshan, and Agnihotri 2024).
Ce constat est fondamental : si l’on tire un point \mathbf{z} aléatoire dans l’espace latent, rien ne garantit que g_\phi(\mathbf{z}) produira une donnée sémantiquement valide. L’espace latent n’est pas un continuum utilisable — il est une collection de régions valides entourées de régions vides. C’est précisément cette limitation qui motive le passage au Variational Autoencoder.
🗜️ Simulateur — Architecture Autoencodeur
5.2 Du Déterminisme au Probabilisme
Là où l’autoencodeur encode chaque donnée en un point fixe, le VAE l’encode en une zone floue : plutôt que d’un point précis dans l’espace latent, on obtient un nuage gaussien, ce qui garantit que l’espace entre les zones est navigable.
🔍 Détails techniques
Le passage à l’Autoencodeur Variationnel (VAE) marque une transition paradigmatique : l’encodeur ne produit plus un point fixe dans l’espace latent, mais les paramètres d’une distribution de probabilité. Ce saut conceptuel résout directement la fragmentation du manifold en remplaçant les coordonnées déterministes par des régions de confiance continues (Kassel 2026; Leclaire n.d.).
5.2.1 L’Encodeur Probabiliste
Pluttôt qu’une adresse précise (“vous êtes au point 3,7”), l’encodeur du VAE donne un code postal avec un rayon (« vous êtes quelque part dans ce quartier de rayon \sigma centré en \mu ») — ce qui force le décodeur à bien fonctionner partout dans ce quartier.
🔍 Détails techniques
Dans un VAE, l’encodeur ne produit plus un vecteur \mathbf{z} unique mais les paramètres (\boldsymbol{\mu}, \boldsymbol{\sigma}) d’une distribution gaussienne multivariée diagonale (Wikipedia contributors 2026) :
q_\phi(\mathbf{z} | \mathbf{x}) = \mathcal{N}(\mathbf{z}; \boldsymbol{\mu}_\phi(\mathbf{x}), \text{diag}(\boldsymbol{\sigma}^2_\phi(\mathbf{x})))
Cette modélisation force chaque point de données \mathbf{x} à être représenté non pas comme un point mais comme une ellipsoïde gaussienne dans l’espace latent. Le décodeur doit apprendre à reconstruire correctement n’importe quel point échantillonné dans cette ellipsoïde, ce qui contraint l’espace latent à être dense et continu (Bergmann and Stryker n.d.).
🕹️ AE vs VAE
5.2.2 L’Objectif ELBO
L’ELBO résoud un compromis : le terme de reconstruction pousse le modèle à mémoriser précisément (faire des petites zones), le terme KL le force à garder ces zones proches de l’origine et à ne pas s’effondrer en points (faire des zones suffisamment étales).
🔍 Détails mathématiques
L’entraînement du VAE repose sur la maximisation de l’Evidence Lower Bound (ELBO), qui arbitre le conflit entre deux termes antagonistes (Leclaire n.d.; nik-55 2025) :
\mathcal{L}_{\text{ELBO}}(\theta, \phi) = \underbrace{\mathbb{E}_{q_\phi(\mathbf{z}|\mathbf{x})}\!\left[\log p_\theta(\mathbf{x}|\mathbf{z})\right]}_{\text{Terme de reconstruction}} - \underbrace{D_{\text{KL}}\!\left(q_\phi(\mathbf{z}|\mathbf{x}) \;\|\; p(\mathbf{z})\right)}_{\text{Terme de régularisation}}
Terme de reconstruction : Maximise la log-vraisemblance de reconstruire \mathbf{x} à partir d’un \mathbf{z} échantillonné. Il pousse l’encodeur à produire des représentations informatives.
Terme de régularisation (Divergence KL) : Mesure l’écart entre la distribution postérieure apprise q_\phi(\mathbf{z}|\mathbf{x}) et la distribution a priori p(\mathbf{z}) = \mathcal{N}(\mathbf{0}, \mathbf{I}). Il pousse les “balles gaussiennes” à rester proches de l’origine et à ne pas s’effondrer en points déterministes (ce qui reviendrait à un AE classique).
Cette tension est productive : le terme KL interdit à l’encodeur de “tricher” en mémorisant les données avec \boldsymbol{\sigma} \to 0, forçant une généralisation réelle.
5.2.3 Le \beta-VAE
En augmentant \beta, on serre davantage le corset sur l’espace latent : chaque dimension est forcée à contrôler un seul facteur de variation indépendant (rotation, couleur, échelle), au prix d’une reconstruction un peu moins fidèle.
🔍 Détails techniques
Une extension importante est le \beta-VAE, qui introduit un hyperparamètre \beta > 1 pondérant le terme KL (Burgess et al. 2017) :
\mathcal{L}_{\beta\text{-VAE}} = \mathbb{E}_{q_\phi(\mathbf{z}|\mathbf{x})}\!\left[\log p_\theta(\mathbf{x}|\mathbf{z})\right] - \beta \cdot D_{\text{KL}}\!\left(q_\phi(\mathbf{z}|\mathbf{x}) \;\|\; p(\mathbf{z})\right)
Un \beta élevé contraint davantage l’espace latent, favorisant le disentanglement : chaque dimension de \mathbf{z} tend à contrôler un facteur de variation indépendant et interprétable (ex. : une dimension pour la rotation, une autre pour la couleur). Ce disentanglement est précieux pour la génération contrôlée mais se fait au détriment de la qualité de reconstruction (Burgess et al. 2017).
5.2.4 Génération et Interpolation
Un VAE bien entraîné est un espace contigu : on peut tirer un point au hasard et obtenir une image valide, ou glisser progressivement entre deux images pour créer des transitions réalistes.
🔍 Détails techniques
Une fois entraîné, le VAE permet deux opérations fondamentales impossibles avec un AE classique :
Génération : Tirer \mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) et décoder \hat{\mathbf{x}} = g_\theta(\mathbf{z}). La continuité de l’espace latent garantit la validité sémantique du résultat.
Interpolation : Encoder deux données \mathbf{x}_a et \mathbf{x}_b pour obtenir \boldsymbol{\mu}_a et \boldsymbol{\mu}_b, puis décoder les points intermédiaires \boldsymbol{\mu}_a + t(\boldsymbol{\mu}_b - \boldsymbol{\mu}_a) pour t \in [0, 1]. La trajectoire dans l’espace latent est sémantiquement cohérente — une interpolation entre un “4” et un “9” MNIST passe progressivement par des formes intermédiaires plausibles.
5.3 Dérivation de la Divergence de Kullback-Leibler
La divergence KL mesure à quel point deux courbes de probabilité diffèrent l’une de l’autre — dans le VAE, c’est le thermomètre qui indique si les nuages gaussiens appris restent proches du nuage de référence centré à l’origine.
🔍 Détails techniques
Pour comprendre comment le VAE préserve la continuité de son espace latent, une dérivation rigoureuse de la Divergence de Kullback-Leibler (DKL) entre deux distributions gaussiennes est indispensable. Cette forme fermée est la clé qui rend le VAE entraînable efficacement (Muñoz and Ramele n.d.).
5.3.1 Définition et Problème
Cette étape consiste à formaliser mathématiquement l’écart entre la distribution latente apprise par l’encodeur et la distribution normale standard choisie comme référence.
🔍 Détails mathématiques
On cherche à quantifier l’écart entre la distribution postérieure apprise q_\phi(\mathbf{z}|\mathbf{x}) \sim \mathcal{N}(\boldsymbol{\mu}_1, \boldsymbol{\Sigma}_1) et la distribution a priori p(\mathbf{z}) \sim \mathcal{N}(\boldsymbol{\mu}_2, \boldsymbol{\Sigma}_2), avec typiquement p(\mathbf{z}) = \mathcal{N}(\mathbf{0}, \mathbf{I}). La définition générale est :
D_{\text{KL}}(P \| Q) = \int p(\mathbf{x}) \log \frac{p(\mathbf{x})}{q(\mathbf{x})} \, d\mathbf{x}
En substituant les densités gaussiennes et en développant le logarithme, l’intégrale se décompose en trois termes analytiques H_1, H_2 et H_3 (Muñoz and Ramele n.d.).
5.3.2 Décomposition en Trois Termes
L’intégrale se sépare en trois morceaux distincts : un qui compare les volumes, un autre qui mesure l’écart des centres, et un terme constant lié à la taille de l’espace.
🔍 Détails mathématiques
Terme H_1 — Log-Déterminant :
Ce terme mesure le rapport de volume entre les deux ellipsoïdes de confiance :
H_1 = \frac{1}{2} \log \frac{|\boldsymbol{\Sigma}_2|}{|\boldsymbol{\Sigma}_1|}
Terme H_2 — Forme Quadratique :
En utilisant l’identité \mathbb{E}_P[\mathbf{x}^T \mathbf{A} \mathbf{x}] = \text{tr}(\mathbf{A}\boldsymbol{\Sigma}) + \boldsymbol{\mu}^T \mathbf{A} \boldsymbol{\mu}, on obtient :
H_2 = \frac{1}{2} \left[ \text{tr}\!\left(\boldsymbol{\Sigma}_2^{-1} \boldsymbol{\Sigma}_1\right) + (\boldsymbol{\mu}_2 - \boldsymbol{\mu}_1)^T \boldsymbol{\Sigma}_2^{-1} (\boldsymbol{\mu}_2 - \boldsymbol{\mu}_1) \right]
Ce terme pénalise à la fois l’éloignement des moyennes et la divergence des échelles.
Terme H_3 — Dimensionnalité :
Provenant de l’espérance du terme de normalisation de P en dimension k :
H_3 = \frac{k}{2}
5.3.3 Forme Fermée Finale
En assemblant ces trois morceaux, on obtient l’équation générale qui donne la distance exacte entre nos deux distributions.
🔍 Détails mathématiques
La sommation D_{\text{KL}} = H_1 + H_2 - H_3 donne la formule standard (Muñoz and Ramele n.d.) (voir le Glossaire) :
\boxed{D_{\text{KL}}(P \| Q) = \frac{1}{2} \left( \text{tr}(\boldsymbol{\Sigma}_2^{-1} \boldsymbol{\Sigma}_1) + (\boldsymbol{\mu}_2 - \boldsymbol{\mu}_1)^T \boldsymbol{\Sigma}_2^{-1} (\boldsymbol{\mu}_2 - \boldsymbol{\mu}_1) - k + \log\frac{|\boldsymbol{\Sigma}_2|}{|\boldsymbol{\Sigma}_1|} \right)}
- \text{tr}(\cdot) (Trace) : somme des éléments diagonaux d’une matrice carrée.
- \boldsymbol{\Sigma}_2^{-1} (Covariance inverse) : inverse de la matrice de covariance \boldsymbol{\Sigma}_2.
- (\cdot)^T (Transposition) : convertit un vecteur colonne en vecteur ligne pour permettre le produit matriciel (calcul de forme quadratique).
- |\boldsymbol{\Sigma}| (Déterminant) : valeur scalaire mesurant la dilatation des volumes induite par la matrice de covariance.
- k : dimension de l’espace latent (nombre de variables aléatoires gaussiennes).
5.3.4 Gaussiennes Diagonales du VAE
Dans la pratique, puisqu’on ne considère que des gaussiennes sans corrélations entre dimensions, la formule complexe se réduit à une simple somme sur chaque dimension latente — facile à calculer et à différencier.
🔍 Détails mathématiques
Dans l’implémentation standard du VAE, les covariances sont diagonales : \boldsymbol{\Sigma}_1 = \text{diag}(\sigma_1^2, \ldots, \sigma_k^2) et \boldsymbol{\Sigma}_2 = \mathbf{I} (l’a priori standard). La formule se simplifie considérablement (voir le Glossaire) :
D_{\text{KL}}\!\left(\mathcal{N}(\boldsymbol{\mu}, \boldsymbol{\sigma}^2) \| \mathcal{N}(\mathbf{0}, \mathbf{I})\right) = \frac{1}{2} \sum_{j=1}^{k} \left(\sigma_j^2 + \mu_j^2 - 1 - \log \sigma_j^2\right)
- \mathcal{N}(\boldsymbol{\mu}, \boldsymbol{\sigma}^2) : distribution normale paramétrée par son vecteur de moyenne \boldsymbol{\mu} et son écart-type \boldsymbol{\sigma}.
- \mathbf{0} et \mathbf{I} : le vecteur de moyennes nul et la matrice de covariance identité (pas de corrélation, variance unitaire).
- \sigma_j^2 : la variance de la j-ème composante de l’espace latent.
- \mu_j : la moyenne de la j-ème composante.
Cette forme est remarquablement simple à calculer et à différencier. Son gradient est disponible analytiquement, sans nécessiter d’échantillonnage.
5.3.5 Interprétation Géométrique
Chaque terme de la formule KL joue un rôle de gardien : l’un évite que les nuages s’éloignent trop de l’origine, l’autre empêche qu’ils s’effondrent en points ou explose à l’infini.
🔍 Détails techniques
Chaque terme joue un rôle géométrique précis dans la régularisation de l’espace latent :
| Terme | Mécanisme | Effet sur l’espace latent |
|---|---|---|
| \mu_j^2 | Pénalise l’éloignement de l’origine | Centre les “balles gaussiennes” à \mathbf{0} |
| \sigma_j^2 | Force une variance minimale | Interdit l’effondrement en points (\sigma \to 0) |
| -\log \sigma_j^2 | Force une variance maximale | Interdit l’explosion en distributions infinies |
| -1 | Terme de normalisation | Référence : \sigma = 1 (aucune pénalité) |
La trace et le log-déterminant agissent conjointement comme un garde-fou contre l’effondrement représentationnel : si \sigma_j \to 0, le terme -\log \sigma_j^2 \to +\infty force le gradient à résister à cet effondrement. C’est le mécanisme fondamental par lequel la divergence KL maintient la continuité de l’espace latent.
📐 Divergence KL
D_KL
—
5.4 Le Trick de Reparamétrisation et la Géométrie du Latent
Le problème : on ne peut pas différencier un tirage aléatoire. L’astuce : on externalise le hasard dans une variable fixe \epsilon, puis on applique une transformation déterministe — le gradient peut désormais traverser.
🔍 Détails techniques
L’élégance du VAE repose sur un verrou algorithmique crucial : comment entraîner par rétropropagation un réseau qui échantillonne ? L’opération \mathbf{z} \sim \mathcal{N}(\boldsymbol{\mu}, \boldsymbol{\sigma}^2) est stochastique et non-différentiable — le gradient ne peut pas traverser un nœud d’échantillonnage.
🎲 Diagramme — L’Astuce de Reparamétrisation
5.4.1 Le Reparameterization Trick
L’astuce consiste à sortir la pièce aléatoire du réseau : le réseau génère la moyenne et l’écart-type de manière déterministe, et on y ajoute le hasard produit à l’extérieur.
🔍 Détails techniques
La solution, introduite par le VAE original, déplace la stochasticité vers une variable externe \boldsymbol{\epsilon} indépendante des paramètres (Leclaire n.d.) :
\mathbf{z} = \boldsymbol{\mu} + \boldsymbol{\sigma} \odot \boldsymbol{\epsilon}, \qquad \boldsymbol{\epsilon} \sim \mathcal{N}(\mathbf{0}, \mathbf{I})
La transformation \mathbf{z} = \boldsymbol{\mu} + \boldsymbol{\sigma} \odot \boldsymbol{\epsilon} est déterministe par rapport aux paramètres (\boldsymbol{\mu}, \boldsymbol{\sigma}) — seul \boldsymbol{\epsilon} est aléatoire, et il est tiré indépendamment. Le gradient peut désormais s’écouler librement à travers \boldsymbol{\mu} et \boldsymbol{\sigma} jusqu’à l’encodeur.
5.4.2 Compacité et Stochasticité
La question de fond : est-ce le hasard du VAE qui crée de bonnes représentations, ou simplement la contrainte géométrique imposée par la KL ? Des résultats récents suggèrent que c’est la contrainte qui fait tout le travail.
🔍 Détails techniques
Une perspective récente propose une réinterprétation profonde du rôle de la reparamétrisation (Shi n.d.). La question posée est : la stochasticité est-elle véritablement le mécanisme générateur de représentations utiles, ou n’est-elle qu’un vecteur pour imposer une régularisation géométrique ?
Des expériences montrent qu’il est possible d’obtenir des espaces latents de qualité comparable au VAE via des méthodes de Compactness Regularization déterministes (Shi n.d.) :
- Asymmetric Expansion : Applique une pénalité \text{ReLU}(-\log \boldsymbol{\sigma}^2) qui interdit l’effondrement des variances sans imposer de distribution gaussienne.
- Symmetric Stabilization : Régularise symétriquement les variances autour de 1, maintenant la géométrie sans recourir à l’échantillonnage.
Ce résultat suggère que la divergence KL est avant tout un bouclier géométrique contre l’effondrement représentationnel, pas un mécanisme probabiliste en soi. C’est la contrainte de compacité qui génère la sémantique, quelle que soit la forme qu’elle prend.
5.4.3 Métriques de Qualité du Latent
Deux indicateurs permettent de diagnostiquer la santé d’un espace latent : l’uniformité des distances entre voisins (est-ce que tout est bien réparti ?) et la couverture globale de l’espace de référence (est-ce qu’il reste des zones vides ?).
🔍 Détails techniques
Pour évaluer objectivement la qualité d’un espace latent, deux métriques sont particulièrement informatives (Shi n.d.; Shrivastava, Rameshan, and Agnihotri 2024) :
CV-NND (Coefficient of Variation of Nearest-Neighbor Distances) :
Mesure l’uniformité de la densité locale. Pour chaque point \mathbf{z}_i, on calcule la distance à son voisin le plus proche d_i. Le CV-NND est le coefficient de variation de la distribution \{d_i\} :
\text{CV-NND} = \frac{\text{std}(\{d_i\})}{\text{mean}(\{d_i\})}
Un CV-NND bas indique une distribution géométriquement uniforme et bien dispersée — caractéristique d’un espace latent de VAE bien entraîné. Un CV-NND élevé signale des clusters denses entourés de régions vides (pathologie de l’AE classique).
DLC (Dynamic Latent Coverage) :
Évalue dans quelle mesure l’encodeur couvre le support de la distribution a priori p(\mathbf{z}) au cours de l’entraînement. Un DLC élevé en fin d’entraînement indique que l’espace latent est correctement ancré à \mathcal{N}(\mathbf{0}, \mathbf{I}) et ne présente pas de régions vides (Shrivastava, Rameshan, and Agnihotri 2024).
| Métrique | Bonne valeur | Pathologie | Diagnostic |
|---|---|---|---|
| CV-NND | Faible | Élevé | Fragmentation du manifold |
| DLC | Élevé | Faible | Effondrement postérieur (posterior collapse) |
5.4.4 Le Posterior Collapse
Le posterior collapse est l’extrême opposé : l’encodeur cesse complètement de travailler et renvoie toujours la même gaussienne de référence, quel que soit l’input — comme un employé qui remplit toujours le même formulaire sans lire le dossier.
🔍 Détails techniques
Le posterior collapse est la pathologie opposée à la fragmentation : l’encodeur “ignore” l’entrée et renvoie toujours la distribution a priori q_\phi(\mathbf{z}|\mathbf{x}) \approx p(\mathbf{z}). Le terme KL est alors nul, le terme de reconstruction aussi (le décodeur apprend à ignorer \mathbf{z} et génère depuis un modèle marginal). Cette pathologie survient quand le décodeur est trop puissant et apprend à modéliser p_\theta(\mathbf{x}) sans utiliser le code latent — le canal d’information entre encodeur et décodeur se ferme. La solution passe par un contrôle du \beta ou des techniques d’annelage (KL annealing).
5.5 VQ-VAE et Espace Latent Discret
Pluttôt qu’un nuage de points continus, le VQ-VAE contraint l’espace latent à un dictionnaire fini de mots : chaque image est décrite par un index pointant vers le mot le plus proche du dictionnaire, comme choisir le meilleur équivalent dans un lexique de 256 entrées.
🔍 Détails techniques
Le VQ-VAE (Vector Quantized Variational Autoencoder) propose une alternative radicale au continuum gaussien du VAE : un espace latent discret, constitué d’un dictionnaire fini de vecteurs. Cette approche est particulièrement adaptée aux données dont la sémantique est naturellement hiérarchique et discrète — paroles, images haute résolution, partitions musicales (Shrivastava, Rameshan, and Agnihotri 2024).
🗂️ Codebook VQ-VAE
5.5.1 Le Codebook Latent
L’encodeur produit un vecteur continu, puis on cherche dans le dictionnaire le mot le plus proche et on l’utilise à la place — comme arrondir un nombre décimal au nombre entier le plus proche.
🔍 Détails techniques
La pièce maîtresse du VQ-VAE est le codebook (dictionnaire) \mathcal{E} = \{\mathbf{e}_k\}_{k=1}^{K}, un ensemble de K vecteurs apprenables de dimension d_z. L’encodeur ne produit plus une distribution gaussienne mais un vecteur continu \mathbf{z}_e(\mathbf{x}), qui est ensuite quantifié par remplacement par le vecteur du codebook le plus proche :
\mathbf{z}_q(\mathbf{x}) = \mathbf{e}_{k^*}, \qquad k^* = \arg\min_k \|\mathbf{z}_e(\mathbf{x}) - \mathbf{e}_k\|^2 (voir le Glossaire)
- \mathbf{z}_e(\mathbf{x}) : le vecteur continu en sortie de l’encodeur pour une entrée \mathbf{x}.
- \mathbf{z}_q(\mathbf{x}) : le vecteur quantifié (discrétisé) correspondant.
- \mathbf{e}_k : le k-ème vecteur du codebook (dictionnaire).
- \arg\min_k : l’opération renvoyant l’indice k qui minimise la distance Euclidienne au carré.
- \|\cdot\|^2 : la norme Euclidienne au carré, mesurant la distance géométrique dans l’espace latent.
Le décodeur reçoit \mathbf{z}_q et non \mathbf{z}_e. La représentation latente finale est donc un index discret k^* \in \{1, \ldots, K\} plutôt qu’un vecteur continu.
5.5.2 Les Deux Chemins de l’Objectif
L’apprentissage de cet alphabet nécessite de faire coopérer l’encodeur et le dictionnaire : chacun doit faire un pas vers l’autre pour stabiliser le code.
🔍 Détails mathématiques
L’entraînement combine trois termes correspondant à deux dynamiques simultanées (Shrivastava, Rameshan, and Agnihotri 2024) :
\mathcal{L}_{\text{VQ-VAE}} = \underbrace{\|\mathbf{x} - g_\phi(\mathbf{z}_q)\|^2}_{\text{Reconstruction}} + \underbrace{\|\text{sg}[\mathbf{z}_e] - \mathbf{z}_q\|^2}_{\text{Codebook}} + \underbrace{\beta \|\mathbf{z}_e - \text{sg}[\mathbf{z}_q]\|^2}_{\text{Commitment}} (voir le Glossaire)
g_\phi(\cdot) : le décodeur paramétré par ses poids \phi.
\text{sg}[\cdot] : l’opérateur stop-gradient (bloque la rétropropagation du gradient).
\beta (bêta) : l’hyperparamètre pondérant la perte d’engagement (commitment loss).
Chemin A — Codebook Loss : Rapproche les vecteurs du codebook \mathbf{e}_k vers les encodages \mathbf{z}_e qui leur sont affectés. Entraîne le dictionnaire.
Chemin B — Commitment Loss : Rapproche les encodages \mathbf{z}_e vers les vecteurs du codebook qui leur sont assignés. Force l’encodeur à “s’engager” vers les vecteurs du dictionnaire plutôt que de dériver arbitrairement. Le coefficient \beta contrôle la force de cet engagement.
5.5.3 Le Problème du Gradient à la Quantification
La sélection du mot le plus proche dans le dictionnaire est une opération non-différentiable. La solution : faire semblant qu’elle n’existe pas en backward et copier directement le gradient comme si l’entrée et la sortie de quantification étaient identiques.
🔍 Détails techniques
L’opération \arg\min est non-différentiable : le gradient ne peut pas traverser la sélection de k^*. La solution est le straight-through estimator : en forward, on utilise \mathbf{z}_q, mais en backward, on copie directement le gradient de g_\phi vers \mathbf{z}_e comme si la quantification n’existait pas :
\frac{\partial \mathcal{L}}{\partial \mathbf{z}_e} \approx \frac{\partial \mathcal{L}}{\partial \mathbf{z}_q} (voir le Glossaire)
- \partial : le symbole de dérivation partielle.
- \approx : le symbole d’approximation du gradient (copie de gradient du Straight-Through Estimator).
Cette approximation est grossière mais fonctionne empiriquement car elle oriente l’encodeur dans la bonne direction.
5.5.4 Mise à Jour par EMA
Pour éviter que notre dictionnaire ne change trop brusquement à chaque étape, on met à jour ses mots par petites touches progressives (moyenne mobile), sans utiliser directement les gradients.
🔍 Détails techniques
Pour stabiliser l’entraînement du codebook, une alternative au gradient standard est la mise à jour par Exponential Moving Average (EMA). Chaque vecteur \mathbf{e}_k est mis à jour comme une moyenne pondérée des encodages qui lui sont affectés :
\mathbf{e}_k \leftarrow (1 - \gamma) \mathbf{e}_k + \gamma \cdot \frac{\sum_i \mathbf{z}_e^{(i)} \cdot \mathbb{1}[k^{(i)} = k]}{\sum_i \mathbb{1}[k^{(i)} = k]} (voir le Glossaire)
- \leftarrow : affectation ou opérateur de mise à jour (remplacement).
- \gamma (gamma) : le coefficient de décroissance pour la moyenne mobile exponentielle.
- \mathbb{1}[\text{cond}] : la fonction indicatrice (vaut 1 si la condition est vraie, 0 sinon).
Cette approche est plus stable que l’optimisation directe par descente de gradient et évite que le codebook oscille entre les mises à jour (Shrivastava, Rameshan, and Agnihotri 2024).
5.5.5 Risque de Codebook Collapse
Si l’encodeur prend l’habitude d’utiliser toujours les mêmes 5 entrées sur 256, les 251 autres deviennent inutiles — la capacité du dictionnaire est gaspillée et la qualité de génération s’effondre.
🔍 Détails techniques
La pathologie principale du VQ-VAE est le Codebook Collapse : une fraction des K vecteurs du dictionnaire capture toute la variance des données, laissant les autres vecteurs inutilisés. L’encodeur apprend à ignorer une large partie du codebook, réduisant effectivement la capacité de représentation à quelques codes actifs.
Les solutions incluent : la réinitialisation périodique des vecteurs inactifs, l’augmentation du coefficient \beta du commitment loss, ou des techniques de codebook dropout forçant l’encodeur à utiliser des codes alternatifs.
5.5.6 VQ-VAE-2 et Génération Hiérarchique
VQ-VAE-2 empile deux niveaux de dictionnaires : un pour les détails fins (textures, bords) et un autre pour la structure globale (composition, forme) — comme un roman qui a à la fois un plan de chapitre et un plan de paragraphe.
🔍 Détails techniques
L’extension naturelle, VQ-VAE-2, empile plusieurs niveaux de codebooks pour capturer des structures à différentes échelles : un codebook “fin” pour les détails locaux (textures, bords) et un codebook “grossier” pour la structure globale (forme, composition). La génération utilise ensuite un modèle autoregressif (PixelCNN) opérant dans l’espace des codes discrets, produisant des images de qualité remarquable en évitant les compromis probabilistes du VAE.
5.6 La Contrainte comme Sémantique
Trois approches, un même principe : plus on contraint l’espace latent, plus le modèle est forcé à apprendre des représentations compactes et généralisables. AE serre légèrement, VAE serre avec des garde-fous probabilistes, VQ-VAE impose un alphabet fini.
🔍 Détails techniques
L’exploration des trois architectures d’espace latent révèle une leçon unificatrice : la sémantique émergente est une fonction directe de la contrainte exercée sur l’espace latent. Plus la contrainte est rigoureuse et structurée, plus le modèle est forcé à distiller l’essence informative des données (Fournier and Aloise 2021; Shrivastava, Rameshan, and Agnihotri 2024).
5.6.1 Tableau Comparatif des Architectures
Voici comment se comparent les trois architectures sur leurs principes de base, leurs manières de générer, et leurs problèmes typiques.
🔍 Détails techniques
| Critère | Autoencodeur (AE) | VAE | VQ-VAE |
|---|---|---|---|
| Nature de l’espace latent | Déterministe (point) | Probabiliste (distribution) | Discret (codebook) |
| Régularisation | Bottleneck seul | Divergence KL | Commitment Loss |
| Méthode de génération | Interpolation (fragile) | Échantillonnage gaussien | Autoregressif sur codes |
| Indicateur de qualité | Erreur de reconstruction | CV-NND bas / DLC élevé | Utilisation uniforme du codebook |
| Pathologie principale | Trous sémantiques | Posterior collapse | Codebook collapse |
| Applications typiques | Débruitage, anomalies | Génération, disentanglement | Image/audio haute qualité |
5.6.2 La Hiérarchie des Contraintes
Du simple goulot d’étranglement à l’alphabet discret, chaque modèle resserre un peu plus le corset sur l’espace latent.
🔍 Détails techniques
Les trois architectures forment une hiérarchie de contraintes croissantes :
AE : Contrainte douce par réduction de dimension. L’espace latent est structuré uniquement par la pression de reconstruction — pas de garantie sur sa géométrie.
VAE : Contrainte probabiliste via la divergence KL. L’espace latent est forcé à ressembler à \mathcal{N}(\mathbf{0}, \mathbf{I}), garantissant continuité et couverture.
VQ-VAE : Contrainte discrète via le commitment loss. L’espace est réduit à un ensemble fini de prototypes, imposant la compacité la plus extrême.
Paradoxalement, c’est l’architecture la plus contrainte (VQ-VAE) qui produit souvent les meilleures représentations pour les données haute dimension, car elle force le modèle à apprendre des abstractions véritablement discrètes et compositionnelles.
5.6.3 Connexion avec les Modèles de Fondation
Les VAE ne sont pas seulement un exercice académique : Stable Diffusion, l’un des modèles génératifs les plus populaires du monde, utilise un VAE pour comprimer les images en espace latent avant d’y appliquer la diffusion.
🔍 Détails techniques
Les autoencodeurs variationnels constituent une fondation théorique essentielle pour les architectures modernes. Les modèles de diffusion latente (Latent Diffusion Models, dont Stable Diffusion) s’appuient explicitement sur un VAE pour comprimer les images en un espace latent, dans lequel le processus de diffusion opère. Cette séparation des préoccupations — compression sémantique (VAE) et modélisation générative (diffusion) — permet de combiner les avantages des deux paradigmes.
Plus généralement, la notion d’espace latent contraint est le fil conducteur reliant les autoencodeurs, les modèles de diffusion, et les grands modèles de language (LLM) qui, eux aussi, opèrent sur des représentations compressées internes. La maîtrise de l’espace latent n’est pas une technique parmi d’autres : c’est le paradigme central du deep learning moderne.