Ilmu data saraf: bagaimana dan mengapa

Panduan kasar untuk melakukan ilmu data pada neuron

Otak melakukan ilmu data. Kredit: Brain oleh Matt Wasser dari Proyek Noun

Diam-diam, diam-diam, tipe baru ilmuwan saraf mulai terbentuk. Dari dalam berbagai jajaran teori telah bangkit tim ilmuwan saraf yang melakukan ilmu pengetahuan dengan data tentang aktivitas saraf, pada percikan yang jarang dari ratusan neuron. Bukan penciptaan metode untuk menganalisis data, meskipun semua melakukannya juga. Bukan pengumpulan data itu, untuk itu membutuhkan keahlian lain, yang tangguh. Tetapi ahli saraf menggunakan keseluruhan penuh teknik komputasi modern pada data itu untuk menjawab pertanyaan ilmiah tentang otak. Ilmu data saraf telah muncul.

Ternyata saya salah satunya, klan ilmuwan data saraf ini. Secara tidak sengaja. Sejauh yang saya tahu, begitulah semua bidang ilmiah lahir: secara tidak sengaja. Peneliti mengikuti hidung mereka, mulai melakukan hal-hal baru, dan tiba-tiba menemukan ada kerumunan kecil dari mereka di dapur di pesta-pesta (karena di situlah minuman berada, di dalam lemari es - ilmuwan cerdas). Jadi, inilah sedikit manifesto untuk ilmu data saraf: mengapa ini muncul, dan bagaimana kita dapat mulai melakukannya.

Mengapa itu sama dengan semua bidang ilmu yang telah memuntahkan ilmu data: jumlah data semakin tidak terkendali. Untuk ilmu merekam banyak neuron, banjir data ini memiliki alasan ilmiah. Otak bekerja dengan mengirimkan pesan antar neuron. Sebagian besar dari pesan itu berbentuk pulsa kecil listrik: paku, kami menyebutnya. Jadi bagi banyak orang tampaknya logis bahwa jika kita ingin memahami bagaimana otak bekerja (dan ketika mereka tidak berfungsi) kita perlu menangkap semua pesan yang disampaikan di antara semua neuron. Dan itu berarti merekam sebanyak duri dari neuron sebanyak mungkin.

Otak bayi ikan zebra memiliki sekitar 130.000 neuron, dan setidaknya 1 juta koneksi di antaranya; otak lebah memiliki sekitar satu juta neuron. Anda dapat melihat bagaimana ini akan keluar dari tangan dengan sangat cepat. Saat ini kami merekam antara puluhan hingga beberapa ratus neuron bersamaan dengan kit standar. Pada batasnya adalah orang-orang merekam beberapa ribu, dan bahkan beberapa mendapatkan puluhan ribu (walaupun rekaman ini menangkap aktivitas neuron dengan kecepatan yang jauh lebih lambat daripada neuron yang mengirimkan paku mereka).

Kami menyebutnya sistem kegilaan ini ilmu saraf: ilmu saraf, untuk studi neuron; sistem, untuk berani merekam dari lebih dari satu neuron pada suatu waktu. Dan datanya rumit sekali. Apa yang kita miliki adalah puluhan hingga ribuan deret waktu yang direkam secara simultan, masing-masing aliran peristiwa lonjakan (lonjakan aktual, atau beberapa ukuran tidak langsung darinya) dari satu neuron. Menurut definisi, mereka tidak diam, statistik mereka berubah seiring waktu. Laju aktivitas mereka tersebar di banyak ordo besarnya, dari perenungan yang tenang seperti bhikkhu hingga “drum kit di terowongan angin”. Dan pola aktivitas mereka berkisar dari keteraturan seperti jam, sampai kegagapan dan kegagapan, hingga bergantian antara serangan mania dan serangan kelelahan.

