Un acelerador de CNN basado en FPGA que integra la convolución separable en profundidad
Autores: Liu, Bing; Zou, Danyin; Feng, Lei; Feng, Shou; Fu, Ping; Li, Junbao
Idioma: Inglés
Editor: MDPI
Año: 2019
Acceso abierto
Artículo científico
2019
Un acelerador de CNN basado en FPGA que integra la convolución separable en profundidad
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Red neuronal convolucional
FPGA
Acelerador
CNN
ZYNQ
Convolución separable en profundidad
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 48
Citaciones: Sin citaciones
La red neuronal convolucional (CNN) se ha utilizado en muchos campos y ha logrado resultados notables, como la clasificación de imágenes, la detección de rostros y el reconocimiento de voz. Comparado con GPU (unidad de procesamiento gráfico) y ASIC, un acelerador de CNN basado en FPGA (matriz de compuertas programable en campo) tiene grandes ventajas debido a su baja consumo de energía y propiedad reconfigurable. Sin embargo, los recursos extremadamente limitados de FPGA y la enorme cantidad de parámetros y complejidad computacional de CNN plantean grandes desafíos para el diseño. Basado en la plataforma heterogénea ZYNQ y la coordinación de problemas de recursos y ancho de banda con el modelo roofline, el acelerador de CNN que diseñamos puede acelerar tanto la convolución estándar como la convolución separable en profundidad con una alta tasa de recursos de hardware. El acelerador puede manejar capas de red de diferentes escalas a través de la configuración de parámetros y maximiza el ancho de banda y logra una canalización completa utilizando una interfaz de flujo de datos y caché en chip ping-pong. Los resultados experimentales muestran que el acelerador diseñado en este documento puede lograr 17.11GOPS para punto flotante de 32 bits cuando también puede acelerar la convolución separable en profundidad, lo que tiene ventajas obvias en comparación con otros diseños.
Descripción
La red neuronal convolucional (CNN) se ha utilizado en muchos campos y ha logrado resultados notables, como la clasificación de imágenes, la detección de rostros y el reconocimiento de voz. Comparado con GPU (unidad de procesamiento gráfico) y ASIC, un acelerador de CNN basado en FPGA (matriz de compuertas programable en campo) tiene grandes ventajas debido a su baja consumo de energía y propiedad reconfigurable. Sin embargo, los recursos extremadamente limitados de FPGA y la enorme cantidad de parámetros y complejidad computacional de CNN plantean grandes desafíos para el diseño. Basado en la plataforma heterogénea ZYNQ y la coordinación de problemas de recursos y ancho de banda con el modelo roofline, el acelerador de CNN que diseñamos puede acelerar tanto la convolución estándar como la convolución separable en profundidad con una alta tasa de recursos de hardware. El acelerador puede manejar capas de red de diferentes escalas a través de la configuración de parámetros y maximiza el ancho de banda y logra una canalización completa utilizando una interfaz de flujo de datos y caché en chip ping-pong. Los resultados experimentales muestran que el acelerador diseñado en este documento puede lograr 17.11GOPS para punto flotante de 32 bits cuando también puede acelerar la convolución separable en profundidad, lo que tiene ventajas obvias en comparación con otros diseños.