FPGA-Based Acceleration for Emerging Neuromorphic Computing Paradigms
Authors:   , López Asunción Samuel 
Published: August 2024

SNNs present a paradigm shift in computing, offering promising novel approaches to data-driven computing using brain-inspired architectures, in what is referred to as neuromorphic computing. In contrast to classical neural networks, SNNs emulate the spiking behaviour of biological neurons, enabling more efficient and biologically plausible information processing.

SNNs set themselves apart from other types of networks by their event-driven processing, resembling the asynchronous communication between biological neurons in the brain. This event-based computation allows for spatially and temporally sparse processing, enabling efficient utilisation of computational resources. While conventional neural networks excel in tasks such as pattern recognition and classification, SNNs offer advantages in tasks requiring temporal dynamics and asynchronous event processing, such as sensory processing, real-time control, and spatiotemporal pattern recognition, also exhibiting inherent fault tolerance and robustness to noisy environments.

Better energy efficiency is one of the biggest goals in neural network research. Although the nature of SNNs makes them particularly suited for low-power implementations, there are still challenges regarding information encoding, training and programming framework support that pose great hurdles to achieve smaller and lower-power implementations than their classical network counterparts.

To best leverage their competitive advantages and realising the full potential of SNNs regarding power consumption and parallel processing, tailored hardware architectures optimised for their unique computational requirements represent a great option, particularly suited for low-power implementations crucial for applications in IoT, wearable devices, and embedded systems. Custom hardware accelerators built on reconfigurable devices like FPGAs offer the parallelism, flexibility, and efficiency required for deploying SNNs on edge devices. These bespoke digital hardware architectures can exploit the inherent parallelism of SNNs and optimise energy consumption, latency, and resource utilisation.

In this thesis, we propose an SNN hardware architecture designed for low-power and low-area consumption, specifically tailored for running SNNs efficiently on edge devices. Additionally, we introduce a supporting framework encompassing tools for training SNNs, mapping high-level spiking networks to RTL hardware descriptions, and integrating them with RISC-V accelerator wrappers. We demonstrate the efficacy of our approach through experiments on various networks across different use cases, showcasing the potential of SNN-based solutions for edge computing tasks. Through our contributions, we aim to pave the way for the widespread adoption of SNNs on resource-constrained edge devices, unlocking new frontiers in neuromorphic computing.

RESUMEN

Las redes neuronales de impulsos (SNNs) suponen un cambio de paradigma en cuanto a nuevos tipos de computación, ya que ofrecen nuevos y prometedores enfoques para la computación basada en datos utilizando arquitecturas inspiradas en el cerebro, en lo que se conoce como computación neuromórfica. A diferencia de las redes neuronales clásicas, las SNNs emulan el comportamiento de los potenciales de acción de las neuronas biológicas, lo que permite un procesamiento de la información más eficiente y biológicamente plausible.

Las SNNs se distinguen de otros tipos de redes por su procesamiento basado en eventos, similar a la comunicación asíncrona que ocurre en las neuronas biológicas de un cerebro. Este cálculo basado en eventos permite un procesamiento espacial y temporalmente disperso, lo que posibilita una utilización eficiente de los recursos computacionales. Mientras que las redes neuronales convencionales destacan en tareas como el reconocimiento y la clasificación de patrones, las SNNs ofrecen ventajas en tareas que requieren dinámica temporal y procesamiento asíncrono de eventos, como el procesamiento de información de sensores de eventos, el control en tiempo real y el reconocimiento espaciotemporal de patrones, presentando también una tolerancia inherente a los fallos y robustez en entornos ruidosos.

Mejorar la eficiencia energética es uno de los grandes objetivos de la investigación en redes neuronales. Aunque la naturaleza de las SNNs las hace especialmente aptas para bajo consumo, todavía existen retos relacionados con la codificación de la información, el entrenamiento y el desarrollo de entornos de programación que plantean grandes obstáculos para lograr implementaciones más pequeñas y de menor consumo que sus homólogas de redes clásicas.

Para aprovechar mejor sus ventajas competitivas y aprovechar todo el potencial de las SNNs en cuanto a consumo de energía y procesamiento en paralelo, las arquitecturas de hardware a medida optimizadas para los requisitos computacionales únicos de estas redes representan una gran opción, especialmente adecuada para implementaciones de bajo consumo cruciales para aplicaciones en IoT, dispositivos portátiles y sistemas integrados. Los aceleradores de hardware personalizados desarrollados para dispositivos reconfigurables como las FPGAs ofrecen el paralelismo, la flexibilidad y la eficiencia necesarios para desplegar SNNs en este tipo de dispositivos. Estas arquitecturas de hardware digital a medida pueden explotar el paralelismo inherente de las SNNs y optimizar el consumo de energía, la latencia y la utilización de recursos.

En esta tesis, proponemos una arquitectura hardware para SNNs diseñada para consumir poca energía y espacio, especialmente adaptada para simular SNNs de forma eficiente en dispositivos con recursos limitados. Además, presentamos un entorno de apoyo que abarca herramientas para entrenar SNNs, generar descripciones de hardware RTL a partir de descripciones de alto nivel, e integrarlas en aceleradores para sistemas RISC-V. Demostramos la eficacia de nuestro planteamiento mediante experimentos con varias redes en distintos casos de uso, poniendo de manifiesto el potencial de las soluciones basadas en SNNs para ciertas tareas de computación. Con nuestras aportaciones, pretendemos allanar el camino para la adopción generalizada de las SNNs en dispositivos con recursos limitados, abriendo nuevas fronteras en la computación neuromórfica.