miniatura|425x425px|L'esquema bàsic d'un autocodificador variacional. El model rep com a entrada. El codificador ho comprimeix a l'espai latent. El descodificador rep com a entrada la informació mostrejada de l'espai latent i produeix tan semblant com sigui possible a . En l'aprenentatge automàtic, un autocodificador variacional (VAE) és una arquitectura de xarxa neuronal artificial introduïda per Diederik P. Kingma i Max Welling. Forma part de les famílies de models gràfics probabilístics i mètodes bayesians variacionals.

A més de ser vistos com una arquitectura de xarxa neuronal autocodificadora, els autocodificadors variacionals també es poden estudiar dins de la formulació matemàtica dels mètodes bayesians variacionals, connectant una xarxa de codificadors neuronals al seu descodificador a través d'un espai latent probabilístic (per exemple, com una distribució gaussiana multivariant) que correspon als paràmetres d'una distribució variacional.

Així, el codificador mapeja cada punt (com ara una imatge) d'un conjunt de dades gran i complex a una distribució dins de l'espai latent, en lloc de fer-ho a un sol punt d'aquest espai. El descodificador té la funció oposada, que és mapejar des de l'espai latent fins a l'espai d'entrada, de nou segons una distribució (tot i que a la pràctica, rarament s'afegeix soroll durant l'etapa de descodificació). En mapejar un punt a una distribució en lloc d'un sol punt, la xarxa pot evitar el sobreajustament de les dades d'entrenament. Ambdues xarxes normalment s'entrenen juntes amb l'ús del truc de reparametrització, tot i que la variància del model de soroll es pot aprendre per separat.

Tot i que aquest tipus de model es va dissenyar inicialment per a l'aprenentatge no supervisat s'ha demostrat la seva eficàcia per a l'aprenentatge semisupervisat i l'aprenentatge supervisat.

Visió general de l'arquitectura i el funcionament Un autocodificador variacional és un model generatiu amb una distribució a priori i de soroll respectivament. Normalment, aquests models s'entrenen utilitzant el metaalgoritme de maximització de l'expectativa (per exemple, PCA probabilística, codificació dispersa (spike & slab)). Aquest esquema optimitza un límit inferior de la probabilitat de les dades, que normalment és computacionalment difícil de tractar, i per fer-ho requereix el descobriment de q-distribucions o posteriors variacionals. Aquestes q-distribucions normalment es parametritzen per a cada punt de dades individual en un procés d'optimització separat. Tanmateix, els autocodificadors variacionals utilitzen una xarxa neuronal com a enfocament amortitzat per optimitzar conjuntament entre punts de dades. D'aquesta manera, els mateixos paràmetres es reutilitzen per a múltiples punts de dades, cosa que pot resultar en un estalvi massiu de memòria. La primera xarxa neuronal pren com a entrada els propis punts de dades i genera paràmetres per a la distribució variacional. A mesura que es mapa des d'un espai d'entrada conegut fins a l'espai latent de baixa dimensió, s'anomena codificador.

El descodificador és la segona xarxa neuronal d'aquest model. És una funció que s'assigna des de l'espai latent a l'espai d'entrada, per exemple, com a mitjana de la distribució del soroll. És possible utilitzar una altra xarxa neuronal que s'assigni a la variància, però això es pot ometre per simplicitat. En aquest cas, la variància es pot optimitzar amb un descens de gradient.

Per optimitzar aquest model, cal conèixer dos termes: l'"error de reconstrucció" i la divergència de Kullback-Leibler (KL-D). Ambdós termes es deriven de l'expressió d'energia lliure del model probabilístic i, per tant, difereixen segons la distribució del soroll i la priorització assumida de les dades, que aquí s'anomena distribució p. Per exemple, se suposa que una tasca VAE estàndard com ara IMAGENET té un soroll distribuït gaussianament; tanmateix, tasques com ara MNIST binaritzada requereixen un soroll de Bernoulli. El KL-D de l'expressió d'energia lliure maximitza la massa de probabilitat de la distribució q que se superposa amb la distribució p, cosa que, malauradament, pot resultar en un comportament de cerca de mode. El terme de "reconstrucció" és la resta de l'expressió d'energia lliure i requereix una aproximació de mostreig per calcular el seu valor esperat.

Els enfocaments més recents substitueixen la divergència de Kullback-Leibler (KL-D) per diverses distàncies estadístiques, vegeu "Variants VAE de distància estadística" a continuació.

Formulació Des del punt de vista del model probabilístic, es vol maximitzar la probabilitat de les dades per la seva distribució de probabilitat parametritzada escollida Aquesta distribució normalment es tria com a gaussiana que està parametritzat per i respectivament, i com a membre de la família exponencial és fàcil de treballar com a distribució de soroll. Les distribucions simples són prou fàcils de maximitzar, però les distribucions on s'assumeix una distribució a priori sobre les latents resulta en integrals intractables. Trobem mitjançant la marginació .

on representa la distribució conjunta sota de les dades observables i la seva representació o codificació latent Segons la regla de la cadena, l'equació es pot reescriure com a

Al codificador automàtic variacional de vainilla, normalment es considera un vector de dimensió finita de nombres reals, i per ser una distribució gaussiana. Aleshores és una barreja de distribucions gaussianes.

Ara és possible definir el conjunt de relacions entre les dades d'entrada i la seva representació latent com a

Prior Probabilitat Posterior

Malauradament, el càlcul de és car i en la majoria dels casos intractable. Per accelerar el càlcul i fer-lo factible, cal introduir una funció addicional per aproximar la distribució posterior com a

