Autoencoder (AE) e Variational Autoencoders (VAE): cosa sono e a cosa servono

Un autoencoder è un tipo di architettura per un modello di rete di Machine Learning che viene utilizzato per la riduzione di dimensionalità.

I dati in input per una tale rete vengono infatti codificati in uno spazio di dimensione minore, cercando in questo modo di esprimere in maniera alternativa e selettiva un problema, utilizzando soltanto le caratteristiche principali del problema stesso.

Utilizzando soltanto le caratteristiche più importanti di un problema si cerca poi di allenare un algoritmo ad eseguire qualche task, permettendogli dunque di focalizzare l’attenzione sugli attributi principali del problema necessari per risolverlo e, soltanto in un secondo momento, decodificare l’output ottenuto in risposta allo studio del problema codificato.

L’architettura di un autoencoder è dunque composta da due parti:

  • Encoder
  • Decoder

Variational Autoencoder (VAE)

Partendo dalla definizione di autoencoder, un variational autoencoder unisce le caratteristiche di un semplice autoencoder con la modellazione probabilistica, imparando—come gli autoencoder—tramite delle rappresentazioni compresse dei dati.

Tali rappresentazioni vengono però espresse all’interno di uno spazio latente di probabilità, nel quale si associano dei valori di probabilità alle diverse possibili evoluzioni del mondo.

Il vantaggio che deriva dall’utilizzo dei VAE rispetto ai semplici AE consiste nella possibilità di generare, tramite i VAE, dei nuovi dati anche da un insieme di rumore casuale.

Inoltre, tramite i VAE, è più probabile che nella trattazione di un problema, esempi che appartengono a classi simili vengano rappresentati vicini all’interno dello spazio latente di probabilità.

Nell’immagine (a) viene rappresentato uno spazio latente organizzato tramite un algoritmo VAE, mentre nella figura (b) uno spazio latente ottenuto tramite AE

In poche parole

‎‏‏‎ ‎‏‏‎✅ Un autoencoder è un modello di rete neurale utilizzato per la riduzione di dimensionalità dei dati. Tale modello codifica i dati in uno spazio di dimensione minore rispetto a quello del problema originale, esprimendo soltanto le caratteristiche principali del problema. È diviso in due parti: encoder, per codificare i dati dallo spazio originale a quello di dimensione minore, e il decoder, per decodificare i dati restituiti dall’algoritmo dopo aver elaborato i dati del problema all’interno dello spazio di dimensione minore e riportarli nello spazio originale.

‎‏‏‎ ‎‏‏‎✅ Un variational autoencoder (VAE) combina le caratteristiche di un autoencoder con la modellazione probabilistica. Le rappresentazioni dei dati vengono infatti trasposte all’interno di uno spazio latente di probabilità.

‎‏‏‎ ‎‏‏‎✅ La fase di apprendimento per questi algoritmi cerca di massimizzare un evidence lower bound (ELBO). I VAE consentono inoltre di generare nuovi dati da rumore casuale, utile per l’allenamento degli algoritmi.

‎‏‏‎ ‎‏‏‎✅ All’interno dello spazio di probabilità i VAE sono inoltre in grado di rappresentare esempi appartenenti a classi simili vicini tra loro.

Se hai trovato errori o informazioni mancanti scrivi a:
giacomo.dandria@esercizistem.com

Se hai trovato errori o informazioni mancanti scrivi a:
giacomo.dandria@esercizistem.com

Questa pagina è stata utile?
No
Torna in alto