000085375 001__ 85375 000085375 005__ 20191118101540.0 000085375 037__ $$aTAZ-TFG-2019-2107 000085375 041__ $$aspa 000085375 1001_ $$aLozano Romeo, Luis 000085375 24200 $$aFPGA-based accelerator for Binary Neural Network 000085375 24500 $$aImplementación con FPGA de redes neuronales binarias 000085375 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2019 000085375 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/ 000085375 520__ $$aEste trabajo de fin de grado consiste en observar los beneficios de utilizar un menor tamaño de palabra para la cuantificación de los pesos en una red neuronal convolucional, o en inglés Convolutional Neuronal Network, sin perder eficiencia y precisión. Por ello se ha decidido utilizar para su implementación una FPGA donde podemos trabajar a nivel de bit. En la mayoría de ocasiones que se encuentran propuestas de optimizaciones para redes neuronales artificiales se nos ofrece la posibilidad de reducir el número de filtros en las capas convolucionales o de neuronas en la capa fully conected, o de añadir más capas reduciendo su tamaño o viceversa. Pero rara vez se ha tratado de encontrar una solución a dichas optimizaciones mediante la reducción del tamaño de palabra para agilizar tiempos y costes de recursos. La red neuronal utilizada ha sido LeNet, que consta de siete capas de los tipos convolucional (Conv), relu, full conected (FC) y max pooling (max). Esta red junto con la base de datos MNIST se encarga de identificar en una imagen un número del 0 al 9. Para poder realizarlo, se han llevado a cabo una serie de procesos en los cuales se han utilizado herramientas como Caffe Ristretto, GuinnessMaster y Vivado HLS. La primera de ellas ha sido necesaria para poder entrenar la red y obtener los pesos cuantificados con el menor tamaño posible sin perder eficiencia en la red. Mediante GuinnessMaster se ha obtenido una plantilla de la red y sus capas en C sintetizable que nos ha permitido dar forma a dicha red. Por último, mediante Vivado HLS, hemos conseguido traducir a VHDL la red en C para poder introducirla en una FPGA y poder comprobar su tiempo de ejecución, área de silicio utilizada y parámetros de memoria que nos definirán lo útil que puede llegar a ser nuestra propuesta.<br /> 000085375 521__ $$aGraduado en Ingeniería de Tecnologías y Servicios de Telecomunicación 000085375 540__ $$aDerechos regulados por licencia Creative Commons 000085375 700__ $$aNavarro Tabernero, Denis$$edir. 000085375 7102_ $$aUniversidad de Zaragoza$$bIngeniería Electrónica y Comunicaciones$$cTecnología Electrónica 000085375 8560_ $$f702978@celes.unizar.es 000085375 8564_ $$s1888294$$uhttps://zaguan.unizar.es/record/85375/files/TAZ-TFG-2019-2107.pdf$$yMemoria (spa) 000085375 909CO $$ooai:zaguan.unizar.es:85375$$pdriver$$ptrabajos-fin-grado 000085375 950__ $$a 000085375 951__ $$adeposita:2019-11-18 000085375 980__ $$aTAZ$$bTFG$$cEINA 000085375 999__ $$a20190626092502.CREATION_DATE