Una ciencia de datos neuronales: cómo y por qué

La guía aproximada para hacer ciencia de datos en neuronas

Un cerebro haciendo ciencia de datos. Crédito: Cerebro por Matt Wasser del Noun Project

Silenciosamente, sigilosamente, un nuevo tipo de neurocientífico está tomando forma. Desde dentro de la miríada de filas de teóricos han surgido equipos de neurocientíficos que hacen ciencia con datos sobre la actividad neuronal, sobre los dispersos balbuceos de cientos de neuronas. No es la creación de métodos para analizar datos, aunque todos lo hacen también. No la recopilación de esos datos, ya que eso requiere otro conjunto de habilidades formidable. Pero los neurocientíficos utilizan toda la gama de técnicas computacionales modernas sobre esos datos para responder preguntas científicas sobre el cerebro. Ha surgido una ciencia de datos neuronales.

Resulta que soy uno de ellos, este clan de científicos de datos neuronales. Accidentalmente. Por lo que puedo decir, así es como nacen todos los campos científicos: accidentalmente. Los investigadores siguen sus narices, comienzan a hacer cosas nuevas y de repente descubren que hay una pequeña multitud de ellos en la cocina en las fiestas (porque es donde están las bebidas, en la nevera: los científicos son inteligentes). Así que aquí hay un pequeño manifiesto para la ciencia de datos neuronales: por qué está emergiendo y cómo podríamos comenzar a hacerlo.

El por qué es igual a todas las áreas de la ciencia que han escupido una ciencia de datos: la cantidad de datos se está yendo de las manos. Para la ciencia de registrar muchas neuronas, este diluvio de datos tiene una lógica científica, más o menos. Los cerebros funcionan al pasar mensajes entre las neuronas. La mayoría de esos mensajes toman la forma de pequeños pulsos de electricidad: picos, los llamamos. Entonces, para muchos, parece lógico que si queremos entender cómo funcionan los cerebros (y cuándo no funcionan) necesitamos capturar todos los mensajes que se transmiten entre todas las neuronas. Y eso significa registrar tantos picos de tantas neuronas como sea posible.

Un cerebro de pez cebra bebé tiene aproximadamente 130,000 neuronas, y al menos 1 millón de conexiones entre ellas; Un abejorro tiene aproximadamente un millón de neuronas. Puedes ver cómo esto se saldría de control muy rápidamente. En este momento, registramos entre diez y algunos cientos de neuronas al mismo tiempo con el kit estándar. En los límites hay personas que registran unos pocos miles, e incluso unos pocos obtienen decenas de miles (aunque estas grabaciones capturan la actividad de las neuronas a tasas mucho más lentas de lo que las neuronas podrían enviar sus picos).

Llamamos a este sistema de locura neurociencia: neurociencia, para el estudio de las neuronas; sistemas, para atreverse a grabar desde más de una neurona a la vez. Y los datos son increíblemente complejos. Lo que tenemos son decenas a miles de series de tiempo grabadas simultáneamente, cada una de las cuales es un flujo de eventos de picos (picos reales, o alguna medida indirecta de los mismos) de una neurona. Por definición, no son estacionarias, sus estadísticas cambian con el tiempo. Sus tasas de actividad se extienden en muchos órdenes de magnitud, desde la contemplación silenciosa de un monje hasta el "kit de batería en un túnel de viento". Y sus patrones de actividad van desde la regularidad de un reloj, hasta la tartamudez y el balbuceo, hasta alternar entre episodios de manía y episodios de agotamiento.

Ahora combina eso con el comportamiento del animal del que has registrado las neuronas. Este comportamiento es cientos de pruebas de elecciones; o movimientos del brazo; o rutas tomadas a través de un entorno. O el movimiento de un órgano sensorial, o la postura completa de la musculatura. Repita para múltiples animales. Posiblemente múltiples regiones cerebrales. Y a veces cerebros enteros.

No tenemos la verdad fundamental. No hay una respuesta correcta; No hay etiquetas de entrenamiento para los datos, excepto el comportamiento. No sabemos cómo los cerebros codifican el comportamiento. Entonces podemos hacer cosas con etiquetas de comportamiento, pero casi siempre sabemos que estas no son la respuesta. Son solo pistas de la "respuesta".

La neurociencia de sistemas es entonces un rico patio de juegos para aquellos que pueden combinar su conocimiento de la neurociencia con su conocimiento para analizar datos. Nace una ciencia de datos neuronales.

