Implementation of convolutional neuronal network on a software co-processing scheme to identify handwritten digits

Abstract
Este trabajo hace parte de la fase inicial de un macroproyecto, el cual tiene como objetivo, el desarrollo de dispositivos portables con bajo consumo de potencia, para aplicaciones médicas utilizando redes neuronales convolucionales (CNNs). Las redes neuronales convolucionales cada vez son más populares en aplicaciones de aprendizaje profundo como por ejemplo en clasificación de imágenes, reconocimiento de voz, medicina, entre otras. Sin embargo, las CNNs son computacionalmente costosas y requieren altos recursos de memoria. Nosotros proponemos un acelerador de hardware para la red Lenet-5 (LeCun et al., 1998) en un esquema de co-procesamiento Software/Hardware. El esquema propuesto tiene como objetivo reducir los recursos de hardware y obtener un alto rendimiento en el proceso de inferencia. Hemos desarrollado una estrategia para reducir recursos de memoria y recursos computacionales. Esta estrategia nos permite reducir la cantidad de memoria requerida sobrescribiéndolas y los recursos computacionales usando un formato de datos en punto fijo. Este esquema fue diseñado alrededor de la plataforma Zynq-7000. Implementamos nuestro diseño en la tarjeta de desarrollo Digilent Arty Z7-20. Nuestros resultados evidenciaron una exactitud del 97.59% utilizando representación en punto fijo de 12 bits. Con una frecuencia de tan solo 100MHz en el acelerador de hardware, el esquema propuesto obtiene una mejora de 17% en el throughput cuando se compara con una implementación de software en un procesador de propósito general cuya frecuencia es de 650MHz.
Description
Keywords
Cnn, Fpga, Hardware-Accelerator, Mnist, Zynq
Citation