[eng] Our brain performs complex pattern recognition tasks such as image processing and
voice recognition with apparent ease everyday. Inspired by how brain accomplish those
tasks, different machine learning models, especially the Artifical Neural Networks
(ANNs), have been intensively studied in recent years. ANNs models attempt to mimic
the biological nervous system network composed of simple processing elements
called neurons that are interconnected using different connectivities and weights.
With specific training, ANNs have the ability to learn complex relationships considering
the inputs patterns by adjusting their weights.
Spiking Neural Networks (SNNs), the last generation of ANNs, are characterized
by both its bioinspired nature and by a higher computational capacity with respect
to other neural networks models. However, even though many hardware approaches
achieve significant improvements in terms of performance and power consumption,
their implementation still requires large amounts of hardware resources which, in
turn, impede to fully exploit the hardware benefits. Therefore, efficient hardware
implementations of SNNs become crucial to exploit the inherent Neural Network
parallelism. Unlike conventional computing techniques, Stochastic Computing (SC)
allows to perform complex arithmetic computations by using low gate counts. For
instance, a simple logic XOR gate can perform a multiplication in the stochastic
domain. In addition to their simplicity, SC circuits are error-tolerant due to their
inherent probabilistic nature.
This thesis is devoted to develop different unconventional computing techniques for
an efficient hardware implementation of ANNs. Several methodologies for digital
implementation of conventional ANNs using a novel encoding scheme, the so-called
Extended Stochastic Logic (ESL), are proposed and analyzed. Also two new bioinspired
hardware neural models that mimic traditional spiking neurons are proposed.
Finally, as a proof of concept, the proposed approaches are described and
studied in detail along with real-life applications over high-end Field Programmable
Gate Arrays (FPGAs) including their massive application on huge databases.
[cat] El nostre cervell realitza de manera di`aria tasques complexes basades en el reconeixement
de patrons com puguin ser el processament d’imatges i el reconeixement de
veu amb aparent facilitat. Inspirats per com el cervell aconsegueix executar aquestes
tasques, diferents models d’aprenentatge autom`atic, especialment els basats en Xarxes
Neuronals Artificials (ANNs), han estat intensament estudiats durant els darrers
anys. Els models ANNs intenten imitar el comportament biol`ogic del sistema nervi´os
a partir del modelatge dels elements de processament simples anomenats neurones
i les seves interconnexions. Amb un entrenament espec´ıfic, les ANNs tenen la capacitat
d’aprendre relacions complexes a partir de la informaci´o d’entrada mitjan¸cant
l’ajust apropiat dels seus pesos.
Les SNNs s´on l’´ultima generaci´o d’ANNs i es caracteritzen tant per la seva naturalesa
bioinspirada com per una major capacitat computacional respecte a altres models
de xarxes neuronals. No obstant aix`o, encara que molts enfocaments hardware aconsegueixen
millores significatives en termes de rendiment i consum d’energia, la seva
implementaci´o encara requereix grans quantitats de recursos, fet que, alhora, impedeix
explotar plenament els seus avantatges. Per tant, les implementacions eficients
en hardware del tipus SNNs esdevenen crucials a l’hora d’explotar el paral·lelisme
inherent de les xarxes neuronals. A difer`encia de les t`ecniques de computaci´o convencionals,
la computaci´o estoc`astica SC permet realitzar c`alculs aritm`etics complexos
utilitzant un baix nombre de portes l`ogiques. Per exemple, una simple porta l`ogica
XOR pot realitzar una multiplicaci´o en el domini estoc`astic. A m´es de la seva simplicitat,
els circuits dissenyats amb t`ecniques SC s´on tolerants als errors degut a la
seva inherent naturalesa probabil´ıstica.
En aquesta tesis es proposen diferents t`ecniques de computaci´o no convencionals
per a una implementaci´o hardware eficient de les ANNs. Es proposen i analitzen
diverses metodologies per a la implementaci´o digital de ANNs convencionals utilitzant
un nou esquema de codificaci´o encunyat com ESL (del acr`onim en angl´es,
Extended Stochastic Logic). Tamb´e es proposen dos nous models neuronals en hardware
bioinspirats que imiten a les neurones pulsantes tradicionals. Finalment, com
a prova de concepte, es descriuen i estudien detalladament les diferents propostes
amb aplicacions reals sobre FPGAs d’alta gamma inclosa la seva aplicaci´o massiva
sobre grans base de dades.
[spa] Nuestro cerebro realiza de forma diaria tareas complejas basadas en el reconocimiento
de patrones tales como el procesamiento de im´agenes y el reconocimiento de voz
con aparente facilidad. Inspirados por c´omo el cerebro logra ejecutar dichas tareas,
diferentes modelos de aprendizaje autom´atico, especialmente los basados en Redes
Neuronales Artificiales o ANNs, han sido intensamente estudiados en los ´ultimos
a˜nos. Los modelos ANNs intentan imitar el comportamiento biol´ogico del sistema
nervioso a partir del modelado de los elementos de procesamiento simples llamados
neuronas y sus interconexiones. Con un entrenamiento espec´ıfico, las ANNs tienen
la capacidad de aprender relaciones complejas a partir de la informaci´on de entrada
mediante el ajuste apropiado de sus pesos.
Las SNNs, la ´ultima generaci´on de ANNs, se caracterizan tanto por su naturaleza
bioinspirada como por una mayor capacidad computacional respecto a otros modelos
de redes neuronales. Sin embargo, a pesar de que muchos enfoques hardware
logran mejoras significativas en t´erminos de rendimiento y consumo de energ´ıa, su
implementaci´on sigue requiriendo grandes cantidades de recursos de hardware que,
a su vez, impiden explotar plenamente los beneficios del hardware. Por lo tanto,
las implementaciones hardware eficientes de SNNs se vuelven cruciales para explotar
el paralelismo inherente de las redes neuronales. A diferencia de las t´ecnicas de
computaci´on convencionales, la SC permite realizar c´alculos aritm´eticos complejos
utilizando un bajo n´umero de puertas l´ogicas. Por ejemplo, una simple puerta l´ogica
XOR puede realizar una multiplicaci´on en el dominio estoc´astico. Adem´as de
su simplicidad, los circuitos SC son tolerantes a los errores debido a su naturaleza
probabil´ıstica inherente.
En esta tesis se proponen diferentes t´ecnicas de computaci´on no convencionales
para una implementaci´on hardware eficiente de ANNs. Se proponen y analizan varias
metodolog´ıas para la implementaci´on digital de ANNs convencionales utilizando
un nuevo esquema de codificaci´on acu˜nado como ESL (Extended Stochastic Logic).
Tambi´en se proponen dos nuevos modelos neuronales de hardware bioinspirados que
imitan a las neuronas pulsantes tradicionales. Finalmente, como prueba de concep-
to, se describen y estudian en detalle los diferentes enfoques propuestos junto con
aplicaciones reales sobre FPGAs de alta gama incluida su aplicaci´on masiva sobre
grandes bases de datos.