Sekarang nikahi itu dengan perilaku hewan tempat Anda merekam neuron. Perilaku ini adalah ratusan cobaan pilihan; atau gerakan lengan; atau rute yang diambil melalui lingkungan. Atau pergerakan organ indera, atau seluruh postur otot-otot. Ulangi untuk banyak binatang. Mungkin beberapa daerah otak. Dan kadang-kadang seluruh otak.

Kami tidak memiliki kebenaran dasar. Tidak ada jawaban yang benar; tidak ada label pelatihan untuk data, kecuali perilaku. Kita tidak tahu bagaimana otak menyandikan perilaku. Jadi kita dapat melakukan hal-hal dengan label perilaku, tetapi kita hampir selalu tahu ini bukan jawabannya. Mereka hanyalah petunjuk untuk "jawaban".

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

Bagaimana - atau mungkinkah - dilakukan? Ini panduan kasarnya. Raison d'etre dari ilmuwan data saraf adalah untuk mengajukan pertanyaan ilmiah data dari sistem neuroscience; untuk bertanya: bagaimana semua neuron ini bekerja bersama untuk melakukan hal mereka?

Secara kasar ada tiga cara kita dapat menjawab pertanyaan itu. Kita dapat melihat tiga cara ini dengan melihat korespondensi antara kelas masalah yang mapan dalam pembelajaran mesin dan tantangan komputasi dalam sistem ilmu saraf. Mari kita mulai dengan melihat apa yang harus kita kerjakan.

Kami memiliki beberapa data dari n neuron yang telah kami kumpulkan dari waktu ke waktu. Kami akan menggumpalkan ini ke dalam matriks yang akan kita sebut X - kolom sebanyak neuron, dan baris sebanyak titik waktu yang telah kita catat (di mana terserah kita berapa lama "titik waktu" berlangsung: kita mungkin buat pendek, dan minta setiap entri mencatat 1 untuk spike, dan 0. Atau kita bisa membuatnya panjang, dan setiap entri mencatat jumlah lonjakan selama waktu yang berlalu). Selama waktu itu, banyak hal telah terjadi di dunia - termasuk apa yang telah dilakukan tubuh. Jadi mari kita benarkan semua itu ke dalam matriks yang akan kita sebut S - kolom sebanyak yang ada di dunia yang kita pedulikan, dan baris sebanyak poin waktu yang kita rekam untuk fitur-fitur itu.

Secara tradisional, pembelajaran mesin melibatkan pembangunan tiga kelas model tentang keadaan dunia dan data yang tersedia: generatif, diskriminatif, dan kepadatan. Sebagai panduan kasar, tabel ini menunjukkan bagaimana masing-masing kelas sesuai dengan pertanyaan mendasar dalam sistem ilmu saraf:

1 / Model kepadatan P (X): apakah ada struktur di paku? Kedengarannya membosankan. Tetapi sebenarnya ini adalah kunci bagi penelitian neuroscience yang luas, di mana kami ingin mengetahui efek dari sesuatu (obat, perilaku, tidur) pada otak; di mana kita bertanya: bagaimana struktur aktivitas saraf berubah?

Dengan rekaman sekelompok neuron, kita dapat menjawab ini dengan tiga cara.

Pertama, kita dapat menghitung lonjakan-kereta setiap neuron, dengan mengukur statistik setiap kolom X, seperti laju spiking. Dan kemudian tanyakan: apa model P (X) untuk statistik ini? Kita dapat mengelompokkan statistik ini untuk menemukan "tipe" neuron; atau cukup paskan model dengan seluruh distribusi sambungannya. Either way, kami memiliki beberapa model struktur data pada granularity neuron tunggal.

Kedua, kita dapat membuat model generatif dari seluruh aktivitas populasi, menggunakan baris X - vektor dari aktivitas momen-ke-saat dari seluruh populasi. Model-model seperti itu biasanya bertujuan untuk memahami seberapa banyak struktur X dapat diciptakan kembali hanya dari beberapa kendala, apakah mereka menjadi distribusi berapa banyak vektor yang memiliki berapa banyak paku; atau korelasi berpasangan antara neuron; atau kombinasinya. Ini sangat berguna untuk berolahraga jika ada saus khusus dalam aktivitas populasi, jika itu lebih dari aktivitas kolektif dari satu set neuron independen atau membosankan sederhana.

