4. EXPERIMENTACI ´ ON
4.6 Entrenamiento de los Modelos Generativos
4.6.1 Arquitectura del modelo VAE
f´acilmente en overfitting, y puede ser algo m´as compleja la optimizaci´on.
Perceptr´on Multicapa
Por ´ultimo el MLP, es un tipo de red neuronal artificial utilizada para el aprendizaje supervisado. Un MLP consta de una capa de entrada, una o m´as capas ocultas y una capa de salida. La capa de entrada recibe las caracter´ısticas de los datos y cada neurona de las capas ocultas transforma la entrada utilizando una funci´on de activaci´on no lineal.
La capa de salida proporciona la predicci´on final. Los par´ametros del modelo, como los pesos y los sesgos de las neuronas, se estiman a partir de los datos de entrenamiento mediante algoritmos de optimizaci´on como el descenso de gradiente.
Tiene como ventaja que puede manejar relaciones tanto lineales como no lineales entre las variables independientes y dependientes, y puede manejar m´ultiples variables independientes. Sin embargo, es muy sensible a la elecci´on de hiperpar´ametros, como la cantidad de capas ocultas y el tama˜no de cada capa. En general requiere recursos computacionales significativos para el entrenamiento.
Se utilizaron dos capas intermedias, con 40 y 60 nodos respectivamente, y la funci´on de activaci´on fue la LeakyReLu con alpha = 0.001. El espacio latente se defini´o de dimensi´on 30. La Tabla4.4 resume la arquitectura considerada.
Table 4.4 Encoder
Capa Dimensi´on Activaci´on
Input 37
Dense 1 40 LeakyReLu
Dense 2 60 LeakyReLu
z mean, z log var 30
En relaci´on al Decoder, el input est´a dado por el output del Encoder de dimensi´on 30. Luego se agregaron dos capas intermedias con 60 y 40 nodos respectivamente, y se eligi´o la ReLu como funci´on de activaci´on para dichas capas. Por ´ultimo, se agreg´o la
´
ultima capa arrojando un output de dimensi´on 37, como el original, y con una funci´on de activaci´on Lineal acorde a la normalizaci´on de los inputs. La Tabla 4.5 resume la arquitectura considerada.
Table 4.5 Decoder
Capa Dimensi´on Activaci´on
Input 30
Dense 1 60 ReLu
Dense 2 40 ReLu
Output 37 Linear
Se utiliz´o el optimizador de Adam con una learning rate de 0.001 y el tama˜no del Batch fue definido en 512.
Para ponderar la funci´on de p´erdida Kullback - Leibler divergence dentro de la funci´on de perdida total se trabaj´o con un par´ametro de -0.001.
4.6.1.1 Diferentes variantes del VAE
Se entrenaron varios modelos antes de arribar al modelo final. Se probaron distintas arquitecturas con distintos n´umeros de capas ocultas. Se realizaron pruebas cambiando el optimizador GDS y Adam, y en este ´ultimo se prob´o con distintas learning rate. En relaci´on a la funci´on de p´erdida se prob´o con distintos ponderadores para la funci´on de Kullback Leibler.
En relaci´on a la transformaci´on de los Inputs, se prob´o Normalizando, restando la media y dividiendo por el desv´ıo est´andar y escalando, entre -1 y 1 y entre 0 y 1.
Por ´ultimo se hicieron pruebas con distintos tama˜nos de batch como podemos ver en la Tabla 4.6
Table 4.6 Variantes de los modelos
Par´ametro/Criterio Variantes testeadas
Optimizador Adam, GDS
LR en Optimizador Adam 0.01, 0.0001, 0.005
Transformaci´on de los Inputs Normalizaci´on (-inf,+inf), Scale (-1,1)
Capas Ocultas 1, 2, 3
Par´ametro de KL 0.001, 0.002, 0.003
Batch 56, 128, 256, 512
4.6.1.2 Resultados del VAE
Los hiperpar´ametros finales elegidos para el Modelo VAE son los descritos en la Tabla 4.5. La cantidad de epochs alcanz´o elearly stopping en 2000. De la representaci´on de la funci´on de perdidas en las Figuras4.3y 4.4, se observa que luego de los 1000epochs la mejora es marginal. Tambi´en es importante destacar que la p´erdida del conjunto de entrenamiento y de validaci´on son casi indiferenciables, se trabaj´o con unValidation split de 30%.
Figure 4.3 Funci´on de P´erdida para la clase 0 del VAE
Figure 4.4 Funci´on de P´erdida para la clase 1 del VAE
El valor m´ınimo de p´erdida de la clase 1 fue 0.0060 y de la clase 0 fue 0.0020. La pendiente de la p´erdida en los ´ultimos epochs en la clase 0 es m´as pronunciada que la clase 1, lo que podr´ıa indicar que el entrenamiento podr´ıa haber continuado. Sin embargo, cuando continuaba el entrenamiento, el output de la clase 1, no era el esperado, ya que sol´ıa degenerar en pocas variables diferentes a 0 y varias variables las dejaba en 0.
Al igual que cualquier m´etodo de aprendizaje profundo, la VAE funciona mejor con un mayor n´umero de datos, sin embargo en la muestra de entrenamiento para la clase 1 solo contiene 47 observaciones, mientras que la red neuronal tiene m´as de 13.000 par´ametros
para optimizar. Por este motivo a la muestra se la multiplic´o por 300, obteni´endose resultados sustancialmente mejores.
De la misma manera y para igualar el tama˜no de muestra de la VAE para la clase 0, se multiplico por 10 la muestra original.
Otro aspecto clave en el entrenamiento fue la elecci´on de la dimensi´on de espacio latente. En la mayor´ıa de los trabajos encontrados para la generaci´on de im´agenes se utiliza una dimensi´on de 2, dado que se pueden graficar los resultados en un plano y es muy sencillo de visualizar. En este trabajo se prob´o con distintas dimensiones, pero la que arroj´o mejores resultados fue con 30.