1 Estudio previo
Revisar los apuntes de teoria sobre el modelo integrate & re
(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 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.
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.
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.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.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.