Download Modelos neuronales de tercera generación: aplicación en el

Document related concepts

Red neuronal de impulsos wikipedia , lookup

Red neuronal artificial wikipedia , lookup

ART (RNA) wikipedia , lookup

Neural Designer wikipedia , lookup

Redes neuronales probabilísticas wikipedia , lookup

Transcript
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.
2.
3.
4.
5.
Grupo de Investigación
Introducción
Metodología
Resultados obtenidos
Conclusiones
Grupo de Investigación+Desarrollo+innovación
Sistemas inteligentes
 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
Objetivo del taller
Aplicar una neurona generadora de
impulsos en problemas relacionados con el
reconocimiento de patrones y robótica.
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 tiempo
Aplicaciones
Robótica
¿Cómo lo hacen las máquinas?
Preprocesamiento
de la región
Adquisición
de la imagen
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.
2.
3.
4.
5.
Varias neuronas
Diferentes tipos de neuronas
Diferentes tipos de conectividad
Diferentes estrategias de aprendizaje
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.
Evolución de las RNA
Tercera 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
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
Izhik ev ich, E. M.(2004) W hich Model to Use for Cortical Spik ing Neurons? IEEE Trans. on
Neural 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
¿Aplicaciones en el reconocimiento de
patrones?
Patrones de la misma clases generan similares frecuencias de disparo
Hipótesis
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.
¿Cómo aplicarlos en el reconocimiento de
patrones?
1.
2.
3.
4.
Seleccionar el modelo
Seleccionar un algoritmo de aprendizaje
Seleccionar un problema
Obtener resultados
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
14.23,1.71,2.43,15.6
13.2,1.78,2.14,11.2
𝐶𝐶1 =
⋮
14.37,1.95,2.5,16.8
12.08,1.33,2.3,23.6
12.08,1.83,2.32,18.5
𝐶𝐶2 =
⋮
12.29,2.83,2.22,18
13.69,3.26,2.54,20
13.78,2.76,2.3,22
𝐶𝐶3 =
⋮
13.4,4.6,2.86,25
12
16
14
Spiking
Neuron
Model
25
40
Aplicación en el reconocimiento de patrones
Descripción de la metodología
Entrada
transformada
Entrada
Sinapsis
Salida de la
neurona
Procesamiento neuronal
Clase
Función de
clasificación
Neuron
Vector :
{0.5, 1, 9, … , 3}
Corriente de
entrada
x = vector de entrada
w = vector de pesos sinápticos
θ =Frecuencia
factor de
de ganancia.
disparo
Clase
Descripción de la metodología
Entrada
transformada
Entrada
Sinapsis
Salida de la
neurona
Procesamiento
neuronal
Clase
Función de
clasificación
Neuron
Vector :
{0.5, 1, 9, … , 3}
Corriente de
entrada
Frecuencia de
disparo
Clase
Descripción de la metodología
• Patrones y clases
deseadas
Entrada
transformada
Entrada
Sinapsis
Procesamiento
neuronal
Neuron
Vector :
{0.5, 1, 9, … , 3}
Salida de la
neurona
Corriente de
entrada
Clase
• Vector de pesos ajustado
mediante algoritmos
Función de
evolutivos.
clasificación
Individuo -> vector de pesos
Frecuencia de
disparo
Clase
Aprendizaje evolutivo
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 Iberoamerican 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
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.679686. 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
Clasificación de cultivos
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/