1) El documento analiza el comportamiento resonador y de sincronización de neuronas utilizando el modelo de Izhikevich. 2) Se simulan distintos modos de disparo neuronal (resonador, integrador) y comportamientos de sincronización en redes neuronales. 3) Se estudia el efecto de la conectividad y los parámetros del modelo en la sincronización.
Guia Basica para bachillerato de Circuitos Basicos
Trabajo Neurociencia Sincronizacion y Modelado Neuronal - MLM
1. Respuesta de neuronas resonantes utilizando el modelo de Izhikevich y sincronización en redes neuronales Manuel López Martín 27-01-2011 Trabajo Fin de Curso
2. Simple Model of Spiking Neurons Eugene M. Izhikevich Resonance and selective communication via bursts in neurons having subthreshold oscillations Eugene M. Izhikevich Which Model to Use for Cortical Spiking Neurons? Eugene M. Izhikevich Referencias
3.
4. function [t,v,u,I] = IZEuler2(Tduracion,Iin,periodo,duraPulse,delay,NPulse) %Valores de las constantes global dt dt= 0.1; NT = ceil(Tduracion/dt); % Numero de ticks de tiempo t = (1:NT)*dt; t=t'; v = zeros(NT,1); u = zeros(NT,1); I = zeros(NT,1); % Inicializa los parámetros del modelo de Izhikevich a=0.1; b=0.26; c=-65; d=2; v(1)=-64.4139; u(1)=-16.1035; % Genera los impulsos de intensidad que excitan a la neurona dPul=ceil(duraPulse/dt); %pasa la duracion de cada pulsos a ticks dPer=ceil(periodo/dt); % pasa el periodo de repeticion de los pulsos a ticks dDel=ceil(delay/dt); % pasa el retraso entre pulsos a ticks for j=0:(NPulse-1) % genera tantos pulsos como NPulse for i=1:dPul; I((i+j*dDel):dPer:NT)=Iin; end ; end 1.0 Programa
5. %Repite el procedimeinto de Euler sobre las variables en bloque for i=1:NT-1 v(i+1)=v(i)+dt*(0.04*v(i)^2+5*v(i)+140-u(i)+I(i)); u(i+1)=u(i)+dt*a*(b*v(i)-u(i)); if (v(i+1)>30) v(i+1)=c; u(i+1)=u(i+1)+d; end ; end ; % sacar las gráficas subplot(3,1,1); plot(t,v); xlabel( 'tiempo (msec)' ); ylabel( 'V(t)' ); subplot(3,1,2); plot(t,u); xlabel( 'tiempo (msec)' ); ylabel( 'U(t)' ); subplot(3,1,3); plot(t,I); xlabel( 'tiempo (msec)' ); ylabel( 'I(t)' ); end 1.0 Programa
6.
7. - No hay disparo cuando excitamos la neurona con 1 pulso de amplitud 0.5. [t,v,u,I]=IZEuler2(1000,0.50,500,5,40,1); Tiempo de simulación Amplitud I inyectada Período de ráfagas de Corriente Anchura del pulso de corriente Separación entre pulsos Número de pulsos en la ráfaga de impulsos de corriente 1.0 Respuesta - Resonador
8. - La neurona responde cuando la excitamos con 2 pulsos de amplitud 0.5 separados 40ms y con una anchura de 5ms cada pulso [t,v,u,I]=IZEuler2(1000,0.50,500,5,40,2); 1.0 Respuesta - Resonador
9. - La neurona también responde cuando la excitamos con 3 pulsos de amplitud 0.5 separados 40ms y con una anchura de 5ms cada pulso [t,v,u,I]=IZEuler2(1000,0.50,500,5,40,3); 1.0 Respuesta - Resonador
10. - En las siguientes transparencia vemos que la neurona no responde, en cambio, a ráfagas de 2, 3,.. pulsos de intensidad con la misma amplitud cuando su separación (frecuencia) es menor. Si la neurona tuviera una respuesta integradora, sería lo contrario. Pero al tener una respuesta resonadora, sólo resuena a su frecuencia de oscilación natural (en este caso alrededor de 1/40ms). La neurona resuena con períodos entre 35 y 54 ms. [t,v,u,I]=IZEuler2(1000,0.50,500,5,30,2); Impulsos separados 30ms 1.0 Respuesta - Resonador No dispara
12. Si alteramos el valor de a ligeramente. La neurona ya no resuena a 1/40ms a=0.12; b=0.26; c=-65; d=2; v(1)=-64.4139; u(1)=-16.1035; 2 Impulsos separados por 40ms 3 Impulsos separados por 40ms 1.0 Respuesta - Resonador
13. Si alteramos el valor de a ligeramente. La neurona ya no resuena a 1/40ms a=0.11; b=0.26; c=-65; d=2; v(1)=-64.4139; u(1)=-16.1035; 2 Impulsos separados por 50ms 3 Impulsos separados por 50ms 1.0 Respuesta - Resonador
14. Valores originales Con estos valores la neurona si dispara con los impulsos de excitación anteriores a=0.1; b=0.26; c=-65; d=2; v(1)=-64.4139; u(1)=-16.1035; 2 Impulsos separados por 50ms 3 Impulsos separados por 50ms 1.0 Respuesta - Resonador
15.
16. Un solo impulso de corriente No dispara 2 Impulsos separados 5ms Si dispara 2 Impulsos separados 7ms No dispara 2 Impulsos separados 4ms Si dispara 1.0 Respuesta - Integrador
17. 3 Impulsos separados 7 ms Sigue sin disparar 4 Impulsos separados 7ms Si dispara El modo integrador es sensible a la separación entre pulsos y al número de pulsos cuanto menor es la separación o mayor es el número de pulsos , mayor es la probabilidad de disparo 1.0 Respuesta - Integrador
18. Todos los modos de disparo neuronales simulados por el modelo de Izhikevich http:// www.izhikevich.org / publications / whichmod.htm Incluye el programa para generar la gráfica 2.0 Modos de disparo
19. http:// www.izhikevich.org / publications / spikes.htm Incluye el programa interactivo para simular los distintos modos de disparo con el modelo de Izhikevich 2.0 Modos de disparo
20.
21.
22.
23.
24.
25. 1000 Neuronas. Todas modo Aleatorio. Conexión completa con pesos aleatorios. Corrientes inyectadas aleatorias. Comienzo todas en estado de reposo (reposo -65mV) Comienzan a oscilar por el ruido talámico simulado >> PulseCoupledMany 3.0 Pulsed-Coupled Network - Conexión completa % Neuronas en modos aleatorios
a=[0.02* ones(Ne ,1); 0.02+0.08* ri ];
b=[0.2* ones(Ne ,1); 0.25-0.05* ri ];
c=[-65+15*re.^2; -65* ones(Ni ,1)];
d=[8-6*re.^2; 2* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); % Neuronas en modos aleatorios
a=[0.02* ones(Ne ,1); 0.02+0.08* ri ];
b=[0.2* ones(Ne ,1); 0.25-0.05* ri ];
c=[-65+15*re.^2; -65* ones(Ni ,1)];
d=[8-6*re.^2; 2* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I);
26. 1000 Neuronas. Todas modo Resonador. Conexión completa con pesos aleatorios.. Corrientes inyectadas aleatorias. Comienzo todas en estado de reposo (reposo -65 mv). >> PulseCoupledMany 3.0 Pulsed-Coupled Network - Conexión completa % Todas las neuronas en modo resonador
a=[0.1* ones(Ne ,1); 0.1* ones(Ni ,1)];
b=[0.25* ones(Ne ,1); 0.25* ones(Ni ,1)];
c=[-65* ones(Ne ,1); -65* ones(Ni ,1)];
d=[2* ones(Ne ,1); 2* ones(Ni ,1)];
S=[0.52* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); MEJORA LA SINCRONIZACION
27. 1000 Neuronas. Todas modo Integrador. Conexión completa con pesos aleatorios.. Corrientes inyectadas aleatorias. Comienzo todas en estado de reposo (reposo -65mv). >> PulseCoupledManyIntegrators 3.0 Pulsed-Coupled Network - Conexión completa %% Todas las neuronas en modo integrador
a=[0.02* ones(Ne ,1); 0.02* ones(Ni ,1)];
b=[-0.1* ones(Ne ,1); -0.1* ones(Ni ,1)];
c=[-55* ones(Ne ,1); -55* ones(Ni ,1)];
d=[6* ones(Ne ,1); 6* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+4.1*v+108-u+I); MEJORA LA SINCRONIZACION
28. 1000 Neuronas. Todas modo Aleatorio. Conexión completa con pesos aleatorios.. Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIniAlea 3.0 Pulsed-Coupled Network - Conexión completa % Neuronas en modos aleatorios
a=[0.02* ones(Ne ,1); 0.02+0.08* ri ];
b=[0.2* ones(Ne ,1); 0.25-0.05* ri ];
c=[-65+15*re.^2; -65* ones(Ni ,1)];
d=[8-6*re.^2; 2* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); !!!
29. 1000 Neuronas. Todas modo Resonador. Conexión completa con pesos aleatorios.. Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIniAlea 3.0 Pulsed-Coupled Network - Conexión completa % Todas las neuronas en modo resonador
a=[0.1* ones(Ne ,1); 0.1* ones(Ni ,1)];
b=[0.25* ones(Ne ,1); 0.25* ones(Ni ,1)];
c=[-65* ones(Ne ,1); -65* ones(Ni ,1)];
d=[2* ones(Ne ,1); 2* ones(Ni ,1)];
S=[0.52* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); !!!
30. 1000 Neuronas. Todas modo Resonador. Conexión completa con pesos aleatorios.. Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIniAlea 3.0 Pulsed-Coupled Network - Conexión completa % Todas las neuronas en modo resonador
a=[0.1* ones(Ne ,1); 0.1* ones(Ni ,1)];
b=[0.25* ones(Ne ,1); 0.25* ones(Ni ,1)];
c=[-65* ones(Ne ,1); -65* ones(Ni ,1)];
d=[2* ones(Ne ,1); 2* ones(Ni ,1)];
S=[0.52* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); ZOOM
31. 1000 Neuronas. Todas modo Integrador. Conexión completa con pesos aleatorios.. Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIntegratorsIniAlea 3.0 Pulsed-Coupled Network - Conexión completa %% Todas las neuronas en modo integrador
a=[0.02* ones(Ne ,1); 0.02* ones(Ni ,1)];
b=[-0.1* ones(Ne ,1); -0.1* ones(Ni ,1)];
c=[-55* ones(Ne ,1); -55* ones(Ni ,1)];
d=[6* ones(Ne ,1); 6* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+4.1*v+108-u+I); !!!
32.
33. L y C v.s. P 1000 NODOS. Grafo SmallWorld. P C(P)/C0 L(P)/L0 3.0 Pulsed-Coupled Network – Small World
34.
35. 1000 Neuronas. Todas modo Resonador. Conexiones SmallWorld (Forward Directed) P=0, K=10. Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIniAleaMatrizExterna 3.0 Pulsed-Coupled Network – Small World v=v+0.5*(0.04*v.^2+5*v+140-u+I); % Todas las neuronas en modo resonador
a=[0.1* ones(Ne ,1); 0.1* ones(Ni ,1)];
b=[0.25* ones(Ne ,1); 0.25* ones(Ni ,1)];
c=[-65* ones(Ne ,1); -65* ones(Ni ,1)];
d=[2* ones(Ne ,1); 2* ones(Ni ,1)];
S=[0.52* MExterna (:,(1: Ne )), -1* MExterna (:,( Ne +1: Ne +Ni))]; Red en anillo regular no sincroniza para K bajo !!!! Neuronas inhibitorias disparan menos
36. 1000 Neuronas. Todas modos Aleatorios. Conexiones SmallWorld (Forward Directed) P=0, K=10. Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIniAleaMatrizExterna 3.0 Pulsed-Coupled Network – Small World v=v+0.5*(0.04*v.^2+5*v+140-u+I); %% Neuronas en modos aleatorios
a=[0.02* ones(Ne ,1); 0.02+0.08* ri ];
b=[0.2* ones(Ne ,1); 0.25-0.05* ri ];
c=[-65+15*re.^2; -65* ones(Ni ,1)];
d=[8-6*re.^2; 2* ones(Ni ,1)];
S=[0.5* MExterna (:,(1: Ne )), -1* MExterna (:,( Ne +1: Ne +Ni))]; Red en anillo regular no sincroniza para K bajo!!! Neuronas inhibitorias disparan menos
37. 1000 Neuronas. Todas modo Integrador. Conexiones SmallWorld (Forward Directed) P=0, K=10. Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) 3.0 Pulsed-Coupled Network – Small World v=v+0.5*(0.04*v.^2+5*v+140-u+I); %% Todas las neuronas en modo integrador
a=[0.02* ones(Ne ,1); 0.02* ones(Ni ,1)];
b=[-0.1* ones(Ne ,1); -0.1* ones(Ni ,1)];
c=[-55* ones(Ne ,1); -55* ones(Ni ,1)];
d=[6* ones(Ne ,1); 6* ones(Ni ,1)];
S=[0.5* MExterna (:,(1: Ne )), -1* MExterna (:,( Ne +1: Ne +Ni))]; >> PulseCoupledManyIntegratorsIniAleaMatrizExterna Red en anillo regular no sincroniza para K bajo !!! Neuronas inhibitorias no disparan
38. 1000 Neuronas. Todas modo Integrador. Conexiones SmallWorld (Forward Directed) Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIntegratorsIniAleaMatrizExterna 3.0 Pulsed-Coupled Network – Small World v=v+0.5*(0.04*v.^2+5*v+140-u+I); %% Todas las neuronas en modo integrador
a=[0.02* ones(Ne ,1); 0.02* ones(Ni ,1)];
b=[-0.1* ones(Ne ,1); -0.1* ones(Ni ,1)];
c=[-55* ones(Ne ,1); -55* ones(Ni ,1)];
d=[6* ones(Ne ,1); 6* ones(Ni ,1)];
S=[0.5* MExterna (:,(1: Ne )), -1* MExterna (:,( Ne +1: Ne +Ni))]; P=0 , K=10 P=0 , K=300 P=0 , K=500 P=0,001 , K=10 P=0,001 , K=300 P=0,001 , K=500 P=0 , K=200 P=0,001 , K=200 Anillo regular Small World comienzo !!! Casi un clique
39. 1000 Neuronas. Todas modo Integrador. Conexiones SmallWorld (Forward Directed) Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIntegratorsIniAleaMatrizExterna 3.0 Pulsed-Coupled Network – Small World v=v+0.5*(0.04*v.^2+5*v+140-u+I); %% Todas las neuronas en modo integrador
a=[0.02* ones(Ne ,1); 0.02* ones(Ni ,1)];
b=[-0.1* ones(Ne ,1); -0.1* ones(Ni ,1)];
c=[-55* ones(Ne ,1); -55* ones(Ni ,1)];
d=[6* ones(Ne ,1); 6* ones(Ni ,1)];
S=[0.5* MExterna (:,(1: Ne )), -1* MExterna (:,( Ne +1: Ne +Ni))]; P=0,01 , K=10 P=0,01 , K=300 P=0,01 , K=500 P=0,1 , K=10 P=0,1 , K=300 P=0,1 , K=500 P=0,01 , K=200 P=0,1 , K=200 Small World Small World
40. 1000 Neuronas. Todas modo Integrador. Conexiones SmallWorld (Forward Directed) Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIntegratorsIniAleaMatrizExterna 3.0 Pulsed-Coupled Network – Small World v=v+0.5*(0.04*v.^2+5*v+140-u+I); %% Todas las neuronas en modo integrador
a=[0.02* ones(Ne ,1); 0.02* ones(Ni ,1)];
b=[-0.1* ones(Ne ,1); -0.1* ones(Ni ,1)];
c=[-55* ones(Ne ,1); -55* ones(Ni ,1)];
d=[6* ones(Ne ,1); 6* ones(Ni ,1)];
S=[0.5* MExterna (:,(1: Ne )), -1* MExterna (:,( Ne +1: Ne +Ni))]; P=0,5 , K=10 P=0,5 , K=300 P=0,5 , K=500 P=1 , K=10 P=1 , K=300 P=1 , K=500 P=1 , K=100 P=1 , K=200 P=0,5 , K=200 Red aleatoria Small World K=300 sincronizan
41. 1000 Neuronas . Todas modos Aleatorios. Conexiones SmallWorld (Forward Directed) Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) >> PulseCoupledManyIniAleaMatrizExterna 3.0 Pulsed-Coupled Network – Small World P=0 , K=10 P=0 , K=300 P=0 , K=500 P=0,001 , K=10 P=0,001 , K=300 P=0,001 , K=500 P=0 , K=200 P=0,001 , K=200 % Neuronas en modos aleatorios
a=[0.02* ones(Ne ,1); 0.02+0.08* ri ];
b=[0.2* ones(Ne ,1); 0.25-0.05* ri ];
c=[-65+15*re.^2; -65* ones(Ni ,1)];
d=[8-6*re.^2; 2* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); LA ALEATORIEDAD DE LOS MODOS DE DISPARO FAVORECE LA SNCRONIZACION
42. 1000 Neuronas. Todas modos Aleatorios. Conexiones SmallWorld (Forward Directed) Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) 3.0 Pulsed-Coupled Network – Small World P=0,01 , K=10 P=0,01 , K=300 P=0,01 , K=500 P=0,1 , K=10 P=0,1 , K=300 P=0,1 , K=500 P=0,01 , K=200 P=0,1 , K=200 % Neuronas en modos aleatorios
a=[0.02* ones(Ne ,1); 0.02+0.08* ri ];
b=[0.2* ones(Ne ,1); 0.25-0.05* ri ];
c=[-65+15*re.^2; -65* ones(Ni ,1)];
d=[8-6*re.^2; 2* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); >> PulseCoupledManyIniAleaMatrizExterna LA ALEATORIEDAD DE LOS MODOS DE DISPARO FAVORECE LA SNCRONIZACION
43. 1000 Neuronas. Todas modos Aleatorios. Conexiones SmallWorld (Forward Directed) Ring Lattice Corrientes inyectadas aleatorias. Comienzo todas en estado aleatorio (-65 a 30 mV) 3.0 Pulsed-Coupled Network – Small World P=0,5 , K=10 P=0,5 , K=300 P=0,5 , K=500 P=1 , K=10 P=1 , K=300 P=1 , K=500 P=1 , K=100 P=1 , K=200 P=0,5 , K=200 % Neuronas en modos aleatorios
a=[0.02* ones(Ne ,1); 0.02+0.08* ri ];
b=[0.2* ones(Ne ,1); 0.25-0.05* ri ];
c=[-65+15*re.^2; -65* ones(Ni ,1)];
d=[8-6*re.^2; 2* ones(Ni ,1)];
S=[0.5* rand(Ne + Ni,Ne ), - rand(Ne + Ni,Ni )]; v=v+0.5*(0.04*v.^2+5*v+140-u+I); >> PulseCoupledManyIniAleaMatrizExterna LA ALEATORIEDAD DE LOS MODOS DE DISPARO FAVORECE LA SNCRONIZACION