Modelos neuronales de tercera generación: aplicación en el reconocimiento de patrones y robótica Dr. Roberto Antonio Vázquez Espinoza de los Monteros Enero 2015
Agenda
1. Grupo de Investigación 2. Introducción 3. Metodología 4. Resultados obtenidos 5. Conclusiones
Grupo de Investigación+Desarrollo+innovación Sistemas intel igentes
4 Doctores (3 miembros del SNI), Estudiantes de licenciatura y posgrado.
Realizar investigación tanto básica como aplicada, para dar solución a problemas relacionados con el reconocimiento de patrones, análisis de imágenes, predicción de series de tiempo y control, de alto impacto. • Redes Neuronales aplicadas al reconocimiento de
patrones y control • Cómputo evolutivo e inteligencia colectiva para el
reconocimiento de patrones
GI+D+i en Sistemas Inteligentes Proyectos
1. Aplicaciones de cómputo evolutivo y de procesamiento digital de señales en el área de ingeniería
2. Diseño automático de redes neuronales generadoras de impulsos y su implementación en unidades de procesamiento gráfico (GPUS) para el análisis masivo y clasificación de patrones
3. Simulación y diseño de nadadores con inteligencia individual y colectiva
4. Implementación de una nariz electrónica en un sistema embebido
Aplicar una neurona generadora de impulsos en problemas relacionados con el reconocimiento de patrones y robótica.
Objetivo del taller
Introducción
• El humano realiza tareas cognitivas como aprender, reconocer, memorizar y recordar de forma eficiente.
• El los últimos años, han surgido diferentes modelos inteligentes que permiten emular estas actividades.
• Diferentes modelos neuronales y asociativos.
Aplicaciones Reconocimiento de patrones
Aplicaciones Predicción de series de t iempo
Aplicaciones Robótica
¿Cómo lo hacen las máquinas?
Adquisición de la imagen
Pre- procesamiento
de la región Segmentación Extracción
de rasgos
Reconocimiento
Evolución de las RNA Primera generación
Utiliza las neuronas McCulloch-Pitts como unidad computacional. En torno a ellas existen muchos modelos de redes neuronales como los perceptrones multicapa, redes de Hopfield y máquinas de Boltzmann. El valor de la salida está limitado a ser binario, por ejemplo 1 ó 0.
Características 1. Varias neuronas 2. Diferentes tipos de neuronas 3. Diferentes tipos de conectividad 4. Diferentes estrategias de aprendizaje 5. Limitaciones
Evolución de las RNA Segunda generación
La segunda generación amplió las posibles salidas de las redes neuronales mediante diferentes funciones de activación continuas, como la función sigmoide, en lugar de digital, abriendo así su campo de aplicación. Las redes neuronales con propagación hacia adelante, las de función base radial y las redes de Kohonen, son ejemplos de esta generación.
Incorporan el concepto del tiempo. Pese a que los modelos de neuronas generadoras de impulsos existen desde inicios del siglo XX, la utilización de los modelos para el reconocimiento de patrones es muy reciente.
Neuronas biológicas 1. Actividad neuronal 2. Diferentes modelos 3. Comunicación
Evolución de las RNA Tercera generación
Modelos y aplicación de las RNA 3G
Izhikevich, E. M.(2004) Which Model to Use for Cortical Spiking Neurons? IEEE Trans. on Neural Networks 15(5),1063-1070
Modelando neuronas de tercera generación Izhikev ich, E. M. (2004) W hich Model to Use for Cor t ica l Spik ing Neurons? IEEE Trans. on
Neura l Networks 15(5) ,1063-1070
function [v spikes]=izNeuron1(T,I) C=100; vr=-60; vt=-40; k=0.7; % parameters used for RS a=0.03; b=-2; c=-50; d=100; % neocortical pyramidal neurons vpeak=35; % spike cutoff %T=1000; tau=1; % time span and step (ms) n=round(T/tau); % number of simulation steps v=vr*ones(1,n); u=0*v; % initial values spikes=0; for i=1:n-1 % forward Euler method v(i+1)=v(i)+tau*(k*(v(i)-vr)*(v(i)-vt)-u(i)+I)/C; u(i+1)=u(i)+tau*a*(b*(v(i)-vr)-u(i)); if v(i+1)>=vpeak % a spike is fired! v(i)=vpeak; % padding the spike amplitude v(i+1)=c; % membrane voltage reset u(i+1)=u(i+1)+d; % recovery variable update spikes=spikes+1; end end
¿Cómo lo hacen los humanos? Reconocimiento de patrones
Patrones de la misma clases generan similares frecuencias de disparo
¿Aplicaciones en el reconocimiento de patrones?
1. Los modelos neuronales basados en aspectos neurobiológicos del cerebro humano otorgarían mejores resultados que los modelos neuronales clásicos cuando éstos son aplicados en problemas relacionados con el reconocimiento de patrones.
2. Si se parte del hecho que la actividad neuronal, en ciertas regiones del cerebro, aumenta o disminuye en respuesta a un estímulo que recibe, luego entonces se podría discriminar o reconocer el tipo de estímulo, con base en esa actividad neuronal.
3. Un grupo de patrones de entrada, que pertenecen a la misma clase, van a provocar que estas redes neuronales de tercera generación generen a su salida una secuencia de impulsos con una frecuencia de disparo muy similar.
Hipótesis
1. Seleccionar el modelo 2. Seleccionar un algoritmo de aprendizaje 3. Seleccionar un problema 4. Obtener resultados
¿Cómo aplicarlos en el reconocimiento de patrones?
Aplicación en el reconocimiento de patrones y robótica
Aplicación en el reconocimiento de patrones y robótica Usando un modelo de tercera generación
C=100; vr=-60; vt=-40; k=0.7; % parameters used for RS
a=0.03; b=-2; c=-50; d=100; % neocortical pyramidal neurons
vpeak=35; % spike cutoff
%T=1000;
tau=1; % time span and step (ms)
n=round(T/tau); % number of simulation steps
v=vr*ones(1,n); u=0*v; % initial values
spikes=0;
I=100*sum(Input.*S);
for i=1:n-1 % forward Euler method
v(i+1)=v(i)+tau*(k*(v(i)-vr)*(v(i)-vt)-u(i)+I)/C;
u(i+1)=u(i)+tau*a*(b*(v(i)-vr)-u(i));
if v(i+1)>=vpeak % a spike is fired!
v(i)=vpeak; % padding the spike amplitude
v(i+1)=c; % membrane voltage reset
u(i+1)=u(i+1)+d; % recovery variable update
spikes=spikes+1;
end
end
Aplicación en el reconocimiento de patrones
𝐶𝐶1 =
14.23,1.71,2.43,15.613.2,1.78,2.14,11.2
⋮14.37,1.95,2.5,16.8
𝐶𝐶2 =
12.08,1.33,2.3,23.612.08,1.83,2.32,18.5
⋮12.29,2.83,2.22,18
𝐶𝐶3 =
13.69,3.26,2.54,2013.78,2.76,2.3,22
⋮13.4,4.6,2.86,25
Spiking Neuron Model
25
40
14 16 12
Aplicación en el reconocimiento de patrones
Descripción de la metodología
Neuron
Entrada
Sinapsis
Entrada transformada
Procesamiento neuronal
Salida de la neurona
Función de clasificación
Clase
Vector : {0.5, 1, 9, … , 3}
Corriente de entrada
Frecuencia de disparo Clase
x = vector de entrada w = vector de pesos sinápticos θ = factor de ganancia.
Descripción de la metodología
Neuron
Entrada
Sinapsis
Entrada transformada
Procesamiento neuronal
Salida de la neurona
Función de clasificación
Clase
Vector : {0.5, 1, 9, … , 3}
Corriente de entrada
Frecuencia de disparo Clase
• Patrones y clases deseadas
• Vector de pesos ajustado mediante algoritmos evolutivos.
Descripción de la metodología
Función de clasificación
Clase
Neuron
Sinapsis
Entrada transformada
Procesamiento neuronal
Salida de la neurona
Corriente de entrada
Frecuencia de disparo Clase
Entrada
Vector : {0.5, 1, 9, … , 3}
Individuo -> vector de pesos
Vazquez, Roberto A., Cachon, Aleister (2010) Integrate and fire neurons and their application in pattern recognition. Proceedings of the 7th International Conference on Electrical Engineering, Computing Science and Automatic Control, 424-428 Vazquez, R. A. (2010) Pattern recognition using spiking neurons and firing rates. In: Proc. of Ibero-american conference on Ai. pp. 423-432. Vazquez, Roberto A. (2010) Izhikevich Neuron Model and its Application in Pattern Recognition. Australian Journal of Intelligent Information Processing Systems, 11(1): 35-40
Aprendizaje evolutivo
Aprendizaje evolutivo Optimización por enjambre de partículas
Aplicación en el reconocimiento de patrones y robótica Usando un modelo de tercera generación
%Stop Criteria
VTR = 0; %stop when ofunc < VTR
itermax = 1000; %maximum number of iterations (generations)
%number of population members
NP = 40;
%Boundaries of search space
Lb=-10; Ub=10;
%PSO Parameters
w_start=0.95; w_end=0.4; Vmax=4; Vmin=-4; c1=2; c2=2; Chi=0.75;
%Loading data
load ('iris.mat');
% D number of parameters of the objective function
D=features-1;
%Training the spiking neuron using PSO
[x,f,nf,history,itera] = psoIZ('FitnessneuronIZV2',VTR,D,Lb,Ub,NP,itermax,DataTrain,Classes,w_start,w_end,Vmin,Vmax,c1,c2,Chi, refresh);
%Computing the performance of the methodology
[crTR, spikesTR,classesTR]=feval('SimneuronIZV2',x,1,DataTrain,Classes);
[crTE, spikesTE, classesTE]=feval('SimneuronIZV2',x,1,DataTest,Classes); fprintf(1,'\nPercentage of recognition using training set: %f\n',crTR);
fprintf(1,'Percentage of recognition using testing set: %f\n',crTE);
Avance sobre RNA 3G
1. Impacto del algoritmo evolutivo en problemas de reconocimiento de patrones
• Roberto A. Vazquez and Beatriz A. Garro (2011). Training spiking neurons by means of particle swarm optimization. In Y. Tan et. al (Eds.): ICSI 2011, Lecture Notes in Artificial Intelligence, N 6728, pp. 242–249, Springer.
• Vazquez, R. (2011). Training spiking neural models using cuckoo search algorithm. In: Evolutionary Computation (CEC), 2011 IEEE Congress on, pp.679-686. doi: 10.1109/CEC.2011.5949684.
2. Impacto del modelo neuronal en problemas de reconocimiento de patrones
• Tesis de Maestría – Universidad La Salle (2010 - 2012)
Avance sobre RNA 3G
1.Diseño automático de modelos neuronales de tercera generación
• Josafath Espinosa-Ramos, Roberto A. Vazquez, Nareli Cruz-Cortes (2013) Designing spiking neural models of neurophysiological recordings using gene expression programming. BMC Neurosciences, 14(suppl 1):P74 JCR (IF: 3.0)
• Josafath Espinosa-Ramos, Nareli Cruz-Cortes, Roberto A. Vazquez (2013) Spiking Neuron model approximation using GEP. IEEE Congress on Evolutionary Computation, pp. 3260-3267
• Josafath Espinosa-Ramos, Nareli Cruz-Cortes, Roberto A. Vazquez (2013) Creation of spiking neuron models applied in pattern recognition problems. IJCNN 2013: 1-8
2. Implementación en GPU • Antonio Arista-Jalife, Roberto A. Vazquez (2012) Implementation of configurable
and multipurpose spiking neural networks on GPUs. Proceedings of the International Joint Conference on Neural Networks
Avance sobre RNA 3G
1.Diseño de corriente de entrada • Roberto A. Vazquez, Jose Ambrosio, Guillermo Sandoval (2013). How to
generate the input current for exciting a spiking neural model using the Cuckoo Search Algorithm. Cuckoo Search and Firefly Algorithm: Theory and Applications. Springer
2. Aplicaciones • Vazquez, R. A. and J.-C. Q. Bernard Girau (2011). Visual attention using spiking
neural maps. In: International Joint Conference on Neural Networks. IJCNN 2011, pp.2164-2171.
• Vázquez Espinoza de los Monteros R. A. (2011). A computational approach foro modeling the biological olfactory system during an odor discrimination task using spiking neurons. BMC Neurosciences, no. 12, (supp 1), p. 360.
Resultados obtenidos
• Diferentes problemas de reconocimiento de patrones • 50% para entrenamiento y 50% para pruebas • 30 experimentos
Resultados obtenidos
Resultados obtenidos Clasif icación de cult ivos
Proyecto financiado con Recursos del fondo sectorial CONACYT-INEGI
Resultados obtenidos Reconocimiento de olores
Sistema de adquisición Aplicaciones
• Seguridad(detección de drogas, escuelas, aeropuertos) • Detección de alcohol • Salud (Anomalías en el aliento) • Control de accesos
Comentarios finales • A pesar de ser una línea de investigación muy joven, las redes
neuronales de tercera generación han demostrado ser útiles en problemas relacionados con el reconocimiento de patrones.
• Los resultados obtenidos con una sola neurona, nos hacen pensar que cuando se trabaje con la integración de varias neuronas, permitirían aplicarlas en problemáticas de mayor complejidad.
• Todavía hay mucho que hacer, actualmente estamos trabajando en: 1. Evaluar diferentes estrategias de aprendizaje 2. Evaluar diferentes tipos de conectividad 3. Su implementación en arquitecturas paralelas 4. Aplicaciones relacionadas con el control, la predicción de
series de tiempo y el procesamiento de imágenes
¡GRACIAS! Roberto A. Vázquez [email protected]
https://sites.google.com/site/robertoavazquez/ http://zeus.lci.ulsa.mx/idt/sistemasinteligentes/
Top Related