C’è un buco calcolato e linguistico. Gli studi dei sistemi neurali e dei modelli di probabilità non hanno un linguaggio comune. Probabilmente impalcero’ questo buco di pensiero e prendero’ in considerazione uno sforzo e un discorso piu’ coordinato tra questi campi, e daro’ un’esecuzione prevedibile (Github connect). Nella remota possibilità che numerose parole qui siano diverse da te, rimbalza nel glossario.

Gli autoencoder variabili sono fantastici. Ci permettono di strutturare complessi modelli generativi di informazioni e di adattarli a enormi set di dati. Possono produrre immagini di aneddotici conteggi di grandi nomi e di alti obiettivi artigianali computerizzati.

Anche questi modelli danno il meglio di sé in classe AI porta l’età dell’immagine e supporta l’apprendimento. Gli autoencoder variabili (VAE) sono stati caratterizzati nel 2013 da Kingma et al. per di più, Rezende et al…

Come possiamo creare un linguaggio per parlare di autoencoder variazionali? Che ne dite di considerarli prima di tutto utilizzando sistemi neurali, a quel punto utilizzando l’induzione variazionale nei modelli di probabilità.

La prospettiva della rete neurale

Nel linguaggio della rete neurale, un autoencoder variazionale è costituito da un encoder, un decoder e una funzione di perdita.

L’encoder è un sistema neurale. Le sue informazioni sono un datapoint xx, il suo rendimento è una rappresentazione nascosta zz, e ha carichi e predisposizioni \thetaθ. Per essere solido, supponiamo che xx sia una fotografia di 28 per 28 pixel di un numero scritto a mano. Il codificatore ‘codifica’ l’informazione che è 784784-dimensionale in una rappresentazione dormiente (nascosta) dello spazio zz, che è considerevolmente inferiore a 784784 misure. Questo viene comunemente definito come un “collo di bottiglia”, in quanto il codificatore deve familiarizzare con una corretta pressione delle informazioni in questo spazio di dimensioni inferiori. Che ne dite se intendiamo il codificatore q_\theta (z \mid x)q

​θ

(z∣x). Notiamo che lo spazio inferiore è stocastico: l’encoder fornisce parametri a q__theta (z \mid x)q

​θ

(z∣x), che è uno spessore di probabilità gaussiana. Possiamo testare da questo convogliamento per ottenere forti stime delle rappresentazioni zz.

Il decodificatore è un’altra rete neurale. Le sue informazioni sono la rappresentazione zz, fornisce i parametri per l’appropriazione delle informazioni, e ha carichi e inclinazioni \phiϕ. Il decodificatore è indicato da p_\phi(x\mid z)p

​ϕ

(x∣z). Eseguendo con il modello numerico scritto manualmente, supponiamo che le fotografie siano ad alto contrasto e parlino ad ogni pixel come 00 o 11. La probabilità di diffusione di un pixel solitario può essere poi parlata utilizzando un’appropriazione Bernoulli. Il decodificatore ottiene come informazione la rappresentazione dormiente di una cifra zz e fornisce 784784 parametri Bernoulli, uno per ognuno dei 784784 pixel dell’immagine. Il decodificatore “decifra” i numeri reali stimati in zz in 784784 numeri reali stimati da qualche parte nell’intervallo di 00 e 11. I dati del primo vettore dimensionale 784784 non possono essere trasmessi in modo superbo, in quanto il decodificatore si avvicina solo ad una sinossi dei dati (come un zz vettoriale sotto il 784784). Quale quantità di dati viene persa? Lo misuriamo utilizzando il rifacimento del log-probabilità \log p_phi (x\mid z)logp

​ϕ

(x∣z) le cui unità sono nats. Questa misura ci rivela quanto adeguatamente il decoder abbia capito come rifare un’immagine informativa xx data la sua rappresentazione inattiva zz.

