API para entrenamiento de redes neuronales profundas evolucionadas a través de algoritmos genéticos
View/ Open
Date
2021-10-08Author
Deniz Pedreira, Leroy
Metadata
Show full item recordAbstract
Los algoritmos de clasificación supervisada resuelven un tipo de problemas específicos donde se cuenta con una serie de datos previamente clasificados. Para poder decidir la clase de una muestra, se tiene en cuenta toda la información que se pueda extraer del conjunto de datos inicial, cuya clase es conocida por el clasificador.
En este trabajo se implementa una aplicación web, que permite al usuario interactuar a través de una API (Application Programming Interface), capaz de entrenar y aproximar muy bien un óptimo global de una red neuronal profunda mediante algoritmos genéticos, con las funcionalidades de entrenamiento, evaluación y clasificación.
La aplicación es construida sobre una arquitectura de tres capas, contando con una interfaz web diseñada en ReactJS, que permitirá al usuario interactuar con las funcionalidades del software de clasificación.
Se aborda el diseño del Core utilizando técnicas de clasificación supervisada bajo entrenamiento de redes neuronales profundas, optimizándolas a través de back-propagation y evolucionándolas con algoritmos genéticos. La API es construida en Python con Flask a nivel de Controlador y PyTorch como framework en el Core. Este último será el responsable de entrenar la red neuronal y hacerla evolucionar hasta lograr una aproximación muy cercana al óptimo global (Castillo Valdivieso et al., 2000). El uso de metaheurísticas permite a la red modificar sus pesos y crecer o reducir, tanto en número de nodos como de capas de manera dinámica, en función de lo que ella misma considere necesaria para su propio entrenamiento.