Ketiga, kita dapat mengambil posisi bahwa aktivitas saraf dalam X adalah beberapa realisasi dimensi tinggi dari ruang dimensi rendah, di mana jumlah dimensi D << n. Biasanya yang kita maksudkan dengan ini: beberapa neuron dalam X berkorelasi, jadi kita tidak perlu menggunakan seluruh X untuk memahami populasi - alih-alih kita bisa menggantinya dengan representasi yang lebih sederhana. Kami mungkin mengelompokkan deret waktu secara langsung, sehingga menguraikan X menjadi serangkaian N matriks yang lebih kecil X_1 ke X_N, yang masing-masing memiliki (relatif) korelasi kuat di dalamnya, dan dengan demikian dapat diperlakukan secara independen. Atau kita bisa menggunakan semacam pendekatan pengurangan dimensi seperti Analisis Komponen Utama, untuk mendapatkan serangkaian kecil rangkaian waktu yang masing-masing menggambarkan satu bentuk variasi dominan dalam aktivitas populasi dari waktu ke waktu.

Kita bisa melakukan lebih dari ini. Di atas mengasumsikan kita ingin menggunakan reduksi dimensi untuk meruntuhkan neuron - bahwa kita menerapkan reduksi ke kolom X. Tapi kita bisa dengan mudah meruntuhkan waktu, dengan menerapkan reduksi dimensi ke baris X. Daripada menanyakan apakah aktivitas saraf berlebihan. , ini menanyakan apakah saat-saat yang berbeda dalam waktu memiliki pola aktivitas saraf yang serupa. Jika hanya ada beberapa di antaranya, jelas dinamika neuron yang terekam sangat sederhana.

Kita bisa menggunakan pendekatan sistem dinamis di sini juga. Di sini kami mencoba menyesuaikan model-model sederhana dengan perubahan-perubahan dalam X dari waktu ke waktu (yaitu pemetaan dari satu baris ke yang berikutnya), dan menggunakan model-model itu untuk mengukur jenis-jenis dinamika yang dikandung X - menggunakan istilah-istilah seperti "penarik", "separatrix", " simpul pelana "," bfurkasi pitchfork ", dan" keruntuhan Arsenal "(hanya satu yang bukan hal yang nyata). Orang mungkin berargumen secara masuk akal model dinamik yang begitu pas adalah semua model kerapatan P (X), ketika mereka menggambarkan struktur data.

Sial, kita bahkan dapat mencoba dan menyesuaikan seluruh model dinamis dari sirkuit saraf, sekelompok persamaan diferensial yang menggambarkan masing-masing neuron, hingga X, sehingga model P (X) kami diambil sampelnya setiap kali kami menjalankan model dari kondisi awal yang berbeda .

Dengan model kepadatan ini, kita dapat memasangnya secara terpisah dengan aktivitas saraf yang kita catat di banyak negara bagian yang berbeda (S1, S2,…, Sm), dan menjawab pertanyaan seperti: bagaimana struktur populasi neuron berubah antara tidur dan bangun? Atau selama perkembangan hewan? Atau dalam pembelajaran tugas (di mana S1 mungkin percobaan 1, dan S2 percobaan 2; atau S1 adalah sesi 1 dan S2 sesi 2; atau banyak kombinasi daripadanya). Kita juga dapat bertanya: berapa banyak dimensi yang terbentang oleh aktivitas neuron? Apakah dimensi berbeda antara daerah korteks yang berbeda? Dan adakah yang melihat kunci saya?

