Sains data neural: bagaimana dan mengapa

Panduan kasar untuk melakukan sains data mengenai neuron

Otak yang melakukan sains data. Kredit: Otak oleh Matt Wasser dari Projek Noun

Secara senyap, diam-diam, jenis ahli sains saraf baru terbentuk. Dari segelintir barisan ahli teori telah muncul pasukan ahli sains saraf yang melakukan sains dengan data mengenai aktiviti saraf, mengenai pecahnya beratus-ratus neuron. Bukan penciptaan kaedah untuk menganalisis data, walaupun semuanya juga melakukannya. Bukan pengumpulan data itu, untuk itu memerlukan satu set kemahiran yang lain dan hebat. Tetapi ahli sains saraf menggunakan kaedah teknik komputasi moden pada data tersebut untuk menjawab soalan saintifik mengenai otak. Sains data neural telah muncul.

Ternyata saya adalah salah seorang dari mereka, klan saintis data saraf ini. Secara tidak sengaja. Sejauh yang saya tahu, itulah bagaimana semua bidang saintifik dilahirkan: secara tidak sengaja. Para penyelidik mengikuti hidung mereka, mula melakukan perkara baru, dan tiba-tiba mendapati terdapat sebilangan kecil mereka di dapur di pesta (kerana di mana minuman, di dalam peti sejuk - saintis pintar). Jadi, inilah sedikit manifesto untuk sains data saraf: mengapa ia muncul, dan bagaimana kita dapat melakukannya.

Sebabnya sama seperti semua bidang sains yang mengeluarkan sains data: jumlah data tidak dapat digunakan. Untuk sains merakam banyak neuron, banjir data ini mempunyai rasional saintifik. Otak berfungsi dengan menghantar mesej antara neuron. Sebilangan besar mesej itu berbentuk denyutan elektrik kecil: lonjakan, kita memanggilnya. Oleh itu, bagi banyak orang nampaknya logik bahawa jika kita ingin memahami bagaimana otak berfungsi (dan ketika mereka tidak berfungsi) kita perlu menangkap semua mesej yang disampaikan antara semua neuron. Dan itu bermaksud merakam seberapa banyak lonjakan dari sebanyak mungkin neuron.

Otak zebrafish bayi mempunyai kira-kira 130,000 neuron, dan sekurang-kurangnya 1 juta hubungan di antara mereka; otak lebah mempunyai kira-kira satu juta neuron. Anda dapat melihat bagaimana perkara ini dapat dilepaskan dengan cepat. Sekarang kami merakam antara puluhan hingga beberapa ratus neuron pada masa yang sama dengan kit standard. Batasnya adalah orang yang merakam beberapa ribu, dan bahkan beberapa orang mendapat puluhan ribu (walaupun rakaman ini menangkap aktiviti neuron pada kadar yang jauh lebih lambat daripada neuron yang menghantar lonjakannya).

Kami memanggil sistem kegilaan ini sebagai neurosains: neurosains, untuk kajian neuron; sistem, kerana berani merakam dari lebih daripada satu neuron pada satu masa. Dan datanya sangat rumit. Apa yang kita ada adalah puluhan hingga ribuan siri masa yang direkodkan secara serentak, masing-masing aliran peristiwa lonjakan (lonjakan sebenar, atau beberapa ukuran tidak langsung daripadanya) dari satu neuron. Secara definisi, mereka tidak bergerak, statistik mereka berubah dari masa ke masa. Kadar aktiviti mereka tersebar di banyak peringkat, dari perenungan sepi seperti bhikkhu hingga "alat gendang di terowong angin". Dan corak aktiviti mereka berkisar dari kebiasaan seperti jam, hingga gagap dan berantakan, hingga bergantian antara serangan mania dan serangan keletihan.

Sekarang kahwinkan dengan tingkah laku haiwan yang anda buat. Tingkah laku ini beratus-ratus ujian pilihan; atau pergerakan lengan; atau laluan yang dilalui melalui persekitaran. Atau pergerakan organ akal, atau keseluruhan postur otot. Ulangi untuk pelbagai haiwan. Mungkin banyak kawasan otak. Dan kadang-kadang otak keseluruhan.

