En neurologisk datavidenskab: hvordan og hvorfor

Den uslebne vejledning til datalogi om neuroner

En hjerne, der gør datavidenskab. Kredit: Brain af Matt Wasser fra Noun-projektet

Stille, stealthily, en ny type neuroscientist tager form. Fra indenfor de utallige rækker af teoretikere er steget hold af neurovidenskabsfolk, der gør videnskab med data om neurale aktiviteter, om de sparsomme sprutterings af hundreder af neuroner. Ikke skabelsen af ​​metoder til analyse af data, selvom alle gør det også. Ikke indsamling af disse data, for det kræver et andet, formidabelt, dygtighedssæt. Men neurovidenskabsmænd bruger det fulde udvalg af moderne beregningsteknikker på disse data til at besvare videnskabelige spørgsmål om hjernen. En neurale datavidenskab er opstået.

Det viser sig, at jeg er en af ​​dem, denne klan af neurale dataforskere. Ved en fejltagelse. Så vidt jeg kan sige, er det sådan, at alle videnskabelige områder er født: ved et uheld. Forskere følger deres næser, begynder at lave nye ting og finder pludselig, at der er en lille mængde af dem i køkkenet på fester (fordi det er, hvor drikkevarer er, i køleskabet - forskere er smarte). Så her er et lille manifest for neurale datavidenskaber: hvorfor det dukker op, og hvordan vi muligvis går ud på at gøre det.

Hvorfor er det samme som alle videnskabelige områder, der har spyttet en datavidenskab: mængden af ​​data er ved at blive ude af hånden. Hvad angår videnskaben med registrering af masser af neuroner, har denne dataflod en videnskabelig rationale. Hjerner fungerer ved at sende meddelelser mellem neuroner. De fleste af disse meddelelser har form af små elektriske pulser: pigge, vi kalder dem. Så for mange virker det logisk, at hvis vi ønsker at forstå, hvordan hjerner fungerer (og når de ikke fungerer), er vi nødt til at fange alle de meddelelser, der sendes mellem alle neuroner. Og det betyder, at du registrerer så mange pigge fra så mange neuroner som muligt.

En baby zebrafisk hjerne har omkring 130.000 neuroner og mindst 1 million forbindelser mellem dem; en humlehjerne har omkring en million neuroner. Du kan se, hvordan dette ville komme ud af hånden meget hurtigt. Lige nu registrerer vi et sted mellem titusinder til et par hundrede neuroner på samme tid med standardsæt. Ved grænserne er der folk, der registrerer et par tusinde, og endda et par få titusinder (omend disse optagelser fanger neuronaktivitet i meget langsommere tempo, end neuronerne kunne sende deres pigge).

Vi kalder dette galskabssystemer neurovidenskab: neurovidenskab til undersøgelse af neuroner; systemer, til at våge at optage fra mere end en neuron ad gangen. Og dataene er tankebøjende komplekse. Hvad vi har er titusinder af samtidig indspillede tidsserier, hver strøm af spikinghændelser (faktiske pigge eller et indirekte mål deraf) fra en neuron. Pr. Definition er de ikke stationære, deres statistik ændrer sig over tid. Deres aktivitetshastighed spredte sig over mange størrelsesordrer, fra munke-lignende stille overvejelser til ”trommesæt i en vindtunnel”. Og deres aktivitetsmønstre spænder fra urlignende regelmæssighed, til stamming og sprittering, til skiftevis mellem anfald af mani og anstrengelser af udmattelse.

Nu skal du gifte dig med opførslen til det dyr, du har registreret neuronerne fra. Denne opførsel er hundredvis af valg af valg; eller armbevægelser; eller ruter taget gennem et miljø. Eller bevægelsen af ​​et sanseorgan, eller hele muskulaturens holdning. Gentag for flere dyr. Eventuelt flere hjerneområder. Og nogle gange hele hjerner.

Vi har ingen grund-sandhed. Der er ikke et rigtigt svar; der er ingen træningsetiketter til dataene undtagen adfærden. Vi ved ikke, hvordan hjerner koder for adfærd. Så vi kan gøre ting med adfærdsmærker, men vi ved næsten altid, at dette ikke er svaret. De er bare ledetråde til “svaret”.

Systemets neurovidenskab er derefter en rig legeplads for dem, der kan gifte sig med deres viden om neurovidenskab til deres know-how til analyse af data. En neurologisk datavidenskab fødes.

