• No results found

DB2 Explain ColumnsDB2 Explain Columns

En este apartado se pasan a presentar los resultados obtenidos mediante el uso de la segunda red neuronal empleada en este proyecto. El entrenamiento de la red en su conjunto se llevó a cabo a lo largo de 250 épocas empleando el conjunto de validación en cada época. Para entender la gran

43 diferencia en complejidad de esta red en comparación con la anterior, se pudo completar el proceso completo de entrenamiento en un periodo de aproximadamente 14 horas, mucho menor que el anterior a pesar de emplear un mayor número de épocas, así como datos de validación. Esto se debe también a que se pudo incrementar el Batch size a 32 datos empleando la misma GPU, lo cual aceleró el proceso.

En las siguientes figuras, se presentan las evoluciones de las dos funciones de loss de la red a lo largo de las 250 épocas a la derecha, y durante las primeras 50 a la izquierda.

Figura 28. Evolución de las funciones de loss de la red Pix2Vox a lo largo del entrenamiento.

En la figura se distinguen cuatro curvas: las BCEs entre el volumen generado y el real a la salida de la red fusionadora para los conjuntos de evaluación y validación (ELoss_train y ELoss_val) y las BCEs a la salida de la red refinadora (RLoss_train y RLoss_val). Se ha separado la gráfica en dos partes ya que existe un evidente punto de inflexión en la evolución del aprendizaje de la red en torno a la época 50. Tal y como se puede observar, la evolución de las funciones de pérdidas estaba llevando una evolución adecuada, decreciendo su valor de forma continua a lo largo del entrenamiento de manera similar en ambos conjuntos.

Sin embargo, a partir de ese punto, las curvas de validación se disparan hacia arriba mientras que las curvas de entrenamiento siguen su curso de optimización hacia valores cercanos a cero (que sería el punto óptimo ya que supondría que los volúmenes generados y los reales son iguales). Esto es un caso evidente de overfitting, ya que la red está aprendiendo a generar los volúmenes del conjunto de entrenamiento, pero no es capaz de extrapolar ese proceso a objetos que no se están empleando para en entrenamiento de la red. Esto es un gran problema ya que el objetivo del proyecto es que la red sea capaz de generar el volumen de cualquier objeto y no sólo de los objetos empleados para entrenarla. Este problema se puede explicar debido al volumen de datos empleados para el entrenamiento. Con el empleo de una cantidad de datos mucho mayor, la red sería capaz de captar las estructuras con mucho más detalle y generar volúmenes más precisos. Sin embargo, esto supondría un coste de recursos mucho más elevado del que se disponía para la realización del proyecto, por lo que no se pudo realizar. Otro fenómeno importante puede ir relacionado con el empleo del optimizador Adam el cual es muy rápido, pero tiene una serie de problemas y es que, si el ajuste de parámetros no es adecuado, durante el proceso del descenso del gradiente este optimizador encuentra rápidamente un mínimo global quedándose estancado sin seguir avanzando buscando otros mínimos mucho más óptimos.

Se ha intentado solucionar el problema cambiando el optimizador por un Stochastic Gradient Descent (SGD), que es mucho más lento que el Adam a la hora de buscar mínimos pero que en algunos casos es capaz de encontrar mínimos más óptimos y de evitar problemas como el overfitting. Se volvió a realizar el entrenamiento empleando un SGD y un batch size de 16 datos

44 y, además, se probó también a aumentar el learning rate un orden de magnitud (ya que el SGD es mucho más lento). Los resultados obtenidos fueron:

Figura 29. Evolución de las funciones de loss de la red Pix2Vox a lo largo del entrenamiento con el empleo de un optimizador SGD y un learning rate de (a) 0.001 para el autoencoder y 0.0001 para el refiner (igual que antes) y (b) aumentando estos valores un orden de magnitud.

En la figura de la izquierda, se observa que el modelo no está sobre entrenado ya que las curvas de entrenamiento y validación muestran una evolución similar, pero que no alcanzan mínimos más altos que con el modelo anterior (en 250 épocas se llega al mismo mínimo que con el modelo anterior en 50, lo que demuestra el lento comportamiento del SGD). Por este motivo se decidió aumentar el valor del learning rate para la segunda prueba (figura de la derecha) alcanzando el mismo mínimo más rápido pero presentando overfitting a partir de ese punto (igual que con el optimizador Adam). Se concluye, por lo tanto, que la red es incapaz de aprender más allá con los datos empleados y que sería necesario un dataset mucho más grande y más representativo para obtener mejores resultados.

