Некоторые алгоритмы под капотом мозга

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

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

Сначала краткое описание работы био-нейрона, чтобы было понятно дальнейшее. Кто и так знает основы - смело пропускайте.

Биологический нейрон: сома, дендриты, синапсы, спайк, EPSP, мембранный потенциал
Нейрон состоит из трех частей: сома (то есть тело), аксон с его ответвлениями, и дендритное дерево. Это именно дерево, где одна ветка может расти из другой, и так далее. Входной сигнал принимается на дендритное дерево и сому. Выходной - отправляется в аксон. Место соединения одного нейрона с другим называется синапсом. Через синапсы нейроны общаются. Общение через синапс однонаправленное.

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

Решение о генерации спайка принимается в том месте на соме, откуда растет аксон. Решение принимается тогда, когда U на соме достигает порогового значения. Входное сообщение от одного нейрона к другому - это некий набор химических веществ. Может быть разным. Когда нейрон сгенерировал спайк в свой аксон, то аксон выбрасывает эти вещества в синапсы, и их ловят принимающие нейроны в этих синапсах. Когда эти химикалии пойманы принимающим нейроном, они запускают цепочку событий на его мембране, и в этом месте на ней образуется локальное возмущение потенциала. Оно может быть либо со знаком -+- и называться EPSP (возбудительное). Либо со знаком --- и называться IPSP (тормозное).

Дальше это возмущение распространяется по дендритному дереву и достигает сомы. Там EPSP-ы и IPSP-ы складываются с учетом знака, и, если порог достигнут, то генерируется спайк. Если не достигнут, то все просто затухает.



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

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



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

STDP


Предполагается, что основа долговременной памяти - это то, как распределена эффективность по синапсам нейронов. Какие-то синапсы ослабляются, какие-то усиляются. Это называется пластичность. Но по какому алгоритму решается, какие синапсы и как будут менять веса? Самый известный принцип в живых нейросетях - Spike-timing-dependent plasticity.

Он наблюдается от насекомых до человека и формулируется так:

Если входной спайк в данный синапс склонен приходить непосредственно перед тем, как нейрон сам сгенерирует спайк, то синапс усиливается.
Если входной спайк в данный синапс склонен приходить сразу после генерации спайка самим нейроном, то синапс ослабляется.

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


Зависимость прироста/убыли веса синапса от Dt меду входным (pre) и выходным(post) спайком

Это явление очень известно и подтверждено во многих экспериментах, но нужно отметить, что перебирая разные протоколы эксперимента, можно все же добиться искажения/нарушения этого закона, не нарушая формальные требования к пре-пост спайкам [0].

Обратное распространение спайка


Пирамидальный нейрон (пожалуй, самый известный тип нейронов коры) имеет тысячи синапсов, которыми усыпано его дендритное дерево (на самом деле, у него два дендритных дерева). Если мы выберем несколько синапсов - близко к соме, подальше, и совсем далеко от нее - и посмотрим, какие для них получатся графики STDP, то графики будут разные.

Для близких к соме синапсов график будет выглядеть классически - как вариация на тему хеббовского обучения. То есть как на картинке выше. Чем дальше от сомы, тем меньше амплитуда этого обучения. А если взять далекие синапсы, то можно увидеть и совсем странные вещи. Например, если входной спайк (который пришел в синапс) предшествовал выходному, то в эксперименте наблюдалось не усиление, а ослабление этого синапса. Антихеббовское обучение, Карл! Однако, его удавалось вернуть в хеббовское русло, если на дальних дендритах заставить генерироваться дендритные спайки. Вобщем, с обучением ближних к соме синапсов все довольно четко, а на дальних выглядит, как будто там каша другой алгоритм обучения[1].

