Algoritmo de optimización basado en cuantización para implementación de hardware de redes neuronales convolucionales
Autores: Mohd, Bassam J.; Ahmad Yousef, Khalil M.; AlMajali, Anas; Hayajneh, Thaier
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Algoritmo de optimización basado en cuantización para implementación de hardware de redes neuronales convolucionales
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Redes neuronales convolucionales
Algoritmo de cuantización
Diseño de hardware de CNN
Dispositivos con recursos limitados
Redes neuronales profundas
FPGA
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 45
Citaciones: Sin citaciones
Las redes neuronales convolucionales (CNN) han demostrado un rendimiento notable en muchas áreas pero requieren recursos significativos de cálculo y almacenamiento. La cuantificación es un método efectivo para reducir la complejidad y la implementación de CNN. El objetivo principal de la investigación es desarrollar un algoritmo de cuantificación escalable para el diseño de hardware de CNN y modelar las métricas de rendimiento con el propósito de implementar CNN en dispositivos con recursos limitados (RCD) y optimizar capas en redes neuronales profundas (DNN). La novedad del algoritmo se basa en la combinación de dos técnicas de cuantificación para realizar una cuantificación completa del modelo con la máxima precisión, y sin neuronas adicionales. El algoritmo se aplica a un modelo de CNN seleccionado e implementado en un FPGA. La implementación de CNN utilizando datos amplios no es posible debido a problemas de capacidad. Con el algoritmo de cuantificación propuesto, logramos implementar el modelo en el FPGA utilizando cuantificaciones de 16, 12 y 8 bits. En comparación con el diseño de 16 bits, el diseño de 8 bits ofrece una disminución del 44% en la utilización de recursos, y logra reducciones de potencia y energía del 41% y 42%, respectivamente. Los modelos muestran que el intercambio de un bit de cuantificación produce ahorros de aproximadamente 5.4K LUTs, 4% de utilización lógica, 46.9 mW de potencia y 147 J de energía. Los modelos también se utilizaron para estimar métricas de rendimiento para un diseño de DNN de muestra.
Descripción
Las redes neuronales convolucionales (CNN) han demostrado un rendimiento notable en muchas áreas pero requieren recursos significativos de cálculo y almacenamiento. La cuantificación es un método efectivo para reducir la complejidad y la implementación de CNN. El objetivo principal de la investigación es desarrollar un algoritmo de cuantificación escalable para el diseño de hardware de CNN y modelar las métricas de rendimiento con el propósito de implementar CNN en dispositivos con recursos limitados (RCD) y optimizar capas en redes neuronales profundas (DNN). La novedad del algoritmo se basa en la combinación de dos técnicas de cuantificación para realizar una cuantificación completa del modelo con la máxima precisión, y sin neuronas adicionales. El algoritmo se aplica a un modelo de CNN seleccionado e implementado en un FPGA. La implementación de CNN utilizando datos amplios no es posible debido a problemas de capacidad. Con el algoritmo de cuantificación propuesto, logramos implementar el modelo en el FPGA utilizando cuantificaciones de 16, 12 y 8 bits. En comparación con el diseño de 16 bits, el diseño de 8 bits ofrece una disminución del 44% en la utilización de recursos, y logra reducciones de potencia y energía del 41% y 42%, respectivamente. Los modelos muestran que el intercambio de un bit de cuantificación produce ahorros de aproximadamente 5.4K LUTs, 4% de utilización lógica, 46.9 mW de potencia y 147 J de energía. Los modelos también se utilizaron para estimar métricas de rendimiento para un diseño de DNN de muestra.