amb definit com el conjunt de valors reals que parametritzen Això de vegades s'anomena inferència amortitzada, ja que en "invertir" en trobar un bé , es pot inferir més tard de ràpidament sense fer cap integral.

D'aquesta manera, el problema és trobar un bon autocodificador probabilístic, en què la distribució de probabilitat condicional es calcula mitjançant el descodificador probabilístic i la distribució posterior aproximada es calcula mitjançant el codificador probabilístic.

Parametritza l'encoder com a , i el descodificador com a .

Límit inferior de l'evidència (ELBO) Com molts enfocaments d'aprenentatge profund que utilitzen l'optimització basada en gradients, els VAE requereixen una funció de pèrdua diferenciable per actualitzar els pesos de la xarxa mitjançant la retropropagació.

Per als autocodificadors variacionals, la idea és optimitzar conjuntament els paràmetres del model generatiu. per reduir l'error de reconstrucció entre l'entrada i la sortida, i fer tan a prop com sigui possible de Com a pèrdua de reconstrucció, sovint s'utilitzen l'error quadràtic mitjà i l'entropia creuada.

Com a pèrdua de distància entre les dues distribucions, la divergència de Kullback-Leibler és una bona opció per esprémer sota

La pèrdua de distància que s'acaba de definir s'expandeix com

Ara definiu el límit inferior de l'evidència (ELBO): Maximitzar l'ELBO és equivalent a maximitzar simultàniament i minimitzant És a dir, maximitzar la log-verosimilitud de les dades observades i minimitzar la divergència de la distribució aproximada posterior des de la part posterior exacta .

La forma donada no és gaire convenient per a la maximització, però la següent forma equivalent és: on s'implementa com a , ja que és així, fins a una constant additiva, què rendiments. És a dir, modelem la distribució de condicional a ser una distribució gaussiana centrada en La distribució de i sovint també es trien per ser gaussianes com a i , amb la qual obtenim mitjançant la fórmula per a la divergència KL de gaussianes : Aquí és la dimensió de Per a una derivació més detallada i més interpretacions d'ELBO i la seva maximització, vegeu la seva pàgina principal.

Reparametrització miniatura|300x300px|L'esquema del truc de reparametrització. La variable aleatòria s'injecta a l'espai latent com a entrada externa. D'aquesta manera, és possible propagar cap enrere el gradient sense involucrar variables estocàstiques durant l'actualització. Per cercar de manera eficient El mètode típic és l'ascens per gradient.

És senzill de trobar Tanmateix, no permet posar-hi dins de l'expectativa, ja que apareix a la mateixa distribució de probabilitat. El truc de reparametrització (també conegut com a retropropagació estocàstica) evita aquesta dificultat.

L'exemple més important és quan es distribueix normalment, com a . miniatura|300x300px|L'esquema d'un autocodificador variacional després del truc de reparametrització Això es pot reparametritzar deixant sigui un "generador de nombres aleatoris estàndard", i construeixi com Aquí, s'obté per la descomposició de Cholesky: Aleshores tenim i així vam obtenir un estimador no esbiaixat del gradient, permetent un descens de gradient estocàstic.

Des que vam reparametritzar , hem de trobar Deixa sigui la funció de densitat de probabilitat per a , aleshores on és la matriu jacobiana de respecte a Des de , això és

Variacions S'han utilitzat moltes aplicacions i extensions d'autocodificadors variacionals per adaptar l'arquitectura a altres dominis i millorar-ne el rendiment.

-VAE is an implementation with a weighted Kullback–Leibler divergence term to automatically discover and interpret factorised latent representations. With this implementation, it is possible to force manifold disentanglement for values greater than one. This architecture can discover disentangled latent factors without supervision.

El VAE condicional (CVAE) insereix informació d'etiqueta a l'espai latent per forçar una representació determinista restringida de les dades apreses.

Algunes estructures tracten directament la qualitat de les mostres generades o implementen més d'un espai latent per millorar encara més l'aprenentatge de la representació.

Algunes arquitectures combinen VAE i xarxes antagònica generatives per obtenir models híbrids.

No cal utilitzar gradients per actualitzar el codificador. De fet, el codificador no és necessari per al model generatiu.

Variants VAE de distància estadística Després del treball inicial de Diederik P. Kingma i Max Welling, es van proposar diversos procediments per formular de manera més abstracta el funcionament del VAE. En aquests enfocaments, la funció de pèrdues es compon de dues parts:

la part habitual de l'error de reconstrucció que busca garantir que el mapatge codificador-descodificador s'acosta el més possible al mapa d'identitat; el mostreig es fa en temps d'execució a partir de la distribució empírica d'objectes disponibles (per exemple, per a MNIST o IMAGENET aquesta serà la llei de probabilitat empírica de totes les imatges del conjunt de dades). Això dona el terme: . una part variacional que garanteix que, quan la distribució empírica es passa pel codificador , recuperem la distribució objectiu, denotada aquí que normalment es considera una distribució normal multivariant. Denotarem aquesta mesura pushforward que a la pràctica és només la distribució empírica obtinguda passant tots els objectes del conjunt de dades a través del codificador Per assegurar-nos que és a prop de l'objectiu , una distància estadística s'invoca i el terme s'afegeix a la pèrdua.

Obtenim la fórmula final per a la pèrdua:

La distància estadística requereix propietats especials, per exemple, ha de tenir una fórmula com a expectativa perquè la funció de pèrdues haurà de ser optimitzada mitjançant algoritmes d'optimització estocàstica. Es poden triar diverses distàncies i això ha donat lloc a diversos tipus de VAE:

la distància de Wasserstein segmentada utilitzada per S. Kolouri et al. en el seu VAE la distància energètica implementada al codificador automàtic variacional de Radon Sobolev