Давайте посмотрим, откуда растут ноги у этого всего. Итак, для итерации STDP нужно, чтоб в соме был сгенерирован спайк. После этого синапсы должны о нем быстро узнать. Для этого желательно, чтоб спайк распространился к ним из аксонного холмика. Хорошая новость - это и в самом деле так происходит. Нейрон посылает спайк не только другим нейронам, но и обратно в свои дендриты. «Плохая» новость - при обратном распространении этот спайк затухает. Слишком быстро, чтоб дойти до дальних дендритов. Теперь понятно, почему обучение ближних и дальних синапсов имеет различия. Осталось разобраться, что же все-таки происходит в дальних синапсах.

Тут важно помнить, что дендриты не являются пассивными проводниками возмущений. Они сами умеют генерировать спайки, когда «считают нужным». Если по какой-то причине дендрит сгенерировал спайк, и одновременно в эту зону пришел уже порядком затухший спайк от сомы, то, сложившись с дендритным спайком, он (может быть) получит как-бы пинок второе дыхание и сможет рапространиться дальше в это поддерево. По крайней мере, есть такая гипотеза. Другая гипотеза - возможно, синапсы на далеких дендритах обучаются вообще без использования обратно распространяющегося соматического спайка. Об этом будет ниже.

Интересные эффекты в дендритах - для пластичности достаточно дендритных спайков


Итак, что вообще нужно, чтоб у синапса стал увеличиваться вес? Нужно чтоб в этом месте нейрона включилась соответствующая химическая машинерия. Для этого, в свою очередь, нужно, чтоб потенциал на мембране в этом месте был сдвинут каким-нибудь достаточно большим возмущением. Как оно может быть создано? Обычного среднего EPSP для этого слишком мало. А вот сумма EPSP и обратно распространяющегося соматического спайка уже может подойти. Некоторое время считалось, что это основной способ вызвать пластичность.

Потом в экспериментах выяснилось, что можно искусственно подавить в нейроне соматические спайки и все равно регистрировать увеличение весов в его синапсах в ответ на их стимуляцию (не любую). Оказалось, что пластичность возникает, когда стимуляция синапсов достаточно сильна для возникновения в этом месте дендритных спайков. Они - достаточно сильное возмущение, чтобы запустить пластичность в этом месте.[2] Да-да, без участия остального нейрона. То есть -минимальным элементом- обработки информации можно считать даже не нейрон, а отдельную дендритную ветвь.

Интересные эффекты в дендритах - кластеризация


В нейронах гиппокампа было обнаружено, что LTP (долговременное усиление веса) одного синапса снижает порог для возникновения LTP на соседних синапсах. Затем было проведено исследование для нейронов сенсорной коры мыши, в которой нейроны обрабатывали данные от усов. И обнаружилось, что синаптическая пластичность имеет склонность к кластеризации.

Был взят конкретный нейрон, и выбрано 15% синапсов, которые наиболее интенсивно подвергались пластичности. Их распределение по нейрону оказалось неслучайно: значительная часть оказалась соседями - 50 из 161. Потом был взят нейрон из сенсорной коры мыши, у которой были отрезаны усы (то есть нейрон страдал недостатком информации). Эффект кластеризации в таком нейроне отсутствовал. Зато он был глобально более чувствителен ко входным сигналам [3].

Интересные эффекты в дендритах - от перестановки слагаемых всё меняется




Итак, пусть к нам на дендрит пришли два EPSP, как на картинке выше. Возмущение, которое они вызовут в соме, зависит не только от величины этих EPSP, но и от:

1) их расстояния до сомы
2) их расстояния друг от друга

Рассмотрим по порядку. Если из синапса в дендрит пришел EPSP, то он будет рапространяться к соме и затухать по пути. То есть, чем дальше он был, тем больше затухнет. А если на его пути попадется активировавшийся тормозной синапс, то EPSP тут же и заглохнет. Таким образом, если у нас были два довольно далеких друг от друга EPSP, то они внесут два маленьких возмущения в сому - и то если повезет.