Kami tidak mempunyai kebenaran. Tidak ada jawapan yang tepat; tidak ada label latihan untuk data tersebut, kecuali tingkah laku. Kami tidak tahu bagaimana otak mengekodkan tingkah laku. Oleh itu, kita boleh melakukan sesuatu dengan label tingkah laku, tetapi kita hampir selalu mengetahui bahawa ini bukan jawapannya. Mereka hanya petunjuk untuk "jawapan".

Sistem neurosains kemudian menjadi taman permainan yang kaya bagi mereka yang dapat menggabungkan pengetahuan mereka tentang ilmu saraf dengan pengetahuan mereka untuk menganalisis data. Ilmu data saraf sedang dilahirkan.

Bagaimana ia - atau boleh - dilakukan? Inilah panduan kasar. The raison d'etre saintis data saraf adalah untuk mengemukakan soalan saintifik data dari sistem neurosains; untuk bertanya: bagaimana semua neuron ini bekerjasama untuk melakukan perkara mereka?

Terdapat kira-kira tiga cara kita dapat menjawab soalan itu. Kita dapat melihat ketiga-tiga cara ini dengan melihat kesesuaian antara kelas masalah yang telah ditetapkan dalam pembelajaran mesin dan cabaran komputasi dalam neurosains sistem. Mari mulakan dengan melihat apa yang harus kita bekerjasama.

Kami mempunyai beberapa data dari neuron yang kami kumpulkan dari masa ke masa. Kami akan memasukkannya ke dalam matriks yang akan kita panggil X - seberapa banyak lajur sebagai neuron, dan sebilangan baris sebagai titik waktu yang telah kita rakam (di mana terpulang kepada kita berapa lama "titik waktu" berlangsung: kita mungkin menjadikannya pendek, dan hanya perlu memasukkan setiap catatan 1 untuk lonjakan, dan 0 sebaliknya. Atau kita mungkin membuatnya panjang, dan setiap entri mencatat jumlah lonjakan selama masa berlalu itu). Sepanjang masa itu, banyak perkara telah berlaku di dunia - termasuk apa yang telah dilakukan oleh badan tersebut. Oleh itu, mari kita memasukkan semua itu ke dalam matriks yang akan kita panggil S - seberapa banyak lajur kerana terdapat ciri-ciri di dunia yang kita sayangi, dan sebilangan baris sebagai titik waktu yang telah kita rakam untuk ciri-ciri tersebut.

Secara tradisinya, pembelajaran mesin melibatkan pembinaan tiga kelas model mengenai keadaan dunia dan data yang ada: generatif, diskriminatif, dan kepadatan. Sebagai panduan kasar, jadual ini menunjukkan bagaimana setiap kelas sesuai dengan soalan asas dalam neurosains sistem:

1 / Model ketumpatan P (X): adakah struktur pada lonjakan? Kedengaran kusam. Tetapi sebenarnya ini adalah kunci untuk penyelidikan neurosains yang besar, di mana kita ingin mengetahui kesan sesuatu (ubat, tingkah laku, tidur) pada otak; di mana kita bertanya: bagaimana struktur aktiviti saraf berubah?

Dengan rakaman sekumpulan neuron, kita dapat menjawabnya dengan tiga cara.

Mula-mula, kita dapat mengukur lonjakan-lonjakan setiap neuron, dengan mengukur statistik setiap lajur X, seperti kadar lonjakan. Dan kemudian tanyakan: apakah model P (X) untuk statistik ini? Kita dapat mengumpulkan statistik ini untuk mencari "jenis" neuron; atau hanya sesuai model untuk keseluruhan pengedaran bersama mereka. Bagaimanapun, kita mempunyai beberapa model struktur data pada butiran neuron tunggal.

