![](https://assets.isu.pub/document-structure/220916163808-6e78e44bb0b91c1a272e1740c47334a4/v1/46781b897ceea6d7923918ea58a4932c.jpeg?width=720&quality=85%2C50)
1 minute read
Aceleración de algoritmos de aprendizaje de maquina: regresión logística en arquitectura FPGA
Autor
Jesus Alberto Puenayan Quiceno
Directores
Alejandra González Johan Peña
La personalización de servicios, la predicción de comportamientos y el auge de la recolección de datos son parte de un fenómeno global que no parece mermar; el aprendizaje de maquina como herramienta se ha vuelto indispensable pues permite en un nivel cercano ofrecer experiencias personalizadas y en un mayor diseñar complejos espectros de comportamiento. Claro, el conjunto de datos es proporcional al nivel, a la vez que el tamaño de estos conjuntos define el tiempo de entrenamiento, siendo este tiempo un problema en cuanto se espera poder anticipar a los eventos de los elementos analizados.
El proyecto en cuestión buscó optimizar el tiempo de entrenamiento de un algoritmo de regresión logística, en este caso partiendo de la premisa de un sistema hibrido hardware-software, en el cual se deseaba obtener al menos una optimización del 25% (1.25 veces) respecto a un sistema puramente software (implementado en Python), para esto se decidió trabajar en dos aspectos claves, lo que fue la segmentación del algoritmo y la optimización en hardware de las funciones que consumiesen mayor tiempo de cómputo.
La meta más que cumplirse logro superarse, ya que los resultados del prototipo implementado arrojaron una relación superior a las 600 veces de optimización, relación que es resultado del peor escenario de optimización en una base estadística al 95%, y que está ligado a las limitaciones del modelo hardware implementado en la FPGA proporcionada para las pruebas. El prototipo final, aunque cumple y supera la relación de optimización buscada, aun tiene margen de mejora en la implementación de la comunicación hardware-software, esto mediante un módulo DMA dedicado, en lugar de un protocolo serial SPI dedicado como lo fue en la implementación para este proyecto.