La capacità di sfortuna dell’autoencoder variazionale è la capacità di log-probabilità negativa con un regolarizzatore. Dal momento che non esistono rappresentazioni a livello mondiale condivise da tutti i punti di dati, possiamo suddividere il lavoro di sfortuna in termini giusti che si basano su un datapoint solitario l_il

​i

​​ . La sfortuna è allora \sum_{i=1}^N l_i∑

​i=1

​N

​​ l

​i

per NN datapoints completi. Il lavoro di sfortuna l_il

​i

per datapoint x_ix

​i

è:

Il termine principale è la sfortuna di riproduzione o la prevedibile capacità negativa di log-probabilità del punto dati ii-th. Il desiderio è preso in considerazione per quanto riguarda la diffusione del codificatore sulle rappresentazioni. Questo termine esorta il decodificatore a capire come ricreare le informazioni. Nel caso in cui il rendimento del decodificatore non riproduca bene l’informazione, di fatto si afferma che il decodificatore parametrizza un’appropriazione di probabilità che non mette molta massa di probabilità sull’informazione vera e propria. Per esempio, se probabilmente mostreremo immagini ad alto contrasto e il nostro modello pone un’alta probabilità che ci siano macchie scure dove ci sono realmente delle macchie bianche, questo produrrà la più terribile riproduzione possibile. Una riproduzione scadente comporterà una spesa enorme in questo lavoro sfortunato.

Il termine successivo è un regolarizzatore che ci buttiamo dentro (percepiremo come si deduce in seguito). Questa è la differenza Kullback-Leibler tra la diffusione del codificatore q_theta(z\mid x)q

​θ

(z∣x) e p(z)p(z). Questa difformità stima la quantità di dati persi (in unità di nats) quando si utilizza qq per parlare con le pp. È una proporzione di quanto qq sia vicino alle pp.

Nell’autoencoder variazionale, pp è determinato come standard Tipica circolazione con zero medio e fluttuazione uno, o p(z) = Normale(0,1)p(z)=Normale(0,1). Nella remota possibilità che l’encoder produca rappresentazioni zz uniche rispetto a quelle della diffusione tipica standard, si otterrà una punizione nella sfortuna. Questo termine regolarizzatore significa “mantenere le rappresentazioni zz di ogni cifra adeguatamente varie”. Nella remota possibilità che abbiamo escluso il regolarizzatore, il codificatore potrebbe capire come imbrogliare e dare ad ogni datapoint una rappresentazione in un locale alternativo dello spazio euclideo. Questo è terribile, alla luce del fatto che allora due immagini di un numero simile (diciamo un 2 composto da vari individui, 2_{alice}2

alice ​alice

e 2_{bob}2

bob ​bob

) potrebbe finire con rappresentazioni completamente diverse z_{alice}, z_{bob}z

alice ​alice

​​ ,z

bob ​bob

​​ . Abbiamo bisogno che lo spazio di rappresentazione di zz sia significativo, quindi puniamo questo comportamento. Questo ha l’impatto di mantenere le rappresentazioni di numeri comparabili l’uno vicino all’altro (per esempio così le rappresentazioni della cifra due {z_{alice}, z_{bob}, z_{ali}}}z

alice ​alice

​​ ,z

bob ​bob

​​ ,z

ali ​ali

rimanere adeguatamente vicini).

Addestriamo l’autoencoder variazionale utilizzando la pendenza a piombo per migliorare la sfortuna per quanto riguarda i parametri dell’encoder e del decoder \thetaθ e \_phiϕ. Per il piombino stocastico di inclinazione con passo \rhoρ, i parametri dell’encoder vengono aggiornati utilizzando il \theta \frac \freccia sinistra \theta – \rho \frac {\fscx130\fscy130\frx40}Parziale l\fscy130\frx40}Parziale \frx40}thetaθ←θ-ρ

​∂θ

​∂l

e il decodificatore viene rinfrescato allo stesso modo.