Sie sind auf Seite 1von 5

Percepci o i cognici o audiovisual

El modelo Integrate & Fire

1 Estudio previo
Revisar los apuntes de teoria sobre el modelo integrate & re

1.1 Trenes de potenciales de acci on (o spikes) y ring rates


Una secuencia de spikes se puede caracteritzar simplemente por el listado de instantes de tiempo ti (i = 1, 2, . . . ) en los cuales acontecieron los potenciales de acci on. Para usar esta descripci on ignoramos la durada de cada spike, que es aproximadamente de 1ms. La funci on de respuesta neuronal se puede escribir por lo tanto como:
n

(t) =
i=1

(t ti )

(1)

donde cada spike se representa con una distribuci on delta de Dirac . Es importante saber que la distribuci on delta de Dirac tiene la siguiente propiedad:
ti +

(t ti )dt =
ti

(t ti )dt = 1

( > 0)

(2)

Por lo tanto el n umero de spikes en un tiempo T ser a: r= ya que el n umero de spikes es simplemente El ring rate se dene como: r(t) = 1 n = T T
T

( ) d.
0

(3)

( )d = n. 1 t
t+t

( ) d.
1

(4)

donde ( ) representa un promedio sobre muchas realizaciones.

1.2 El modelo Integrate & Fire


El modelo de una neurona Integrate & re es C dV = gL (V VL ) + IT , dt (5)

donde IT representa el input que recibe la neurona. Este input se compone de IT = Isyn + I0 , donde
n

Isyn = kC
i=1

(t ti )

representa las corrientes sinapticas debidas al actividad de otras neuronas de la red donde se encuentra la neurona, y I0 es una corriente externa constante. La capacitancia C la consideraremos de 1F/cm2 y la conductancia de leak es gL que tiene unidad de mS/cm2 . Finalmente k es una constante que mide la intensidad o fuerza de la sinapsi.

El potencial de membrana en equilibrio (en absencia de corrientes externas) lo jaremos en VL = 60mV. Ademas, supondremos que cada vez que el potencial de la neurona llega al valor de umbr al = 40mV, se produce un potencial de acci on (o spike) y el valor de V vuelve instantaneamente al su valor de equilibrio: V (t+ 0 ) = VL si V (t0 ) = Ademas, en algunos casos se puede considerar tambi en la existencia de un per odo refractario, que inmediatamente despu es de un spike mantiene el potencial de membrana en su valor de equilibrio un cierto tiempo r , que normalmente es de unos pocos milisegundos.

1.3 El m etodo de Euler para solucionar EDOs


Para integrar numericamente las equaciones diferenciales (5) utilizaremos el m etodo de Euler: V (t + t) = V (t) + t(gL (V (t) VL )) + IT (6)

donde t es el paso de tiempo. Cuando V (t + t) > , vamos a asumir que se produce un spike, y que por lo tanto el potencial de membrana vuelve a seu valor de equilibrio V = VL . En el cas que exista un per odo refractario, el potencial se mantendr a en su valor de equilibrio un tiempo r .

2 Ejercicios
ENTREGABLES En la primera sesi on hay que presentarse habiendo leido y entendido bi en el gui on. Al nal de la primera sesi on se entregar a el algoritmo de implementaci on del modelo I&F. El esbozo de algoritmo se devuelver a corregido en la segunda sesi on y se valorar a el proceso de mejora del mismo entre las dos sesiones. Todos los ejercicos se desarrollar an en el informe que se entragar a despu es de la segunda sesi on de pr acticas, sin embargo los ejercicios del apartado 2.1 se tendr an que resolver antes de empezar la segunda sesi on para poder aprovechar la misma (de no ser as ser a dicil superar el bloque de contenidos sobre el modelo I&F con exito). En la segunda sesi on se controlar a el estado de avance del trabajo que ser a valorado en la nota tanto positiva como negativamente.

2.1 Sesi on 1: soluci on anal tica para corriente constante


La soluci on de la 5 cuando la corriente de input es constante es anal tica. En cambio para inputs que var an en el tiempo es necesario integrar numericamente (simular) la equaci on. La existencia de casos para los cuales hay soluci on anal tica es una gran ventaja para testear el programa que hace la integraci on num erica, ya que conociendo la soluci on podemos comprobar que el resultado de la simulaci on sea correcto. 1. Ve : Describe con palabras que es el potencial de equilibrio. De que depende que la neurona emita o no spikes? Que representa la cantidad ? 2. I0 > 0: Estudia la respuesta de la neurona (V vs tiempo) a una corriente I0 constante: que casos tenemos? de que dependen? Comprueba que reescribiendo la equaci on (5) en funci on de la Ve se queda Ve V dV = . dt Cuanto vale Ve ? Considerando que la ecuaci on modeliza una neurona interpreta la ecuaci on explicando cual son las variables que afectan el resultado.