¿Cómo se hace o podría hacerse? Aquí hay una guía aproximada. La razón de ser del científico de datos neuronales es hacer preguntas científicas de los datos de la neurociencia de sistemas; preguntar: ¿cómo funcionan juntas todas estas neuronas para hacer lo suyo?

Hay aproximadamente tres formas en que podemos responder esa pregunta. Podemos ver estas tres formas al observar la correspondencia entre las clases establecidas de problemas en el aprendizaje automático y los desafíos computacionales en la neurociencia de sistemas. Comencemos mirando con qué tenemos que trabajar.

Tenemos algunos datos de n neuronas que hemos recopilado con el tiempo. Los agruparemos en una matriz que llamaremos X: tantas columnas como neuronas y tantas filas como puntos de tiempo que hayamos registrado (donde depende de nosotros cuánto dura un "punto de tiempo": podríamos hazlo corto, y solo haz que cada entrada registre un 1 para un pico, y 0 de lo contrario, o podríamos hacerlo largo, y cada entrada registra el número de picos durante ese tiempo transcurrido). Durante ese tiempo, han estado sucediendo cosas en el mundo, incluido lo que el cuerpo ha estado haciendo. Entonces, integremos todo eso en una matriz que llamaremos S: tantas columnas como características hay en el mundo que nos interesan, y tantas filas como puntos de tiempo que hemos registrado para esas características.

Tradicionalmente, el aprendizaje automático implica construir tres clases de modelos sobre el estado del mundo y los datos disponibles: generativo, discriminatorio y de densidad. Como guía general, esta tabla muestra cómo cada clase corresponde a una pregunta fundamental en neurociencia de sistemas:

1 / Modelos de densidad P (X): ¿hay estructura en las espigas? Suena aburrido Pero en realidad esto es clave para grandes sectores de la investigación en neurociencia, en los que queremos saber el efecto de algo (una droga, un comportamiento, un sueño) en el cerebro; en el que preguntamos: ¿cómo ha cambiado la estructura de la actividad neuronal?

Con una grabación de un grupo de neuronas, podemos responder esto de tres maneras.

Primero, podemos cuantificar el tren de espigas de cada neurona, midiendo las estadísticas de cada columna de X, como la tasa de espiga. Y luego pregunte: ¿cuál es el modelo P (X) para estas estadísticas? Podemos agrupar estas estadísticas para encontrar "tipos" de neuronas; o simplemente ajustar modelos a toda su distribución conjunta. De cualquier manera, tenemos algún modelo de la estructura de datos en la granularidad de las neuronas individuales.

En segundo lugar, podemos crear modelos generativos de la actividad de toda la población, utilizando las filas de X, los vectores de la actividad momento a momento de toda la población. Tales modelos generalmente tienen como objetivo comprender qué parte de la estructura de X puede recrearse a partir de unas pocas restricciones, ya sea la distribución de cuántos vectores tienen cuántos picos; o las correlaciones por parejas entre neuronas; o combinaciones de los mismos. Estos son particularmente útiles para determinar si hay una salsa especial en la actividad de la población, si es algo más que la actividad colectiva de un conjunto de neuronas independientes o aburridas.

Tercero, podemos tomar la posición de que la actividad neuronal en X es una realización de alta dimensión de un espacio de baja dimensión, donde el número de dimensiones D << n. Por lo general, queremos decir con esto: algunas neuronas en X están correlacionadas, por lo que no necesitamos usar la totalidad de X para comprender la población; en su lugar, podemos reemplazarlas con una representación mucho más simple. Podríamos agrupar las series de tiempo directamente, descomponiendo X en un conjunto de N matrices más pequeñas X_1 a X_N, cada una de las cuales tiene correlaciones (relativamente) fuertes dentro de ella, por lo que pueden tratarse de forma independiente. O podríamos usar algún tipo de enfoque de reducción de dimensiones, como el Análisis de componentes principales, para obtener un pequeño conjunto de series temporales que describan una forma dominante de variación en la actividad de la población a lo largo del tiempo.

Podemos hacer más que esto. Lo anterior supone que queremos usar la reducción de dimensiones para colapsar las neuronas, que aplicamos la reducción a las columnas de X. Pero podríamos colapsar el tiempo fácilmente, aplicando la reducción de dimensiones a las filas de X. En lugar de preguntar si la actividad neuronal es redundante , esto pregunta si diferentes momentos en el tiempo tienen patrones similares de actividad neuronal. Si solo hay un puñado de estos, claramente la dinámica de las neuronas registradas es muy simple.