Kedua, kita dapat membuat model generatif aktiviti keseluruhan populasi, menggunakan baris X - vektor aktiviti momen ke saat keseluruhan penduduk. Model sedemikian biasanya bertujuan untuk memahami seberapa banyak struktur X dapat dibuat semula hanya dengan beberapa kekangan, sama ada pengedaran berapa banyak vektor yang mempunyai berapa banyak lonjakan; atau hubungan berpasangan antara neuron; atau gabungannya. Ini sangat berguna untuk bersenam jika ada kuah istimewa dalam aktiviti penduduk, jika ia lebih daripada aktiviti kolektif satu set neuron bebas atau sederhana yang membosankan.

Ketiga, kita dapat mengambil kedudukan bahawa aktiviti saraf di X adalah beberapa realisasi dimensi tinggi dari ruang dimensi rendah, di mana bilangan dimensi D << n. Biasanya kita maksudkan dengan ini: beberapa neuron di X berkorelasi, jadi kita tidak perlu menggunakan keseluruhan X untuk memahami populasi - sebaliknya kita dapat menggantinya dengan perwakilan yang lebih sederhana. Kami mungkin mengelompokkan siri masa secara langsung, jadi menguraikan X menjadi satu set N matriks kecil X_1 hingga X_N, yang masing-masing mempunyai (relatif) korelasi yang kuat di dalamnya, sehingga dapat diperlakukan secara bebas. Atau kita mungkin menggunakan sejenis pendekatan pengurangan dimensi seperti Analisis Komponen Utama, untuk mendapatkan sekumpulan kecil siri waktu yang masing-masing menggambarkan satu bentuk variasi yang dominan dalam aktiviti penduduk dari masa ke masa.

Kita boleh melakukan lebih daripada ini. Di atas mengandaikan bahawa kita ingin menggunakan pengurangan dimensi untuk meruntuhkan neuron - bahawa kita menerapkan pengurangan pada lajur X. Tetapi kita dapat dengan mudah meruntuhkan masa, dengan menerapkan pengurangan dimensi pada baris X. Daripada bertanya apakah aktiviti saraf berlebihan , ini menanyakan apakah momen yang berlainan dalam masa mempunyai corak aktiviti saraf yang serupa. Sekiranya terdapat sebilangan kecil, jelas dinamika neuron yang dirakam sangat sederhana.

Kita juga boleh menggunakan pendekatan sistem dinamik di sini. Di sini kita cuba menyesuaikan model sederhana dengan perubahan X dari masa ke masa (iaitu pemetaan dari satu baris ke baris berikutnya), dan menggunakan model tersebut untuk mengukur jenis dinamika yang dikandung X - menggunakan istilah seperti "penarik", "pemisah", " simpul pelana "," bifurkasi pitchfork ", dan" keruntuhan Arsenal "(hanya salah satunya bukan perkara sebenar). Seseorang mungkin berpendapat model dinamik yang dipasang adalah semua model ketumpatan P (X), kerana mereka menggambarkan struktur data.

Neraka, kita bahkan boleh mencuba dan menyesuaikan keseluruhan model dinamik dari rangkaian saraf, sekumpulan persamaan pembezaan yang menggambarkan setiap neuron, hingga X, sehingga model P (X) kita kemudian diambil sampel setiap kali kita menjalankan model dari keadaan awal yang berbeza .

Dengan model ketumpatan ini, kita dapat menyesuaikannya secara berasingan dengan aktiviti saraf yang kita rakam dalam sekumpulan keadaan yang berbeza (S1, S2,…, Sm), dan menjawab soalan seperti: bagaimana struktur populasi neuron berubah antara tidur dan tidur bangun? Atau semasa perkembangan haiwan itu? Atau semasa belajar tugas (di mana S1 mungkin percubaan 1, dan S2 percubaan 2; atau S1 adalah sesi 1 dan S2 sesi 2; atau banyak kombinasi daripadanya). Kita juga boleh bertanya: berapa dimensi jangka masa aktiviti neuron? Adakah dimensi berbeza antara kawasan korteks yang berlainan? Dan ada yang melihat kunci saya?

