Una scienza dei dati neurali: come e perché

La guida approssimativa alla scienza dei dati sui neuroni

Un cervello che fa scienza dei dati. Ringraziamento: Brain di Matt Wasser del Noun Project

Silenziosamente, di nascosto, sta prendendo forma un nuovo tipo di neuroscienziato. Dall'interno della miriade di schieramenti di teorici sono sorte squadre di neuroscienziati che fanno scienza con dati sull'attività neurale, sugli sparsi frammenti di centinaia di neuroni. Non la creazione di metodi per l'analisi dei dati, anche se tutti lo fanno. Non la raccolta di quei dati, poiché ciò richiede un altro, formidabile, set di abilità. Ma i neuroscienziati utilizzano l'intera gamma delle moderne tecniche computazionali su quei dati per rispondere a domande scientifiche sul cervello. È emersa una scienza dei dati neurali.

Ho scoperto che sono uno di loro, questo clan di scienziati dei dati neurali. Accidentalmente. Per quanto ne so, è così che sono nati tutti i campi scientifici: per caso. I ricercatori seguono il loro naso, iniziano a fare cose nuove e all'improvviso scoprono che c'è una piccola folla di loro in cucina alle feste (perché è dove si trovano le bevande, in frigorifero - gli scienziati sono intelligenti). Quindi ecco un piccolo manifesto per la scienza dei dati neurali: perché sta emergendo e come potremmo iniziare a farlo.

Il perché è lo stesso di tutte le aree della scienza che hanno sputato una scienza dei dati: la quantità di dati sta sfuggendo di mano. Per la scienza della registrazione di molti neuroni, questo diluvio di dati ha una sorta di logica scientifica. Il cervello funziona trasmettendo messaggi tra neuroni. La maggior parte di quei messaggi prende la forma di piccoli impulsi di elettricità: picchi, li chiamiamo. Quindi a molti sembra logico che se vogliamo capire come funzionano i cervelli (e quando non funzionano) dobbiamo catturare tutti i messaggi che passano tra tutti i neuroni. Ciò significa registrare il maggior numero possibile di picchi da quanti più neuroni possibile.