Por lo tanto, se ha decidido seguir adelante con el modelo obtenido mediante el optimizador Adam con los pesos calculados en las épocas 50 y 250 para evaluar los resultados ya que es interesante comprar las métricas para un modelo sobre entrenado frente al estado anterior al overfitting. Una vez observadas las evoluciones de las funciones de loss durante el entrenamiento, se pasa a evaluar los resultados generados por la red para el conjunto de evaluación. Para ello, se va a hacer uso de la métrica de IoU descrita anteriormente ya que es la más adecuada para comparar volúmenes. Es necesario recordar que esta red genera volúmenes asignando a cada coordenada la probabilidad de que pertenezca al volumen (la Z-GAN asignaba directamente 1 a los puntos que pertenecían al volumen y 0 a los que no), por lo que es necesaria la definición de un umbral a partir del cual se establece que la probabilidad es suficientemente alta como para determinar que el punto pertenece al objeto. Así, para la evaluación se han establecido cuatro umbrales diferentes en la reconstrucción del volumen: [0.2, 0.3, 0.4, 0.5]. Para cada uno de estos umbrales, se ha generado una reconstrucción del volumen de cada uno de los 1092 objetos del conjunto de evaluación y se ha calculado la IoU. Se han empleado dos estados de la red, los pesos entrenados en la época 50 y los pesos de la época 250, para observar de manera objetiva el problema que ha introducido el sobre entrenamiento de la red. Los resultados se muestran en las siguientes figuras:

EPOCH 50 EPOCH 250

MEAN IoU

th = 0.2 th = 0.3 th = 0.4 th = 0.5 th = 0.2 th = 0.3 th = 0.4 th = 0.5 0.1827 0.1256 0.0750 0.0424 0.1312 0.1225 0.1146 0.1061

Tabla 10. Valor medio de la IoU para los datos de evaluación del modelo Pix2Vox para los cuatro umbrales con los pesos entrenados en las épocas 50 y 250.

45

Figura 30. Evaluación de la red Pix2Vox mediante la IoU para los cuatro umbrales con los pesos entrenados en las épocas 50 y 250 respectivamente.

Tal y como se puede observar, los modelos más exactos se generan empleando los pesos de la red en la época 50 (antes de que tenga lugar el overfitting) para un umbral de 0.2 en la generación. Esto es consecuencia de este efecto que sucede al evaluar el funcionamiento de la red con datos diferentes a los empleados durante el entrenamiento. Sin embargo, se observa también que con los pesos de la época 250, los valores obtenidos para los cuatro umbrales difieren mucho menos que con los pesos de la época 50. Esto significa que, a pesar de generar volúmenes menos precisos, asigna a cada coordenada una probabilidad más elevada de pertenecer al volumen que con los pesos anteriores. Esto da a entender que, conforme evoluciona el entrenamiento, la red está cada vez más segura de los puntos que pertenecen al objeto. Esto supone que, si se pudiera entrenar la red con un conjunto más grande de datos, casi con total certeza sería capaz de inferir el volumen con una precisión muy elevada ya que las funciones de pérdidas obtienen valores muy cercanos a cero para el conjunto de entrenamiento.

Para visualizar de forma subjetiva la actuación de la red, se presenta en la siguiente figura un ejemplo de una reconstrucción bastante precisa (uno de los picos de la gráfica anterior) empleando el modelo con los pesos de la época 50.

46 Tal y como se puede observar, la reconstrucción (objeto en rojo) es bastante precisa. Sin embargo, resulta muy evidente la menor resolución del volumen en comparación a los modelos generados por la Z-GAN. La gran ventaja de esta red es su simplicidad para el entrenamiento, lo que facilita también el aprendizaje. Sin embargo, su capacidad está muy limitada en cuanto a la resolución de los volúmenes generados. Con un mayor conjunto de datos para el entrenamiento de la red se conseguiría aumentar la precisión de los modelos, pero seguirían estando limitados a una resolución bastante baja.

4.5. RESULTADOS ENTRENAMIENTO, VALIDACIÓN Y TESTEO

Related documents