Download Redes Neuronales de Picos en FPGAs

Document related concepts

Red neuronal de impulsos wikipedia , lookup

Red neuronal estocástica wikipedia , lookup

Red neuronal artificial wikipedia , lookup

Codificación neural wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Transcript
Redes neuronales de picos en FPGAs:
Diseño de una neurona con recursos mínimos
Dr. Julio César Martínez Romo
Instituto Tecnológico de Aguascalientes
Ingeniería Eléctrica y Electrónica
E-mail: [email protected]
Tel. +52(449) 9105002 ext. 106, 185
Fax: +52(449) 9700423
Redes neuronales de picos en FPGAs:
Diseño de una neurona con recursos mínimos
Los temas de esta plática:
-
-
Generaciones de las redes neuronales artificiales
Redes neuronales artificiales de retropropagación en
FPGA
La neurona artificial de picos en FPGA
Una neurona con mínimos recursos (NMR)
Entrenamiento de una neurona con un algoritmo
genético
Conclusiones y trabajo futuro
Generaciones de las RNA’s
1ra. Generación. La generación inicial; creó muchas expectativas
y tuvo poco éxito, principalmente por la falta de algoritmos escalables de
entrenamiento y de hardware apropiado para su implementación.
2da. Generación. Es la generación del resurgimiento de las RNA’s,
que obtuvo gran impulso dado al algoritmo de aprendizaje de
retropropagación del error (entre otros) y la regla Delta generalizada. Va de
finales de 70’s a finales de los 90’s. Actualmente es la que goza de mayor
aplicabilidad por su madurez y resultados probados. Su representante
emblemático son las redes neuronales de retropropagación.
3ra. Generación. Redes neuronales de espigas. Mas adaptadas al
modelo biológico, apta para procesar de forma natural tramas temporales de
datos, como lo hace el cerebro humano. Surge a finales de los 90’s.
Actualmente es campo activo de investigación.
Redes neuronales artificiales de retropropagación
en FPGA
El principal problema con las BPNN radica en la cantidad de recursos que
consume para implementarse en un FPGA.
1
De: Rafid Ahmed Khalil. Hardware Implementation of Backpropagation Neural
Networks on Field programmable Gate Array (FPGA). University of Mosul,
College of Engineering, Mosul, Iraq
El impacto es menor si se utilizan recursos especializados, como multiplicadores,
microprocesadores incrustados, bloques DSP, bloques de RAM/ROM, etc.
Redes neuronales artificiales de retropropagación
en FPGA
Los recursos consumidos dependerán de la representación numérica (entera o
real), la cantidad de bits, función de transferencia, etc.
Neurona
lineal
De: Rafid Ahmed Khalil. Hardware Implementation of Backpropagation Neural
Networks on Field programmable Gate Array (FPGA). University of Mosul,
College of Engineering, Mosul, Iraq
La calidad en los resultados de la red neuronal depende de la aproximación
adoptada.
Redes neuronales artificiales de retropropagación
en FPGA
Neurona con función de
transferencia tanh.
De: Rafid Ahmed Khalil. Hardware Implementation of Backpropagation Neural
Networks on Field programmable Gate Array (FPGA). University of Mosul,
College of Engineering, Mosul, Iraq
Redes neuronales artificiales de retropropagación
en FPGA
Xilinx xc3s500 FPGA
De: Rafid Ahmed Khalil. Hardware Implementation of
Backpropagation Neural
Networks on Field programmable Gate Array (FPGA).
University of Mosul,
College of Engineering, Mosul, Iraq
Se “empacan” las
neuronas y se obtiene
la BPNN en un
FPGA
La neurona artificial de picos en FPGA
- En este modelo se busca imitar lo más posible la neurona animal (ciertos
Modelos simplificados)
- El modelo de una neurona que opera en función de pulsos (o picos, espigas)
de voltaje
La neurona artificial de picos en FPGA
Los potenciales de acción se suman en el cuerpo de la neurona y finalmente si
se rebasa un umbral de disparo la neurona emite un pulso de voltaje a su
salida.
La neurona artificial de picos en FPGA
Ciclo operativo de una
neurona
Se han propuesto modelos matemáticos
cuya complejidad depende de su
plausibilidad biológica
MODELOS MATEMÁTICOS DE NEURONAS BIOLOGICAS
La neurona artificial de picos en FPGA
MODELOS MATEMÁTICOS DE NEURONAS BIOLOGICAS
La neurona artificial de picos en FPGA
MODELOS MATEMÁTICOS DE NEURONAS BIOLOGICAS Y SU
IMPLEMENTACIÓN EN HARDWARE
La neurona artificial de picos en FPGA
Un modelo simplificado es el Leak-Integrate-and-Fire (LIF) que es un
modelo fenomenológico que describe el comportamiento de una neurona
De la neurona biológica a la neurona digital de picos
La neurona artificial de picos en FPGA
Implementaciones
La neurona artificial de picos en FPGA
Implementaciones
La neurona artificial de picos en FPGA
Comparación de implementaciones de una Spiking neuron
Ventajas spsa:
- Independencia con respecto a
#bits #entradas
Desventajas spsa:
- Puede tomar mayor número de
ciclos para ejecutarse
Una neurona con mínimos recursos (NMR)
Modelo Neuronal de Picos
...
PS
Reset
Master clock
SOMA
CONTROL
Una neurona con mínimos recursos (NMR)
Modelo Neuronal de Picos
...
PS
• Capa de asimilación de picos
incidentes
• Realiza el producto/suma de las
señales incidentes
• A su salida se encuentra un único
pico que excitará a la neurona
Una neurona con mínimos recursos (NMR)
Modelo Neuronal de Picos
• Registra el potencial de membrana
• Dispara un pico cuando se ha
alcanzado el umbral de disparo
CONTROL
• Sistema digital asíncrono
• Controla:
• Periodos operación/refractario
• Sentido de acumulación del potencial
Reset
Master clock
Second. clock
SOMA
Una neurona con mínimos recursos (NMR): diseño asíncrono
Una neurona con mínimos recursos (NMR): diseño asíncrono
Una neurona con mínimos recursos (NMR): diseño síncrono (FSM)
Una neurona con mínimos recursos (NMR): diseño síncrono (FSM)
FSM de tres estados
- Ocupa 4 Elementos lógicos
- No se usan recursos dedicados del FPGA
(memoria, multiplicadores, PLL’s)
-
Una neurona con mínimos recursos (NMR): diseño síncrono (FSM)
Estado 0: Reposo
- Estado 1: Operacional
- Estado 2: Refractario
-
Entrenamiento de una neurona con un algoritmo genético
CROMOSOMA
Potencial de reposo
Pendiente (mV) de incremento por pico
(mV/pico)
Pendiente (mV) por ausencia de pico (mV/pico)
Pendiente (mV) durante el periodo refractario
Umbral (q) para disparar el pulso
Espigas incidentes a la neurona
180
160
Canales sinápticos
140
120
100
80
60
40
20
0
0
100
200
300
Evaluación desarollada en Matlab®
400
500
Tiempo
600
700
800
Conclusiones y trabajo futuro
• Se presentaron los principios teóricos de las neuronas de “espigas”
• Se presentaron dos neuronas digitales que usan mínimos recursos para su
implementación, una con diseño asíncrono y otra de diseño síncrono
• Ambas neuronas fueron capaces de generar la respuesta fenomenológica bajo el
paradigma de neurona tipo leak-integrate-and-fire (LIF)
• La neurona asíncrona consume una menor cantidad de recursos, pero en su
operación se podrían presentar “glitches”
• La neurona síncrona consume una mayor cantidad de recursos, pero no como a
simple vista pareciera por la extensión de la FSM, principalmente por la forma en
que el software Quartus II sintetiza la descripción circuital de las neuronas dada la
estructura específica del FPGA (Cyclone II, EP2C35F672C6).
• Se exploró un algoritmo de aprendizaje fuera de línea, un algoritmo genético,
demostrando que una única neurona es capaz de aprender.
•
Conclusiones y trabajo futuro
• Explorar más profundamente la relación entre los parámetros de la neurona y su
capacidad de aprendizaje.
• Aplicar otros algoritmos de aprendizaje, por ejemplo, Hebbiano.
• Explorar diferentes arquitecturas de interconexión para generar redes neuronales
escalables y aplicables a problemas reales (control, reconocimiento de patrones)
• Desarrollar modelos más complejos que permitan ir poco a poco dando mayor
plausibilidad biológica
• Implementar en otras tecnologías de FPGA.
• Implementar simulaciones en procesamiento distribuido en Graphics Processsor
Units (GPU’s, Envidia)
GRACIAS. Dr. Julio César Martínez Romo
[email protected]