3. Ic : Cual es el valor cr tico Ic de la corriente I0 que hacen que la neurona empieze a producir potencials de acci on? 4. Encuentra el tiempo que tarda la neurona en hacer un potencial de acci on con una corriente I0 Ic si r = 0. I si r = 0? 5. Encuentra el ring rate de la neurona si I0 > Ic en el caso r = 0. Encuentra el tiempo en que la neurona emite 5 spikes. Estos tiempos te har an falta para comprobar que tu programa para integrar la ecuaci on diferencial funcione correctamente, as que tendr as que apuntarte el valor de todos los parametros que usaste para calcular los tiempos para poder luego usar los mismos en la simulaci on. 6. Representa gr acamente el ring rate de la neurona en funci on de la corriente injectada para diversos valores de r . Comenta el resultado.

2.2 Sesi on 2: implementaci on de la soluci on num erica


En esta sesi on estudiaremos el comportamiento del modelo Integrate & Fire numericamente utilizando el algoritmo de Euler. Para comprobar que la implementaci on sea correcta tendr as que comparar los resultados num ericos con los que obtuviste analiticamente en la sessi on anterior. Para estar seguro que el valor del paso de integraci on del m etodo de Euler sea apropiado puedes dibujar una gr aca con el voltaje de la neurona y comprobar que no pase nada raro. Puedes simplemente comparar lo que ves en la gr aca con los conocimientos te oricos o puedes compararla calculando la soluci on anal tica. De cualquier forma esta gr aca no es necesario introducirla en el informe: solo sirve para comprobar que el paso de integraci on sea correcto. 2.2.1 Testing:Input constante 1. Corre el programa con los mismos par ametros que usaste para calcular analiticamente los tiempos de los spikes con una corriente constante I0 Ic . Compara los resultados. Puedes comparar los resultados cualitativamente describiendo diferencias y similitudes o usando alguna medida cuantitativa (la elecci on de la medida es libre). Un raster plot es una gr aca que muestra los spikes representados con rayas verticales de igual longitud sobre el eje del tiempo. Genera un raster plot de la actividad de la neurona (lo usar as despues para comparar los efectos del input constante con los de un tren de spikes de modo que deber a haber unos 15 spikes en la graca: elige bien el input!). 2. Con r = 0 simula la actividad de la neurona durante un segundo y calcula el ring rate promedio. Repite el mismo proceso aumentando el valor del input. Simula tantos puntos en el espacio del input cuantos sean necesarios para describir adecuadamente la curva de respuesta neuronal y representala en una graca. Repite el mismo proceso para otro valor del tiempo refractario. Comenta los resultados. Compara los resultados de la integraci on num erica con los de la soluci on anal tica (ej.6 de la Sesi on 1) poniendo ambos en la misma gr aca. 2.2.2 Tren de spikes constante 1. Ahora que has comprobado que el programa da los resultados esperados, simula la actividad de la neurona con un tren de spikes en input. Utiliza un tiempo refractario r = 10ms. Haz una graca que muestre el ring rate de la neurona en funci on de la frequencia de spikes en input. Encuentra la frequencia de input que produce en mismo ring rate que obtuviste en el ejecicio 1 de esta session y genera un raster plot.

2.2.3 Tren de spikes no constante 1. Simula la actividad de la neurona con un tren de spikes no constante en input (puedes implementar un generador de n umeros aleatorios con distribuci on de Poisson como explicado en la secci on 3) y un tiempo refractario r = 10ms. Haz una graca que muestre el ring rate de la neurona en funci on de la frequencia de spikes en input. Compara esta graca con la que obtuviste en el apartado anterior y la teorica. Hay alguna diferencia? Encuentra la frequencia de input que produce el mismo ring rate que obtuviste en el ejecicio 1 de esta session y genera un raster plot. Compon una u nica gura con los tres raster plots (este, el del ej. 1 del 2.2.2 y el del ej.6 del 2.1) y comenta diferencias y similitudes. 2.2.4 Red de neuronas (opcional) 1. Simula 2 neuronas y con ectalas entre si de manera que el output de una neurona sea el input de la otra y de si misma (sinapsi recurrente). Dene una matriz de conectividad W (donde cada elemento Wjk sea la fuerza de la sinapsi entre el neuron presinaptico k y el neuron postsinaptico j ). Ser a una matriz 2 2. Prueba varias conguraciones de las conexiones y comenta las diferencias. Para hacer esto todas las neuronas tienen que recibir, ademas del output de la otras neuronas, un input externo igual para todas, que supondremos llegar desde otras areas del cerebro, que ser a un tren de spikes con frequencia 2.4KHz . Puedes encontrar una matriz de conectividad tal que, con el mismo input externo, una neurona tenga un ring rate alto y la otra dispare pocos spikes?