También podemos incluir enfoques de sistemas dinámicos aquí. Aquí intentamos ajustar los modelos simples a los cambios en X a lo largo del tiempo (es decir, el mapeo de una fila a la siguiente), y usar esos modelos para cuantificar los tipos de dinámica que contiene X, usando términos como "atractor", "separatriz", " nodo de silla de montar "," bifurcación de horca "y" colapso del Arsenal "(solo uno de ellos no es real). Uno podría argumentar plausiblemente que los modelos dinámicos así ajustados son todos modelos de densidad P (X), ya que describen la estructura de los datos.

Demonios, incluso podríamos intentar ajustar un modelo dinámico completo de un circuito neuronal, un grupo de ecuaciones diferenciales que describen cada neurona, a X, de modo que nuestro modelo P (X) se muestree cada vez que ejecutamos el modelo desde diferentes condiciones iniciales .

Con estos modelos de densidad, podemos ajustarlos por separado a la actividad neuronal que registramos en un montón de estados diferentes (S1, S2, ..., Sm), y responder preguntas como: ¿cómo cambia la estructura de una población de neuronas entre el sueño y el sueño? despertar? ¿O durante el desarrollo del animal? O en el curso de aprender una tarea (donde S1 podría ser la prueba 1 y S2 prueba 2; o S1 es la sesión 1 y S2 sesión 2; o muchas combinaciones de las mismas). También podemos preguntar: ¿cuántas dimensiones abarca la actividad neuronal? ¿Las dimensiones son diferentes entre las diferentes regiones de la corteza? ¿Y alguien ha visto mis llaves?

2 / Modelos generativos P (X | S): ¿qué causa un pico? Ahora estamos hablando. Cosas como modelos lineales-no lineales o modelos lineales generalizados. Por lo general, estos modelos se aplican a neuronas individuales, a cada columna de X. Con ellas, estamos ajustando un modelo que usa el estado del mundo S como entrada, y escupe una serie de actividad neuronal que coincide con la actividad de la neurona lo más cerca posible. Al inspeccionar la ponderación dada a cada característica de S en la reproducción de la actividad de la neurona, podemos determinar qué le importa a esa neurona.

Es posible que deseemos elegir un modelo que tenga cierta flexibilidad en lo que se considera "el estado del mundo". Podemos incluir la actividad pasada de la neurona como una característica, y ver si le importa lo que hizo en el pasado. Para algunos tipos de neuronas, la respuesta es sí. El estallido puede sacar mucho de una neurona, y necesita acostarse para descansar un poco antes de que pueda volver a funcionar. También podemos pensar de manera más amplia e incluir al resto de la población, el resto de X, como parte del estado del mundo S mientras la neurona se dispara. Después de todo, las neuronas ocasionalmente influyen en el disparo de los demás, o eso me hacen creer. Por lo tanto, existe una pequeña posibilidad de que la respuesta de una neurona en la corteza visual no se deba solo a la orientación de un borde en el mundo exterior, sino que también dependa de lo que estén haciendo las 10000 neuronas corticales que se conectan a ella. Lo que luego aprendemos son las neuronas aproximadamente más influyentes en la población.

No tenemos que aplicar estos modelos generativos a neuronas individuales. Podemos aplicarlos igualmente a nuestros modelos de densidad; podemos preguntar qué codifica cada grupo o dimensión sobre el mundo. O, como lo hicieron algunas personas aquí, podemos usar el modelo de densidad en sí mismo como el estado del mundo y preguntar qué características de ese modelo les importan a las neuronas posteriores.

Los tipos de preguntas que podemos responder con estos modelos generativos son bastante obvios: ¿qué combinación de características predice mejor la respuesta de una neurona? ¿Hay neuronas selectivas para una sola cosa? ¿Cómo se influyen las neuronas entre sí?

3 / Modelos discriminativos P (S | X): ¿qué información llevan los picos? Esta es una pregunta central en la neurociencia de los sistemas, ya que es el desafío que enfrentan todas las neuronas que se encuentran aguas abajo de nuestra población registrada: todas las neuronas que reciben entradas de las neuronas de las que registramos y se rellenan en nuestra matriz X. Para esas neuronas aguas abajo deben inferir necesitan saber sobre el mundo externo basado únicamente en picos.