2 / Model generatif P (X | S): apa yang menyebabkan lonjakan? Sekarang kita bercakap. Perkara seperti model linear-nonlinear, atau model linear umum. Biasanya model-model ini diterapkan pada neuron tunggal, pada setiap lajur X. Dengan model ini, kita menggunakan model yang menggunakan keadaan dunia S sebagai input, dan melancarkan siri aktiviti saraf yang sesuai dengan aktiviti neuron sedekat mungkin. Dengan memeriksa pemberat yang diberikan kepada setiap ciri S dalam memperbanyakkan aktiviti neuron, kita dapat mengetahui apa yang kelihatannya neuron itu.

Kita mungkin ingin memilih model yang memiliki fleksibilitas dalam apa yang dianggap sebagai "keadaan dunia". Kita boleh memasukkan aktiviti masa lalu neuron itu sendiri sebagai ciri, dan melihat apakah ia peduli dengan apa yang dilakukannya pada masa lalu. Untuk beberapa jenis neuron, jawapannya adalah ya. Meletup boleh memakan banyak neuron, dan ia perlu berbaring untuk berehat sebelum dapat kembali. Kita juga dapat berfikir secara lebih luas, dan merangkumi seluruh populasi - selebihnya X - sebagai sebahagian dari keadaan dunia S semasa neuron sedang menembak. Lagipun, neuron kadang-kadang mempengaruhi tembakan antara satu sama lain, atau jadi saya terpaksa percaya. Jadi ada kemungkinan kecil bahawa tindak balas neuron dalam korteks visual tidak hanya didorong oleh orientasi pinggir di dunia luar, tetapi juga bergantung pada apa yang dilakukan oleh 10000 neuron kortikal yang menghubungkannya. Apa yang kemudian kita pelajari adalah neuron yang paling berpengaruh dalam populasi.

Kita tidak perlu menerapkan model generatif ini pada neuron tunggal. Kita boleh menerapkannya pada model kepadatan kita; kita boleh bertanya apa yang dikodkan oleh setiap kelompok atau dimensi mengenai dunia. Atau, seperti yang dilakukan oleh beberapa orang di sini, kita dapat menggunakan model kepadatan itu sendiri sebagai keadaan dunia, dan bertanya apa ciri-ciri model neuron hilir itu.

Jenis soalan yang dapat kita jawab dengan model generatif ini cukup jelas: gabungan ciri apa yang paling baik meramalkan tindak balas neuron? Adakah neuron selektif untuk satu perkara? Bagaimana neuron saling mempengaruhi?

3 / Model diskriminatif P (S | X): maklumat apa yang dibawa oleh lonjakan? Ini adalah persoalan inti dalam neurosains sistem kerana ia adalah cabaran yang dihadapi oleh semua neuron yang berada di hilir dari populasi yang direkodkan kita - semua neuron yang menerima input dari neuron yang kita rakam dan dimasukkan ke dalam matriks X kita. Bagi mereka neuron hilir mesti menyimpulkan apa mereka perlu mengetahui tentang dunia luaran yang hanya berdasarkan lonjakan.

Di sini kita dapat menggunakan pengkelasan standard, yang memetakan input ke output berlabel. Kita dapat menggunakan baris X sebagai input, masing-masing gambar aktiviti penduduk, dan berusaha untuk meramalkan satu, beberapa, atau semua ciri dalam baris S. yang sesuai. Mungkin dengan sedikit masa, jadi kita menggunakan baris X_t hingga ramalkan keadaan S_t-n yang merupakan langkah-langkah pada masa lalu jika kita berminat bagaimana kod populasi menyatakan yang dimasukkan ke otak; atau kita boleh menggunakan baris X_t untuk meramalkan keadaan S_t + n yang merupakan n langkah pada masa akan datang jika kita berminat bagaimana populasi memberi kod untuk beberapa kesan otak pada dunia. Seperti aktiviti korteks motor yang berlaku sebelum saya menaip setiap huruf sekarang.