Hvordan er det - eller kunne det gøres? Her er en grov guide. Neuro-datavidenskabens raison d'etre er at stille videnskabelige spørgsmål om data fra systemneurovidenskab; at spørge: hvordan fungerer alle disse neuroner sammen for at gøre deres ting?

Der er omtrent tre måder, vi kan besvare det spørgsmål på. Vi kan se disse tre måder ved at se på korrespondancen mellem etablerede klasser af problemer inden for maskinlæring og beregningsmæssige udfordringer i systemets neurovidenskab. Lad os starte med at se på, hvad vi har at arbejde med.

Vi har nogle data fra n neuroner, som vi har indsamlet over tid. Vi klumper dem ind i en matrix, vi kalder X - så mange kolonner som neuroner, og så mange rækker som tidspunkter, vi har registreret (hvor det er op til os, hvor længe et "tidspunkt" varer: vi måske gør det kort, og har bare hver indgangspost en 1 for en spike og 0 ellers. Eller så kan vi gøre det længe, ​​og hver post registrerer antallet af pigge i løbet af den forløbne tid). I løbet af den tid har der foregået ting i verden - inklusive hvad kroppen har gjort. Så lad os klumpe alt det ind i en matrix, vi kalder S - så mange kolonner, som der er funktioner i den verden, vi er interesseret i, og så mange rækker som tidspunkter, vi har registreret for disse funktioner.

Traditionelt involverer maskinlæring at bygge tre klasser af modeller om verdens tilstand og de tilgængelige data: generativ, diskriminerende og tæthed. Som en grov guide viser denne tabel, hvordan hver klasse svarer til et grundlæggende spørgsmål i systemets neurovidenskab:

1 / Density modeller P (X): er der struktur i piggene? Lyder kedeligt. Men faktisk er dette nøglen til store skår i neurovidenskelig forskning, hvor vi vil vide effekten af ​​noget (et lægemiddel, en adfærd, en søvn) på hjernen; hvor vi spørger: hvordan har strukturen i neurale aktiviteter ændret sig?

Med en optagelse af en masse neuroner kan vi svare på dette på tre måder.

For det første kan vi kvantificere piggetoget for hver neuron ved at måle statistikken for hver kolonne i X, ligesom hastigheden for spiking. Og så spørg: hvad er modellen P (X) for disse statistikker? Vi kan klynge disse statistikker for at finde “typer” af neuron; eller bare tilpasse modeller til hele deres fælles distribution. Uanset hvad har vi en model for datastrukturen ved granulariteten af ​​enkelte neuroner.

For det andet kan vi oprette generative modeller af hele befolkningens aktivitet ved hjælp af rækkerne X - vektorerne for hele øjeblikket til øjeblikket aktivitet for hele befolkningen. Sådanne modeller sigter typisk efter at forstå, hvor meget af strukturen af ​​X, der kan genskabes ud fra nogle få begrænsninger, hvad enten det drejer sig om fordelingen af, hvor mange vektorer der har, hvor mange pigge; eller parvise sammenhænge mellem neuroner; eller kombinationer deraf. Disse er især nyttige til at træne, hvis der er nogen særlig sauce i befolkningens aktivitet, hvis det er andet end den kollektive aktivitet af et sæt uafhængige eller kedeligt enkle neuroner.

For det tredje kan vi tage den position, at den neurale aktivitet i X er en højdimensionel realisering af et lavdimensionelt rum, hvor antallet af dimensioner D << n. Vi mener typisk med dette: nogle neuroner i X er korrelerede, så vi behøver ikke at bruge hele X til at forstå befolkningen - i stedet kan vi erstatte dem med en meget enklere repræsentation. Vi klynger muligvis tidsserien direkte, så dekomponering af X i et sæt N mindre matrixer X_1 til X_N, som hver har (relativt) stærke korrelationer inden i den, og så kan behandles uafhængigt. Eller vi kan muligvis bruge en form for dimensionsreduktion, såsom analyse af hovedkomponenter, for at få et lille sæt tidsserier, som hver beskriver en dominerende form for variation i befolkningens aktivitet over tid.

Vi kan gøre mere end dette. Ovenstående antager, at vi ønsker at bruge dimensionsreduktion til at kollapse neuroner - at vi anvender reduktion på søjlerne i X. Men vi kunne lige så let kollapse tiden ved at anvende dimensionsreduktion på rækkerne med X. I stedet for at spørge, om neurale aktiviteter er overflødige , dette spørger, om forskellige øjeblikke i tid har lignende mønstre af neurale aktiviteter. Hvis der kun er en håndfuld af disse, er dynamikken i de registrerede neuroner meget enkel.

