El VAE tiene un diseño modular. El codificador, el decodificador y la VAE son 3 modelos que comparten pesos. Después de entrenar el modelo VAE, el codificador se puede usar para generar vectores latentes. El decodificador se puede usar para generar imágenes de fuentes muestreando el vector latente de una distribución gaussiana con media = 0 y std = 1.
| codificador | descifrador |
|---|---|
![]() | ![]() |
Tamaño del conjunto de datos = tren 5000 y validación 1000 por cada clase
Ancho, altura = 112, 112
Tamaño de fuente = 25
caracteres usados = "aabbccddeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz"
Las imágenes se generan con font2png.py
Las fuentes son de Google Fonts
| IDX | nombre de fuente | Imágenes de muestra |
|---|---|---|
| 0 | Ebgaramond | ![]() ![]() ![]() ![]() ![]() |
| 1 | Pt_serif | ![]() ![]() ![]() ![]() ![]() |
| 2 | Notosos | ![]() ![]() ![]() ![]() ![]() |
| 3 | Roboto | ![]() ![]() ![]() ![]() ![]() |
| 4 | Justo | ![]() ![]() ![]() ![]() ![]() |
| 5 | Golpe | ![]() ![]() ![]() ![]() ![]() |
| 6 | Pacífico | ![]() ![]() ![]() ![]() ![]() |
| 7 | Baile de baile | ![]() ![]() ![]() ![]() ![]() |
| 8 | Inconsolata | ![]() ![]() ![]() ![]() ![]() |
| 9 | VT323 | ![]() ![]() ![]() ![]() ![]() |
| época | 20 | 50 | 200 |
|---|---|---|---|
| registro | ![]() | ![]() | ![]() |
| espacio latente | ![]() | ![]() | ![]() |
1 cuadro = 1 lote
1 época = 196 lotes
| época = 1 | época = 2 | época = 3 |
|---|---|---|
![]() | ![]() | ![]() |
| época = 4 | época = 5 | época = 6 |
![]() | ![]() | ![]() |

[1] Kingma, Diederik P. y Max Welling. "Bayes variacionales de codificación automática".
[2] Blog de Keras: Construyendo Autoencoders en Keras
[3] Ejemplo de Keras: VAE
[4] Erik Bernhardsson. "Analizar 50k fuentes utilizando redes neuronales profundas"
[5] TJ Torres. "Un viaje fontástico: fuentes generativas con redes adversas"
[6] Julien Despois. "Visualización del espacio latente: bits de aprendizaje profundo #2"