Un cervello di zebrafish ha circa 130.000 neuroni e almeno 1 milione di connessioni tra loro; un cervello di calabrone ha circa un milione di neuroni. Puoi vedere come questo sfuggirebbe di mano molto rapidamente. In questo momento registriamo da qualche parte tra decine e alcune centinaia di neuroni contemporaneamente con kit standard. Ai limiti ci sono persone che registrano qualche migliaio e anche poche decine di migliaia (anche se queste registrazioni catturano l'attività dei neuroni a ritmi molto più lenti di quanto i neuroni potrebbero inviare i loro picchi).

La chiamiamo neuroscienza dei sistemi di follia: neuroscienza, per lo studio dei neuroni; sistemi, per avere il coraggio di registrare da più di un neurone alla volta. E i dati sono incredibilmente complessi. Quello che abbiamo sono decine di migliaia di serie temporali registrate simultaneamente, ognuna il flusso di eventi di spionaggio (picchi effettivi, o qualche sua misura indiretta) da un neurone. Per definizione, non sono fissi, le loro statistiche cambiano nel tempo. I loro tassi di attività si estendevano su molti ordini di grandezza, dalla quieta contemplazione simile a quella di un monaco al "drum kit in una galleria del vento". E i loro modelli di attività spaziano dalla regolarità simile a un orologio, alla balbuzie e alle screpolature, all'alternarsi tra attacchi di mania e attacchi di stanchezza.

Ora sposalo con il comportamento dell'animale da cui hai registrato i neuroni. Questo comportamento è centinaia di prove di scelte; o movimenti del braccio; o percorsi presi attraverso un ambiente. O il movimento di un organo di senso, o l'intera postura della muscolatura. Ripetere l'operazione per più animali. Forse più regioni cerebrali. E a volte cervelli interi.

Non abbiamo una verità di base. Non c'è una risposta giusta; non ci sono etichette di addestramento per i dati, tranne il comportamento. Non sappiamo come il cervello codifichi il comportamento. Quindi possiamo fare le cose con le etichette comportamentali, ma sappiamo quasi sempre che queste non sono la risposta. Sono solo indizi per la "risposta".

La neuroscienza dei sistemi è quindi un ricco parco giochi per coloro che possono sposare la loro conoscenza della neuroscienza con il loro know-how per l'analisi dei dati. Sta nascendo una scienza dei dati neurali.

Come è - o potrebbe essere - fatto? Ecco una guida approssimativa. La ragion d'essere dello scienziato di dati neurali è porre domande scientifiche sui dati delle neuroscienze dei sistemi; chiedere: come fanno tutti questi neuroni a lavorare insieme per fare le loro cose?

Ci sono circa tre modi in cui possiamo rispondere a questa domanda. Possiamo vedere questi tre modi osservando la corrispondenza tra classi stabilite di problemi nell'apprendimento automatico e sfide computazionali nelle neuroscienze dei sistemi. Cominciamo guardando ciò con cui dobbiamo lavorare.

Abbiamo alcuni dati di n neuroni che abbiamo raccolto nel tempo. Li raggrupperemo in una matrice che chiameremo X: tante colonne quanti neuroni e quante righe quanti punti temporali abbiamo registrato (dove dipende da noi quanto dura un “punto temporale”: potremmo accorciarlo e fare in modo che ogni voce registri un 1 per uno spike e 0 altrimenti. Oppure potremmo allungarlo e ogni voce registra il numero di spike durante quel tempo trascorso). Nel corso del tempo, nel mondo sono accadute cose, incluso ciò che il corpo ha fatto. Quindi raggruppiamo tutto ciò in una matrice che chiameremo S - tante colonne quante sono le caratteristiche al mondo a cui teniamo e quante righe quanti punti temporali abbiamo registrato per quelle caratteristiche.

Tradizionalmente, l'apprendimento automatico implica la costruzione di tre classi di modelli sullo stato del mondo e sui dati disponibili: generativo, discriminatorio e densità. Come guida approssimativa, questa tabella mostra come ogni classe corrisponde a una domanda fondamentale nella neuroscienza dei sistemi:

1 / Modelli di densità P (X): c'è struttura nei picchi? Sembra noioso. Ma in realtà questa è la chiave di grandi parti della ricerca neuroscientifica, in cui vogliamo conoscere l'effetto di qualcosa (una droga, un comportamento, un sonno) sul cervello; in cui ci stiamo chiedendo: come è cambiata la struttura dell'attività neurale?

Con una registrazione di un gruppo di neuroni, possiamo rispondere in tre modi.

Innanzitutto, possiamo quantificare lo spike-train di ciascun neurone, misurando le statistiche di ciascuna colonna di X, come il tasso di spiking. E poi chiedi: qual è il modello P (X) per queste statistiche? Possiamo raggruppare queste statistiche per trovare "tipi" di neuroni; o semplicemente adattare i modelli alla loro intera distribuzione congiunta. Ad ogni modo, abbiamo qualche modello della struttura dei dati alla granularità dei singoli neuroni.

In secondo luogo, possiamo creare modelli generativi dell'attività dell'intera popolazione, usando le file di X - i vettori dell'attività momento per momento dell'intera popolazione. Tali modelli in genere mirano a capire quanta parte della struttura di X può essere ricreata da pochi vincoli, sia che si tratti della distribuzione di quanti vettori hanno quanti picchi; o le correlazioni a coppie tra neuroni; o loro combinazioni. Questi sono particolarmente utili per capire se c'è qualche salsa speciale nell'attività della popolazione, se è qualcosa di più che l'attività collettiva di un insieme di neuroni indipendenti o noiosamente semplici.

Terzo, possiamo affermare che l'attività neurale in X è una realizzazione ad alta dimensione di uno spazio dimensionale basso, dove il numero di dimensioni D << n. In genere intendiamo con questo: alcuni neuroni in X sono correlati, quindi non abbiamo bisogno di usare l'intera X per capire la popolazione - invece possiamo sostituirli con una rappresentazione molto più semplice. Potremmo raggruppare direttamente le serie temporali, quindi scomporre X in un insieme di N matrici più piccole da X_1 a X_N, ognuna delle quali ha correlazioni (relativamente) forti al suo interno e quindi può essere trattata in modo indipendente. Oppure potremmo usare un qualche tipo di approccio di riduzione dimensionale come Analisi delle componenti principali, per ottenere un piccolo insieme di serie temporali che descrivono ciascuna una forma dominante di variazione dell'attività della popolazione nel tempo.

Possiamo fare di più. Quanto sopra presuppone che vogliamo usare la riduzione dimensionale per far collassare i neuroni - che applichiamo la riduzione alle colonne di X. Ma potremmo altrettanto facilmente comprimere il tempo, applicando la riduzione dimensionale alle file di X. Invece di chiedere se l'attività neurale è ridondante , questo è chiedere se diversi momenti nel tempo hanno modelli simili di attività neurale. Se ce ne sono solo una manciata, chiaramente le dinamiche dei neuroni registrati sono molto semplici.

Possiamo introdurre approcci di sistemi dinamici anche qui. Qui cerchiamo di adattare modelli semplici alle modifiche in X nel tempo (ovvero mappatura da una riga alla successiva) e utilizziamo questi modelli per quantificare i tipi di dinamiche che X contiene - usando termini come "attrattore", "separatrix", " nodo della sella "," biforcazione di forcone "e" crollo dell'Arsenale "(solo uno di questi non è una cosa reale). Si potrebbe plausibilmente sostenere che i modelli dinamici così montati siano tutti i modelli di densità P (X), in quanto descrivono la struttura dei dati.

Inferno, potremmo anche provare ad adattare un intero modello dinamico di un circuito neurale, un gruppo di equazioni differenziali che descrivono ciascun neurone, a X, in modo che il nostro modello P (X) venga quindi campionato ogni volta che eseguiamo il modello da diverse condizioni iniziali .

Con questi modelli di densità, possiamo adattarli separatamente all'attività neurale che abbiamo registrato in diversi stati (S1, S2, ..., Sm) e rispondere a domande come: come cambia la struttura di una popolazione di neuroni tra il sonno e veglia? O durante lo sviluppo dell'animale? O nel corso dell'apprendimento di un'attività (in cui S1 potrebbe essere la prova 1 e S2 prova 2; oppure S1 è la sessione 1 e S2 sessione 2; o molte combinazioni di queste). Possiamo anche chiederci: quante dimensioni copre l'attività dei neuroni? Le dimensioni sono diverse tra le diverse regioni della corteccia? E qualcuno ha visto le mie chiavi?

2 / Modelli generativi P (X | S): cosa provoca un picco? Ora stiamo parlando. Cose come modelli lineari non lineari o modelli lineari generalizzati. Tipicamente questi modelli sono applicati a singoli neuroni, a ciascuna colonna di X. Con essi stiamo adattando un modello che utilizza lo stato del mondo S come input e sputa una serie di attività neuronali che corrispondono all'attività del neurone il più vicino possibile. Ispezionando quindi la ponderazione data a ciascuna caratteristica di S nel riprodurre l'attività del neurone, possiamo capire cosa sembra fregare a quel neurone.

Potremmo voler scegliere un modello che abbia una certa flessibilità in quello che conta come "lo stato del mondo". Possiamo includere l'attività passata del neurone come caratteristica e vedere se si preoccupa di ciò che ha fatto in passato. Per alcuni tipi di neuroni, la risposta è sì. Lo scoppio può prendere molto da un neurone e deve sdraiarsi per riposarsi prima di poter ricominciare. Possiamo anche pensare in modo più ampio e includere il resto della popolazione - il resto di X - come parte dello stato del mondo S mentre il neurone sta sparando. Dopotutto, i neuroni occasionalmente influenzano il reciproco fuoco, o almeno così sono portato a credere. Quindi c'è una piccola possibilità che la risposta di un neurone nella corteccia visiva non sia solo guidata dall'orientamento di un limite nel mondo esterno, ma può anche dipendere da ciò che stanno facendo anche i 10000 neuroni corticali ad esso collegati. Ciò che apprendiamo quindi sono i neuroni approssimativamente più influenti nella popolazione.

Non dobbiamo applicare questi modelli generativi ai singoli neuroni. Possiamo ugualmente applicarli ai nostri modelli di densità; possiamo chiederci cosa codifica ogni cluster, o dimensione, sul mondo. Oppure, come hanno fatto alcune persone qui, possiamo usare il modello di densità stesso come lo stato del mondo e chiederci quali caratteristiche di quel modello di neuroni a valle se ne fregano.

I tipi di domande a cui possiamo rispondere con questi modelli generativi sono abbastanza ovvi: quale combinazione di caratteristiche predice meglio la risposta di un neurone? Ci sono neuroni selettivi per una sola cosa? In che modo i neuroni si influenzano a vicenda?

3 / Modelli discriminatori P (S | X): quali informazioni trasportano i picchi? Questa è una domanda fondamentale nella neuroscienza dei sistemi in quanto è la sfida affrontata da tutti i neuroni che sono a valle della nostra popolazione registrata - tutti i neuroni che ricevono input dai neuroni da cui abbiamo registrato e riempito nella nostra matrice X. Perché quei neuroni a valle devono dedurre ciò che hanno bisogno di conoscere il mondo esterno basato esclusivamente su punte.

Qui possiamo usare classificatori standard, che mappano gli input su output etichettati. Possiamo usare le righe di X come input, ciascuna un'istantanea dell'attività della popolazione e tentare di prevedere una, alcune o tutte le funzionalità nelle corrispondenti righe di S. Eventualmente con un certo ritardo, quindi usiamo la riga X_t per prevedere lo stato S_t-n che era n passi in passato se siamo interessati a come il codice delle popolazioni afferma che sono input al cervello; oppure possiamo usare la riga X_t per prevedere lo stato S_t + n che è n passi in futuro se siamo interessati a come le popolazioni codificano per qualche effetto del cervello sul mondo. Come l'attività nella corteccia motoria che sta accadendo prima di digitare ogni lettera proprio ora.

Ad ogni modo, prendiamo alcune (ma non tutte, perché non ci adattiamo eccessivamente) a righe di X, e addestriamo il classificatore per trovare la migliore mappatura possibile di X sul corrispondente blocco di S. Quindi testiamo il classificatore su quanto bene può prevedi il resto di S dal resto corrispondente di X. Se sei straordinariamente fortunato, i tuoi X e S potrebbero essere così lunghi da poterli dividere in treni, testare e validare set. Conserva l'ultimo in una scatola chiusa a chiave.

Ovviamente potremmo usare un classificatore potente quanto vogliamo. Dalla regressione logistica, attraverso approcci bayesiani, all'utilizzo di una rete neurale a 23 strati. Dipende piuttosto da cosa vuoi dalla risposta e dal compromesso tra interpretabilità e potere con cui ti senti a tuo agio. I miei scritti altrove hanno chiarito quale lato di questo compromesso tendo a favorire. Ma sono felice di essere smentito.

La codifica dei modelli di neuroni è perspicace, ma tocca alcuni vecchi e profondi dilemmi filosofici. Il test della codifica mediante un modello discriminante presuppone che qualcosa a valle stia tentando di decodificare S dall'attività neuronale. Ci sono due problemi con questo. I neuroni non si decodificano; i neuroni assumono picchi come input e producono i propri picchi. Piuttosto, ricodificano, da una serie di punte a un'altra serie di punte: forse meno o più lente; forse di più o più velocemente; forse da un flusso costante in un'oscillazione. Quindi i modelli discriminatori chiedono più accuratamente quali informazioni i nostri neuroni stanno ricodificando. Ma anche se adottiamo questo punto di vista, c'è un problema più profondo.

Con pochissime eccezioni, non esiste un neurone "a valle". I neuroni che abbiamo registrato in X fanno parte del cervello intricato, pieno di loop infiniti; il loro output influenza il loro input. Peggio ancora, alcuni dei neuroni in X sono a valle degli altri: alcuni di essi si immettono direttamente negli altri. Perché, come notato sopra, i neuroni si influenzano a vicenda.

Un manifesto approssimativo, forse utile, per una scienza dei dati neurali. È incompleto; senza dubbio qualcosa sopra è sbagliato (risposte su una cartolina al solito indirizzo). Quanto sopra è un tentativo di sintetizzare il lavoro di un gruppo di laboratori con interessi molto disparati, ma una spinta comune a utilizzare questo tipo di modello su grandi insiemi di dati neurali per rispondere a domande profonde su come funzionano i cervelli. Molti di questi sono data lab, team che analizzano dati sperimentali per rispondere alle proprie domande; per citarne alcuni - Johnathan Pillow; Christian Machens; Konrad Kording; Kanaka Rajan; John Cunningham; Adrienne Fairhall; Philip Berens; Cian O'Donnell; Il Memming Park; Jakob Macke; Gasper Tkacik; Oliver Marre. Ehm, io. Altri sono laboratori sperimentali con forti inclinazioni nella scienza dei dati: Anne Churchland; Mark Churchland; Nicole Rust; Krishna Shenoy; Carlos Brody; molti altri mi scuso per non aver nominato.

Ci sono conferenze in cui questo tipo di lavoro è accolto, anzi addirittura incoraggiato. Sta arrivando un giornale per la scienza dei dati neurali. Qualcosa sta costruendo. Dai, i dati sono adorabili *.

* Sì, ho dovuto fare riferimento ai dati come singolare per far funzionare quella battuta schifosa. Il fatto che sto scrivendo questa nota a piè di pagina per spiegare questo ti darà un'idea della meticolosa attenzione ai dettagli dei dati neurali che gli scienziati si aspettano.

Voglio di più? Seguiteci a The Spike

Twitter: @markdhumphries