Walau apa pun, kami mengambil beberapa baris (tetapi tidak semua, kerana kami tidak terlalu banyak) baris X, dan melatih pengkelasan untuk mencari pemetaan X yang terbaik untuk bahagian S. yang sesuai. Kemudian kami menguji pengkelasan sejauh mana ia dapat ramalkan S yang selebihnya dari baki X yang sesuai. Sekiranya anda sangat beruntung, X dan S anda boleh panjang sehingga anda dapat membahagikannya ke dalam set kereta api, ujian, dan mengesahkan. Simpan yang terakhir dalam kotak terkunci.

Sudah tentu kita boleh menggunakan pengkelasan yang kuat seperti yang kita mahukan. Dari regresi logistik, melalui pendekatan Bayesian, hingga menggunakan jaringan saraf 23 lapisan. Ini bergantung pada apa yang anda mahukan daripada jawapannya, dan pertukaran antara kebolehtafsiran dan kekuatan yang anda selesa. Tulisan-tulisan saya di tempat lain telah menjelaskan bahagian mana dari pertukaran ini yang cenderung saya gemari. Tetapi saya gembira terbukti salah.

Model pengekodan neuron adalah berwawasan, tetapi menyentuh beberapa kebiasaan falsafah lama dan mendalam. Menguji pengekodan menggunakan model diskriminatif menganggap bahawa sesuatu di hilir cuba menyahkod S dari aktiviti saraf. Terdapat dua masalah dengan ini. Neuron tidak menyahkod; neuron mengambil lonjakan sebagai input dan mengeluarkan lonjakannya sendiri. Sebaliknya, mereka membuat kod semula, dari satu set lonjakan ke set lonjakan yang lain: mungkin lebih sedikit, atau lebih lambat; mungkin lebih banyak, atau lebih cepat; mungkin dari aliran berterusan ke ayunan. Jadi model diskriminatif dengan lebih tepat bertanya maklumat apa yang dikodkan semula oleh neuron kita. Tetapi walaupun kita mengambil pandangan ini, ada masalah yang lebih mendalam.

Dengan pengecualian yang sangat sedikit, tidak ada neuron "hilir". Neuron yang kami rakam dalam X adalah bahagian otak yang berwayar, penuh dengan gelung yang tidak berkesudahan; output mereka mempengaruhi input mereka sendiri. Lebih buruk lagi, sebilangan neuron di X berada di hilir dari yang lain: sebahagian dari mereka memasukkan terus ke yang lain. Kerana, seperti yang dinyatakan di atas, neuron saling mempengaruhi.

Manifesto kasar, mungkin berguna, untuk sains data saraf. Ia tidak lengkap; tidak syak lagi sesuatu di atas salah (jawapan pada poskad ke alamat biasa). Perkara di atas adalah percubaan untuk mensintesis kerja sekumpulan makmal dengan minat yang sangat berbeza, tetapi dorongan biasa untuk menggunakan model seperti ini pada set data neural yang besar untuk menjawab soalan mendalam tentang bagaimana otak berfungsi. Sebilangan besarnya adalah makmal data, pasukan yang menganalisis data eksperimen untuk menjawab soalan mereka sendiri; untuk menamakan beberapa - Johnathan Pillow; Mesin Kristian; Konrad Kording; Kanaka Rajan; John Cunningham; Adrienne Fairhall; Philip Berens; Cian O'Donnell; Taman Il Memming; Jakob Macke; Gasper Tkacik; Oliver Marre. Um, saya. Yang lain adalah makmal eksperimen dengan kecenderungan sains data yang kuat: Anne Churchland; Mark Churchland; Karat Nicole; Krishna Shenoy; Carlos Brody; banyak yang lain saya minta maaf kerana tidak menamakan.

Terdapat persidangan di mana kerja seperti ini disambut, malah digalakkan. Jurnal sains data neural sedang dalam perjalanan. Sesuatu sedang membina. Ayuh masuk, data yang indah *.

* yeah saya harus merujuk data sebagai satu-satunya untuk membuat lelucon omong kosong itu berfungsi. Fakta saya menulis nota kaki ini untuk menerangkan ini akan memberi anda idea tentang perhatian yang teliti terhadap perincian data saraf yang diharapkan oleh para saintis.

Mahu lebih? Ikuti kami di The Spike

Twitter: @markdhumphries