3 Consejos para la implementaci on


3.1 Generador de procesos de poisson
Un proceso de poisson es un proceso estocastico que cuenta el numero de eventos que ocurren en un intervalo de tiempo. Este proceso es interesante porqu e los spikes emitidos por una neurona se pueden describir en primera aproximaci on como un proceso poissoneano. As cuando implementamos el modelo de una neurona y queremos que su input imite la actividad de otras neuronas podemos usar como input un tren de spikes generado por un proceso de poisson. Las caracteristicas fundamentales de los procesos de poisson son: la distribuci on de los tiempos entre eventos sucesivos es exponencial con parametro , la distribuci on de los tiempos en que ocurren los eventos es uniforme, la distribuci on del n umero de eventos en un intervalo de tiempo sigue una distribuci on de poisson con parametro . El parametro dene la frequencia de eventos que en nuestro caso es el ring rate de input a la neurona. Por lo tanto para generar eventos con distribuci on de poisson es suciente implementar un algoritmo de este tipo: float rate // firing rate [Hz] del proceso de poisson int step_size // tama~ no del paso de integraci on [ms] int max_steps // n umero de pasos float p_spike = 0.001 * rate * step_size; // probabilidad de un spike en cada paso for step=1:max_steps rnd_num = rand(); // numero aleatorio bool poisson_spike = rnd_num < p_spike end donde rand es una funcion que devuelve un n umero aleatorio en el intervalo [0 1] con distribucion uniforme. El booleano poisson_spike en cada paso valdr a 1 si hubo un spike o 0 si no lo hubo.

3.2 Debugging
Una neurona puede estar sometida a dos tipos de inputs: una corriente electrica y un tren de spikes. Estos dos se tratan de manera diferente en la integraci on num erica: mientras el input de una corriente externa se multiplica por el paso de integraci on: V (t + t) = V (t) + t(gL (V (t) VL ) + I0 ), el input debido a un tren de spike, o sea la suma de los spikes que le llegan a una neurona en un paso de integraci on, no se multiplica por el paso de integraci on: V (t + t) = V (t) + t(gL (V (t) VL )) + Isyn , esto se debe a que el input sinaptico es la suma de lo spikes emitidos por las neuronas presinapticas y como hemos visto los spikes se pueden describir como distribuciones delta de Dirac. Entonces N Isyn (ti ) = s=1 (t ti )dt y, por la 2, esto equivale a sumar unos por todos los spikes presinapticos. Cuando se representa alguna medida en el tiempo el eje x tiene que representar tiempo y no pasos de integraci on. Para simular una neurona hay que actualizar el potencial de membrana en cada paso de tiempo con lo cual se necesita hacer varios calculos en bucle. Hay dos maneras equivalentes de hacer for loops: por pasos y por tiempo. Si se hace por pasos hay que calcular el numero total de pasos en funci on del tiempo total y del tama no del paso y al nal hay que convertir qualquier medida en unidades de tiempo (ej. crear un vector de tiempo para plotear). Si se hace por tiempo en cambio hay que usar un contador entero adicional para poder indexar los vectores en cada paso. La elecci on del metodo es libre pero no hay que hacer confusi on entre los dos. Errores muy comunes y diciles de detectar son los que derivan de olvidarse de actualizar los contadores o actualizarlos en el lugar equivocado del ujo de operaciones. Se trata de errores que normalmente no generan ning un error en ejecuci on sino que dan resultados inesperados (e incorrectos). Por esta razon hay que tener mucho cuidado y poder comparar el output del programa con resultados ciertos (como en el caso de los resultados analiticos que emplearemos en la secci on de testing ) es una gran ventaja. Cuando se hacen cambios en el programa hay que introducirlos poco a poco comprobando que los resultados sean los esperados. Cuando se trata de mejorar el programa para reducir el tiempo de ejecuci on hay que controlar si cada cambio est a bajando o subiendo el tiempo. Las funciones de matlab tic y toc son muy u tiles para esta tarea. Para mejorar los script en terminos de recursos y tiempo utilizados existen programas, que se llaman prolers, que analizan la ejecuci on del script y ayudan a encontrar los cuellos de botella de la ejecuci on. Matlab tiene su proprio proler que se puede activar desde el menu Desktop.

Das könnte Ihnen auch gefallen