Il y a un trou calculé et linguistique. Les études des systèmes neuronaux et des modèles de probabilité n’ont pas de langage commun. Je vais probablement échafauder ce trou de pensée et envisager un effort et un discours plus coordonné entre ces domaines, et donner une exécution prévisible (Github connect). Si, par hasard, de nombreux mots sont différents pour vous, consultez le glossaire.

Les auto-codeurs variables sont cool. Ils nous permettent de structurer des modèles générateurs complexes d’informations et de les adapter à d’énormes ensembles de données. Ils peuvent produire des images de personnages anecdotiques de renom et d’artisanat informatisé à haut rendement.

De même, ces modèles donnent les meilleurs résultats de leur catégorie. Les auto-codeurs variationnels (VAE) ont été caractérisés en 2013 par Kingma et al. qui plus est, Rezende et al…

Comment faire un langage pour parler des auto-codeurs variationnels ? Et si nous les considérions d’abord comme des systèmes neuronaux, utilisant alors l’induction variationnelle dans les modèles de probabilité.

La perspective du réseau neuronal

En langage de réseau neuronal, un auto-codeur variationnel se compose d’un codeur, d’un décodeur et d’une fonction de perte.

L’encodeur est un système neuronal. Son information est un point de données xx, son rendement est une représentation cachée zz, et il a des charges et des prédispositions \thetaθ. Pour être solide, supposons que xx est une photographie de 28 x 28 pixels d’un numéro écrit à la main. Le codeur “encode” l’information de dimension 784784 en un espace de représentation dormant (caché) zz, qui est considérablement inférieur à 784784 mesures. On parle souvent d’un “goulot d’étranglement”, car le codeur doit se familiariser avec une pression efficace de l’information dans cet espace à plus faible dimension. Et si nous parlions du codeur q_\theta (z \mid x)q

​θ

(z∣x). On note que l’espace de dimension inférieure est stochastique : le codeur donne des paramètres à q_\theta (z \mid x)q

​θ

(z∣x), qui est une épaisseur de probabilité gaussienne. Nous pouvons faire des tests à partir de ce moyen de transport pour obtenir de fortes estimations des représentations zz.

Le décodeur est un autre réseau neuronal. Son information est la représentation zz, il cède les paramètres à l’appropriation vraisemblable de l’information, et a des charges et des inclinaisons \phiϕ. Le décodeur est signifié par p_\phi(x\mid z)p

​ϕ

(x∣z). En utilisant le modèle numérique écrit manuellement, supposons que les photographies soient très contrastées et que chaque pixel soit représenté par 00 ou 11. La probabilité de diffusion d’un seul pixel peut alors être exprimée en utilisant une appropriation de Bernoulli. Le décodeur obtient comme information la représentation dormante d’un chiffre zz et donne 784784 paramètres de Bernoulli, un pour chacun des 784784 pixels de l’image. Le décodeur “déchiffre” les chiffres estimés réels en zz en 784784 chiffres estimés réels se situant entre 00 et 11. Les données du premier vecteur à 784784 dimensions ne peuvent pas être transmises de manière optimale, car le décodeur se contente de se rapprocher d’un synopsis des données (comme un vecteur à 784784 dimensions zz). Quelle quantité de données est perdue ? Nous le mesurons en utilisant la nouvelle probabilité logarithmique \log p_\phi (x\mid z)logp

​ϕ

(x∣z) dont les unités sont des nats. Cette mesure nous révèle à quel point le décodeur a réussi à reconstituer une image d’information xx étant donné sa représentation oisive zz.

La capacité de malchance de l’auto-codeur variationnel est la log-probabilité négative avec un régularisateur. Comme il n’existe pas de représentation mondiale partagée par tous les points de données, nous pouvons décomposer le travail sur les malheurs en termes simples qui reposent sur un point de données unique l_il

​i

​​ . Le malheur est alors total \sum_{i=1}^N l_i∑

​i=1

​N

​​ l

​i

pour les points de données NN complets. Le malheur travaille l_il

​i

pour le point de données x_ix

​i

est :

Le terme principal est le malheur de reproduction ou la log-probabilité négative attendue du ii-ème point de données. Le souhait est pris concernant la diffusion de l’encodeur sur les représentations. Ce terme incite le décodeur à trouver comment recréer l’information. Dans le cas où le rendement du décodeur ne reproduit pas bien l’information, on dit en fait que le décodeur paramètre une appropriation de probabilité qui ne met pas beaucoup de masse de probabilité sur l’information authentique. Par exemple, si nous montrons probablement des images à fort contraste et que notre modèle place une forte probabilité qu’il y ait des taches sombres là où il y a vraiment des taches blanches, cela donnera la reproduction la plus terriblement imaginable. Une mauvaise reproduction entraînera une dépense énorme dans ce travail malheureux.

Le terme suivant est un régularisateur que l’on jette (nous percevrons comment il est déduit plus tard). C’est la différence de Kullback-Leibler entre la diffusion du codeur q_\theta(z\mid x)q

​θ

(z∣x) et p(z)p(z). Cette dissimilitude permet d’estimer la quantité de données perdues (en unités de nats) lorsque l’on utilise qq pour parler à pp. C’est une proportion de la proximité de qq avec pp.

Dans l’auto-codeur variationnel, pp est déterminé comme une norme Circulation typique avec un zéro moyen et une fluctuation de un, ou p(z) = Normal(0,1)p(z)=Normal(0,1). Si par malchance le codeur donne des représentations zz uniques par rapport à celles de la diffusion typique standard, il sera puni dans le malheur. Ce terme de régularisation signifie “maintenir la diversité des représentations zz de chaque chiffre de manière adéquate”. Au cas où nous exclurions le régularisateur, l’encodeur pourrait trouver le moyen de tricher et de donner à chaque point de données une représentation dans un autre endroit de l’espace euclidien. C’est terrible, compte tenu du fait qu’alors deux images d’un nombre similaire (disons un 2 composé par différents individus, 2_{alice}2

alice ​alice

et 2_{bob}2

bob ​bob

) pourrait se retrouver avec des représentations tout à fait différentes z_{alice}, z_{bob}z

alice ​alice

​​ ,z

bob ​bob

​​ . Nous avons besoin que l’espace de représentation de zz soit significatif, donc nous punissons ce comportement. Cela a pour effet de rapprocher les représentations de nombres comparables (par exemple, les représentations du chiffre deux {z_{alice}, z_{bob}, z_{ali}}}z

alice ​alice

​​ ,z

bob ​bob

​​ ,z

ali ​ali

restent suffisamment proches).

Nous formons l’auto-codeur variationnel en utilisant la chute de pente pour améliorer le malheur concernant les paramètres du codeur et du décodeur \thetaθ et \phiϕ. Pour le plongeon d’inclinaison stochastique avec pas \rhoρ, les paramètres du codeur sont rafraîchis en utilisant \theta \fourchette gauche \theta – \rho \frac{\partiel l}{\partiel \theta}θ←θ-ρ

​∂θ

​∂l

et le décodeur est rafraîchi de la même manière.