Наука нейронных данных: как и почему

Черновое руководство по изучению данных на нейронах

Мозг, занимающийся наукой о данных. Кредит: Мозг Мэттом Вассером из Проекта Существительного

Тихо, незаметно, новый тип нейробиолога обретает форму. Из бесчисленных рядов теоретиков выросли команды нейробиологов, которые занимаются наукой с данными о нейронной активности, о редких брызгах сотен нейронов. Не создание методов для анализа данных, хотя все это тоже делают. Не сбор этих данных, для этого требуется еще один, огромный, набор навыков. Но нейробиологи используют полную гамму современных вычислительных методов на этих данных, чтобы ответить на научные вопросы о мозге. Наука нейронных данных появилась.

Оказывается, я один из них, этот клан ученых, занимающихся нейронными данными. Случайно. Насколько я могу судить, именно так рождаются все научные области: случайно. Исследователи следуют за своими носами, начинают делать что-то новое и вдруг обнаруживают, что на кухне на вечеринках их маленькая толпа (потому что там, где напитки, в холодильнике - ученые умны). Итак, вот небольшой манифест для науки о нейронных данных: почему она возникает, и как мы можем начать это делать.

Почему то же самое, что и во всех областях науки, которые выплеснули науку о данных: объем данных выходит из-под контроля. Для науки о записи большого количества нейронов этот поток данных имеет своего рода научное обоснование. Мозги работают, передавая сообщения между нейронами. Большинство этих сообщений принимают форму крошечных импульсов электричества: мы называем их шипами. Поэтому многим кажется логичным, что если мы хотим понять, как работает мозг (и когда он не работает), нам нужно перехватить все сообщения, передаваемые между всеми нейронами. А это означает запись как можно большего количества спайков от максимально возможного количества нейронов.

Мозг детенышей рыбок данио имеет около 130 000 нейронов и по крайней мере 1 миллион связей между ними; мозг шмеля имеет около миллиона нейронов. Вы можете видеть, как это очень быстро выйдет из-под контроля. Прямо сейчас мы записываем где-то от десятков до нескольких сотен нейронов одновременно с помощью стандартного набора. В пределе люди записывают несколько тысяч, и даже несколько получают десятки тысяч (хотя эти записи фиксируют активность нейронов со скоростью, намного меньшей, чем нейроны могут посылать свои пики).

Мы называем это безумием системы нейробиологии: нейробиология, для изучения нейронов; системы, позволяющие записывать более одного нейрона одновременно. И данные невероятно сложны. То, что у нас есть, - это десятки и тысячи одновременно записанных временных рядов, каждый из которых представляет собой поток пиковых событий (фактических пиков или их косвенных измерений) из одного нейрона. По определению они не являются стационарными, их статистика со временем меняется. Уровень их активности распространился на многие порядки: от тихого созерцания, подобного монахам, до «барабанной установки в аэродинамической трубе». И их модели активности варьируются от часовых регулярностей, до заиканий и трескотни, до чередования между приступами мании и приступами истощения.

Теперь соедините это с поведением животного, с которого вы записали нейроны. Такое поведение - сотни испытаний выбора; или движения рук; или маршруты, пройденные через окружающую среду. Или движение органа чувств, или вся осанка мускулатуры. Повторите для нескольких животных. Возможно несколько областей мозга. И иногда целые мозги.

У нас нет правды. Там нет правильного ответа; для данных нет обучающих меток, кроме поведения. Мы не знаем, как мозг кодирует поведение. Таким образом, мы можем делать вещи с поведенческими ярлыками, но мы почти всегда знаем, что это не ответ. Они просто подсказки к «ответу».

Системная нейробиология - это богатая площадка для тех, кто может объединить свои знания в области нейробиологии с их ноу-хау для анализа данных. Наука о нейронных данных рождается.

Как это - или это может быть - сделано? Вот грубое руководство. Смысл существования ученого в области нейронных данных состоит в том, чтобы задавать научные вопросы о данных из систем нейробиологии; спросить: как все эти нейроны работают вместе, чтобы делать свое дело?

Есть примерно три способа ответить на этот вопрос. Мы можем увидеть эти три пути, взглянув на соответствие между установленными классами проблем в машинном обучении и вычислительными проблемами в системах нейробиологии. Давайте начнем с рассмотрения того, с чем мы должны работать.

У нас есть некоторые данные от n нейронов, которые мы собрали с течением времени. Мы сложим их в матрицу, которую мы назовем X - столько столбцов, сколько нейронов, и столько строк, сколько записанных нами моментов времени (где нам решать, как долго длится «момент времени»: мы могли бы сделайте его коротким, и просто сделайте, чтобы каждая запись записывала 1 для пика и 0 в противном случае. Или мы могли бы сделать его длинным, и каждая запись записывает количество пиков за истекшее время). За это время в мире происходит что-то, в том числе и то, что делает тело. Итак, давайте объединим все это в матрицу, которую мы назовем S - столько столбцов, сколько есть объектов в мире, о котором мы заботимся, и столько строк, сколько временных точек, которые мы записали для этих объектов.

Традиционно, машинное обучение включает в себя построение трех классов моделей о состоянии мира и доступных данных: генеративных, дискриминационных и плотности. Как грубое руководство, эта таблица показывает, как каждый класс соответствует фундаментальному вопросу системной нейробиологии:

1 / Модели плотности P (X): есть ли структура в шипах? Звучит скучно Но на самом деле это ключ к большим исследованиям в области неврологии, в которых мы хотим узнать влияние чего-либо (лекарство, поведение, сон) на мозг; в котором мы спрашиваем: как изменилась структура нейронной активности?

С записью группы нейронов мы можем ответить на это тремя способами.

Во-первых, мы можем определить количество шипов каждого нейрона, измеряя статистику каждого столбца X, например, скорость всплеска. А потом спросите: что такое модель P (X) для этой статистики? Мы можем сгруппировать эту статистику, чтобы найти «типы» нейронов; или просто подгоните модели ко всему их совместному распределению. В любом случае, у нас есть некоторая модель структуры данных по гранулярности отдельных нейронов.

Во-вторых, мы можем создать генеративные модели активности всего населения, используя строки X - векторы текущей активности всего населения. Такие модели обычно стремятся понять, какую часть структуры X можно воссоздать из нескольких ограничений, будь то распределение числа векторов, сколько пиков; или парные корреляции между нейронами; или их комбинации. Они особенно полезны для разработки, если в деятельности населения есть какой-то особый соус, если это нечто большее, чем коллективная деятельность множества независимых или скучно простых нейронов.

В-третьих, мы можем принять положение, что нейронная активность в X - это некая многомерная реализация низкоразмерного пространства, где число измерений D << n. Обычно мы имеем в виду следующее: некоторые нейроны в X коррелированы, поэтому нам не нужно использовать весь X для понимания совокупности - вместо этого мы можем заменить их гораздо более простым представлением. Мы могли бы сгруппировать временные ряды напрямую, поэтому разложив X в набор из N меньших матриц от X_1 до X_N, каждая из которых имеет (относительно) сильные корреляции внутри него, и поэтому может рассматриваться независимо. Или мы могли бы использовать какой-то подход к уменьшению размерности, такой как Анализ основных компонентов, чтобы получить небольшой набор временных рядов, каждый из которых описывает одну доминирующую форму изменения активности населения во времени.

Мы можем сделать больше, чем это. Вышеприведенное предполагает, что мы хотим использовать уменьшение размеров, чтобы свернуть нейроны - что мы применяем сокращение к столбцам X. Но мы могли бы так же легко свернуть время, применив уменьшение размеров к строкам X. Вместо того, чтобы спрашивать, является ли нейронная активность избыточной Это вопрос о том, имеют ли разные моменты времени сходные паттерны нейронной активности. Если их всего несколько, то динамика записанных нейронов очень проста.

Мы можем добавить сюда и динамические системные подходы. Здесь мы пытаемся приспособить простые модели к изменениям X с течением времени (т. Е. Отображать из одной строки в следующую) и использовать эти модели для количественной оценки типов динамики, содержащейся в X - используя такие термины, как «аттрактор», «разделение», « седловой узел »,« раздвоение вил »и« коллапс арсенала »(только один из них не настоящий). Можно было бы правдоподобно утверждать, что динамические модели, которые так приспособлены, являются всеми моделями плотности P (X), поскольку они описывают структуру данных.

Черт, мы могли бы даже попытаться подогнать всю динамическую модель нейронного контура, набор дифференциальных уравнений, описывающих каждый нейрон, к X, так что наша модель P (X) будет затем отбираться каждый раз, когда мы запускаем модель из разных начальных условий ,

С помощью этих моделей плотности мы можем подгонять их отдельно к нейронной активности, которую мы записали в группе различных состояний (S1, S2,…, Sm), и отвечать на вопросы, такие как: как структура популяции нейронов изменяется между сном и пробуждение? Или во время развития животного? Или в процессе изучения задачи (где S1 может быть пробной 1, а S2 пробной 2; или S1 - сеанс 1 и S2, сеанс 2 или множество их комбинаций). Мы также можем спросить: сколько измерений охватывает активность нейронов? Различны ли размеры в разных областях коры? А кто-нибудь видел мои ключи?

2 / Генеративные модели P (X | S): что вызывает скачок? Сейчас мы говорим. Такие вещи, как линейно-нелинейные модели или обобщенные линейные модели. Как правило, эти модели применяются к отдельным нейронам, к каждому столбцу X. С ними мы подбираем модель, которая использует состояние мира S в качестве входных данных и выделяет серию нейронной активности, которая максимально соответствует активности нейрона. Затем, проверив вес, данный каждому признаку S при воспроизведении активности нейрона, мы можем понять, что этот нейрон, похоже, наплевал.

Мы могли бы хотеть выбрать модель, которая обладает некоторой гибкостью в том, что считается «состоянием мира». Мы можем включить собственную прошлую активность нейрона в качестве функции и посмотреть, заботится ли она о том, что делала в прошлом. Для некоторых типов нейронов ответ - да. Разрыв может сильно отнять у нейрона, и ему нужно полежать, чтобы отдохнуть, прежде чем он снова сможет работать. Мы также можем мыслить более широко и включать остальную часть населения - остальную часть X - как часть состояния мира S, в то время как нейрон запускается. В конце концов, нейроны иногда влияют на увольнение друг друга, или мне так кажется. Таким образом, существует небольшая вероятность того, что реакция нейрона в зрительной коре не только определяется ориентацией ребра во внешнем мире, но также может зависеть от того, что делают 10000 корковых нейронов, соединяющихся с ним. Затем мы узнаем о наиболее влиятельных нейронах в популяции.

Нам не нужно применять эти генеративные модели к отдельным нейронам. Мы можем в равной степени применять их к нашим моделям плотности; мы можем спросить, что каждый кластер или измерение кодирует в мире. Или, как это сделали некоторые люди, мы можем использовать саму модель плотности в качестве состояния мира и спросить, какие черты этой модели нисходящих нейронов наплевать.

Типы вопросов, на которые мы можем ответить с помощью этих генеративных моделей, довольно очевидны: какая комбинация функций лучше всего предсказывает реакцию нейрона? Есть ли нейроны селективные только для одной вещи? Как нейроны влияют друг на друга?

3 / Дискриминационные модели P (S | X): какую информацию несут шипы? Это основной вопрос системной нейробиологии, поскольку это проблема, с которой сталкиваются все нейроны, которые находятся ниже по течению от нашей зарегистрированной популяции - все нейроны, которые получают входные данные от нейронов, которые мы записали и заполнили в нашей матрице X. Для этих нижестоящих нейронов необходимо сделать вывод, что они должны знать о внешнем мире, основанном исключительно на шипах.

Здесь мы можем использовать стандартные классификаторы, которые отображают входные данные на помеченные выходные данные. Мы можем использовать строки X в качестве входных данных, каждый снимок активности населения, и попытаться предсказать одну, некоторые или все функции в соответствующих строках S. Возможно, с некоторой задержкой по времени, поэтому мы используем строку X_t для предсказать состояние S_t-n, которое было на n шагов в прошлом, если нас интересует, как население кодирует состояния, которые вводятся в мозг; или мы можем использовать строку X_t, чтобы предсказать состояние S_t + n, которое на n шагов в будущем, если нас интересует, как население кодирует какое-то влияние мозга на мир. Как активность в моторной коре, которая происходит, прежде чем я наберу каждую букву прямо сейчас.

В любом случае, мы берем некоторые (но не все, поскольку мы не перезаписываем) строки X и обучаем классификатор, чтобы найти наилучшее возможное отображение X на соответствующий фрагмент S. Затем мы проверяем классификатор на то, насколько хорошо он может предсказать остаток S из соответствующего остатка X. Если вам чрезвычайно повезло, ваши X и S могут быть настолько длинными, что вы сможете разделить их на обучающие, проверяющие и проверяющие наборы. Храните последнее в запертом ящике.

Конечно, мы могли бы использовать такой мощный классификатор, как нам нравится. От логистической регрессии через байесовские подходы к использованию 23-уровневой нейронной сети. Это скорее зависит от того, что вы хотите получить от ответа, и от компромисса между интерпретируемостью и властью, с которыми вам удобно. Мои работы в других местах ясно показали, какую сторону этого компромисса я предпочитаю. Но я счастлив, что оказался неправ.

Модели кодирования нейронов проницательны, но затрагивают некоторые старые и глубокие философские проблемы. Тестирование кодирования с использованием дискриминационной модели предполагает, что что-то вниз по течению пытается декодировать S из нейронной активности. Есть две проблемы с этим. Нейроны не декодируют; нейроны принимают пики в качестве входных и выходных собственных пиков. Скорее, они перекодируют из одного набора пиков в другой набор пиков: возможно, меньше или медленнее; возможно больше или быстрее; возможно из устойчивого потока в колебание. Таким образом, дискриминационные модели более точно спрашивают, какую информацию наши нейроны перекодируют. Но даже если мы примем эту точку зрения, есть более глубокая проблема.

За очень немногими исключениями не существует такого понятия, как «нижестоящий» нейрон. Нейроны, которые мы записали в X, являются частью сложного мозга, полного бесконечных петель; их вывод влияет на их собственный вклад. Хуже того, некоторые нейроны в X находятся ниже по течению от других: некоторые из них напрямую влияют на другие. Потому что, как отмечено выше, нейроны влияют друг на друга.

Грубый, возможно, полезный манифест для науки о нейронных данных. Это неполно; Без сомнения, что-то выше не так (ответы на открытку на обычный адрес). Вышесказанное является попыткой обобщить работу группы лабораторий с очень разрозненными интересами, но общим стремлением использовать эти типы моделей на больших наборах нейронных данных, чтобы ответить на глубокие вопросы о том, как работает мозг. Многие из них - лаборатории данных, команды, которые анализируют экспериментальные данные, чтобы ответить на свои собственные вопросы; чтобы назвать несколько - Джонатан Подушка; Кристиан Маченс; Конрад Кординг; Канака Раджан; Джон Каннингем; Адриенна Фэйрхолл; Филип Беренс; Сиан О'Доннелл; Il Memming Park; Якоб Маке; Гаспер Ткачик; Оливер Марре. Хм, я. Другие - экспериментальные лаборатории с сильными научными склонностями: Энн Черчлэнд; Марк Черчленд; Николь Руст; Кришна Шеной; Карлос Броди; Я прошу прощения за то, что не назвал.

Есть конференции, где такая работа приветствуется, а то и поощряется. Журнал для науки о нейронных данных уже в пути. Что-то строит. Заходите, данные прекрасны *.

* да, я должен был ссылаться на данные как единственное число, чтобы эта шутка пошла на пользу. Тот факт, что я пишу эту сноску, чтобы объяснить это, даст вам некоторое представление о привередливом внимании к деталям, которые ожидают ученые в области нейронных данных.

Хочу больше? Следуйте за нами в Спайк

Twitter: @markdhumphries