2 / Model generatif P (X | S): apa yang menyebabkan lonjakan? Sekarang kita bicara. Hal-hal seperti model linier-nonlinier, atau model linier umum. Biasanya model-model ini diterapkan pada neuron tunggal, untuk setiap kolom X. Dengan mereka kita menyesuaikan model yang menggunakan keadaan dunia S sebagai input, dan memuntahkan serangkaian aktivitas saraf yang sesuai dengan aktivitas neuron sedekat mungkin. Dengan memeriksa bobot yang diberikan pada masing-masing fitur S dalam mereproduksi aktivitas neuron, kita dapat mengetahui apa yang tampaknya dikhawatirkan oleh neuron.

Kita mungkin ingin memilih model yang memiliki fleksibilitas dalam apa yang dianggap sebagai "keadaan dunia". Kita bisa memasukkan aktivitas masa lalu neuron sendiri sebagai fitur, dan melihat apakah itu peduli dengan apa yang dilakukannya di masa lalu. Untuk beberapa jenis neuron, jawabannya adalah ya. Semburan bisa mengambil banyak dari neuron, dan perlu berbaring untuk istirahat sebelum bisa pergi lagi. Kita juga dapat berpikir lebih luas, dan memasukkan sisa populasi - sisa X - sebagai bagian dari keadaan dunia S ketika neuron sedang bekerja. Lagi pula, neuron kadang-kadang memengaruhi penembakan satu sama lain, atau begitulah saya dituntun untuk percaya. Jadi ada kemungkinan kecil bahwa respons neuron dalam korteks visual tidak hanya didorong oleh orientasi tepi di dunia luar, tetapi juga tergantung pada apa yang dilakukan oleh 10.000 neuron kortikal yang terhubung dengannya. Apa yang kemudian kita pelajari adalah neuron yang kira-kira paling berpengaruh dalam populasi.

Kami tidak harus menerapkan model generatif ini ke neuron tunggal. Kita bisa menerapkannya pada model densitas kita; kita bisa bertanya apa yang dikode setiap klaster, atau dimensi, tentang dunia. Atau, seperti yang dilakukan beberapa orang di sini, kita dapat menggunakan model kerapatan itu sendiri sebagai keadaan dunia, dan bertanya fitur apa dari model yang diberikan neuron hilir itu.

Jenis pertanyaan yang dapat kita jawab dengan model generatif ini cukup jelas: kombinasi fitur apa yang paling baik memprediksi respons neuron? Adakah selektif neuron hanya untuk satu hal? Bagaimana neuron saling memengaruhi?

3 / Model diskriminatif P (S | X): informasi apa yang dibawa paku? Ini adalah pertanyaan inti dalam sistem ilmu saraf karena merupakan tantangan yang dihadapi oleh semua neuron yang hilir dari populasi kami yang tercatat - semua neuron yang menerima input dari neuron yang kami rekam dan masukkan dalam matriks X kami. Untuk itu neuron hilir harus menyimpulkan apa mereka perlu tahu tentang dunia luar yang hanya didasarkan pada paku.

Di sini kita dapat menggunakan pengklasifikasi standar, yang memetakan input ke output berlabel. Kita dapat menggunakan baris X sebagai input, masing-masing snapshot dari aktivitas populasi, dan mencoba untuk memprediksi satu, beberapa, atau semua fitur dalam baris yang sesuai dari S. Mungkin dengan beberapa penundaan waktu, jadi kami menggunakan baris X_t untuk memprediksi keadaan S_t-n yang merupakan n langkah di masa lalu jika kita tertarik pada bagaimana kode negara menyatakan yang dimasukkan ke otak; atau kita dapat menggunakan baris X_t untuk memprediksi keadaan S_t + n yang merupakan langkah n di masa depan jika kita tertarik pada bagaimana populasi mengkode beberapa efek otak pada dunia. Seperti aktivitas di motor cortex yang terjadi sebelum saya mengetik setiap huruf sekarang.

Either way, kita mengambil beberapa (tetapi tidak semua, karena kita tidak berpakaian) baris X, dan melatih classifier untuk menemukan pemetaan X terbaik yang sesuai dengan potongan S. Kemudian kita menguji classifier pada seberapa baik itu bisa memprediksi sisa S dari sisa X yang sesuai. Jika Anda sangat beruntung, X dan S Anda bisa sangat lama sehingga Anda dapat membaginya menjadi kereta, tes, dan set validasi. Simpan yang terakhir di dalam kotak yang terkunci.

