Eficientes motores de agrupamiento máximo de dos etapas para una red neuronal convolucional basada en FPGA
Autores: Hong, Eonpyo; Choi, Kang-A; Joo, Jhihoon
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Eficientes motores de agrupamiento máximo de dos etapas para una red neuronal convolucional basada en FPGA
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Propone
Motores de agrupamiento máximo
Parámetro de tamaño de ventana escalable
Basado en FPGA
Implementación de red neuronal convolucional
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 25
Citaciones: Sin citaciones
Este documento propone dos motores de max-pooling, denominados motor RTB-MAXP y motor CMB-MAXP, con un parámetro de tamaño de ventana escalable para la implementación de redes neuronales convolucionales (CNN) basadas en FPGA. La operación de max-pooling para la CNN se puede descomponer en dos etapas, es decir, una operación de max-pooling en el eje horizontal y una operación de max-pooling en el eje vertical. Estas dos operaciones de max-pooling unidimensionales se realizan rastreando la clasificación de los valores dentro de la ventana en el motor RTB-MAXP y cascada de las operaciones máximas de los valores en el motor CMB-MAXP. Tanto el motor RTB-MAXP como el motor CMB-MAXP se implementaron utilizando el lenguaje de descripción de hardware VHSIC (VHDL) y se verificaron mediante simulaciones. Los resultados de implementación demuestran que los 16 motores CMB-MAXP lograron un rendimiento notable de aproximadamente 9 GBPS (gigabytes por segundo) mientras utilizaban solo alrededor del 3% de los recursos disponibles en el FPGA Xilinx Virtex UltraScale+ XCVU9P. Por otro lado, los 16 motores RTB-MAXP mostraron un rendimiento algo inferior y una utilización de recursos menor, aunque ofrecieron una latencia ligeramente mejor en comparación con los motores CMB-MAXP. En la comparación con las técnicas existentes, el motor CMB-MAXP mostró resultados de implementación comparables en términos de utilización de recursos y frecuencia máxima de operación. Es crucial destacar que solo los motores propuestos ofrecen las características de escalabilidad de ventana en tiempo de ejecución y capacidad de relleno de límites, que son requisitos esenciales para los aceleradores de CNN. Los motores de max-pooling propuestos se emplearon y probaron en nuestro acelerador de CNN dirigido al modelo de CNN YOLOv4-CSP-S-Leaky para la detección de objetos.
Descripción
Este documento propone dos motores de max-pooling, denominados motor RTB-MAXP y motor CMB-MAXP, con un parámetro de tamaño de ventana escalable para la implementación de redes neuronales convolucionales (CNN) basadas en FPGA. La operación de max-pooling para la CNN se puede descomponer en dos etapas, es decir, una operación de max-pooling en el eje horizontal y una operación de max-pooling en el eje vertical. Estas dos operaciones de max-pooling unidimensionales se realizan rastreando la clasificación de los valores dentro de la ventana en el motor RTB-MAXP y cascada de las operaciones máximas de los valores en el motor CMB-MAXP. Tanto el motor RTB-MAXP como el motor CMB-MAXP se implementaron utilizando el lenguaje de descripción de hardware VHSIC (VHDL) y se verificaron mediante simulaciones. Los resultados de implementación demuestran que los 16 motores CMB-MAXP lograron un rendimiento notable de aproximadamente 9 GBPS (gigabytes por segundo) mientras utilizaban solo alrededor del 3% de los recursos disponibles en el FPGA Xilinx Virtex UltraScale+ XCVU9P. Por otro lado, los 16 motores RTB-MAXP mostraron un rendimiento algo inferior y una utilización de recursos menor, aunque ofrecieron una latencia ligeramente mejor en comparación con los motores CMB-MAXP. En la comparación con las técnicas existentes, el motor CMB-MAXP mostró resultados de implementación comparables en términos de utilización de recursos y frecuencia máxima de operación. Es crucial destacar que solo los motores propuestos ofrecen las características de escalabilidad de ventana en tiempo de ejecución y capacidad de relleno de límites, que son requisitos esenciales para los aceleradores de CNN. Los motores de max-pooling propuestos se emplearon y probaron en nuestro acelerador de CNN dirigido al modelo de CNN YOLOv4-CSP-S-Leaky para la detección de objetos.