Auto-encodeur variationnel

De testwiki
Aller à la navigation Aller à la recherche

Modèle:Infobox Méthode scientifique Modèle:Résumé introductif En apprentissage automatique, un auto-encodeur variationnel (ou VAE de l'anglais variational auto encoder)[1] est une architecture de réseau de neurones artificiels introduite en 2013 par D. Kingma et M. Welling, appartenant aux familles des modèles graphiques probabilistes et des méthodes bayésiennes variationnelles.

Les VAE sont souvent rapprochés des autoencodeurs[2]Modèle:,[3] dont ils sont une évolution. Leur utilisation et leur formulation mathématiques sont cependant différentes.

Les auto-encodeurs variationnels permettent de formuler un problème d'inférence statistique (par exemple, déduire la valeur d'une variable aléatoire à partir d'une autre variable aléatoire) en un problème d'optimisation statistique (c'est-à-dire trouver les valeurs de paramètres qui minimisent une fonction objectif)[4]. Ils représentent une fonction associant à une valeur d'entrée une distribution latente multivariée, qui n'est pas directement observée mais déduite depuis un modèle mathématique à partir de la distribution d'autres variables. Bien que ce type de modèle ait été initialement conçu pour l'apprentissage non supervisé[5], son efficacité a été prouvée pour l'apprentissage semi-supervisé[6]Modèle:,[7] et l'apprentissage supervisé[8].

Architecture

Dans un VAE, les données d'entrée sont échantillonnées à partir d'une distribution paramétrée (la distribution a priori, en termes d'inférence bayésienne), et l'encodeur et le décodeur sont entraînés conjointement de sorte que la sortie minimise une erreur de reconstruction dans le sens de la divergence de Kullback-Leibler entre la distribution paramétrique postérieure et la vraie distribution a posteriori[9]Modèle:,[10].

Formulation

Le schéma de base d'un auto-encodeur variationnel. Le modèle reçoit 𝐱 comme entrée. L'encodeur le comprime dans l'espace latent. Le décodeur reçoit en entrée les informations prélevées dans l'espace latent et produit 𝐱 aussi semblable que possible à 𝐱 .

On note 𝐱 le vecteur contenant l'ensemble des variables observées que l'on souhaite modéliser. Ce vecteur est une variable aléatoire, caractérisé par une distribution de probabilité inconnue P(𝐱), que l'on souhaite approximer par une distribution paramétrée pθ ayant pour paramètres θ.

On introduit alors un vecteur aléatoire 𝐳 distribué conjointement avec 𝐱 (c'est-à-dire dont la loi de probabilité n'est pas indépendante de celle de 𝐱). Ce vecteur 𝐳 représente un encodage latent de 𝐱, que l'on ne peut observer directement.

On exprime alors la distribution pθ via la loi de probablitié marginale sur 𝐳, ce qui donne alors:

pθ(𝐱)=𝐳pθ(𝐱,𝐳)d𝐳,

pθ(𝐱,𝐳) représente la distribution conjointe sous pθ des données observables 𝐱 et de leur représentation latente 𝐳. Selon la formule des probabilités composées, l'équation peut être réécrite comme

pθ(𝐱)=𝐳pθ(𝐱𝐳)pθ(𝐳)d𝐳

Dans l'auto-encodeur variationnel classique, on fait l'hypothèse que 𝐳 est un vecteur à valeur réelles de dimension finie, et pθ(𝐱|𝐳) suit une loi normale. Par conséquent, pθ(𝐱) est un mélange de distributions gaussiennes.

On peut voir les relations entre les données d'entrée et leur représentation latente comme un problème d'inférence bayésienne avec

  • pθ(𝐳) représente la distribution probabilité a priori dans l'espace latent
  • pθ(𝐱𝐳) représente la vraisemblance
  • pθ(𝐳𝐱) représente la distribution de probabilité a posteriori

Malheureusement, le calcul de pθ(𝐱) est au mieux coûteux, et dans la plupart des cas, impossible. Pour résoudre ce problème, il est nécessaire d'introduire une autre fonction qΦ pour approximer la distribution a posteriori :

qΦ(𝐳𝐱)pθ(𝐳𝐱)

Φ est l'ensemble des paramètres de q .

Ainsi le problème est formulé pour pouvoir être appliqué dans une architecture de réseau de neurones auto-encodeur, dans lequel la distribution de vraisemblance conditionnelle pθ(𝐱𝐳) est représentée par un décodeur probabiliste, tandis que la distribution a posteriori approchée qΦ(𝐳𝐱) est représentée par un codeur probabiliste. La mise en œuvre d'un VAE consistera donc à calculer les valeurs optimales des paramètres θ et Φ par un apprentissage automatique.

Fonction de perte ELBO

Comme dans tout problème d'apprentissage profond, il est nécessaire de définir une fonction de perte différentiable afin de mettre à jour les poids du réseau par rétropropagation lors de l'apprentissage.

Pour les auto-encodeurs variationnels, l'idée est de minimiser conjointement les paramètres du modèle génératif θ pour réduire l'erreur de reconstruction entre l'entrée et la sortie, et Φ pour avoir qΦ(𝐳𝐱), la distribution postérieure approchée, le plus près possible de pθ(𝐳𝐱), la vraie distribution de probabilité a posteriori.

Comme fonction de coût pour la reconstruction, l'erreur quadratique moyenne et l'entropie croisée sont souvent utilisées.

Pour la fonction de coût de distance entre les deux distributions, la divergence inverse de Kullback – Leibler DKL(qΦ(𝐳𝐱)pθ(𝐳𝐱)) est un bon choix pour pousser qΦ(𝐳𝐱) en dessous de pθ(𝐳𝐱)[1]Modèle:,[11].

Reparamétrisation

Le schéma de l'astuce de reparamétrisation. La variable aléatoire ε est injecté dans l'espace latent, non observé, 𝐳 comme entrée externe. De cette manière, il est possible de rétropropager le gradient sans impliquer de variable stochastique lors de la mise à jour.

Pour rendre la formulation ELBO adaptée à des fins d'apprentissage, il est nécessaire de modifier légèrement la formulation du problème et la structure du VAE[12].

L'échantillonnage stochastique est l'opération non différentiable par laquelle il est possible d'échantillonner à partir de l'espace latent et d'alimenter le décodeur probabiliste.

L'hypothèse principale sur l'espace latent est qu'il peut être considéré comme un ensemble de distributions gaussiennes multivariées, et peut donc être décrit comme

𝐳qΦ(𝐳𝐱)=𝒩(μ,σ2) .
Le schéma d'un auto-encodeur variationnel après l'astuce de reparamétrisation.

Étant donné ε𝒩(0,𝑰) et défini comme le produit élément par élément, l'astuce de reparamétrisation modifie l'équation ci-dessus comme

𝐳=μ+σε.

Grâce à cette transformation (qui peut être étendue à des distributions non gaussiennes), le VAE devient entraînable et le codeur probabiliste doit apprendre à mapper une représentation compressée de l'entrée dans les deux vecteurs latents μ et σ, tandis que la stochasticité reste exclue du processus de mise à jour et est injectée dans l'espace latent en tant qu'entrée externe via le vecteur aléatoire ε .

Références

Modèle:Références Modèle:Palette Modèle:Portail

  1. 1,0 et 1,1 Modèle:Lien arXiv.
  2. Modèle:Article
  3. Modèle:Article.
  4. Modèle:Lien web
  5. Modèle:Ouvrage
  6. Modèle:Ouvrage
  7. Modèle:Article
  8. Modèle:Article
  9. An, J., & Cho, S. (2015). Variational autoencoder based anomaly detection using reconstruction probability. Special Lecture on IE, 2(1).
  10. Modèle:Article
  11. Modèle:Lien web
  12. Modèle:Article