Qual è la differenza tra un Variational Autoencoder (VAE) e un Autoencoder?
L'articolo Building Autoencoders in Keras a cui fa riferimento Ajit Rajasekharan è un ottimo punto di partenza. Ho anche trovato che l'esempio usato in Using Artificial Intelligence to Augment Human Intelligence è molto intuitivo e usa questo esempio di font generati da punti di raccolta nella distribuzione.
Il modello generativo che usiamo è un tipo di rete neurale noto come variational autoencoder (VAE)[3]. Per i nostri scopi, i dettagli del modello generativo non sono così importanti. La cosa importante è che cambiando le variabili latenti usate come input, è possibile ottenere diversi caratteri come output. Così una scelta di variabili latenti darà un font, mentre un'altra scelta darà un font diverso:
Puoi pensare alle variabili latenti come una rappresentazione compatta e di alto livello del font. La rete neurale prende questa rappresentazione di alto livello e la converte in dati pixel completi. È notevole che solo [math]40[/math]40 numeri possano catturare l'apparente complessità di un glifo, che originariamente richiedeva [math]4.096[/math]4.096 variabili.
Il modello generativo che usiamo viene appreso da un training set di più di [math]50[/math]50 mila font Bernhardsson[4] raschiati dal web aperto. Durante l'addestramento, i pesi e le distorsioni della rete sono regolati in modo che la rete possa produrre un'approssimazione vicina a qualsiasi font desiderato dall'insieme di addestramento, a condizione che venga fatta una scelta adeguata delle variabili latenti. In un certo senso, il modello sta imparando una rappresentazione altamente compressa di tutti i font di allenamento.
In effetti, il modello non riproduce solo i font di allenamento. Può anche generalizzare, producendo caratteri non visti in allenamento. Essendo costretta a trovare una descrizione compatta degli esempi di allenamento, la rete neurale impara un modello astratto e di livello superiore di ciò che è un font. Questo modello di livello superiore rende possibile generalizzare oltre gli esempi di allenamento già visti, per produrre font dall'aspetto realistico.
Articoli simili
- Qual è la differenza tra il Bluetooth di Android e iPhone? Perché non siamo in grado di trasferire file tra di loro?
- La differenza tra 9 e 45 punti di messa a fuoco (Canon 800d Vs. Canon 200d) fa una grande differenza nelle DSLR?
- Qual è la differenza tra le dichiarazioni switch e if else? Qual è meglio in casi diversi? Perché?
- Qual è la differenza tra una risoluzione 1920x1200 e 1920x1080? Qual è meglio?