Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Auto-encodeur variationnel

Un article de Wikipédia, l'encyclopédie libre.
Auto-encodeur variationnel
Type
Inventeurs
Diederik P. Kingma(d), Max Welling(en)Voir et modifier les données sur Wikidata
Date d'invention

modifier -modifier le code -modifier WikidataDocumentation du modèle

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

L'introduction de cet article est soit absente, soit non conforme auxconventions de Wikipédia().

Ces motifs sont peut-être précisés sur lapage de discussion. — Découvrezcomment faire pour en améliorer la rédaction.

Enapprentissage automatique, unauto-encodeur variationnel (ouVAE de l'anglaisvariational auto encoder)[1] est une architecture deréseau de neurones artificiels introduite en 2013 par D. Kingma et M. Welling, appartenant aux familles desmodèles graphiques probabilistes et des méthodes bayésiennes variationnelles.

Le VAE est une évolution desautoencodeurs classiques[2],[3], mais s'en distingue par sa formulation probabiliste et son objectif d'inférence statistique (leur utilisation et leur formulation mathématiques diffèrent). Le VAE permet de transformer (reformuler) un problème d'inférence en un problème d'optimisation statistique (c'est-à-dire trouver les valeurs de paramètres qui minimisent unefonction objectif). Ainsi, pour déduire la valeur d'unevariable aléatoire à partir d'une autre variable aléatoire ; on peut estimer une variable cachée à partir d'une observation[4]. Le modèle associe chaque donnée d'entrée à une distribution latente multivariée, non directement observable, mais déduite à partir d'un modèle mathématique et des données disponibles.

Ce type de modèle a été conçu pour l'apprentissage non supervisé[5], mais son efficacité a été prouvée pour l'apprentissage semi-supervisé[6],[7] et pour l'apprentissage supervisé[8].

Architecture

[modifier |modifier le code]

Dans un VAE, les données d'entrée sont échantillonnées à partir d'une distribution paramétrée (la distributiona 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 ladivergence de Kullback-Leibler entre la distribution paramétrique postérieure et la vraie distributiona posteriori[9],[10].

Formulation

[modifier |modifier le code]
Schéma de base d'un auto-encodeur variationnel. Le modèle reçoitx{\displaystyle \mathbf {x} } 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 produitx{\displaystyle \mathbf {x'} } aussi semblable que possible àx{\displaystyle \mathbf {x} }.

On notex{\displaystyle \mathbf {x} } 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 unedistribution de probabilité inconnueP(x){\displaystyle P(\mathbf {x} )}, que l'on souhaite approximer par une distribution paramétréepθ{\displaystyle p_{\theta }} ayant pour paramètresθ{\displaystyle \theta }.

On introduit alors un vecteur aléatoirez{\displaystyle \mathbf {z} } distribué conjointement avecx{\displaystyle \mathbf {x} } (c'est-à-dire dont la loi de probabilité n'est pas indépendante de celle dex{\displaystyle \mathbf {x} }). Ce vecteurz{\displaystyle \mathbf {z} } représente un encodage latent dex{\displaystyle \mathbf {x} }, que l'on ne peut observer directement.

On exprime alors la distributionpθ{\displaystyle p_{\theta }} via laloi de probabilité marginale surz{\displaystyle \mathbf {z} }, ce qui donne alors :

pθ(x)=zpθ(x,z)dz,{\displaystyle p_{\theta }(\mathbf {x} )=\int _{\mathbf {z} }p_{\theta }(\mathbf {x,z} )\,d\mathbf {z} ,}

pθ(x,z){\displaystyle p_{\theta }(\mathbf {x,z} )} représente ladistribution conjointe souspθ{\displaystyle p_{\theta }} des données observablesx{\displaystyle \mathbf {x} } et de leur représentation latentez{\displaystyle \mathbf {z} }. Selon laformule des probabilités composées, l'équation peut être réécrite comme

pθ(x)=zpθ(xz)pθ(z)dz{\displaystyle p_{\theta }(\mathbf {x} )=\int _{\mathbf {z} }p_{\theta }(\mathbf {x\mid z} )p_{\theta }(\mathbf {z} )\,d\mathbf {z} }

Dans l'auto-encodeur variationnel classique, on fait l'hypothèse quez{\displaystyle \mathbf {z} } est un vecteur à valeur réelles de dimension finie, etpθ(x|z){\displaystyle p_{\theta }(\mathbf {x|z} )} suit uneloi normale. Par conséquent,pθ(x){\displaystyle p_{\theta }(\mathbf {x} )} est un mélange dedistributions 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

Malheureusement, le calcul depθ(x){\displaystyle p_{\theta }(\mathbf {x} )} 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 fonctionqΦ{\displaystyle q_{\Phi }} pour approximer la distributiona posteriori :

qΦ(zx)pθ(zx){\displaystyle q_{\Phi }(\mathbf {z\mid x} )\approx p_{\theta }(\mathbf {z\mid x} )}

Φ{\displaystyle \Phi } est l'ensemble des paramètres deq{\displaystyle q}.

Ainsi le problème est formulé pour pouvoir être appliqué dans unearchitecture de réseau de neuronesauto-encodeur, dans lequel la distribution de vraisemblance conditionnellepθ(xz){\displaystyle p_{\theta }(\mathbf {x} \mid \mathbf {z} )} est représentée par undécodeur probabiliste, tandis que la distributiona posteriori approchéeqΦ(zx){\displaystyle q_{\Phi }(\mathbf {z} \mid \mathbf {x} )} est représentée par uncodeur probabiliste. La mise en œuvre d'un VAE consistera donc à calculer les valeurs optimales des paramètresθ{\displaystyle \theta } etΦ{\displaystyle \Phi } par unapprentissage automatique.

Fonction de perte ELBO

[modifier |modifier le code]

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 parré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θ{\displaystyle \theta } pour réduire l'erreur de reconstruction entre l'entrée et la sortie, etΦ{\displaystyle \Phi } pour avoirqΦ(zx){\displaystyle q_{\Phi }(\mathbf {z\mid x} )}, la distribution postérieure approchée, le plus près possible depθ(zx){\displaystyle p_{\theta }(\mathbf {z} \mid \mathbf {x} )}, 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 – LeiblerDKL(qΦ(zx)pθ(zx)){\displaystyle D_{KL}(q_{\Phi }(\mathbf {z\mid x} )\parallel p_{\theta }(\mathbf {z\mid x} ))} est un bon choix pour pousserqΦ(zx){\displaystyle q_{\Phi }(\mathbf {z\mid x} )} en dessous depθ(zx){\displaystyle p_{\theta }(\mathbf {z} \mid \mathbf {x} )}[1],[11].

Reparamétrisation

[modifier |modifier le code]
Le schéma de l'astuce de reparamétrisation. La variable aléatoireε{\displaystyle \mathbf {\varepsilon } } est injecté dans l'espace latent, non observé,z{\displaystyle \mathbf {z} } 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

zqΦ(zx)=N(μ,σ2){\displaystyle \mathbf {z} \sim q_{\Phi }(\mathbf {z} \mid \mathbf {x} )={\mathcal {N}}({\boldsymbol {\mu }},{\boldsymbol {\sigma }}^{2})}.
Le schéma d'un auto-encodeur variationnel après l'astuce de reparamétrisation.

Étant donnéεN(0,I){\displaystyle {\boldsymbol {\varepsilon }}\sim {\mathcal {N}}(0,{\boldsymbol {I}})} et{\displaystyle \odot } défini comme le produit élément par élément, l'astuce de reparamétrisation modifie l'équation ci-dessus comme

z=μ+σε.{\displaystyle \mathbf {z} ={\boldsymbol {\mu }}+{\boldsymbol {\sigma }}\odot {\boldsymbol {\varepsilon }}.}

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μ{\displaystyle {\boldsymbol {\mu }}} etσ{\displaystyle {\boldsymbol {\sigma }}}, 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ε{\displaystyle {\boldsymbol {\varepsilon }}}.

Notes et références

[modifier |modifier le code]
  1. a etb(en) Diederik P. Kingma et Max Welling, « Auto-Encoding Variational Bayes »,.
  2. (en) Mark A.Kramer, « Nonlinear principal component analysis using autoassociative neural networks »,AIChE Journal,vol. 37,no 2,‎,p. 233–243(DOI 10.1002/aic.690370209).
  3. (en) G. E.Hinton et R. R.Salakhutdinov, « Reducing the Dimensionality of Data with Neural Networks »,Science,vol. 313,no 5786,‎,p. 504–507(PMID 16873662,DOI 10.1126/science.1127647,Bibcode 2006Sci...313..504H,S2CID 1658773).
  4. (en) Eric Jang, « A Beginner's Guide to Variational Methods: Mean-Field Approximation »,.
  5. (en) Wei-NingHsu, YuZhang et JamesGlass,2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU),, 16–23 p.(ISBN 978-1-5090-4788-8,DOI 10.1109/ASRU.2017.8268911,arXiv 1707.06265,S2CID 22681625), « Unsupervised domain adaptation for robust speech recognition via variational autoencoder-based data augmentation ».
  6. (en) M.Ehsan Abbasnejad, AnthonyDick et Antonvan den Hengel,Infinite Variational Autoencoder for Semi-Supervised Learning,, 5888–5897 p.(lire en ligne).
  7. (en) WeidiXu, HaozeSun, ChaoDeng et YingTan, « Variational Autoencoder for Semi-Supervised Text Classification »,Proceedings of the AAAI Conference on Artificial Intelligence,vol. 31,no 1,‎(lire en ligne).
  8. (en) HirokazuKameoka, LiLi, ShotaInoue et ShojiMakino, « Supervised Determined Source Separation with Multichannel Variational Autoencoder »,Neural Computation,vol. 31,no 9,‎1er septembre 2019,p. 1891–1914(PMID 31335290,DOI 10.1162/neco_a_01217,S2CID 198168155,lire en ligne).
  9. (en) An, J., et Cho, S. (2015). Variational autoencoder based anomaly detection using reconstruction probability.Special Lecture on IE,2(1).
  10. (en) Diederik P.Kingma et MaxWelling, « An Introduction to Variational Autoencoders »,Foundations and Trends in Machine Learning,vol. 12,no 4,‎,p. 307–392(ISSN 1935-8237,DOI 10.1561/2200000056,arXiv 1906.02691,S2CID 174802445).
  11. (en) « From Autoencoder to Beta-VAE »,Lil'Log,.
  12. (en) YoshuaBengio, AaronCourville et PascalVincent, « Representation Learning: A Review and New Perspectives »,IEEE Transactions on Pattern Analysis and Machine Intelligence,vol. 35,no 8,‎,p. 1798–1828(ISSN 1939-3539,PMID 23787338,DOI 10.1109/TPAMI.2013.50,arXiv 1206.5538,S2CID 393948,lire en ligne).
v ·m
Paradigmes
Problèmes
Supervisé
Classement
Régression
Prédiction structurée
Réseau de neurones
artificiels
Non supervisé et
auto-supervisé
Découverte de structures
Réduction de dimensions
IA générative
etmodèle génératif
Métaheuristique
d'optimisation
Théorie
Logiciels
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Auto-encodeur_variationnel&oldid=229928293 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp