Implementación paralela en FPGA de máquinas de vectores de soporte utilizando descenso de gradiente estocástico
Autores: Lopes, Felipe F.; Ferreira, João Canas; Fernandes, Marcelo A. C.
Idioma: Inglés
Editor: MDPI
Año: 2019
Acceso abierto
Artículo científico
2019
Implementación paralela en FPGA de máquinas de vectores de soporte utilizando descenso de gradiente estocástico
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Optimización secuencial mínima
Máquinas de vectores de soporte
Descenso de gradiente estocástico
FPGA
Implementación de hardware
Aceleraciones
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 30
Citaciones: Sin citaciones
Sequential Minimal Optimization (SMO) es el algoritmo de entrenamiento tradicional para Máquinas de Vectores de Soporte (SVM). Sin embargo, SMO no escala bien con el tamaño del conjunto de entrenamiento. Por esa razón, los algoritmos de Descenso de Gradiente Estocástico (SGD), que tienen una mejor escalabilidad, son una mejor opción para aplicaciones masivas de minería de datos. Además, incluso con el uso de SGD, los tiempos de entrenamiento pueden volverse extremadamente largos dependiendo del conjunto de datos. Por esta razón, se utilizan aceleradores como las Matrices de Puertas Programables en Campo (FPGAs). Este trabajo describe una implementación en hardware, utilizando FPGA, de un SVM totalmente paralelo utilizando Descenso de Gradiente Estocástico. La implementación propuesta en FPGA de un SVM con SGD presenta aceleraciones de más de 10,000 veces en relación con implementaciones de software que se ejecutan en un procesador de cuatro núcleos y hasta 319 veces en comparación con implementaciones de FPGA de última generación, al mismo tiempo que requiere menos recursos de hardware. Los resultados muestran que la arquitectura propuesta es una solución viable para problemas altamente exigentes como los presentes en el análisis de grandes volúmenes de datos.
Descripción
Sequential Minimal Optimization (SMO) es el algoritmo de entrenamiento tradicional para Máquinas de Vectores de Soporte (SVM). Sin embargo, SMO no escala bien con el tamaño del conjunto de entrenamiento. Por esa razón, los algoritmos de Descenso de Gradiente Estocástico (SGD), que tienen una mejor escalabilidad, son una mejor opción para aplicaciones masivas de minería de datos. Además, incluso con el uso de SGD, los tiempos de entrenamiento pueden volverse extremadamente largos dependiendo del conjunto de datos. Por esta razón, se utilizan aceleradores como las Matrices de Puertas Programables en Campo (FPGAs). Este trabajo describe una implementación en hardware, utilizando FPGA, de un SVM totalmente paralelo utilizando Descenso de Gradiente Estocástico. La implementación propuesta en FPGA de un SVM con SGD presenta aceleraciones de más de 10,000 veces en relación con implementaciones de software que se ejecutan en un procesador de cuatro núcleos y hasta 319 veces en comparación con implementaciones de FPGA de última generación, al mismo tiempo que requiere menos recursos de hardware. Los resultados muestran que la arquitectura propuesta es una solución viable para problemas altamente exigentes como los presentes en el análisis de grandes volúmenes de datos.