Download Redes Neuronales de Picos en FPGAs
Document related concepts
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: jucemaro@yahoo.com 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 jucemaro@yahoo.com