Autoencoder variazionali e spazio latente
Generi nuovi dati campionando da una distribuzione appresa
Autoencoder variazionali e spazio latente è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.
Oltre i codici semplici
Un variational autoencoder, o VAE, non memorizza un singolo codice fisso per ogni input. Impara invece uno spazio latente uniforme e organizzato dal quale è possibile effettuare il sampling.
Codificare in una distribuzione
L'encoder del VAE restituisce una media e una varianza invece di un singolo punto. Ogni input diventa una piccola nube di probabili codici latenti.
mu, logvar = encoder(x)Effettuare il sampling dalla nube
Per ottenere un codice, si effettua il sampling da quella nube usando la media e la varianza. Il sampling aggiunge la casualità che rende lo spazio generativo.
Il reparameterization trick
Il sampling casuale blocca i gradienti, quindi il reparameterization trick sposta la casualità altrove. Ora è ancora possibile eseguire la backpropagation attraverso il campione.
std = torch.exp(0.5 * logvar)
z = mu + std * torch.randn_like(std)Due loss, non una
Un VAE bilancia due obiettivi: la reconstruction loss per ricostruzioni accurate e un termine che modella lo spazio latente. Questi obiettivi sono in contrasto tra loro.
Il termine di divergenza KL
La seconda loss è la divergenza KL. Spinge ogni nube verso una normale standard, mantenendo lo spazio latente ordinato e continuo.
kl = -0.5 * torch.sum(1 + logvar - mu**2 - logvar.exp())Uno spazio latente uniforme
Grazie al termine KL, codici vicini vengono decodificati in output simili. Questa uniformità consente di spostarsi tra i punti e ottenere risultati sensati. ✨
Generare dati completamente nuovi
Poiché lo spazio è organizzato, è possibile effettuare il sampling di nuovi codici da una distribuzione normale e decodificarli in campioni nuovi e mai osservati prima.
z = torch.randn(1, latent_dim)
new_sample = decoder(z)Interpolare tra gli input
Si combinano due codici latenti e si decodifica la combinazione per trasformare un input in un altro. Questa interpolazione uniforme è una tecnica tipica dei VAE.
z = 0.5 * z_a + 0.5 * z_bVAE vs autoencoder semplice
Un autoencoder semplice comprime; un VAE comprime e diventa generativo. È il termine KL aggiuntivo a rendere possibile il sampling di nuovi dati.
Regolare il bilanciamento
Il peso del termine KL, spesso chiamato beta, controlla il compromesso. Un beta più alto produce uno spazio più ordinato, ma ricostruzioni leggermente più sfocate.
Verifica rapida
Che cosa conferisce a un VAE la sua capacità generativa?
Riepilogo
Un VAE codifica gli input come distribuzioni, esegue il sampling con il reparameterization trick e aggiunge un termine KL per ottenere uno spazio uniforme da cui effettuare il sampling e l'interpolazione. 🎉
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Autoencoder variazionali e spazio latente» è gratuita?
Sì — il testo completo di «Autoencoder variazionali e spazio latente» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.
Cosa imparerò in «Autoencoder variazionali e spazio latente»?
Generi nuovi dati campionando da una distribuzione appresa Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Deep Learning Academy?
Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Autoencoder variazionali e spazio latente»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?
Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Encoder, collo di bottiglia e decoder
- Autoencoder per la riduzione del rumore
- Autoencoder variazionali e spazio latente
- Rilevare anomalie con l'errore di ricostruzione