Vi kan også smide dynamiske systemtilnærmelser ind her. Her forsøger vi at tilpasse enkle modeller til ændringerne i X over tid (dvs. kortlægning fra en række til den næste), og bruge disse modeller til at kvantificere de typer dynamik, X indeholder - ved hjælp af udtryk som "tiltrækker", "separatrix", " sadelknude ”,“ pitchfork bifurcation ”og“ Arsenal sammenbrud ”(kun en af ​​dem er ikke en rigtig ting). Man kan sandsynligvis argumentere for, at de dynamiske modeller, der er monteret således, alle er tæthedsmodeller P (X), da de beskriver strukturen af ​​dataene.

Helvede, vi kunne endda prøve at passe en hel dynamisk model af et neuralt kredsløb, en flok af differentialligninger, der beskriver hver neuron, til X, så vores model P (X) derefter samples hver gang vi kører modellen fra forskellige udgangsbetingelser .

Med disse tæthedsmodeller kan vi tilpasse dem separat til den neurale aktivitet, vi registrerede i en masse forskellige tilstande (S1, S2, ..., Sm), og besvare spørgsmål som: hvordan ændres strukturen i en population af neuroner mellem sovende og vågne? Eller under dyrets udvikling? Eller i løbet af at lære en opgave (hvor S1 kan være prøve 1 og S2 prøve 2; eller S1 er session 1 og S2 session 2; eller mange kombinationer deraf). Vi kan også spørge: hvor mange dimensioner spænder neuronaktivitet? Er dimensionerne forskellige mellem forskellige regioner i cortex? Og har nogen set mine nøgler?

2 / Generative modeller P (X | S): hvad forårsager en spids? Nu taler vi. Ting som lineære ikke-lineære modeller eller generaliserede lineære modeller. Disse modeller anvendes typisk på enkelte neuroner, på hver søjle af X. Med dem passer vi til en model, der bruger verdens tilstand S som input, og spytter ud en neurale aktivitetsserie, der matcher neuronens aktivitet så tæt som muligt. Ved derefter at inspicere vægten, der er givet til hver funktion i S i reproduktion af neuronens aktivitet, kan vi finde ud af, hvad neuronen ser ud til at give en forbandelse.

Vi ønsker måske at vælge en model, der har en vis fleksibilitet i det, der tæller som ”verdens tilstand”. Vi kan inkludere neuronens egen fortidsaktivitet som en funktion og se, om den er interesseret i, hvad den gjorde før. For nogle typer neuron er svaret ja. Sprængning kan tage meget ud af en neuron, og den er nødt til at lægge sig i en blød hvile, inden den kan gå igen. Vi kan også tænke bredere og inkludere resten af ​​befolkningen - resten af ​​X - som en del af verdens tilstand S, mens neuronen skyder. Når alt kommer til alt påvirker neuroner lejlighedsvis hinandens fyring, eller sådan bliver jeg ført til at tro. Så der er en lille chance for, at reaktionen fra en neuron i visuel cortex ikke kun drives af orienteringen af ​​en kant i omverdenen, men også kan afhænge af, hvad de 10000 kortikale neuroner, der forbinder til det, også gør. Hvad vi derefter lærer er de næsten mest indflydelsesrige neuroner i befolkningen.

Vi behøver ikke at anvende disse generative modeller på enkelte neuroner. Vi kan ligeledes anvende dem på vores tæthedsmodeller; vi kan spørge, hvad hver klynge eller dimension koder for verden. Eller som nogle mennesker gjorde her, kan vi bruge tæthedsmodellen i sig selv som verdens tilstand og spørge, hvilke egenskaber ved denne model nedstrøms neuroner giver en forbandelse.

De typer spørgsmål, vi kan besvare med disse generative modeller, er temmelig indlysende: hvilken kombination af funktioner forudsiger bedst en neurons svar? Er der neuroner selektive til kun én ting? Hvordan påvirker neuroner hinanden?

3 / Diskriminerende modeller P (S | X): Hvilke oplysninger bærer pigge? Dette er et kernespørgsmål inden for systemneurovidenskab, da det er den udfordring, som alle neuroner står overfor fra vores registrerede population - alle neuroner, der modtager input fra neuronerne, vi registrerede fra og fyldes i vores matrix X. For de nedstrøms neuroner skal udlede, hvad de har brug for at vide om den eksterne verden udelukkende baseret på pigge.