Kita tentu saja dapat menggunakan classifier sekuat yang kita mau. Dari regresi logistik, melalui pendekatan Bayesian, hingga menggunakan jaringan saraf 23 layer. Ini lebih tergantung pada apa yang Anda inginkan dari jawaban, dan pertukaran antara interpretabilitas dan kekuatan yang Anda sukai. Tulisan-tulisan saya di tempat lain telah menjelaskan dengan jelas sisi mana dari pertukaran ini yang cenderung saya sukai. Tapi saya senang dibuktikan salah.

Model pengkodean neuron adalah wawasan, tetapi menyentuh beberapa kebingungan filosofis lama dan mendalam. Pengujian pengkodean menggunakan model diskriminatif mengasumsikan bahwa sesuatu hilir sedang mencoba untuk memecahkan kode S dari aktivitas saraf. Ada dua masalah dengan ini. Neuron tidak memecahkan kode; neuron menerima paku sebagai input dan output paku mereka sendiri. Alih-alih, mereka menyusun ulang kode, dari satu set paku ke set paku yang lain: mungkin lebih sedikit, atau lebih lambat; mungkin lebih, atau lebih cepat; mungkin dari aliran yang stabil ke osilasi. Jadi model diskriminatif lebih akurat menanyakan informasi apa yang disandi ulang neuron kita. Tetapi bahkan jika kita mengambil pandangan ini, ada masalah yang lebih dalam.

Dengan sedikit pengecualian, tidak ada yang disebut neuron "hilir". Neuron-neuron yang kami rekam di X adalah bagian dari otak yang tersusun dengan rumit, penuh loop yang tak berujung; output mereka mempengaruhi input mereka sendiri. Lebih buruk lagi, beberapa neuron di X hilir dari yang lain: beberapa di antaranya langsung masuk ke yang lain. Karena, seperti disebutkan di atas, neuron saling memengaruhi.

Manifesto yang kasar, mungkin bermanfaat, untuk ilmu data saraf. Itu tidak lengkap; tidak diragukan lagi sesuatu di atas salah (jawaban pada kartu pos ke alamat biasa). Di atas adalah upaya untuk mensintesis karya sekelompok lab dengan minat yang sangat berbeda, tetapi dorongan umum untuk menggunakan model semacam ini pada set besar data saraf untuk menjawab pertanyaan mendalam tentang bagaimana otak bekerja. Banyak dari ini adalah laboratorium data, tim yang menganalisis data eksperimental untuk menjawab pertanyaan mereka sendiri; untuk beberapa nama - Johnathan Pillow; Mesin Kristen; Konrad Kording; Kanaka Rajan; John Cunningham; Adrienne Fairhall; Philip Berens; Cian O'Donnell; Taman Il Memming; Jakob Macke; Gasper Tkacik; Oliver Marre. Um, aku. Lainnya adalah laboratorium eksperimental dengan kecenderungan ilmu data yang kuat: Anne Churchland; Mark Churchland; Nicole Rust; Krishna Shenoy; Carlos Brody; banyak lagi yang saya minta maaf karena tidak menyebut nama.

Ada konferensi di mana pekerjaan semacam ini disambut, bahkan tidak dianjurkan. Sebuah jurnal untuk ilmu data saraf sedang dalam perjalanan. Sesuatu sedang membangun. Ayo masuk, data indah *.

* ya saya harus merujuk ke data sebagai singular untuk membuat lelucon omong kosong itu bekerja. Fakta saya menulis catatan kaki ini untuk menjelaskan ini akan memberi Anda beberapa gagasan tentang perhatian yang cermat terhadap detail data saraf yang diharapkan para ilmuwan.

Ingin lebih? Ikuti kami di The Spike

Twitter: @markdhumphries