Aquí podemos usar clasificadores estándar, que mapean entradas en salidas etiquetadas. Podemos usar las filas de X como entrada, cada una una instantánea de la actividad de la población, e intentar predecir una, algunas o todas las características en las filas correspondientes de S. Posiblemente con algún retraso, por lo que usamos la fila X_t para predecir el estado S_t-n que fue n pasos en el pasado si estamos interesados ​​en cómo las poblaciones codifican los estados que son aportados al cerebro; o podemos usar la fila X_t para predecir el estado S_t + n que son n pasos en el futuro si estamos interesados ​​en cómo las poblaciones codifican algún efecto del cerebro en el mundo. Al igual que la actividad en la corteza motora que está ocurriendo antes de escribir cada letra en este momento.

De cualquier manera, tomamos algunas (pero no todas, porque no sobreajustamos) filas de X, y entrenamos al clasificador para encontrar el mejor mapeo posible de X al fragmento correspondiente de S. Luego probamos el clasificador sobre qué tan bien puede predice el resto de S a partir del resto correspondiente de X. Si eres extraordinariamente afortunado, tus X y S podrían ser tan largas que puedas dividirlas en conjuntos de entrenamiento, prueba y validación. Guarde el último en una caja cerrada.

Por supuesto, podríamos usar un clasificador tan poderoso como queramos. Desde la regresión logística, pasando por enfoques bayesianos, hasta el uso de una red neuronal de 23 capas. Más bien depende de lo que quiere de la respuesta, y la compensación entre la capacidad de interpretación y el poder con el que se siente cómodo. Mis escritos en otros lugares han dejado claro qué lado de esta compensación tiendo a favorecer. Pero estoy feliz de que me demuestren que estoy equivocado.

Los modelos de codificación de neuronas son perspicaces, pero tocan algunos dilemas filosóficos antiguos y profundos. La prueba de codificación usando un modelo discriminativo supone que algo corriente abajo está tratando de decodificar S de la actividad neuronal. Hay dos problemas con esto. Las neuronas no decodifican; Las neuronas toman los picos como entrada y producen sus propios picos. Por el contrario, se vuelven a codificar, de un conjunto de picos a otro conjunto de picos: tal vez menos o más lento; quizás más o más rápido; quizás de un flujo constante a una oscilación. Entonces, los modelos discriminativos preguntan con mayor precisión qué información están codificando nuestras neuronas. Pero incluso si tomamos esta opinión, hay un problema más profundo.

Con muy pocas excepciones, no existe una neurona “aguas abajo”. Las neuronas que registramos en X son parte del cerebro intrincadamente cableado, lleno de bucles sin fin; su salida afecta su propia entrada. Peor aún, algunas de las neuronas en X están aguas abajo de las otras: algunas de ellas ingresan directamente a las otras. Porque, como se señaló anteriormente, las neuronas se influyen entre sí.

Un manifiesto aproximado, quizás útil, para una ciencia de datos neuronales. Está incompleto; sin duda, algo anterior está mal (responde en una postal a la dirección habitual). Lo anterior es un intento de sintetizar el trabajo de un grupo de laboratorios con intereses muy dispares, pero un impulso común para usar este tipo de modelo en grandes conjuntos de datos neuronales para responder preguntas profundas sobre cómo funcionan los cerebros. Muchos de estos son laboratorios de datos, equipos que analizan datos experimentales para responder a sus propias preguntas; por nombrar algunos: Johnathan Pillow; Christian Machens; Konrad Kording; Kanaka Rajan; John Cunningham; Adrienne Fairhall; Philip Berens; Cian O'Donnell; Parque Il Memming; Jakob Macke; Gasper Tkacik; Oliver Marre. Um, yo Otros son laboratorios experimentales con fuertes inclinaciones de ciencia de datos: Anne Churchland; Mark Churchland; Nicole Rust; Krishna Shenoy; Carlos Brody muchos otros pido disculpas por no nombrar.

Hay conferencias donde este tipo de trabajo es bienvenido, incluso alentado. Está en camino una revista para la ciencia de datos neuronales. Algo se está construyendo. Entra, los datos son encantadores *.

* Sí, tuve que referirme a los datos como un singular para que esa broma de mierda funcionara. El hecho de que esté escribiendo esta nota al pie para explicar esto le dará una idea de la atención fastidiosa a los detalles de los datos neuronales que los científicos esperan.

¿Quieren más? Síguenos en The Spike

Twitter: @markdhumphries