Her kan vi bruge standardklassifikatorer, der kort indgange på mærkede udgange. Vi kan bruge rækkerne med X som input, hver et øjebliksbillede af befolkningens aktivitet og forsøge at forudsige en, nogle eller alle funktionerne i de tilsvarende rækker af S. Eventuelt med en vis forsinkelse, så vi bruger række X_t til forudsige den tilstand S_t-n, der var n trin i fortiden, hvis vi er interesseret i, hvordan populationer koder tilstande, der er input til hjernen; eller vi kan bruge række X_t til at forudsige den tilstand S_t + n, der er n trin i fremtiden, hvis vi er interesseret i, hvordan populationer koder for en eller anden effekt af hjernen på verden. Som aktiviteten i motorisk cortex, der sker, før jeg skriver hvert bogstav lige nu.

Uanset hvad tager vi nogle (men ikke alle, for vi overpasser ikke) rækker af X, og træner klassificeren til at finde den bedst mulige kortlægning af X til den tilsvarende del af S. Derefter tester vi klassificeren på, hvor godt det kan forudsig resten af ​​S fra den tilsvarende resten af ​​X. Hvis du er ekstraordinær heldig, kan dine X og S være så længe, ​​at du er i stand til at opdele dem i tog, test og validerer sæt. Opbevar den sidste i en låst kasse.

Vi kunne selvfølgelig bruge en så kraftig klassifikator, som vi vil. Fra logistisk regression, gennem bayesiske tilgange, til anvendelse af et 23-lags neuralt netværk. Det afhænger snarere af, hvad du vil have ud af svaret, og den udveksling mellem tolkbarhed og magt, du er komfortabel med. Mine skrifter andetsteds har gjort det klart, hvilken side af denne udveksling jeg har tendens til. Men jeg er glad for at blive bevist forkert.

Kodningsmodeller af neuroner er indsigtsfulde, men rører ved nogle gamle og dybe filosofiske kvandarer. Test af kodning ved hjælp af en diskriminerende model antager, at noget nedstrøms forsøger at afkode S fra neurale aktiviteter. Der er to problemer med dette. Neuroner dekoder ikke; neuroner tager pigge ind som input og udsender deres egne pigge. Snarere koder de igen fra et sæt pigge til et andet sæt pigge: måske færre eller langsommere; måske mere eller hurtigere; måske fra en jævn strøm til en svingning. Så diskriminerende modeller spørger mere præcist, hvilke oplysninger vores neuroner koder igen. Men selv hvis vi tager denne opfattelse, er der et dybere problem.

Med meget få undtagelser er der ikke sådan noget som en "nedstrøms" neuron. Neuronerne, vi registrerede i X, er en del af den intrikate kablede hjerne, fuld af uendelige sløjfer; deres output påvirker deres egne input. Værre er, at nogle af neuronerne i X er nedstrøms for de andre: nogle af dem indtaster direkte til de andre. Fordi, som bemærket ovenfor, påvirker neuroner hinanden.

Et groft, måske nyttigt manifest for en neural datavidenskab. Det er ufuldstændigt; uden tvivl er noget ovenfor galt (svar på et postkort til den sædvanlige adresse). Ovenstående er et forsøg på at syntetisere arbejdet i en gruppe laboratorier med meget forskellige interesser, men et almindeligt drev til at bruge denne slags modeller på store sæt neurale data til at besvare dybe spørgsmål om, hvordan hjerner fungerer. Mange af disse er datalaboratorier, teams, der analyserer eksperimentelle data for at besvare deres egne spørgsmål; for at nævne nogle få - 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. Um, mig. Andre er eksperimentelle laboratorier med stærke datavidenskabelige tilbøjeligheder: Anne Churchland; Mark Churchland; Nicole Rust; Krishna Shenoy; Carlos Brody; mange andre undskylder jeg for ikke at navngive.

Der er konferencer, hvor denne slags arbejde hilses velkommen, nej endda opmuntret. Et tidsskrift for neurale datavidenskaber er på vej. Der bygger noget. Kom ind, dataene er dejlige *.

* ja, jeg var nødt til at referere til data som en ental for at få denne skitvittighed til at fungere. Det faktum, at jeg skriver denne fodnote for at forklare dette, vil give dig en idé om den hurtige opmærksomhed på detaljerne neurale data, som forskere forventer.

Ønsker mere? Følg os på The Spike

Twitter: @markdhumphries