Diseño e implementación sobre hardware reconfigurable de una arquitectura para la emulación en tiempo real de redes neuronales celulares
- José Manuel Ferrández Vicente Director/a
Universidad de defensa: Universidad Politécnica de Cartagena
Fecha de defensa: 18 de mayo de 2012
- Ramón Ruiz Merino Presidente/a
- Francisco Javier Garrigós Guerrero Secretario/a
- Francisco José Pelayo Valle Vocal
- V. Rodellar Biarge Vocal
- Eduardo Fernández Jover Vocal
Tipo: Tesis
Resumen
En esta Tesis se propone el diseño y la implementación sobre hardware reconfigurable de una arquitectura para la emulación en tiempo real de redes neuronales celulares (CNN). El proceso de diseño de la arquitectura, comienza con el planteamiento de diferentes métodos de discretización del modelo continuo original de la red CNN. A partir de dichos métodos se obtienen distintas aproximaciones que son simuladas y comparadas entre sí con el fin de comprobar su funcionalidad y determinar cuál de ellas proporciona los mejores resultados con el menor coste computacional. La aproximación con mejores prestaciones es elegida para desarrollar el algoritmo de cómputo que describe la arquitectura hardware de la red CNN. La metodología de desarrollo utilizada, explora diferentes alternativas para optimizar la arquitectura CNN desde el punto de vista de su implementación hardware sobre FPGAs. A partir de la paralelización y adaptación del algoritmo de cómputo se desarrollan dos arquitecturas hardware diferentes denominadas Carthago y Carthagonova. Estas arquitecturas describen el funcionamiento de una Celda CNN, desenrollada en Etapas, que permite emular secuencialmente el procesamiento realizado por las redes CNN. La principal característica de estas arquitecturas es la capacidad que tienen para procesar la información en flujo de datos y en tiempo real. Las soluciones propuestas tiene como principal objetivo conseguir el mejor equilibrio entre la velocidad de procesamiento y el consumo de recursos hardware de la FPGA, así como evitar el uso de dispositivos de memoria externa que reducen la velocidad de procesamiento del sistema e incrementan su tamaño. Se proponen diferentes alternativas para implementar las arquitecturas sobre dispositivos FPGAs. Una de ellas consiste en utilizar una técnica de sincronización self-timed, eficiente en área-tiempo, que es definida mediante un lenguaje de descripción hardware tradicional (VHDL), instanciando primitivas de bajo nivel y realizando el emplazamiento de los componentes de forma manual. Otra alternativa consiste en una descripción en VHDL estructural a nivel RTL y sincronización convencional, donde los componentes self-timed son sustituidos por componentes estándar. Se propone además la implementación de una de las arquitecturas sobre un computador reconfigurable de altas prestaciones (HPRC), compuesto por un microprocesador de propósito general y un coprocesador basado en FPGAs, encargado de acelerar la ejecución de los algoritmos mediante hardware. El particionamiento hardware/software y el proceso de co-diseño se realizan usando las herramientas de desarrollo a nivel de sistema (ESL) de Impulse Accelerated Technologies (Impulse-C) y la plataforma HPRC DS1002 de DRC Computers. Los principales resultados obtenidos de las diferentes implementaciones son mostrados con el fin de demostrar la funcionalidad de las arquitecturas y analizar sus principales prestaciones. Las diferentes combinaciones consideradas, entre técnicas de implementación y las arquitecturas propuestas, muestran que la arquitectura Carthagonova, implementada a nivel estructural, presenta importantes ventajas a considerar. En primer lugar, la arquitectura facilita la emulación de redes CNN complejas, compuestas por cientos de miles de millones de neuronas, sobre sistemas embebidos basados en FPGAs. En segundo lugar, el excelente compromiso alcanzado entre velocidad de procesamiento y consumo de recursos hardware hace que sea una interesante solución a considerar frente a otras alternativas de la literatura. Finalmente, la versatilidad y las prestaciones de la arquitectura diseñada permiten dar soporte al desarrollo de sistemas de procesamiento de vídeo en tiempo real y al diseño de aplicaciones basadas en modelos neuronales bioinspirados. La arquitectura CNN propuesta es utilizada para desarrollar un modelo artificial de la primera sinapsis de la retina, incorporando algunas de las principales características de los circuitos neuronales considerados. El modelo está basado en los campos receptores de las células bipolares y su objetivo es emular, mediante hardware reconfigurable, el procesamiento espacial básico realizado por la retina. Al igual que ocurre en la primera sinapsis de la retina, se observa que el modelo artificial propuesto lleva a cabo la detección del contraste y la discriminación visual de detalles en función de la influencia de los factores de convergencia y de inhibición lateral de los circuitos neuronales implementados. Finalmente, se propone el diseño y la implementación de un sistema de cómputo distribuido, basado en múltiples FPGAs, que permite el desarrollo de aplicaciones embebidas de procesamiento de vídeo en tiempo real con redes CNN multi-capa (ML-CNNs) complejas y de gran tamaño. El sistema procesa la información de vídeo en flujo de datos (en modo progresivo) y proporciona una salida de vídeo estándar compatible con el formato VGA industrial. http://repositorio.bib.upct.es/dspace/