Un autoencodeur variationnel (VAE) est une architecture de réseau de neurones artificiels introduite par Diederik P. Kingma et Max Welling en 2013. Il appartient aux familles des modèles graphiques probabilistes et des méthodes bayésiennes variationnelles. Les VAE sont des modèles génératifs qui apprennent à représenter les données dans un espace latent compressé et à générer de nouveaux échantillons à partir de cet espace. Contrairement aux autoencodeurs standard, qui mappent les entrées vers des points fixes dans un espace latent, les VAE mappent les entrées vers une distribution de probabilité, généralement une gaussienne multivariée, ce qui aide à éviter le sur-apprentissage et permet une interpolation et une génération fluides.
L'architecture se compose de deux réseaux de neurones : un encodeur et un décodeur. L'encodeur mappe chaque point de données d'entrée (par exemple, une image) vers les paramètres d'une distribution variationnelle dans l'espace latent, tels qu'un vecteur de moyenne et de variance. Le décodeur mappe de l'espace latent vers l'espace d'entrée, produisant des reconstructions ou de nouveaux échantillons. Les deux réseaux sont entraînés conjointement à l'aide de l'astuce de reparamétrisation, qui permet la rétropropagation à travers l'échantillonnage stochastique. Les VAE ont été initialement conçus pour l'apprentissage non supervisé, mais ils se sont également révélés efficaces pour des tâches d'apprentissage semi-supervisé et supervisé.
Aperçu de l'architecture et du fonctionnement
Un autoencodeur variationnel est un modèle génératif avec une distribution a priori sur les variables latentes et une distribution de bruit pour les données. Les modèles génératifs traditionnels, tels que l'ACP probabiliste ou le codage parcimonieux, sont entraînés à l'aide du méta-algorithme d'espérance-maximisation (EM). EM optimise une borne inférieure sur la vraisemblance des données, qui est souvent computationally intraitable, et nécessite de découvrir des distributions q (postérieures variationnelles) pour chaque point de données dans un processus d'optimisation séparé. En revanche, les VAE utilisent un réseau de neurones comme approche amortie pour optimiser conjointement sur tous les points de données. Cela signifie que les mêmes paramètres de réseau sont réutilisés pour plusieurs points de données, ce qui entraîne des économies de mémoire significatives.
Le réseau encodeur prend les points de données d'entrée et produit les paramètres de la distribution variationnelle. Comme il mappe d'un espace d'entrée connu vers un espace latent de faible dimension, il est appelé encodeur. Le décodeur est le deuxième réseau de neurones ; il mappe de l'espace latent vers l'espace d'entrée, produisant généralement les moyennes de la distribution de bruit. Bien qu'il soit possible d'utiliser un autre réseau pour produire la variance, cela est souvent omis pour simplifier, et la variance peut être optimisée par descente de gradient.
Pour optimiser le modèle, deux termes sont nécessaires : l'erreur de reconstruction et la divergence de Kullback-Leibler (KL-D). Les deux termes sont dérivés de l'expression de l'énergie libre du modèle probabiliste, et ils diffèrent selon la distribution de bruit et le a priori supposé des données (distribution p). Par exemple, une tâche VAE standard telle qu'ImageNet suppose généralement un bruit gaussien, tandis que des tâches comme MNIST binarisé nécessitent un bruit de Bernoulli. Le terme KL-D maximise la masse de probabilité de la distribution q qui chevauche la distribution p, ce qui peut conduire à un comportement de recherche de modes. Le terme de reconstruction est le reste de l'expression de l'énergie libre et nécessite une approximation par échantillonnage pour calculer sa valeur attendue. Des approches plus récentes remplacent la KL-D par diverses distances statistiques, comme discuté dans la section sur les variantes VAE à distance statistique.
Formulation
D'un point de vue de modélisation probabiliste, l'objectif est de maximiser la vraisemblance des données x sous une distribution de probabilité paramétrée choisie p_θ(x) = p(x|θ). Cette distribution est souvent choisie comme une gaussienne N(x|μ, σ), paramétrée par la moyenne μ et la variance σ, ce qui est facile à manipuler en tant que membre de la famille exponentielle. Les distributions simples sont faciles à maximiser, mais lorsqu'un a priori est supposé sur les variables latentes z, les intégrales résultantes deviennent intraitées. Pour trouver p_θ(x), on marginalise sur z :
p_θ(x) = ∫ p_θ(x, z) dz,
où p_θ(x, z) est la distribution conjointe des données observables x et de l'encodage latent z sous p_θ. En utilisant la règle de la chaîne, cela peut être réécrit comme :
p_θ(x) = ∫ p_θ(x|z) p_θ(z) dz.
Cette intégrale est généralement intraitable car l'espace latent est de haute dimension et la vraisemblance p_θ(x|z) peut être complexe. L'inférence variationnelle approxime le postérieur vrai p_θ(z|x) avec une distribution plus simple q_φ(z|x), paramétrée par le réseau encodeur. La borne inférieure de la vraisemblance (ELBO) est dérivée pour optimiser le modèle :
log p_θ(x) ≥ E_{q_φ(z|x)}[log p_θ(x|z)] - KL(q_φ(z|x) || p_θ(z)).
Le premier terme est la vraisemblance de reconstruction, et le deuxième terme est la divergence KL entre le postérieur approximé et le a priori. L'astuce de reparamétrisation permet d'échantillonner à partir de q_φ(z|x) en exprimant z comme μ + σ * ε, où ε est tiré d'une distribution normale standard, permettant une optimisation par gradient.
Réseaux encodeur et décodeur
Le réseau encodeur, souvent noté q_φ(z|x), prend une entrée x et produit les paramètres d'une distribution variationnelle, généralement la moyenne μ et la log-variance log σ² d'une gaussienne. Cette distribution représente l'encodage latent de l'entrée. Le réseau décodeur, noté p_θ(x|z), prend un échantillon latent z et produit les paramètres de la distribution des données, tels que la moyenne d'une gaussienne pour des données continues ou les probabilités pour des données de Bernoulli.
Les deux réseaux sont généralement entraînés ensemble à l'aide de l'astuce de reparamétrisation. L'encodeur et le décodeur sont généralement implémentés comme des perceptrons multicouches (MLP) ou des réseaux de neurones convolutifs (CNN), selon le type de données. Pour les données d'image, les CNN sont courants, comme on le voit dans des modèles tels que le VAE convolutif. Le choix de l'architecture du réseau affecte la capacité et les performances du modèle.
Entraînement et astuce de reparamétrisation
L'entraînement d'un VAE implique de maximiser l'ELBO, qui est la somme du terme de reconstruction et du terme de divergence KL. Le terme de reconstruction encourage le décodeur à reconstruire avec précision l'entrée à partir de l'échantillon latent, tandis que le terme de divergence KL encourage le postérieur approximé à être proche du a priori, généralement une distribution normale standard N(0, I). Cet équilibre empêche le sur-apprentissage et assure un espace latent fluide.
L'astuce de reparamétrisation est cruciale pour l'entraînement car elle permet aux gradients de circuler à travers le processus d'échantillonnage stochastique. Au lieu d'échantillonner z directement à partir de q_φ(z|x), ce qui est non différentiable, l'encodeur produit μ et σ, et z est calculé comme z = μ + σ * ε, où ε ~ N(0, I). Cela rend l'opération d'échantillonnage différentiable par rapport aux paramètres, permettant une rétropropagation standard.
Pendant l'entraînement, la variance du modèle de bruit peut être apprise séparément ou fixée. Dans certaines implémentations, le décodeur produit à la fois la moyenne et la variance, tandis que dans d'autres, la variance est un hyperparamètre ou optimisée séparément. Le processus d'entraînement utilise généralement la descente de gradient stochastique (SGD) ou des variantes comme Adam, avec des calendriers de taux d'apprentissage.
Fonction de perte et divergence KL
La fonction de perte pour un VAE est l'ELBO négatif, qui se compose de deux termes : la perte de reconstruction et la divergence KL. La perte de reconstruction mesure à quel point le décodeur reconstruit l'entrée à partir de l'échantillon latent. Pour des données continues avec un bruit gaussien, cela est souvent l'erreur quadratique moyenne (MSE) entre l'entrée et la sortie reconstruite. Pour des données binaires, c'est l'entropie croisée binaire.
Le terme de divergence KL est calculé entre le postérieur approximé q_φ(z|x) et le a priori p(z). Pour des distributions gaussiennes, cela a une expression de forme fermée :
KL(q_φ(z|x) || p(z)) = -0.5 * (1 + log σ² - μ² - σ²),
en supposant que le a priori est N(0, I). Ce terme pénalise la distribution latente pour s'écarter du a priori, encourageant un espace latent compact et continu.
La divergence KL peut conduire à un comportement de recherche de modes, où le modèle se concentre sur quelques modes de la distribution des données. Pour remédier à cela, diverses alternatives ont été proposées, telles que l'utilisation de différentes distances statistiques comme la distance de Wasserstein ou la discordance moyenne maximale (MMD).
Variantes et extensions
Depuis l'introduction des VAE, de nombreuses variantes ont été développées pour améliorer leurs performances et répondre à leurs limitations. Certaines variantes notables incluent :
- β-VAE : Introduit un facteur de pondération β sur le terme de divergence KL pour encourager des représentations plus désentrelacées. Cela est souvent utilisé dans l'apprentissage non supervisé de facteurs interprétables.
- VAE conditionnel (CVAE) : Conditionne à la fois l'encodeur et le décodeur sur des informations supplémentaires, telles que des étiquettes de classe, permettant une génération contrôlée.
- VQ-VAE : Utilise la quantification vectorielle dans l'espace latent, produisant des codes latents discrets, utiles pour des tâches comme la génération d'images et l'apprentissage de représentations.
- Variantes VAE à distance statistique : Remplacent la divergence KL par d'autres distances statistiques, telles que la distance de Wasserstein, pour améliorer la stabilité de l'entraînement et la qualité des échantillons.
Ces variantes ont été appliquées dans divers domaines, y compris la génération d'images, la génération de texte et la détection d'anomalies.
Applications et importance
Les autoencodeurs variationnels ont une large gamme d'applications dans l'apprentissage automatique et l'intelligence artificielle. Ils sont utilisés pour la modélisation générative, où ils peuvent produire de nouveaux échantillons de données similaires aux données d'entraînement, tels que des images, de l'audio et du texte. Les VAE sont également utilisés pour l'apprentissage de représentations, où l'espace latent capture des caractéristiques significatives des données, permettant des tâches comme le regroupement et la réduction de dimensionnalité.
Dans l'apprentissage semi-supervisé, les VAE peuvent tirer parti des données non étiquetées pour apprendre des représentations utiles, améliorant les performances sur des tâches avec des données étiquetées limitées. Dans l'apprentissage supervisé, les VAE peuvent être utilisés comme extracteurs de caractéristiques ou pour l'augmentation de données. Les VAE ont également été appliqués dans la détection d'anomalies, où l'erreur de reconstruction ou la vraisemblance d'un point de données indique s'il est normal ou anormal.
L'importance des VAE réside dans leur capacité à apprendre des représentations latentes probabilistes de manière non supervisée, fournissant un cadre princier pour la modélisation générative. Ils ont influencé de nombreux développements ultérieurs dans l'apprentissage profond, y compris le domaine plus large de l'IA générative, et continuent d'être un domaine de recherche actif.
Relation avec d'autres modèles génératifs
Les VAE sont l'une des familles de modèles génératifs proéminentes, aux côtés des réseaux antagonistes génératifs (GAN) et des modèles de diffusion. Alors que les GAN se concentrent sur la génération d'échantillons réalistes par un processus d'entraînement antagoniste, les VAE mettent l'accent sur l'inférence probabiliste et un espace latent fluide. Les modèles de diffusion, qui ont gagné en popularité récemment, génèrent des données en inversant un processus de bruitage. Chaque approche a ses forces et ses faiblesses ; les VAE offrent un entraînement stable et un espace latent bien défini, mais peuvent produire des échantillons plus flous par rapport aux GAN. Le choix du modèle dépend de l'application spécifique et des exigences.
Dans le contexte de l'apprentissage profond, les VAE sont souvent utilisés comme blocs de construction dans des architectures plus grandes, comme dans les transformateurs basés sur des autoencodeurs variationnels ou comme composants dans des modèles multimodaux. Ils sont également pertinents pour le développement de grands modèles de langage, bien que ceux-ci reposent généralement sur des architectures autorégressives ou de transformateurs plutôt que sur des VAE.
Voir aussi
- autoencodeur
- IA générative
- apprentissage profond
- modèles graphiques probabilistes
- méthodes bayésiennes variationnelles