Но если они оказались рядом друг с другом, то дедрит может сгенерировать в этом месте спайк. Это такое возмущение, у которого амплитуда больше, чем просто сумма EPSPшек. У дендритного спайка уже куда больше шансов пробежаться до сомы, и вклад будет больше. [4].

Связывание фич синхронизацией


(synchronisation encodes relation, feature binding)

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

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


Все зеленые точки здесь воспринимаются не по-отдельности, а как целое

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

Синхронизация активности в коре на больших расстояниях является предпосылкой к тому, чтобы вызвавший эту активность сигнал (например, увиденное слово) получил доступ в зону сознательного восприятия. Аналогичный сигнал, будучи обработан бессознательно, вызовет только локальную синхронизацию [5].

Каким образом синхронизируются популяции нейронов - предмет расследования [6].

Несинаптическая пластичность


Помимо весов синапсов, в ходе обучения могут подвергаться изменению и другие характеристики нейрона. Может меняться его общая возбудимость (читай, порог для генерации спайка). Если много весов укрепились, то нейрону есть смысл понизить свою возбудимость. А если наоборот - низкий уровень изменения в весах, то имеет смысл повысить.

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

Replay


В гиппокампе есть нейроны, которые реагируют на определенное место в пространстве. Называеются клетки места. То есть, если крыса находится в одном месте лабиринта, то максимально реагирует одна клетка места, если в другом - другая. Когда крыса спит или отдыхает, в гиппокампе начинают в ускоренном темпе проигрываться те последовательности клеток места, которые соответствовали реально пройденным перед этим маршрутам. Для остальных клеток места такого не наблюдается, то есть именно эти последовательности - не случайны.



На рисунке: крыса идет по прямому треку, и сначала активируется -синяя- клетка места, потом -красная-, и потом -зеленая-. Потом она получает подкрепление, и начинается ускоренное проигрывание этой последовательности в обратном порядке - синий красный зеленый-.
Кроме того, гиппокамп может проигрывать будущие места, перед тем, как крыса их действительно посетит (preplay).

Не менее интересно - процесс реплея во сне затрагивает еще и кору мозга. То есть одновременно и в коре, и в гиппокампе реплеится то, что связано с один и тем же опытом, испытанным во время предыдущего бодрствования [7]. Есть гипотеза, что гиппокамп - модуль быстрого запоминания, а кора - медленного глубокого обучения. Возможно, гиппокамп запоминает события-эпизоды в порядке их следования, а затем -проигрывает- их коре раз за разом в ускоренном темпе, чтоб та вытащила из этих последовательностей скрытые закономерности. Тогда понятно, почему пациент с удаленным гиппокампом теряет возможность создавать новые долговременные воспоминания, но не теряет те, что были сделаны до операции.

L-LTP (late-phase LTP)


Долговечность изменений в весах синапсов зависит не только от исходного стимула, который их вызвал, но и от событий, происходящих до и после этого. Эксперименты показывают, что кратковременная память о стимуле может консолидироваться в более долгую, если животное переживет сильное событие внутри некоторого временного окна вокруг этого стимула. Это регистрируется и на уровне отдельных нейронов. Пусть некоторым протоколом стимуляции удалось вызвать кратковременное усиление синапса. Его можно сделать долговременным, если сильным стимулом (тетанически) возбудить другой какой-то путь, сходящийся на этом же нейроне (внутри правильного окна времени, конечно).

Латеральное торможение


(lateral inhibition, surround inhibition, surround suppression)

Этот простой принцип известен ученым с пещерных времен. Возможно, вы видели иллюзии вроде этой:



На заре нейронауки считалось, что нейрон выискивает в своем рецептивном поле некий стимул, и если искомый стимул там нашелся - то нейрон интенсивно генерирует спайки. Если нашлось не совсем то, но похоже - тоже генерирует спайки, но не так интенсивно. А потом выяснилось, что активность нейрона может подавляться активностями из вне его рецептивного поля.

Помимо возбудительной сети (она же главная), в мозге присутствует еще одна - сеть из тормозных интернейронов. -Главные- нейроны обеспечивают возбуждение в сети, а интернейроны - как правило, тормозят его. Интернейроны имеют локальную область дествия. Главных нейронов больше, чем интернейронов, но зато интернейроны более разнообразны. Конкретно упомянутая зрительная иллюзия предположительно берется из-за взаимодействия возбудительных нейронов с тормозными. Логика процесса такая: чем больше активирован нейрон, тем сильнее он тормозит (при помощи интернейронов) активность по соседству. Возбудительные нейроны соревнуются друг с другом за право внести наибольший вклад в сигнал для следующего слоя нейронов. Если ты был сильно активирован, то сильно затормозишь соседей. Если соседи были слабо активированы, то слабо затормозят тебя. В результате все нелинейности во входных данных «выпятятся» еще сильнее, и уже с этим будет работать следующий слой.

Очень наглядная иллюстрация принципа


Что-то такое наблюдается в сетчатке. Реальный коннектом не такой простой, конечно, но основополагающий принцип латерального торможения там есть.

Детекторы ошибок в предсказаниях[8]


Дофаминовые нейроны учатся связывать какие-то -ключи- во входном сигнале с получением награды. Используют при этом такой алгоритм:

(1) Если произошла непредсказанная награда, то нейроны реагируют увеличением частоты спайков (у нас положительная ошибка).
(2) После обучения они уже реагируют на -ключевое событие-, а не на саму награду. Т.е. на предшественника награды они выдают увеличение частоты. А на награду, если она приходит по расписанию, реакции уже нет (у нас нет ошибки).
(3) Если обученный нейрон предсказал награду, а она не произошла - он реагирует уменьшением частоты спайков (у нас отрицательная ошибка)



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

Бонус для дочитавших: возникновение условного рефлекса на конкретном нейроне
Предположим, мы ходим научить животное мигать глазами в ответ на какой-то условный стимул. Это делается так: сначала подопытному демонстрируется наш условный стимул, а затем (через некий интервал времени) мы дуем ему в глаза, вызывая безусловный рефлекс. Повторяем, сколько потребуется. Образование нового условного рефлекса можно проследить до конкретной нейросети.

В нашем случае, место действия - мозжечок. Он, почти как настоящий мозг, имеет свою кору и подкорковые ядра. В его коре есть слой нейронов по имени -клетки Пуркинье-. Они отправляют к своим адресатам тормозные синапсы. То есть, чем чаще клетки Пуркинье генерируют спайки, тем больше угнетены нейроны-адресаты. В отсутствие входного сигнала клетка Пуркинье постоянно генерирует спайки с некоторой частотой. Каждая клетка Пуркинье (помимо прочего) получает два любопытных входных сигнала:

1) примерно 100 000 слабых входов от параллельных волокон (это аксоны гранулярных нейронов)
2) один очень сильный вход от вьющегося волокна (это аксон от какого-то нейрона из inferior olive)

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



На рисунке показано, как отвечает на условный стимул еще не обученная клетка Пуркинье (выше), и обученная (ниже). Горизонтальная черта - это предъявление условного стимула, а длина черты - это интервал времени (ISI) между условным (CS) и безусловным (US) стимулом, который использовался при обучении.

Можно предположить, что клетка научилась узнавать наш условный стимул во входном потоке контекста и в ответ на это снимать постоянное угнетение с нейронов, запускающих моргание. На время, конечно. Четко определенное время. При этом вьющееся волокно, возможно, поставляет ей что-то вроде обучающих сигналов.[9].
Стоит заметить, что в других частях мозга не обнаружено столь же ярких кандидатов на обучение с учителем (supervised learning), Предполагается, что кора обучается без учителя(unsupervised learning), а базальная ганглия - с подкреплением (reinforcement).

Заключение


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

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

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

Источник: geektimes.ru

Комментарии: